<?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>70609</bug_id>
          
          <creation_ts>2011-10-21 08:09:01 -0700</creation_ts>
          <short_desc>Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport</short_desc>
          <delta_ts>2012-05-03 12:41:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>85458</dependson>
          <blocked>70559</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fady Samuel">fsamuel</reporter>
          <assigned_to name="Fady Samuel">fsamuel</assigned_to>
          <cc>abecsi</cc>
    
    <cc>gustavo</cc>
    
    <cc>johnme</cc>
    
    <cc>kenneth</cc>
    
    <cc>kpiascik</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ossy</cc>
    
    <cc>peter</cc>
    
    <cc>pnormand</cc>
    
    <cc>rakuco</cc>
    
    <cc>rjkroege</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zalan</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>488391</commentid>
    <comment_count>0</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-21 08:09:01 -0700</bug_when>
    <thetext>The body may be larger than the viewport and so we&apos;d never be able to zoom out fully.

Please refer to:  http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/#constraining-viewport-property-values</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488393</commentid>
    <comment_count>1</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-21 08:12:18 -0700</bug_when>
    <thetext>For reference please see the file Source/WebCore/dom/ViewportArguments.cpp:

http://www.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/dom/ViewportArguments.cpp&amp;exact_package=chromium&amp;q=ViewportArguments.cpp&amp;type=cs

We would like to delete these lines or at least put them behind a (default) parameter:


// Update minimum scale factor, to never allow zooming out more than viewport
result.minimumScale = max&lt;float&gt;(result.minimumScale, max(availableWidth / width, availableHeight / height));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490219</commentid>
    <comment_count>2</comment_count>
      <attachid>112373</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-25 12:15:29 -0700</bug_when>
    <thetext>Created attachment 112373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490415</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-10-25 15:32:43 -0700</bug_when>
    <thetext>So basically what you want is the support for fit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490419</commentid>
    <comment_count>4</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-25 15:36:44 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; So basically what you want is the support for fit

Yup. We want to let the embedder decide on the minimum scale factor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490422</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-10-25 15:37:34 -0700</bug_when>
    <thetext>So this is tricky area. The content is larger than the viewport and you cannot zoom fully out.

That might very well be how the web page was designed so as a general rule we try to not work around bad content.

What is really important here is whether the scale restriction was explicitly set or implicitly calculated.

Zalan (which I just cc&apos;ed) has some patches for dealing with that. Zalan, maybe you can chime in?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490462</commentid>
    <comment_count>6</comment_count>
      <attachid>112373</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-10-25 16:39:53 -0700</bug_when>
    <thetext>Comment on attachment 112373
Patch

Attachment 112373 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/10219088</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490872</commentid>
    <comment_count>7</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-26 08:42:27 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; So this is tricky area. The content is larger than the viewport and you cannot zoom fully out.
&gt; 
&gt; That might very well be how the web page was designed so as a general rule we try to not work around bad content.
&gt; 
&gt; What is really important here is whether the scale restriction was explicitly set or implicitly calculated.
&gt; 
&gt; Zalan (which I just cc&apos;ed) has some patches for dealing with that. Zalan, maybe you can chime in?

It depends on what you consider the purpose of overview mode to be? If I&apos;m in overview mode I&apos;d like to be able to look at the width of the page at a glance, without scrolling. The change I&apos;m proposing leaves this decision in the hands of the embedder. Existing ports that make use of this function will not need to make any changes, because, by default, nothing has changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490919</commentid>
    <comment_count>8</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-10-26 09:24:30 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #5)
&gt; &gt; So this is tricky area. The content is larger than the viewport and you cannot zoom fully out.
&gt; &gt; 
&gt; &gt; That might very well be how the web page was designed so as a general rule we try to not work around bad content.
&gt; &gt; 
&gt; &gt; What is really important here is whether the scale restriction was explicitly set or implicitly calculated.
&gt; &gt; 
&gt; &gt; Zalan (which I just cc&apos;ed) has some patches for dealing with that. Zalan, maybe you can chime in?
&gt; 
&gt; It depends on what you consider the purpose of overview mode to be? If I&apos;m in overview mode I&apos;d like to be able to look at the width of the page at a glance, without scrolling. The change I&apos;m proposing leaves this decision in the hands of the embedder. Existing ports that make use of this function will not need to make any changes, because, by default, nothing has changed.

You don&apos;t need this change for that. Your embedder can just ignore the proposed scale values and scale such that the full width is visible. You might have to update your layout height then, by multiplying the width with the ratio you want for your overview thumbnails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490931</commentid>
    <comment_count>9</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2011-10-26 09:34:57 -0700</bug_when>
    <thetext>we, with n9 browser, do pretty much the same by ignoring implicit minimum values for certain cases. The logic is at the app level and because we decided not to force such parameters through the viewport API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490937</commentid>
    <comment_count>10</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-26 09:42:58 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; we, with n9 browser, do pretty much the same by ignoring implicit minimum values for certain cases. The logic is at the app level and because we decided not to force such parameters through the viewport API.

We are in agreement! It seems like the best solution is to get this code into WebCore if multiple ports are interested in the same behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490944</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-10-26 09:48:30 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; we, with n9 browser, do pretty much the same by ignoring implicit minimum values for certain cases. The logic is at the app level and because we decided not to force such parameters through the viewport API.
&gt; 
&gt; We are in agreement! It seems like the best solution is to get this code into WebCore if multiple ports are interested in the same behavior.

I totally disagree. The code in WebCore should be as simple as possible and just do the calculations in accordance with the spec. Fit to width, overview thumbnails are all user-agent/browser things on top and they should therefore be done by the user-agent and not intertwined in the core algorithm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490946</commentid>
    <comment_count>12</comment_count>
      <attachid>112373</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-10-26 09:50:13 -0700</bug_when>
    <thetext>Comment on attachment 112373
Patch

Let&apos;s not open for a can of worms. The code in WebCore is for the basic algorithm and should stay as such. If different behavior is wished for, it can easily be done on top.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490950</commentid>
    <comment_count>13</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2011-10-26 09:54:38 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 112373 [details])
&gt; Let&apos;s not open for a can of worms. The code in WebCore is for the basic algorithm and should stay as such. If different behavior is wished for, it can easily be done on top.

Agree. That&apos;s why we decided to do it at the app level. We also have some specific adjustment for initial and maximum values. Pushing all of them through the API would make it end up looking really broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491574</commentid>
    <comment_count>14</comment_count>
    <who name="John Mellor">johnme</who>
    <bug_when>2011-10-27 08:01:23 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; I totally disagree. The code in WebCore should be as simple as possible and just do the calculations in accordance with the spec. Fit to width, overview thumbnails are all user-agent/browser things on top and they should therefore be done by the user-agent and not intertwined in the core algorithm.

We all agree that WebCore should just be a simple implementation of the spec. However if you compare the spec (http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/#constraining-viewport-property-values) to the algorithm implemented in computeViewportAttributes, you will see that they roughly match up, until the end of &quot;Extend width and height to fill the window/viewing area for the specified zoom&quot;. Then computeViewportAttributes does two things which are _not_ in the spec:

1. It modifies the minScale to avoid &quot;zooming out more than viewport&quot;.
2. It overwrites min/maxScale if userScalable is false.

Both of these additions are counter to the spec. While the 2nd one is slighty less of a problem, the 1st is an implementation-specific heuristic, making the -- often wrong -- assumption that embedders will never want to zoom out more than the viewport.

And if the embedder does want to zoom out more than the viewport (as at least we and N9 do), it is no longer possible! Since that line has overwritten the true value of minScale, the embedder is unable to distinguish whether the webpage had explictly forbidden zooming out more than the viewport (in which case that should be respected) or if minScale was small or auto (in which case we can zoom out to show the whole page).

We should remove this line from computeViewportAttributes, and instead any embedders which chose to have this implementation-specific behavior should do it themselves.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493891</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-11-01 07:14:56 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #11)
&gt; &gt; I totally disagree. The code in WebCore should be as simple as possible and just do the calculations in accordance with the spec. Fit to width, overview thumbnails are all user-agent/browser things on top and they should therefore be done by the user-agent and not intertwined in the core algorithm.
&gt; 
&gt; We all agree that WebCore should just be a simple implementation of the spec. However if you compare the spec (http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/#constraining-viewport-property-values) to the algorithm implemented in computeViewportAttributes, you will see that they roughly match up, until the end of &quot;Extend width and height to fill the window/viewing area for the specified zoom&quot;. Then computeViewportAttributes does two things which are _not_ in the spec:
&gt; 
&gt; 1. It modifies the minScale to avoid &quot;zooming out more than viewport&quot;.
&gt; 2. It overwrites min/maxScale if userScalable is false.
&gt; 
&gt; Both of these additions are counter to the spec. While the 2nd one is slighty less of a problem, the 1st is an implementation-specific heuristic, making the -- often wrong -- assumption that embedders will never want to zoom out more than the viewport.
&gt; 
&gt; And if the embedder does want to zoom out more than the viewport (as at least we and N9 do), it is no longer possible! Since that line has overwritten the true value of minScale, the embedder is unable to distinguish whether the webpage had explictly forbidden zooming out more than the viewport (in which case that should be respected) or if minScale was small or auto (in which case we can zoom out to show the whole page).
&gt; 
&gt; We should remove this line from computeViewportAttributes, and instead any embedders which chose to have this implementation-specific behavior should do it themselves.

I see. I guess we should just remove the line then and add this to the client. That is fine with me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493929</commentid>
    <comment_count>16</comment_count>
      <attachid>113176</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-01 09:13:47 -0700</bug_when>
    <thetext>Created attachment 113176
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493931</commentid>
    <comment_count>17</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-01 09:15:01 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #14)
&gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; I totally disagree. The code in WebCore should be as simple as possible and just do the calculations in accordance with the spec. Fit to width, overview thumbnails are all user-agent/browser things on top and they should therefore be done by the user-agent and not intertwined in the core algorithm.
&gt; &gt; 
&gt; &gt; We all agree that WebCore should just be a simple implementation of the spec. However if you compare the spec (http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/#constraining-viewport-property-values) to the algorithm implemented in computeViewportAttributes, you will see that they roughly match up, until the end of &quot;Extend width and height to fill the window/viewing area for the specified zoom&quot;. Then computeViewportAttributes does two things which are _not_ in the spec:
&gt; &gt; 
&gt; &gt; 1. It modifies the minScale to avoid &quot;zooming out more than viewport&quot;.
&gt; &gt; 2. It overwrites min/maxScale if userScalable is false.
&gt; &gt; 
&gt; &gt; Both of these additions are counter to the spec. While the 2nd one is slighty less of a problem, the 1st is an implementation-specific heuristic, making the -- often wrong -- assumption that embedders will never want to zoom out more than the viewport.
&gt; &gt; 
&gt; &gt; And if the embedder does want to zoom out more than the viewport (as at least we and N9 do), it is no longer possible! Since that line has overwritten the true value of minScale, the embedder is unable to distinguish whether the webpage had explictly forbidden zooming out more than the viewport (in which case that should be respected) or if minScale was small or auto (in which case we can zoom out to show the whole page).
&gt; &gt; 
&gt; &gt; We should remove this line from computeViewportAttributes, and instead any embedders which chose to have this implementation-specific behavior should do it themselves.
&gt; 
&gt; I see. I guess we should just remove the line then and add this to the client. That is fine with me.

I&apos;ve uploaded a new version of the patch, deleting that line from computeViewportAttributes and I&apos;ve updated all the clients that use it. It&apos;ll probably take me a couple of attempts to get all the bots to turn green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493941</commentid>
    <comment_count>18</comment_count>
    <who name="Konrad Piascik">kpiascik</who>
    <bug_when>2011-11-01 09:29:09 -0700</bug_when>
    <thetext>You&apos;re only updating minimum scale, but what if the viewport arguments specified an initial scale that is smaller than your clamped minimum scale?
ie: initial-scale:0.9 and your minimum-scale is restricted to 1.0 by the visibleViewport?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493944</commentid>
    <comment_count>19</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-01 09:32:16 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; You&apos;re only updating minimum scale, but what if the viewport arguments specified an initial scale that is smaller than your clamped minimum scale?
&gt; ie: initial-scale:0.9 and your minimum-scale is restricted to 1.0 by the visibleViewport?



Good catch! This would happen if !args.userScalable in addition to the above. Maybe I should move out these lines out to a different method too:


if (!args.userScalable)
    result.maximumScale = result.minimumScale = result.initialScale;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493945</commentid>
    <comment_count>20</comment_count>
      <attachid>113176</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-11-01 09:32:52 -0700</bug_when>
    <thetext>Comment on attachment 113176
Patch

Attachment 113176 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10244977</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493946</commentid>
    <comment_count>21</comment_count>
      <attachid>113176</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-11-01 09:33:59 -0700</bug_when>
    <thetext>Comment on attachment 113176
Patch

Attachment 113176 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10249315</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493950</commentid>
    <comment_count>22</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-01 09:37:32 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; You&apos;re only updating minimum scale, but what if the viewport arguments specified an initial scale that is smaller than your clamped minimum scale?
&gt; &gt; ie: initial-scale:0.9 and your minimum-scale is restricted to 1.0 by the visibleViewport?
&gt; 
&gt; 
&gt; 
&gt; Good catch! This would happen if !args.userScalable in addition to the above. Maybe I should move out these lines out to a different method too:
&gt; 
&gt; 
&gt; if (!args.userScalable)
&gt;     result.maximumScale = result.minimumScale = result.initialScale;

Adding method: restrictScaleFactorToInitialScaleIfNotUserScalable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493986</commentid>
    <comment_count>23</comment_count>
      <attachid>113186</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-01 10:19:00 -0700</bug_when>
    <thetext>Created attachment 113186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494205</commentid>
    <comment_count>24</comment_count>
      <attachid>113186</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-11-01 15:24:03 -0700</bug_when>
    <thetext>Comment on attachment 113186
Patch

Attachment 113186 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/10259052</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494354</commentid>
    <comment_count>25</comment_count>
      <attachid>113186</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-11-01 17:37:05 -0700</bug_when>
    <thetext>Comment on attachment 113186
Patch

Attachment 113186 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/10256096</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494505</commentid>
    <comment_count>26</comment_count>
      <attachid>113186</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-11-02 01:56:33 -0700</bug_when>
    <thetext>Comment on attachment 113186
Patch

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

Look pretty good. Zalan what do you think?

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:2616
&gt;      ViewportAttributes attrs = WebCore::computeViewportAttributes(arguments, /* default layout width for non-mobile pages */ 980, deviceWidth, deviceHeight, deviceDPI, IntSize(availableWidth, availableHeight));
&gt; +    WebCore::restrictMinimumScaleFactorToViewportSize(attrs, IntSize(availableWidth, availableHeight));
&gt; +    WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable(attrs);
&gt;      return String::format(&quot;viewport size %dx%d scale %f with limits [%f, %f] and userScalable %f\n&quot;, attrs.layoutSize.width(), attrs.layoutSize.height(), attrs.initialScale, attrs.minimumScale, attrs.maximumScale, attrs.userScalable);

I think it might be better to update the test results. The layout tests should test the implementation of the spec and the compliance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494532</commentid>
    <comment_count>27</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2011-11-02 03:32:12 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (From update of attachment 113186 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113186&amp;action=review
&gt; 
&gt; Look pretty good. Zalan what do you think?
Looks pretty good to me too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494559</commentid>
    <comment_count>28</comment_count>
      <attachid>113186</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-11-02 05:09:05 -0700</bug_when>
    <thetext>Comment on attachment 113186
Patch

Please make it work on mac become committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494731</commentid>
    <comment_count>29</comment_count>
      <attachid>113333</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-02 10:52:58 -0700</bug_when>
    <thetext>Created attachment 113333
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494756</commentid>
    <comment_count>30</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-02 11:29:11 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; (From update of attachment 113186 [details])
&gt; Please make it work on mac become committing

Waiting on mac bot to turn green before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495447</commentid>
    <comment_count>31</comment_count>
      <attachid>113487</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 07:30:23 -0700</bug_when>
    <thetext>Created attachment 113487
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495459</commentid>
    <comment_count>32</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 07:50:27 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; Created an attachment (id=113487) [details]
&gt; Patch for landing

Oops, accidentally lost the ChangeLog, I just removed the c+ flag. Fixing this then uploading a new patch and landing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495470</commentid>
    <comment_count>33</comment_count>
      <attachid>113494</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 08:15:45 -0700</bug_when>
    <thetext>Created attachment 113494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495472</commentid>
    <comment_count>34</comment_count>
      <attachid>113495</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 08:19:21 -0700</bug_when>
    <thetext>Created attachment 113495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495475</commentid>
    <comment_count>35</comment_count>
      <attachid>113495</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 08:22:25 -0700</bug_when>
    <thetext>Comment on attachment 113495
Patch

Clearing flags on attachment: 113495

Committed r99195: &lt;http://trac.webkit.org/changeset/99195&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495476</commentid>
    <comment_count>36</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 08:22:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495501</commentid>
    <comment_count>37</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-03 08:54:33 -0700</bug_when>
    <thetext>(In reply to comment #36)
&gt; All reviewed patches have been landed.  Closing bug.

It broke the Qt-WK2 build:

/ramdisk/qt-linux-32-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/qtouchwebview.cpp: In member function ‘void QTouchWebViewPrivate::updateViewportConstraints()’:
/ramdisk/qt-linux-32-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/qtouchwebview.cpp:95: error: ‘restrictMinimumScaleFactorToViewport’ is not a member of ‘WebCore’</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495504</commentid>
    <comment_count>38</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 08:57:26 -0700</bug_when>
    <thetext>(In reply to comment #37)
&gt; (In reply to comment #36)
&gt; &gt; All reviewed patches have been landed.  Closing bug.
&gt; 
&gt; It broke the Qt-WK2 build:
&gt; 
&gt; /ramdisk/qt-linux-32-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/qtouchwebview.cpp: In member function ‘void QTouchWebViewPrivate::updateViewportConstraints()’:
&gt; /ramdisk/qt-linux-32-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/qtouchwebview.cpp:95: error: ‘restrictMinimumScaleFactorToViewport’ is not a member of ‘WebCore’

Ohh, that&apos;s a typo That should say restrictMinimumScaleFactorToViewportSize. I&apos;m surprised the QT bot was green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495506</commentid>
    <comment_count>39</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-03 08:59:18 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; (In reply to comment #37)
&gt; &gt; (In reply to comment #36)
&gt; &gt; &gt; All reviewed patches have been landed.  Closing bug.
&gt; &gt; 
&gt; &gt; It broke the Qt-WK2 build:
&gt; &gt; 
&gt; &gt; /ramdisk/qt-linux-32-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/qtouchwebview.cpp: In member function ‘void QTouchWebViewPrivate::updateViewportConstraints()’:
&gt; &gt; /ramdisk/qt-linux-32-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/qtouchwebview.cpp:95: error: ‘restrictMinimumScaleFactorToViewport’ is not a member of ‘WebCore’

 
&gt; Ohh, that&apos;s a typo That should say restrictMinimumScaleFactorToViewportSize. I&apos;m surprised the QT bot was green.

Because Qt bot on build.webkit.org doesn&apos;t build WK2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495527</commentid>
    <comment_count>40</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-03 09:27:31 -0700</bug_when>
    <thetext>and unfortunately it broke 21 tests: http://build.webkit.org/results/Qt%20Linux%20Release/r99196%20%2839289%29/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495557</commentid>
    <comment_count>41</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-03 09:52:19 -0700</bug_when>
    <thetext>Qt-WK2 buildfix landed in http://trac.webkit.org/changeset/99199</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495608</commentid>
    <comment_count>42</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-03 10:29:25 -0700</bug_when>
    <thetext>I added failing tests to the Skipped list until fix to make buildbot green to be able catch new regressions. Please unskip them with a fix.

http://trac.webkit.org/changeset/99213/trunk/LayoutTests/platform/qt/Skipped</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495626</commentid>
    <comment_count>43</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 10:43:55 -0700</bug_when>
    <thetext>(In reply to comment #42)
&gt; I added failing tests to the Skipped list until fix to make buildbot green to be able catch new regressions. Please unskip them with a fix.
&gt; 
&gt; http://trac.webkit.org/changeset/99213/trunk/LayoutTests/platform/qt/Skipped

I looked at the difference in output briefly, and it seems very very small. It&apos;s possible this is a small rounding issue but I haven&apos;t verified. I will be doing Chromium-side testing of all this shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495661</commentid>
    <comment_count>44</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-03 11:21:49 -0700</bug_when>
    <thetext>These tests fail on GTK too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496119</commentid>
    <comment_count>45</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-11-04 02:04:50 -0700</bug_when>
    <thetext>(In reply to comment #44)
&gt; These tests fail on GTK too.

Skipped in GTK too: http://trac.webkit.org/changeset/99269
Please unskip when fixed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541334</commentid>
    <comment_count>46</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-01-24 08:09:23 -0800</bug_when>
    <thetext>This regression is still valid. Are you guys going to fix it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541337</commentid>
    <comment_count>47</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-01-24 08:13:19 -0800</bug_when>
    <thetext>(In reply to comment #46)
&gt; This regression is still valid. Are you guys going to fix it?

I will look into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576131</commentid>
    <comment_count>48</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-12 08:16:40 -0700</bug_when>
    <thetext>(In reply to comment #47)
&gt; (In reply to comment #46)
&gt; &gt; This regression is still valid. Are you guys going to fix it?
&gt; 
&gt; I will look into this.

Any news on this issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586341</commentid>
    <comment_count>49</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-03-23 07:47:34 -0700</bug_when>
    <thetext>It is a 4.5 month old regression ... It isn&apos;t a fairplay to leave it unresolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608853</commentid>
    <comment_count>50</comment_count>
      <attachid>138600</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-04-24 11:04:44 -0700</bug_when>
    <thetext>Created attachment 138600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608862</commentid>
    <comment_count>51</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-04-24 11:11:58 -0700</bug_when>
    <thetext>(In reply to comment #50)
&gt; Created an attachment (id=138600) [details]
&gt; Patch

(In reply to comment #49)
&gt; It is a 4.5 month old regression ... It isn&apos;t a fairplay to leave it unresolved.

Sorry, I was a little inactive on WebKit the last few months.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608876</commentid>
    <comment_count>52</comment_count>
      <attachid>138600</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-24 11:30:52 -0700</bug_when>
    <thetext>Comment on attachment 138600
Patch

Attachment 138600 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12522279</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608933</commentid>
    <comment_count>53</comment_count>
      <attachid>138600</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-24 12:23:23 -0700</bug_when>
    <thetext>Comment on attachment 138600
Patch

Attachment 138600 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12525309</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608992</commentid>
    <comment_count>54</comment_count>
      <attachid>138600</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-24 13:36:34 -0700</bug_when>
    <thetext>Comment on attachment 138600
Patch

Attachment 138600 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12522301</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614303</commentid>
    <comment_count>55</comment_count>
      <attachid>139817</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-02 08:12:06 -0700</bug_when>
    <thetext>Created attachment 139817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614324</commentid>
    <comment_count>56</comment_count>
      <attachid>139824</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-02 08:31:09 -0700</bug_when>
    <thetext>Created attachment 139824
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614344</commentid>
    <comment_count>57</comment_count>
      <attachid>139824</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-02 09:08:28 -0700</bug_when>
    <thetext>Comment on attachment 139824
Patch

Attachment 139824 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12593894</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614348</commentid>
    <comment_count>58</comment_count>
      <attachid>139824</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-02 09:16:11 -0700</bug_when>
    <thetext>Comment on attachment 139824
Patch

Attachment 139824 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12593897</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614360</commentid>
    <comment_count>59</comment_count>
      <attachid>139829</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-02 09:36:51 -0700</bug_when>
    <thetext>Created attachment 139829
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614386</commentid>
    <comment_count>60</comment_count>
      <attachid>139829</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-02 09:57:16 -0700</bug_when>
    <thetext>Comment on attachment 139829
Patch

Attachment 139829 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12595843</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614388</commentid>
    <comment_count>61</comment_count>
      <attachid>139829</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-02 09:59:31 -0700</bug_when>
    <thetext>Comment on attachment 139829
Patch

Attachment 139829 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12598731</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614391</commentid>
    <comment_count>62</comment_count>
      <attachid>139835</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-02 10:06:06 -0700</bug_when>
    <thetext>Created attachment 139835
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614449</commentid>
    <comment_count>63</comment_count>
      <attachid>139835</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-02 11:02:19 -0700</bug_when>
    <thetext>Comment on attachment 139835
Patch

Attachment 139835 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12604017</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614450</commentid>
    <comment_count>64</comment_count>
      <attachid>139835</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-02 11:03:24 -0700</bug_when>
    <thetext>Comment on attachment 139835
Patch

Attachment 139835 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12603016</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614465</commentid>
    <comment_count>65</comment_count>
      <attachid>139842</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-02 11:20:13 -0700</bug_when>
    <thetext>Created attachment 139842
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614499</commentid>
    <comment_count>66</comment_count>
      <attachid>139842</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-02 12:01:16 -0700</bug_when>
    <thetext>Comment on attachment 139842
Patch

Attachment 139842 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12609006</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614506</commentid>
    <comment_count>67</comment_count>
      <attachid>139842</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-02 12:04:30 -0700</bug_when>
    <thetext>Comment on attachment 139842
Patch

Attachment 139842 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12487038</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614510</commentid>
    <comment_count>68</comment_count>
      <attachid>139855</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-02 12:09:56 -0700</bug_when>
    <thetext>Created attachment 139855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614591</commentid>
    <comment_count>69</comment_count>
      <attachid>139855</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-02 13:18:23 -0700</bug_when>
    <thetext>Comment on attachment 139855
Patch

Attachment 139855 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12611028</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614609</commentid>
    <comment_count>70</comment_count>
      <attachid>139855</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-05-02 13:35:41 -0700</bug_when>
    <thetext>Comment on attachment 139855
Patch

Attachment 139855 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12600042</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614614</commentid>
    <comment_count>71</comment_count>
      <attachid>139873</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-02 13:42:17 -0700</bug_when>
    <thetext>Created attachment 139873
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614773</commentid>
    <comment_count>72</comment_count>
      <attachid>139873</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-02 16:14:59 -0700</bug_when>
    <thetext>Comment on attachment 139873
Patch

Clearing flags on attachment: 139873

Committed r115907: &lt;http://trac.webkit.org/changeset/115907&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614775</commentid>
    <comment_count>73</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-02 16:15:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614881</commentid>
    <comment_count>74</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-02 18:02:53 -0700</bug_when>
    <thetext>(In reply to comment #73)
&gt; All reviewed patches have been landed.  Closing bug.

If anyone still sees a problem here, please yell at me :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615012</commentid>
    <comment_count>75</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-02 22:45:50 -0700</bug_when>
    <thetext>Reopen, because it broke all viewport tests on Qt and on GTK.
Qt results seems to be correct, but they needs to be updated:
http://build.webkit.sed.hu/results/x86-64%20Linux%20Qt%20Release/r115937%20%2836886%29/results.html

--- /ramdisk/qt-linux-64-release/build/layout-test-results/fast/viewport/viewport-1-expected.txt 
+++ /ramdisk/qt-linux-64-release/build/layout-test-results/fast/viewport/viewport-1-actual.txt 
@@ -1,2 +1,2 @@
-viewport size 320x352 scale 1.000000 with limits [1.000000, 5.000000] and userScalable -1.000000
+viewport size 320.000000x352.000000 scale 1.000000 with limits [1.000000, 5.000000] and userScalable -1.000000
 

But GTK results are absolutely false:
http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r115937%20%2823177%29/results.html

--- /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/fast/viewport/viewport-1-expected.txt 
+++ /home/slave/webkitgtk/gtk-linux-64-release/build/layout-test-results/fast/viewport/viewport-1-actual.txt 
@@ -1,2 +1,2 @@
-viewport size 320x352 scale 1.000000 with limits [1.000000, 5.000000] and userScalable -1.000000
+viewport size -1082130432x480 scale 320.000000 with limits [352.000000, 1.000000] and userScalable 1.000000</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615018</commentid>
    <comment_count>76</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-02 22:51:59 -0700</bug_when>
    <thetext>Rollout landed in http://trac.webkit.org/changeset/115939

Please update the expected files too with the proper fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615293</commentid>
    <comment_count>77</comment_count>
      <attachid>140019</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-03 08:17:29 -0700</bug_when>
    <thetext>Created attachment 140019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615297</commentid>
    <comment_count>78</comment_count>
      <attachid>140021</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-03 08:28:58 -0700</bug_when>
    <thetext>Created attachment 140021
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615329</commentid>
    <comment_count>79</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-03 09:15:02 -0700</bug_when>
    <thetext>(In reply to comment #78)
&gt; Created an attachment (id=140021) [details]
&gt; Patch

With this change one test result should be updated (at least on Qt):
--- /home/oszi/WebKit/WebKitBuild/Release/layout-test-results/fast/viewport/viewport-86-expected.txt 
+++ /home/oszi/WebKit/WebKitBuild/Release/layout-test-results/fast/viewport/viewport-86-actual.txt 
@@ -1,2 +1,2 @@
-viewport size 457x503 scale 0.700000 with limits [0.700000, 5.000000] and userScalable -1.000000
+viewport size 457x502 scale 0.700000 with limits [0.700000, 5.000000] and userScalable -1.000000

Additionally please remove the tests from qt/Skipped lists you fixed with this patch:
-# REGRESSION(r99195)
-# https://bugs.webkit.org/show_bug.cgi?id=70609
-fast/viewport/viewport-83.html
...
-fast/viewport/viewport-warnings-3.html
-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615386</commentid>
    <comment_count>80</comment_count>
      <attachid>140043</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-03 10:23:12 -0700</bug_when>
    <thetext>Created attachment 140043
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615394</commentid>
    <comment_count>81</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-05-03 10:40:26 -0700</bug_when>
    <thetext>Please unskip these tests on GTK+ as well. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615399</commentid>
    <comment_count>82</comment_count>
      <attachid>140047</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-03 10:46:25 -0700</bug_when>
    <thetext>Created attachment 140047
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615401</commentid>
    <comment_count>83</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2012-05-03 10:48:21 -0700</bug_when>
    <thetext>(In reply to comment #81)
&gt; Please unskip these tests on GTK+ as well. :)

Done. Landing...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615505</commentid>
    <comment_count>84</comment_count>
      <attachid>140047</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-03 12:40:56 -0700</bug_when>
    <thetext>Comment on attachment 140047
Patch

Clearing flags on attachment: 140047

Committed r115998: &lt;http://trac.webkit.org/changeset/115998&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615506</commentid>
    <comment_count>85</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-03 12:41:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112373</attachid>
            <date>2011-10-25 12:15:29 -0700</date>
            <delta_ts>2011-11-01 09:13:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20111025151528.patch</filename>
            <type>text/plain</type>
            <size>3260</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgzNDUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiMGQxZTYyZjg3YmViYTI3
OTc2NjE0MjAyOTdlMmIwMDhiN2NhYTYxLi4zOWY5YjVlZWNkZGNmNDk4YjAzMDg4MmE5MjBjNDFj
Y2MzZWUwNzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTAtMjUgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29uc2lkZXIgcmVtb3Zp
bmcgbGluZSAob3IgbWFraW5nIGl0IG9wdGlvbmFsKSBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1
dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxvdyB6
b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUncyBubyBjaGFu
Z2UgaW4gZnVuY3Rpb25hbGl0eSAoeWV0KS4KKworICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKToK
KyAgICAgICAgKiBkb20vVmlld3BvcnRBcmd1bWVudHMuaDoKKwogMjAxMS0xMC0yNCAgUGF2ZWwg
UG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBmaXggZW1wdHkgbGluZSBoYW5kbGluZyBpbiBzb3VyY2UgbWFwcy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCmluZGV4IGRmNjMwNWY5ZjllNGEwMGI1MTRjMzZl
NmY5NWM3MGRiYTA1NjM4MTguLjZiYTllNTRmY2Y1NzJkYjRhYjllZWQ3YzMyODMxYjVhYTljYzY1
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApAQCAtNDEsNyAr
NDEsNyBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVZp
ZXdwb3J0QXR0cmlidXRlcyBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKFZpZXdwb3J0QXJndW1l
bnRzIGFyZ3MsIGludCBkZXNrdG9wV2lkdGgsIGludCBkZXZpY2VXaWR0aCwgaW50IGRldmljZUhl
aWdodCwgaW50IGRldmljZURQSSwgSW50U2l6ZSB2aXNpYmxlVmlld3BvcnQpCitWaWV3cG9ydEF0
dHJpYnV0ZXMgY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBhcmdz
LCBpbnQgZGVza3RvcFdpZHRoLCBpbnQgZGV2aWNlV2lkdGgsIGludCBkZXZpY2VIZWlnaHQsIGlu
dCBkZXZpY2VEUEksIEludFNpemUgdmlzaWJsZVZpZXdwb3J0LCBib29sIHJlc3RyaWN0TWluU2Nh
bGVUb1ZpZXdwb3J0U2l6ZSkKIHsKICAgICBWaWV3cG9ydEF0dHJpYnV0ZXMgcmVzdWx0OwogCkBA
IC0xNjgsNyArMTY4LDggQEAgVmlld3BvcnRBdHRyaWJ1dGVzIGNvbXB1dGVWaWV3cG9ydEF0dHJp
YnV0ZXMoVmlld3BvcnRBcmd1bWVudHMgYXJncywgaW50IGRlc2t0b3AKICAgICByZXN1bHQubGF5
b3V0U2l6ZS5zZXRIZWlnaHQoc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYoaGVpZ2h0KSkpOwogCiAg
ICAgLy8gVXBkYXRlIG1pbmltdW0gc2NhbGUgZmFjdG9yLCB0byBuZXZlciBhbGxvdyB6b29taW5n
IG91dCBtb3JlIHRoYW4gdmlld3BvcnQKLSAgICByZXN1bHQubWluaW11bVNjYWxlID0gbWF4PGZs
b2F0PihyZXN1bHQubWluaW11bVNjYWxlLCBtYXgoYXZhaWxhYmxlV2lkdGggLyB3aWR0aCwgYXZh
aWxhYmxlSGVpZ2h0IC8gaGVpZ2h0KSk7CisgICAgaWYgKHJlc3RyaWN0TWluU2NhbGVUb1ZpZXdw
b3J0U2l6ZSkKKyAgICAgICAgcmVzdWx0Lm1pbmltdW1TY2FsZSA9IG1heDxmbG9hdD4ocmVzdWx0
Lm1pbmltdW1TY2FsZSwgbWF4KGF2YWlsYWJsZVdpZHRoIC8gd2lkdGgsIGF2YWlsYWJsZUhlaWdo
dCAvIGhlaWdodCkpOwogCiAgICAgcmVzdWx0LnVzZXJTY2FsYWJsZSA9IGFyZ3MudXNlclNjYWxh
YmxlOwogICAgIC8vIE1ha2UgbWF4aW11bSBhbmQgbWluaW11bSBzY2FsZSBlcXVhbCB0byB0aGUg
aW5pdGlhbCBzY2FsZSBpZiB1c2VyIGlzIG5vdCBhbGxvd2VkIHRvIHpvb20gaW4vb3V0LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaAppbmRleCA2NmJiMjgxMGI3NTkyYjYxMjg1
OTU2MWNjMjhmMTAzNjExOThkOGE2Li40YjI5Y2IwNmI1YmM4NTkyZTkyYjJlMTg4NWY1MmE3ODkx
MDQwNWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaApAQCAtOTgsNyAr
OTgsNyBAQCBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHMgewogICAgIH0KIH07CiAKLVZpZXdwb3J0
QXR0cmlidXRlcyBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKFZpZXdwb3J0QXJndW1lbnRzIGFy
Z3MsIGludCBkZXNrdG9wV2lkdGgsIGludCBkZXZpY2VXaWR0aCwgaW50IGRldmljZUhlaWdodCwg
aW50IGRldmljZURQSSwgSW50U2l6ZSB2aXNpYmxlVmlld3BvcnQpOworVmlld3BvcnRBdHRyaWJ1
dGVzIGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoVmlld3BvcnRBcmd1bWVudHMgYXJncywgaW50
IGRlc2t0b3BXaWR0aCwgaW50IGRldmljZVdpZHRoLCBpbnQgZGV2aWNlSGVpZ2h0LCBpbnQgZGV2
aWNlRFBJLCBJbnRTaXplIHZpc2libGVWaWV3cG9ydCwgYm9vbCByZXN0cmljdE1pblNjYWxlVG9W
aWV3cG9ydFNpemUgPSB0cnVlKTsKIAogdm9pZCBzZXRWaWV3cG9ydEZlYXR1cmUoY29uc3QgU3Ry
aW5nJiBrZXlTdHJpbmcsIGNvbnN0IFN0cmluZyYgdmFsdWVTdHJpbmcsIERvY3VtZW50Kiwgdm9p
ZCogZGF0YSk7CiB2b2lkIHJlcG9ydFZpZXdwb3J0V2FybmluZyhEb2N1bWVudCosIFZpZXdwb3J0
RXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VtZW50MSwgY29uc3QgU3RyaW5nJiByZXBs
YWNlbWVudDIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113176</attachid>
            <date>2011-11-01 09:13:47 -0700</date>
            <delta_ts>2011-11-01 10:18:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20111101121345.patch</filename>
            <type>text/plain</type>
            <size>13931</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4NjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOGRkNmQwNWFkYzg0ZjJj
YWIwOWIzYTlhM2NjMjU5MTA3MWUyMzU1Li4zZDlmZmYyZTVlZTZjYjVlZmJkMmZlZWI5NmE5MTFm
OTBlZTdlYzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTEtMDEgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxl
IGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IGJlY2F1c2UgdGhlcmUgaXMgbm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkgKHRoaXMgaXMganVz
dCByZWZhY3RvcmluZykuCisKKyAgICAgICAgKiBkb20vVmlld3BvcnRBcmd1bWVudHMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpyZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXplKToKKyAgICAg
ICAgKiBkb20vVmlld3BvcnRBcmd1bWVudHMuaDoKKwogMjAxMS0xMC0zMSAgQW5kcmVhcyBLbGlu
ZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ1NTUnVsZTogRGV2aXJ0dWFsaXplIGlu
c2VydGVkSW50b1BhcmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggYmQ1OWZjMTVjMGI0ZTJjYWVm
ZjhmYTIyNTUwYmU4YjIxMDQ4YTkyMi4uOWRmNGUwNzEyOTcyZTNhMmVjYTQzZDQ5YWNlYWJiZDZj
ZmFhYmZlMCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTExLTAxICBG
YWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxp
bmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBz
Y2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZXdrL2V3
a192aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1
dGUpOgorCiAyMDExLTEwLTI4ICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJlbmFtZSBhIG51bWJlciBvZiBtZXRob2RzIG1lbnRpb25pbmcgSmF2YVNj
cmlwdCB0byBqdXN0IFNjcmlwdCBpbnN0ZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNzdjNzg0NDBl
YmI3NDQ2NTA2OGI2MDEyZDNhYmM4NDQxZjUwMzc4MC4uMzIwODYzMGJkMWI3ZDAxMDE4NGM1Mzdk
YjNkMzYzY2E2ZWI0MjRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEx
LTExLTAxICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
bW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEg
bWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFu
IHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcDoKKyAgICAgICAg
KER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCk6
CisgICAgICAgICogd2Via2l0L3dlYmtpdHZpZXdwb3J0YXR0cmlidXRlcy5jcHA6CisgICAgICAg
ICh3ZWJraXRWaWV3cG9ydEF0dHJpYnV0ZXNSZWNvbXB1dGUpOgorCiAyMDExLTEwLTI5ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBTd2l0
Y2ggdG8gYSBiYWNraW5nIHN0b3JlIGFwcHJvYWNoIGZvciBwYWludGluZyBXZWJLaXRXZWJWaWV3
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCmluZGV4IDkxOTg0YzdjMmNhMGFhODE5Yzk0YzM2NTcxMDEyN2Y3ZDE2NmYy
MjQuLjE2MzUzYzI0Njk3MWFkNjZhYTQ2MjQ3NmViNjUyMDg2NzMxOWQ0ZjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMDEgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRB
dHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBh
bGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAo
UVdlYlBhZ2U6OnZpZXdwb3J0QXR0cmlidXRlc0ZvclNpemUpOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dCk6CisKIDIwMTEtMTAtMjggIEpvY2hlbiBFaXNp
bmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVuYW1lIGEgbnVtYmVyIG9m
IG1ldGhvZHMgbWVudGlvbmluZyBKYXZhU2NyaXB0IHRvIGp1c3QgU2NyaXB0IGluc3RlYWQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCBiYmYwZjk1OGQyODY0ZDU0ZjI4N2MyODczMDMyYmZiN2JkZGE1NTc2Li4yZTZj
MzRjOTE4YWViY2NhYzU0ODA2M2U1NzdlOWVlOGU5NWFkNjkyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTEtMTEtMDEgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRo
YXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5n
IG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwOgorICAg
ICAgICAoUVRvdWNoV2ViVmlld1ByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0Q29uc3RyYWludHMpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1cmF0aW9uQXNUZXh0KToKKwogMjAxMS0xMC0zMSAg
QW5kcmFzIEJlY3NpICA8YW5kcmFzLmJlY3NpQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dL
Ml0gRml4IHFtbHRlc3RzIGFmdGVyIHI5ODQ2MCBhZGRlZCB3aWRnZXRzIGRlcGVuZGVuY3kuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCBkZjYzMDVmOWY5ZTRh
MDBiNTE0YzM2ZTZmOTVjNzBkYmEwNTYzODE4Li45ZTEyNzFlMWI1ZjgwMjljY2E1NGViNGQ1MjUx
MTk3ZGYzMDU4ZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1
bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAK
QEAgLTE2Nyw5ICsxNjcsNiBAQCBWaWV3cG9ydEF0dHJpYnV0ZXMgY29tcHV0ZVZpZXdwb3J0QXR0
cmlidXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBhcmdzLCBpbnQgZGVza3RvcAogICAgIHJlc3VsdC5s
YXlvdXRTaXplLnNldFdpZHRoKHN0YXRpY19jYXN0PGludD4ocm91bmRmKHdpZHRoKSkpOwogICAg
IHJlc3VsdC5sYXlvdXRTaXplLnNldEhlaWdodChzdGF0aWNfY2FzdDxpbnQ+KHJvdW5kZihoZWln
aHQpKSk7CiAKLSAgICAvLyBVcGRhdGUgbWluaW11bSBzY2FsZSBmYWN0b3IsIHRvIG5ldmVyIGFs
bG93IHpvb21pbmcgb3V0IG1vcmUgdGhhbiB2aWV3cG9ydAotICAgIHJlc3VsdC5taW5pbXVtU2Nh
bGUgPSBtYXg8ZmxvYXQ+KHJlc3VsdC5taW5pbXVtU2NhbGUsIG1heChhdmFpbGFibGVXaWR0aCAv
IHdpZHRoLCBhdmFpbGFibGVIZWlnaHQgLyBoZWlnaHQpKTsKLQogICAgIHJlc3VsdC51c2VyU2Nh
bGFibGUgPSBhcmdzLnVzZXJTY2FsYWJsZTsKICAgICAvLyBNYWtlIG1heGltdW0gYW5kIG1pbmlt
dW0gc2NhbGUgZXF1YWwgdG8gdGhlIGluaXRpYWwgc2NhbGUgaWYgdXNlciBpcyBub3QgYWxsb3dl
ZCB0byB6b29tIGluL291dC4KICAgICBpZiAoIWFyZ3MudXNlclNjYWxhYmxlKQpAQCAtMTc4LDYg
KzE3NSwxOSBAQCBWaWV3cG9ydEF0dHJpYnV0ZXMgY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhW
aWV3cG9ydEFyZ3VtZW50cyBhcmdzLCBpbnQgZGVza3RvcAogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKK3ZvaWQgcmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShWaWV3cG9y
dEF0dHJpYnV0ZXMqIHJlc3VsdCwgSW50U2l6ZSB2aXNpYmxlVmlld3BvcnQpCit7CisgICAgZmxv
YXQgYXZhaWxhYmxlV2lkdGggPSB2aXNpYmxlVmlld3BvcnQud2lkdGgoKTsKKyAgICBmbG9hdCBh
dmFpbGFibGVIZWlnaHQgPSB2aXNpYmxlVmlld3BvcnQuaGVpZ2h0KCk7CisgICAgCisgICAgaWYg
KHJlc3VsdC0+ZGV2aWNlUGl4ZWxSYXRpbyAhPSAxLjApIHsKKyAgICAgICAgYXZhaWxhYmxlV2lk
dGggLz0gcmVzdWx0LT5kZXZpY2VQaXhlbFJhdGlvOworICAgICAgICBhdmFpbGFibGVIZWlnaHQg
Lz0gcmVzdWx0LT5kZXZpY2VQaXhlbFJhdGlvOworICAgIH0KKworICAgIHJlc3VsdC0+bWluaW11
bVNjYWxlID0gbWF4PGZsb2F0PihyZXN1bHQtPm1pbmltdW1TY2FsZSwgbWF4KGF2YWlsYWJsZVdp
ZHRoIC8gcmVzdWx0LT5sYXlvdXRTaXplLndpZHRoKCksIGF2YWlsYWJsZUhlaWdodCAvIHJlc3Vs
dC0+bGF5b3V0U2l6ZS5oZWlnaHQoKSkpOworfQorCiBzdGF0aWMgZmxvYXQgbnVtZXJpY1ByZWZp
eChjb25zdCBTdHJpbmcmIGtleVN0cmluZywgY29uc3QgU3RyaW5nJiB2YWx1ZVN0cmluZywgRG9j
dW1lbnQqIGRvY3VtZW50LCBib29sKiBvaykKIHsKICAgICAvLyBJZiBhIHByZWZpeCBvZiBwcm9w
ZXJ0eS12YWx1ZSBjYW4gYmUgY29udmVydGVkIHRvIGEgbnVtYmVyIHVzaW5nIHN0cnRvZCwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKaW5kZXggNjZiYjI4MTBiNzU5MmI2MTI4
NTk1NjFjYzI4ZjEwMzYxMTk4ZDhhNi4uMjU3MmQyNTQ5Mjk2ZDkyMWJiNzQ4ZGVmYTAwNDUwZmFj
ZDQyZmVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKQEAgLTk4LDcg
Kzk4LDggQEAgc3RydWN0IFZpZXdwb3J0QXJndW1lbnRzIHsKICAgICB9CiB9OwogCi1WaWV3cG9y
dEF0dHJpYnV0ZXMgY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBh
cmdzLCBpbnQgZGVza3RvcFdpZHRoLCBpbnQgZGV2aWNlV2lkdGgsIGludCBkZXZpY2VIZWlnaHQs
IGludCBkZXZpY2VEUEksIEludFNpemUgdmlzaWJsZVZpZXdwb3J0KTsKK1ZpZXdwb3J0QXR0cmli
dXRlcyBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJiBh
cmdzLCBpbnQgZGVza3RvcFdpZHRoLCBpbnQgZGV2aWNlV2lkdGgsIGludCBkZXZpY2VIZWlnaHQs
IGludCBkZXZpY2VEUEksIEludFNpemUgdmlzaWJsZVZpZXdwb3J0KTsKK3ZvaWQgcmVzdHJpY3RN
aW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShWaWV3cG9ydEF0dHJpYnV0ZXMqIHJlc3Vs
dCwgSW50U2l6ZSB2aXNpYmxlVmlld3BvcnQpOwogCiB2b2lkIHNldFZpZXdwb3J0RmVhdHVyZShj
b25zdCBTdHJpbmcmIGtleVN0cmluZywgY29uc3QgU3RyaW5nJiB2YWx1ZVN0cmluZywgRG9jdW1l
bnQqLCB2b2lkKiBkYXRhKTsKIHZvaWQgcmVwb3J0Vmlld3BvcnRXYXJuaW5nKERvY3VtZW50Kiwg
Vmlld3BvcnRFcnJvckNvZGUsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnQxLCBjb25zdCBTdHJp
bmcmIHJlcGxhY2VtZW50Mik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAppbmRleCA1ZGMw
ODZhMTk5NWM2MDFjOWY1Yzg3YzM2ODQyYTYzYjYzMGNhYWE2Li43NzQ0ZDViZjYyMjQ3MjQ3ZWE2
YzcxY2Y1NGJjNDQ4ZWE0OTk1ODRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKQEAg
LTEwODgsNiArMTA4OCw3IEBAIHN0YXRpYyBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMgX2V3
a192aWV3X3ZpZXdwb3J0X2F0dHJpYnV0ZXNfY29tcHV0ZShjb25zdCBFCiAgICAgV2ViQ29yZTo6
SW50UmVjdCBkZXZpY2VSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChwcml2LT5wYWdlLT5jaHJvbWUo
KS0+Y2xpZW50KCktPndpbmRvd1JlY3QoKSk7CiAKICAgICBXZWJDb3JlOjpWaWV3cG9ydEF0dHJp
YnV0ZXMgYXR0cmlidXRlcyA9IFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMocHJp
di0+dmlld3BvcnRBcmd1bWVudHMsIGRlc2t0b3BXaWR0aCwgZGV2aWNlUmVjdC53aWR0aCgpLCBk
ZXZpY2VSZWN0LmhlaWdodCgpLCBkZXZpY2VEUEksIGF2YWlsYWJsZVJlY3Quc2l6ZSgpKTsKKyAg
ICBXZWJDb3JlOjpyZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXplKCZhdHRy
aWJ1dGVzLCBhdmFpbGFibGVSZWN0LnNpemUoKSk7CiAKICAgICByZXR1cm4gYXR0cmlidXRlczsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCmluZGV4IDU0MGY1M2ZlNWJjZWJjMDUzZGIzNTEy
YzA4MGIyMDgzY2I3MjI4NjkuLjAwNzdlYjFlOTAyMjg4MjAxZTJkZjQ2OGM1N2I0NGM4ZjZhYTk2
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcApAQCAtNzExLDYgKzcxMSw3IEBAIHZvaWQg
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpkdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KFdl
YktpdFdlYlZpZXcqIHdlYlZpCiAKICAgICBWaWV3cG9ydEFyZ3VtZW50cyBhcmd1bWVudHMgPSB3
ZWJWaWV3LT5wcml2LT5jb3JlUGFnZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50KCktPnZpZXdwb3J0
QXJndW1lbnRzKCk7CiAgICAgVmlld3BvcnRBdHRyaWJ1dGVzIGF0dHJzID0gY29tcHV0ZVZpZXdw
b3J0QXR0cmlidXRlcyhhcmd1bWVudHMsIC8qIGRlZmF1bHQgbGF5b3V0IHdpZHRoIGZvciBub24t
bW9iaWxlIHBhZ2VzICovIDk4MCwgZGV2aWNlV2lkdGgsIGRldmljZUhlaWdodCwgZGV2aWNlRFBJ
LCBJbnRTaXplKGF2YWlsYWJsZVdpZHRoLCBhdmFpbGFibGVIZWlnaHQpKTsKKyAgICByZXN0cmlj
dE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnQoJmF0dHJzLCBJbnRTaXplKGF2YWlsYWJsZVdp
ZHRoLCBhdmFpbGFibGVIZWlnaHQpKTsKIAogICAgIGZwcmludGYoc3Rkb3V0LCAidmlld3BvcnQg
c2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxl
ICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCksIGF0dHJzLmxheW91dFNpemUuaGVpZ2h0
KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBhdHRycy5tYXhpbXVt
U2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXR2aWV3cG9ydGF0dHJpYnV0ZXMuY3BwCmluZGV4IDc0MmNkZGRlNzQx
ZWE0NTBkNWU1ZThkOGNhNGFiNTY3ZTU3YTEwNGUuLmNiNzEzNDZmZmFjZTE2YWQ3ZDVmMzEwYjAx
MDAzNTBmNTZkMzE5ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR2aWV3cG9ydGF0dHJpYnV0ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR2aWV3cG9ydGF0dHJpYnV0ZXMuY3BwCkBAIC01MjYsOCArNTI2LDEwIEBAIHZvaWQgd2Vi
a2l0Vmlld3BvcnRBdHRyaWJ1dGVzUmVjb21wdXRlKFdlYktpdFZpZXdwb3J0QXR0cmlidXRlcyog
dmlld3BvcnRBdHRyaWJ1CiAgICAgcHJpdi0+ZGV2aWNlSGVpZ2h0ID0gd2luZG93UmVjdC5oZWln
aHQoKTsKIAogICAgIEludFJlY3QgcmVjdCh3ZWJWaWV3LT5wcml2LT5jb3JlUGFnZS0+Y2hyb21l
KCktPnBhZ2VSZWN0KCkpOwotICAgIHByaXYtPmF2YWlsYWJsZVdpZHRoID0gcmVjdC53aWR0aCgp
OwotICAgIHByaXYtPmF2YWlsYWJsZUhlaWdodCA9IHJlY3QuaGVpZ2h0KCk7CisgICAgaW50IGF2
YWlsYWJsZVdpZHRoID0gcmVjdC53aWR0aCgpOworICAgIGludCBhdmFpbGFibGVIZWlnaHQgPSBy
ZWN0LmhlaWdodCgpOworICAgIHByaXYtPmF2YWlsYWJsZVdpZHRoID0gYXZhaWxhYmxlV2lkdGg7
CisgICAgcHJpdi0+YXZhaWxhYmxlSGVpZ2h0ID0gYXZhaWxhYmxlSGVpZ2h0OwogCiAgICAgLy8g
Rmlyc3Qgb2YgYWxsLCB3ZSBnaXZlIHRoZSBhcHBsaWNhdGlvbiBhbiBvcHBvcnR1bml0eSB0byBv
dmVycmlkZSBzb21lIG9mIHRoZSB2YWx1ZXMuCiAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKHdl
YlZpZXcsICJ2aWV3cG9ydC1hdHRyaWJ1dGVzLXJlY29tcHV0ZS1yZXF1ZXN0ZWQiLCB2aWV3cG9y
dEF0dHJpYnV0ZXMpOwpAQCAtNTM1LDYgKzUzNyw3IEBAIHZvaWQgd2Via2l0Vmlld3BvcnRBdHRy
aWJ1dGVzUmVjb21wdXRlKFdlYktpdFZpZXdwb3J0QXR0cmlidXRlcyogdmlld3BvcnRBdHRyaWJ1
CiAgICAgVmlld3BvcnRBcmd1bWVudHMgYXJndW1lbnRzID0gd2ViVmlldy0+cHJpdi0+Y29yZVBh
Z2UtPm1haW5GcmFtZSgpLT5kb2N1bWVudCgpLT52aWV3cG9ydEFyZ3VtZW50cygpOwogCiAgICAg
Vmlld3BvcnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVz
KGFyZ3VtZW50cywgcHJpdi0+ZGVza3RvcFdpZHRoLCBwcml2LT5kZXZpY2VXaWR0aCwgcHJpdi0+
ZGV2aWNlSGVpZ2h0LCBwcml2LT5kZXZpY2VEUEksIEludFNpemUocHJpdi0+YXZhaWxhYmxlV2lk
dGgsIHByaXYtPmF2YWlsYWJsZUhlaWdodCkpOworICAgIHJlc3RyaWN0TWluaW11bVNjYWxlRmFj
dG9yVG9WaWV3cG9ydFNpemUoJmF0dHJpYnV0ZXMsIEludFNpemUocHJpdi0+YXZhaWxhYmxlV2lk
dGgsIHByaXYtPmF2YWlsYWJsZUhlaWdodCkpOwogCiAgICAgcHJpdi0+d2lkdGggPSBhdHRyaWJ1
dGVzLmxheW91dFNpemUud2lkdGgoKTsKICAgICBwcml2LT5oZWlnaHQgPSBhdHRyaWJ1dGVzLmxh
eW91dFNpemUuaGVpZ2h0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggZjc2NWQ5
MTVmOGIyOTc1OGIyNmE2ODcwYzkyMDYxZDg4NGI0ZmJiMy4uMDdmZmRlMGMyNjUwODg1N2IyMGY2
NDdjYTdmYmIxMGJkYjhmZDM3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdl
YnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMjU1
Nyw2ICsyNTU3LDcgQEAgUVdlYlBhZ2U6OlZpZXdwb3J0QXR0cmlidXRlcyBRV2ViUGFnZTo6dmll
d3BvcnRBdHRyaWJ1dGVzRm9yU2l6ZShjb25zdCBRU2l6ZSYgYXYKICAgICB9CiAKICAgICBXZWJD
b3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMgY29uZiA9IFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0
dHJpYnV0ZXMoZC0+dmlld3BvcnRBcmd1bWVudHMoKSwgZGVza3RvcFdpZHRoLCBkZXZpY2VXaWR0
aCwgZGV2aWNlSGVpZ2h0LCBxdF9kZWZhdWx0RHBpKCksIGF2YWlsYWJsZVNpemUpOworICAgIHJl
c3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoJmNvbmYsIGF2YWlsYWJsZVNp
emUpOwogCiAgICAgcmVzdWx0Lm1faXNWYWxpZCA9IHRydWU7CiAgICAgcmVzdWx0Lm1fc2l6ZSA9
IGNvbmYubGF5b3V0U2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggYzFlMDM5MGUzMjQ3
NjRjMTcyMTVmYTU2NDAwY2U4MzEzNjZkNWIwZC4uNDE1ZWNiN2U1NTM1NmIzNzQ1YmVlNDc5Mjlj
MTI0ZGQ2ZmFjZGU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTc2NSw2ICs3NjUsNyBA
QCBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dChRV2ViUGFn
ZSogcGFnZSwgaW50IGRldmljZURQSSwgYwogICAgICAgICAvKiBkZXZpY2UtaGVpZ2h0ICovIGRl
dmljZVNpemUuaGVpZ2h0KCksCiAgICAgICAgIC8qIGRldmljZS1kcGkgICAgKi8gZGV2aWNlRFBJ
LAogICAgICAgICBhdmFpbGFibGVTaXplKTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdE1pbmltdW1T
Y2FsZUZhY3RvclRvVmlld3BvcnRTaXplKCZjb25mLCBhdmFpbGFibGVTaXplKTsKIAogICAgIFFT
dHJpbmcgcmVzOwogICAgIHJlcyA9IHJlcy5zcHJpbnRmKCJ2aWV3cG9ydCBzaXplICVkeCVkIHNj
YWxlICVmIHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAppbmRl
eCA4N2E0NjVhZjMyYjQzNjRiNGZjMDNmMGM3NTA5YThhNjJlMjc1MWQyLi5mODllZWI3ZDk5ODMy
NDgxNDEzMjM5NzQ1MzFhMzNlNDY5N2JiOWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAKQEAgLTcwLDYgKzcwLDcgQEAgdm9pZCBR
VG91Y2hXZWJWaWV3UHJpdmF0ZTo6dXBkYXRlVmlld3BvcnRDb25zdHJhaW50cygpCiAgICAgV2Vi
UHJlZmVyZW5jZXMqIHdrUHJlZnMgPSB3a1BhZ2UtPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygp
OwogCiAgICAgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIGF0dHIgPSBXZWJDb3JlOjpjb21w
dXRlVmlld3BvcnRBdHRyaWJ1dGVzKHZpZXdwb3J0QXJndW1lbnRzLCB3a1ByZWZzLT5sYXlvdXRG
YWxsYmFja1dpZHRoKCksIHdrUHJlZnMtPmRldmljZVdpZHRoKCksIHdrUHJlZnMtPmRldmljZUhl
aWdodCgpLCB3a1ByZWZzLT5kZXZpY2VEUEkoKSwgYXZhaWxhYmxlU2l6ZSk7CisgICAgcmVzdHJp
Y3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0KCZhdHRyLCBhdmFpbGFibGVTaXplKTsKIAog
ICAgIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6Q29uc3RyYWludHMgbmV3Q29uc3RyYWlu
dHM7CiAgICAgbmV3Q29uc3RyYWludHMuaW5pdGlhbFNjYWxlID0gYXR0ci5pbml0aWFsU2NhbGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
YzFkZGQ4ZGYxODRlYTQ0YmVhZDhmM2JmMWNmODMzOWNjNzNjZTQ5NC4uY2E4MDdiNzkwNTM5YTc3
MWEzM2M1MDg2MmI4NTA5N2M3YjA3YTQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjYxMSw2ICsyNjExLDcgQEAgU3RyaW5nIFdlYlBh
Z2U6OnZpZXdwb3J0Q29uZmlndXJhdGlvbkFzVGV4dChpbnQgZGV2aWNlRFBJLCBpbnQgZGV2aWNl
V2lkdGgsIGludAogewogICAgIFZpZXdwb3J0QXJndW1lbnRzIGFyZ3VtZW50cyA9IG1haW5GcmFt
ZSgpLT5kb2N1bWVudCgpLT52aWV3cG9ydEFyZ3VtZW50cygpOwogICAgIFZpZXdwb3J0QXR0cmli
dXRlcyBhdHRycyA9IFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoYXJndW1lbnRz
LCAvKiBkZWZhdWx0IGxheW91dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBwYWdlcyAqLyA5ODAsIGRl
dmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgSW50U2l6ZShhdmFpbGFibGVXaWR0
aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5pbXVtU2NhbGVG
YWN0b3JUb1ZpZXdwb3J0KCZhdHRycywgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxl
SGVpZ2h0KSk7CiAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJ2aWV3cG9ydCBzaXplICVkeCVk
IHNjYWxlICVmIHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIGF0
dHJzLmxheW91dFNpemUud2lkdGgoKSwgYXR0cnMubGF5b3V0U2l6ZS5oZWlnaHQoKSwgYXR0cnMu
aW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVtU2NhbGUsIGF0dHJzLm1heGltdW1TY2FsZSwgYXR0
cnMudXNlclNjYWxhYmxlKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113186</attachid>
            <date>2011-11-01 10:19:00 -0700</date>
            <delta_ts>2011-11-02 10:52:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20111101131859.patch</filename>
            <type>text/plain</type>
            <size>14162</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4NjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOGRkNmQwNWFkYzg0ZjJj
YWIwOWIzYTlhM2NjMjU5MTA3MWUyMzU1Li45NmFhYzMzMzM0NTA0NzE2YTIwZDI3MDA3NmQ1M2Zj
ZGZiNTdlMGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMTEtMDEgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxl
IGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3BlcmF0aW9ucyBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgYXJlIG5vdCBhIHBhcnQgb2YgdGhlIHNw
ZWM6IAorCisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTEvV0QtY3NzLWRldmljZS1h
ZGFwdC0yMDExMDkxNS8jY29uc3RyYWluaW5nLXZpZXdwb3J0LXByb3BlcnR5LXZhbHVlcworCisg
ICAgICAgIHdlcmUgbW92ZWQgaW50byB0aGUgbWV0aG9kcyByZXN0cmljdE1pbmltdW1TY2FsZUZh
Y3RvclRvVmlld3BvcnRTaXplIGFuZAorICAgICAgICByZXN0cmljdFNjYWxlRmFjdG9ySW5pdGlh
bFNjYWxlSWZOb3RVc2VyU2NhbGFibGUuCisKKyAgICAgICAgKiBkb20vVmlld3BvcnRBcmd1bWVu
dHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpyZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXpl
KToKKyAgICAgICAgKFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlm
Tm90VXNlclNjYWxhYmxlKToKKyAgICAgICAgKiBkb20vVmlld3BvcnRBcmd1bWVudHMuaDoKKwog
MjAxMS0xMC0zMSAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
Q1NTUnVsZTogRGV2aXJ0dWFsaXplIGluc2VydGVkSW50b1BhcmVudCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
aW5kZXggYmQ1OWZjMTVjMGI0ZTJjYWVmZjhmYTIyNTUwYmU4YjIxMDQ4YTkyMi4uOWRmNGUwNzEy
OTcyZTNhMmVjYTQzZDQ5YWNlYWJiZDZjZmFhYmZlMCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDExLTExLTAxICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0
aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWlu
ZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmlld192
aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1dGUpOgorCiAyMDExLTEwLTI4ICBKb2NoZW4gRWlzaW5n
ZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmFtZSBhIG51bWJlciBvZiBt
ZXRob2RzIG1lbnRpb25pbmcgSmF2YVNjcmlwdCB0byBqdXN0IFNjcmlwdCBpbnN0ZWFkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cKaW5kZXggNzdjNzg0NDBlYmI3NDQ2NTA2OGI2MDEyZDNhYmM4NDQxZjUwMzc4MC4u
MzIwODYzMGJkMWI3ZDAxMDE4NGM1MzdkYjNkMzYzY2E2ZWI0MjRhMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTExLTAxICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0
cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxs
b3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0R3RrLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVtcENv
bmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCk6CisgICAgICAgICogd2Via2l0L3dlYmtpdHZpZXdwb3J0
YXR0cmlidXRlcy5jcHA6CisgICAgICAgICh3ZWJraXRWaWV3cG9ydEF0dHJpYnV0ZXNSZWNvbXB1
dGUpOgorCiAyMDExLTEwLTI5ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBTd2l0Y2ggdG8gYSBiYWNraW5nIHN0b3JlIGFwcHJvYWNoIGZv
ciBwYWludGluZyBXZWJLaXRXZWJWaWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDkxOTg0YzdjMmNhMGFh
ODE5Yzk0YzM2NTcxMDEyN2Y3ZDE2NmYyMjQuLjE2MzUzYzI0Njk3MWFkNjZhYTQ2MjQ3NmViNjUy
MDg2NzMxOWQ0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMDEg
IEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3Zpbmcg
bGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVt
IHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3Bv
cnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBcGkv
cXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2U6OnZpZXdwb3J0QXR0cmlidXRlc0ZvclNp
emUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNw
cDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dCk6CisK
IDIwMTEtMTAtMjggIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmVuYW1lIGEgbnVtYmVyIG9mIG1ldGhvZHMgbWVudGlvbmluZyBKYXZhU2NyaXB0IHRv
IGp1c3QgU2NyaXB0IGluc3RlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiYmYwZjk1OGQyODY0ZDU0ZjI4N2My
ODczMDMyYmZiN2JkZGE1NTc2Li4yZTZjMzRjOTE4YWViY2NhYzU0ODA2M2U1NzdlOWVlOGU5NWFk
NjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMDEgIEZhZHkgU2FtdWVs
ICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21w
dXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3Rv
ciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0
L3F0b3VjaHdlYnZpZXcuY3BwOgorICAgICAgICAoUVRvdWNoV2ViVmlld1ByaXZhdGU6OnVwZGF0
ZVZpZXdwb3J0Q29uc3RyYWludHMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1cmF0aW9u
QXNUZXh0KToKKwogMjAxMS0xMC0zMSAgQW5kcmFzIEJlY3NpICA8YW5kcmFzLmJlY3NpQG5va2lh
LmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gRml4IHFtbHRlc3RzIGFmdGVyIHI5ODQ2MCBhZGRl
ZCB3aWRnZXRzIGRlcGVuZGVuY3kuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRz
LmNwcAppbmRleCBkZjYzMDVmOWY5ZTRhMDBiNTE0YzM2ZTZmOTVjNzBkYmEwNTYzODE4Li5kOGFj
ZjhjMjFhZDI5NWI5NWRhZDQ2M2QyOGYyNzE0NzRjOGI4ZmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKQEAgLTE2NywxNyArMTY3LDMwIEBAIFZpZXdwb3J0QXR0
cmlidXRlcyBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKFZpZXdwb3J0QXJndW1lbnRzIGFyZ3Ms
IGludCBkZXNrdG9wCiAgICAgcmVzdWx0LmxheW91dFNpemUuc2V0V2lkdGgoc3RhdGljX2Nhc3Q8
aW50Pihyb3VuZGYod2lkdGgpKSk7CiAgICAgcmVzdWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KHN0
YXRpY19jYXN0PGludD4ocm91bmRmKGhlaWdodCkpKTsKIAotICAgIC8vIFVwZGF0ZSBtaW5pbXVt
IHNjYWxlIGZhY3RvciwgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdw
b3J0Ci0gICAgcmVzdWx0Lm1pbmltdW1TY2FsZSA9IG1heDxmbG9hdD4ocmVzdWx0Lm1pbmltdW1T
Y2FsZSwgbWF4KGF2YWlsYWJsZVdpZHRoIC8gd2lkdGgsIGF2YWlsYWJsZUhlaWdodCAvIGhlaWdo
dCkpOwotCiAgICAgcmVzdWx0LnVzZXJTY2FsYWJsZSA9IGFyZ3MudXNlclNjYWxhYmxlOwotICAg
IC8vIE1ha2UgbWF4aW11bSBhbmQgbWluaW11bSBzY2FsZSBlcXVhbCB0byB0aGUgaW5pdGlhbCBz
Y2FsZSBpZiB1c2VyIGlzIG5vdCBhbGxvd2VkIHRvIHpvb20gaW4vb3V0LgotICAgIGlmICghYXJn
cy51c2VyU2NhbGFibGUpCi0gICAgICAgIHJlc3VsdC5tYXhpbXVtU2NhbGUgPSByZXN1bHQubWlu
aW11bVNjYWxlID0gcmVzdWx0LmluaXRpYWxTY2FsZTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKK3ZvaWQgcmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShWaWV3cG9y
dEF0dHJpYnV0ZXMmIHJlc3VsdCwgSW50U2l6ZSB2aXNpYmxlVmlld3BvcnQpCit7CisgICAgZmxv
YXQgYXZhaWxhYmxlV2lkdGggPSB2aXNpYmxlVmlld3BvcnQud2lkdGgoKTsKKyAgICBmbG9hdCBh
dmFpbGFibGVIZWlnaHQgPSB2aXNpYmxlVmlld3BvcnQuaGVpZ2h0KCk7CisKKyAgICBpZiAocmVz
dWx0LmRldmljZVBpeGVsUmF0aW8gIT0gMS4wKSB7CisgICAgICAgIGF2YWlsYWJsZVdpZHRoIC89
IHJlc3VsdC5kZXZpY2VQaXhlbFJhdGlvOworICAgICAgICBhdmFpbGFibGVIZWlnaHQgLz0gcmVz
dWx0LmRldmljZVBpeGVsUmF0aW87CisgICAgfQorCisgICAgcmVzdWx0Lm1pbmltdW1TY2FsZSA9
IG1heDxmbG9hdD4ocmVzdWx0Lm1pbmltdW1TY2FsZSwgbWF4KGF2YWlsYWJsZVdpZHRoIC8gcmVz
dWx0LmxheW91dFNpemUud2lkdGgoKSwgYXZhaWxhYmxlSGVpZ2h0IC8gcmVzdWx0LmxheW91dFNp
emUuaGVpZ2h0KCkpKTsKK30KKwordm9pZCByZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2Nh
bGVJZk5vdFVzZXJTY2FsYWJsZShWaWV3cG9ydEF0dHJpYnV0ZXMmIHJlc3VsdCkKK3sKKyAgICBp
ZiAoIXJlc3VsdC51c2VyU2NhbGFibGUpCisgICAgICAgIHJlc3VsdC5tYXhpbXVtU2NhbGUgPSBy
ZXN1bHQubWluaW11bVNjYWxlID0gcmVzdWx0LmluaXRpYWxTY2FsZTsKK30KKwogc3RhdGljIGZs
b2F0IG51bWVyaWNQcmVmaXgoY29uc3QgU3RyaW5nJiBrZXlTdHJpbmcsIGNvbnN0IFN0cmluZyYg
dmFsdWVTdHJpbmcsIERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCogb2spCiB7CiAgICAgLy8gSWYg
YSBwcmVmaXggb2YgcHJvcGVydHktdmFsdWUgY2FuIGJlIGNvbnZlcnRlZCB0byBhIG51bWJlciB1
c2luZyBzdHJ0b2QsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1
bWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCmluZGV4IDY2
YmIyODEwYjc1OTJiNjEyODU5NTYxY2MyOGYxMDM2MTE5OGQ4YTYuLmM3YTMwNGRlNmJiYTM0MzJl
MWRkMWU4NGJlZTQyZmQxZjg0MTUwZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9W
aWV3cG9ydEFyZ3VtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5oCkBAIC05OSw2ICs5OSw4IEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiB9Owog
CiBWaWV3cG9ydEF0dHJpYnV0ZXMgY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhWaWV3cG9ydEFy
Z3VtZW50cyBhcmdzLCBpbnQgZGVza3RvcFdpZHRoLCBpbnQgZGV2aWNlV2lkdGgsIGludCBkZXZp
Y2VIZWlnaHQsIGludCBkZXZpY2VEUEksIEludFNpemUgdmlzaWJsZVZpZXdwb3J0KTsKK3ZvaWQg
cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShWaWV3cG9ydEF0dHJpYnV0
ZXMmIHJlc3VsdCwgSW50U2l6ZSB2aXNpYmxlVmlld3BvcnQpOwordm9pZCByZXN0cmljdFNjYWxl
RmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZShWaWV3cG9ydEF0dHJpYnV0ZXMm
IHJlc3VsdCk7CiAKIHZvaWQgc2V0Vmlld3BvcnRGZWF0dXJlKGNvbnN0IFN0cmluZyYga2V5U3Ry
aW5nLCBjb25zdCBTdHJpbmcmIHZhbHVlU3RyaW5nLCBEb2N1bWVudCosIHZvaWQqIGRhdGEpOwog
dm9pZCByZXBvcnRWaWV3cG9ydFdhcm5pbmcoRG9jdW1lbnQqLCBWaWV3cG9ydEVycm9yQ29kZSwg
Y29uc3QgU3RyaW5nJiByZXBsYWNlbWVudDEsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnQyKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDVkYzA4NmExOTk1YzYwMWM5ZjVjODdj
MzY4NDJhNjNiNjMwY2FhYTYuLjhmNGQzNmQzNDhiNDFiMjk1YTc0OTIwYWMyZTFjNGY2ZGJlYjA0
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApAQCAtMTA4OCw2ICsxMDg4LDggQEAg
c3RhdGljIFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyBfZXdrX3ZpZXdfdmlld3BvcnRfYXR0
cmlidXRlc19jb21wdXRlKGNvbnN0IEUKICAgICBXZWJDb3JlOjpJbnRSZWN0IGRldmljZVJlY3Qg
PSBlbmNsb3NpbmdJbnRSZWN0KHByaXYtPnBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+d2luZG93
UmVjdCgpKTsKIAogICAgIFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyBhdHRyaWJ1dGVzID0g
V2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhwcml2LT52aWV3cG9ydEFyZ3VtZW50
cywgZGVza3RvcFdpZHRoLCBkZXZpY2VSZWN0LndpZHRoKCksIGRldmljZVJlY3QuaGVpZ2h0KCks
IGRldmljZURQSSwgYXZhaWxhYmxlUmVjdC5zaXplKCkpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0
TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoYXR0cmlidXRlcywgYXZhaWxhYmxlUmVj
dC5zaXplKCkpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2Fs
ZUlmTm90VXNlclNjYWxhYmxlKGF0dHJpYnV0ZXMpOwogCiAgICAgcmV0dXJuIGF0dHJpYnV0ZXM7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcAppbmRleCA1NDBmNTNmZTViY2ViYzA1M2RiMzUx
MmMwODBiMjA4M2NiNzIyODY5Li4wZjY4YzNhNDk2OTlmZDdiOGYxNWU0MDM4MmQ5N2Y4Mzc3Yjkz
MDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAKQEAgLTcxMSw3ICs3MTEsOCBAQCB2b2lk
IER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChX
ZWJLaXRXZWJWaWV3KiB3ZWJWaQogCiAgICAgVmlld3BvcnRBcmd1bWVudHMgYXJndW1lbnRzID0g
d2ViVmlldy0+cHJpdi0+Y29yZVBhZ2UtPm1haW5GcmFtZSgpLT5kb2N1bWVudCgpLT52aWV3cG9y
dEFyZ3VtZW50cygpOwogICAgIFZpZXdwb3J0QXR0cmlidXRlcyBhdHRycyA9IGNvbXB1dGVWaWV3
cG9ydEF0dHJpYnV0ZXMoYXJndW1lbnRzLCAvKiBkZWZhdWx0IGxheW91dCB3aWR0aCBmb3Igbm9u
LW1vYmlsZSBwYWdlcyAqLyA5ODAsIGRldmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQ
SSwgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7Ci0KKyAgICByZXN0
cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXplKGF0dHJzLCBJbnRTaXplKGF2YWls
YWJsZVdpZHRoLCBhdmFpbGFibGVIZWlnaHQpKTsKKyAgICByZXN0cmljdFNjYWxlRmFjdG9yVG9J
bml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZShhdHRycyk7CiAgICAgZnByaW50ZihzdGRvdXQs
ICJ2aWV3cG9ydCBzaXplICVkeCVkIHNjYWxlICVmIHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1
c2VyU2NhbGFibGUgJWZcbiIsIGF0dHJzLmxheW91dFNpemUud2lkdGgoKSwgYXR0cnMubGF5b3V0
U2l6ZS5oZWlnaHQoKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVtU2NhbGUsIGF0
dHJzLm1heGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHZpZXdwb3J0YXR0cmlidXRlcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNwcAppbmRl
eCA3NDJjZGRkZTc0MWVhNDUwZDVlNWU4ZDhjYTRhYjU2N2U1N2ExMDRlLi5jMDgxOTFmYWVkYzhh
YmQ5YWU3NGE2YjNjNWVkNDFiOTNlMjI2ZWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNwcApAQCAtNTM1LDYgKzUzNSw4
IEBAIHZvaWQgd2Via2l0Vmlld3BvcnRBdHRyaWJ1dGVzUmVjb21wdXRlKFdlYktpdFZpZXdwb3J0
QXR0cmlidXRlcyogdmlld3BvcnRBdHRyaWJ1CiAgICAgVmlld3BvcnRBcmd1bWVudHMgYXJndW1l
bnRzID0gd2ViVmlldy0+cHJpdi0+Y29yZVBhZ2UtPm1haW5GcmFtZSgpLT5kb2N1bWVudCgpLT52
aWV3cG9ydEFyZ3VtZW50cygpOwogCiAgICAgVmlld3BvcnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMg
PSBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKGFyZ3VtZW50cywgcHJpdi0+ZGVza3RvcFdpZHRo
LCBwcml2LT5kZXZpY2VXaWR0aCwgcHJpdi0+ZGV2aWNlSGVpZ2h0LCBwcml2LT5kZXZpY2VEUEks
IEludFNpemUocHJpdi0+YXZhaWxhYmxlV2lkdGgsIHByaXYtPmF2YWlsYWJsZUhlaWdodCkpOwor
ICAgIHJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoYXR0cmlidXRlcywg
SW50U2l6ZShwcml2LT5hdmFpbGFibGVXaWR0aCwgcHJpdi0+YXZhaWxhYmxlSGVpZ2h0KSk7Cisg
ICAgcmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoYXR0
cmlidXRlcyk7CiAKICAgICBwcml2LT53aWR0aCA9IGF0dHJpYnV0ZXMubGF5b3V0U2l6ZS53aWR0
aCgpOwogICAgIHByaXYtPmhlaWdodCA9IGF0dHJpYnV0ZXMubGF5b3V0U2l6ZS5oZWlnaHQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCBmNzY1ZDkxNWY4YjI5NzU4YjI2YTY4NzBj
OTIwNjFkODg0YjRmYmIzLi45ZDBkOGMyMTliMjcyYjhiN2IyYmRhOGQyYWU1NTI5NmViODc5ZDUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0yNTU3LDYgKzI1NTcsOCBAQCBRV2Vi
UGFnZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIFFXZWJQYWdlOjp2aWV3cG9ydEF0dHJpYnV0ZXNGb3JT
aXplKGNvbnN0IFFTaXplJiBhdgogICAgIH0KIAogICAgIFdlYkNvcmU6OlZpZXdwb3J0QXR0cmli
dXRlcyBjb25mID0gV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhkLT52aWV3cG9y
dEFyZ3VtZW50cygpLCBkZXNrdG9wV2lkdGgsIGRldmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIHF0
X2RlZmF1bHREcGkoKSwgYXZhaWxhYmxlU2l6ZSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5p
bXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShjb25mLCBhdmFpbGFibGVTaXplKTsKKyAgICBX
ZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJs
ZShjb25mKTsKIAogICAgIHJlc3VsdC5tX2lzVmFsaWQgPSB0cnVlOwogICAgIHJlc3VsdC5tX3Np
emUgPSBjb25mLmxheW91dFNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCmluZGV4IGMxZTAzOTBl
MzI0NzY0YzE3MjE1ZmE1NjQwMGNlODMxMzY2ZDViMGQuLjBkN2FlODRjNGIwZWFjY2ZlMzFjNTYy
Y2IzYzdkNjI4MGJiNjM5MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCkBAIC03NjUsNiArNzY1
LDggQEAgUVN0cmluZyBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmlld3BvcnRBc1RleHQoUVdl
YlBhZ2UqIHBhZ2UsIGludCBkZXZpY2VEUEksIGMKICAgICAgICAgLyogZGV2aWNlLWhlaWdodCAq
LyBkZXZpY2VTaXplLmhlaWdodCgpLAogICAgICAgICAvKiBkZXZpY2UtZHBpICAgICovIGRldmlj
ZURQSSwKICAgICAgICAgYXZhaWxhYmxlU2l6ZSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5p
bXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShjb25mLCBhdmFpbGFibGVTaXplKTsKKyAgICBX
ZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJs
ZShjb25mKTsKIAogICAgIFFTdHJpbmcgcmVzOwogICAgIHJlcyA9IHJlcy5zcHJpbnRmKCJ2aWV3
cG9ydCBzaXplICVkeCVkIHNjYWxlICVmIHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2Nh
bGFibGUgJWZcbiIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3F0b3VjaHdlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91
Y2h3ZWJ2aWV3LmNwcAppbmRleCA4N2E0NjVhZjMyYjQzNjRiNGZjMDNmMGM3NTA5YThhNjJlMjc1
MWQyLi4zZDhhNzk2OTA2ZGJhYTg3NGExMzM4NWRlMzRkYTYzYjc2YTUzNGQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAKQEAgLTcw
LDYgKzcwLDggQEAgdm9pZCBRVG91Y2hXZWJWaWV3UHJpdmF0ZTo6dXBkYXRlVmlld3BvcnRDb25z
dHJhaW50cygpCiAgICAgV2ViUHJlZmVyZW5jZXMqIHdrUHJlZnMgPSB3a1BhZ2UtPnBhZ2VHcm91
cCgpLT5wcmVmZXJlbmNlcygpOwogCiAgICAgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIGF0
dHIgPSBXZWJDb3JlOjpjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKHZpZXdwb3J0QXJndW1lbnRz
LCB3a1ByZWZzLT5sYXlvdXRGYWxsYmFja1dpZHRoKCksIHdrUHJlZnMtPmRldmljZVdpZHRoKCks
IHdrUHJlZnMtPmRldmljZUhlaWdodCgpLCB3a1ByZWZzLT5kZXZpY2VEUEkoKSwgYXZhaWxhYmxl
U2l6ZSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0
KGF0dHIsIGF2YWlsYWJsZVNpemUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0b3JU
b0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGF0dHIpOwogCiAgICAgUXRWaWV3cG9ydElu
dGVyYWN0aW9uRW5naW5lOjpDb25zdHJhaW50cyBuZXdDb25zdHJhaW50czsKICAgICBuZXdDb25z
dHJhaW50cy5pbml0aWFsU2NhbGUgPSBhdHRyLmluaXRpYWxTY2FsZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBjMWRkZDhkZjE4NGVhNDRi
ZWFkOGYzYmYxY2Y4MzM5Y2M3M2NlNDk0Li5mYjg1NTE2YjhjNTRiNmUyMDQ0MTFiOGQxNTIwMGE5
NzY4OTRmYWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCkBAIC0yNjExLDYgKzI2MTEsOCBAQCBTdHJpbmcgV2ViUGFnZTo6dmlld3BvcnRDb25m
aWd1cmF0aW9uQXNUZXh0KGludCBkZXZpY2VEUEksIGludCBkZXZpY2VXaWR0aCwgaW50CiB7CiAg
ICAgVmlld3BvcnRBcmd1bWVudHMgYXJndW1lbnRzID0gbWFpbkZyYW1lKCktPmRvY3VtZW50KCkt
PnZpZXdwb3J0QXJndW1lbnRzKCk7CiAgICAgVmlld3BvcnRBdHRyaWJ1dGVzIGF0dHJzID0gV2Vi
Q29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhhcmd1bWVudHMsIC8qIGRlZmF1bHQgbGF5
b3V0IHdpZHRoIGZvciBub24tbW9iaWxlIHBhZ2VzICovIDk4MCwgZGV2aWNlV2lkdGgsIGRldmlj
ZUhlaWdodCwgZGV2aWNlRFBJLCBJbnRTaXplKGF2YWlsYWJsZVdpZHRoLCBhdmFpbGFibGVIZWln
aHQpKTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRT
aXplKGF0dHJzLCBJbnRTaXplKGF2YWlsYWJsZVdpZHRoLCBhdmFpbGFibGVIZWlnaHQpKTsKKyAg
ICBXZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2Fs
YWJsZShhdHRycyk7CiAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJ2aWV3cG9ydCBzaXplICVk
eCVkIHNjYWxlICVmIHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIs
IGF0dHJzLmxheW91dFNpemUud2lkdGgoKSwgYXR0cnMubGF5b3V0U2l6ZS5oZWlnaHQoKSwgYXR0
cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVtU2NhbGUsIGF0dHJzLm1heGltdW1TY2FsZSwg
YXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113333</attachid>
            <date>2011-11-02 10:52:58 -0700</date>
            <delta_ts>2011-11-03 07:31:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20111102135256.patch</filename>
            <type>text/plain</type>
            <size>15018</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkwNzMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZjNiNDZkMmNjYmE4Njhi
ZWQ4NzQ2OGU0NGM3MmMxYjI5N2U2MTVkLi5iNTEyNDk5MGEyYzE3M2I0YTE1Y2Y2MWM0MzU0MjU5
Nzk2NzQ5MmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTEtMDIgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxl
IGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3BlcmF0aW9ucyBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgYXJlIG5vdCBhIHBhcnQgb2YgdGhlIHNw
ZWM6IAorCisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTEvV0QtY3NzLWRldmljZS1h
ZGFwdC0yMDExMDkxNS8jY29uc3RyYWluaW5nLXZpZXdwb3J0LXByb3BlcnR5LXZhbHVlcworCisg
ICAgICAgIHdlcmUgbW92ZWQgaW50byB0aGUgZnVuY3Rpb25zIHJlc3RyaWN0TWluaW11bVNjYWxl
RmFjdG9yVG9WaWV3cG9ydFNpemUgYW5kCisgICAgICAgIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0lu
aXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46
CisgICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6cmVzdHJpY3RN
aW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpyZXN0
cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZSk6CisgICAgICAg
ICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmg6CisKIDIwMTEtMTEtMDIgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihyOTY4NzApOiBXZWJLaXQg
Z2VuZXJhdGVzIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG9uIGJsb2dnZXIuY29tCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKaW5kZXggYjIxNDc0MjU5MTkzNmJmMGIzNjU5NzhkYzZhNmZlOTBkNjgyNzUxNi4uMTVj
YjA4YjliM2E3MDQ4Nzc3NzQ1MmZjZmVkYTUyMmM1MzFhMDRhNSAxMDA3NTUKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDExLTExLTAyICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmli
dXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cg
em9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9ld2tf
dmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1dGUpOgorCiAyMDExLTExLTAyICBSeXVhbiBD
aG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBGaXggYnVpbGQg
YnJlYWsgd2hlbiBERUJVR19NRU1fTEVBS1MgaXMgZW5hYmxlZC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRl
eCBmMGJkMTQ0YjNiYmQxNjA4ZjgwZTg2ZjFlNmViOWM5NGRkNmJmYTA0Li41NGFhMTMwZTdjZjJi
NjcxNThjMmUwODQyYzk5NzFmMWY3ZDk0YTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTEtMTEtMDIgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQg
ZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91
dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3Bw
OgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpkdW1wQ29uZmlndXJhdGlvbkZv
clZpZXdwb3J0KToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNw
cDoKKyAgICAgICAgKHdlYmtpdFZpZXdwb3J0QXR0cmlidXRlc1JlY29tcHV0ZSk6CisKIDIwMTEt
MTAtMzEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdIEluc3RhbGwgaHRtbCBhbmQgdG1wbCBkaXJzIGluIGEgJChET0NfTU9EVUxFKSBk
aXIgaW4gdGFyYmFsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA4MzU3MGE3ZWQwY2RmODAzMjAzNDYwMTA5
Mzc0NGM2YWQ4ZGUxYWU5Li44YjI4OGU0NmY1NGM5NjEyMmJmNGZjN2U5OTE3NzNlZmU5ZmI1ZDAx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTExLTAyICBGYWR5IFNhbXVl
bCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29t
cHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0
b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNw
cDoKKyAgICAgICAgKFFXZWJQYWdlOjp2aWV3cG9ydEF0dHJpYnV0ZXNGb3JTaXplKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAg
IChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmlld3BvcnRBc1RleHQpOgorCiAyMDExLTExLTAy
ICBEZWVwYWsgU2hlcnZlZ2hhciAgPGJwd3Y2NEBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgW1F0
XSBGYWlsaW5nIHRlc3QgbWVkaWEvdmlkZW8tZG9jdW1lbnQtdHlwZXMuaHRtbApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IGQwMTEwNDczZmJhNjY1YjMxNWZmYWNiODk1MGIxNzhmYjMzZDE5YWEuLmI5NGYyMzkxN2Y0
YzFlZDdlNjIyYTY3ZmE2NTNmZjhkNGQyOTZlNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMS0xMS0wMiAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZW1vdmluZyBsaW5lIGluIGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMgdGhhdCBlbmZv
cmNlcyBhIG1pbmltdW0gc2NhbGUgZmFjdG9yIHRvIG5ldmVyIGFsbG93IHpvb21pbmcgb3V0IG1v
cmUgdGhhbiB2aWV3cG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzA2MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHA6CisgICAgICAgIChR
VG91Y2hXZWJWaWV3UHJpdmF0ZTo6dXBkYXRlVmlld3BvcnRDb25zdHJhaW50cyk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjp2aWV3cG9ydENvbmZpZ3VyYXRpb25Bc1RleHQpOgorCiAyMDExLTExLTAyICBKb2NlbHlu
IFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBG
aXggcW1sdGVzdCBBUEkgdGVzdCBmYWlsdXJlcyByZWxhdGVkIHRvIHI5ODk3My4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KaW5kZXggYjQ5OTMzMzQ4ZjMyOWVmNmVmOGU3MWE5NzRhNjc2OWQ4NTcxNzQyNS4u
MzJmOWE1MjIxYWNlNjkxMWU2OWQzYTY5ODM4YmE1M2ViMWY4MmQ2ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KQEAgLTY1Miw2ICs2NTIsOCBAQCBfX1pON1dlYkNvcmUyNVBsdWdpbk1haW5UaHJlYWRT
Y2hlZHVsZXIxNnVucmVnaXN0ZXJQbHVnaW5FUDRfTlBQCiBfX1pON1dlYkNvcmUyNVBsdWdpbk1h
aW5UaHJlYWRTY2hlZHVsZXI5c2NoZWR1bGVyRXYKIF9fWk43V2ViQ29yZTI1YWRkTGFuZ3VhZ2VD
aGFuZ2VPYnNlcnZlckVQdlBGdlMwX0UKIF9fWk43V2ViQ29yZTI1Y29tcHV0ZVZpZXdwb3J0QXR0
cmlidXRlc0VOU18xN1ZpZXdwb3J0QXJndW1lbnRzRWlpaWlOU183SW50U2l6ZUUKK19fWk43V2Vi
Q29yZTUwcmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGVF
Uk5TXzE4Vmlld3BvcnRBdHRyaWJ1dGVzRQorX19aTjdXZWJDb3JlNDByZXN0cmljdE1pbmltdW1T
Y2FsZUZhY3RvclRvVmlld3BvcnRTaXplRVJOU18xOFZpZXdwb3J0QXR0cmlidXRlc0VOU183SW50
U2l6ZUUKIF9fWk43V2ViQ29yZTI1Y29udGV4dE1lbnVJdGVtVGFnT3V0bGluZUV2CiBfX1pON1dl
YkNvcmUyNkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uQzFFdgogX19aTjdXZWJDb3JlMjZVc2Vy
VHlwaW5nR2VzdHVyZUluZGljYXRvcjI3cHJvY2Vzc2luZ1VzZXJUeXBpbmdHZXN0dXJlRXYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCmluZGV4IGRmNjMwNWY5ZjllNGEw
MGI1MTRjMzZlNmY5NWM3MGRiYTA1NjM4MTguLmQ4YWNmOGMyMWFkMjk1Yjk1ZGFkNDYzZDI4ZjI3
MTQ3NGM4YjhmZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApA
QCAtMTY3LDE3ICsxNjcsMzAgQEAgVmlld3BvcnRBdHRyaWJ1dGVzIGNvbXB1dGVWaWV3cG9ydEF0
dHJpYnV0ZXMoVmlld3BvcnRBcmd1bWVudHMgYXJncywgaW50IGRlc2t0b3AKICAgICByZXN1bHQu
bGF5b3V0U2l6ZS5zZXRXaWR0aChzdGF0aWNfY2FzdDxpbnQ+KHJvdW5kZih3aWR0aCkpKTsKICAg
ICByZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYoaGVp
Z2h0KSkpOwogCi0gICAgLy8gVXBkYXRlIG1pbmltdW0gc2NhbGUgZmFjdG9yLCB0byBuZXZlciBh
bGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKLSAgICByZXN1bHQubWluaW11bVNj
YWxlID0gbWF4PGZsb2F0PihyZXN1bHQubWluaW11bVNjYWxlLCBtYXgoYXZhaWxhYmxlV2lkdGgg
LyB3aWR0aCwgYXZhaWxhYmxlSGVpZ2h0IC8gaGVpZ2h0KSk7Ci0KICAgICByZXN1bHQudXNlclNj
YWxhYmxlID0gYXJncy51c2VyU2NhbGFibGU7Ci0gICAgLy8gTWFrZSBtYXhpbXVtIGFuZCBtaW5p
bXVtIHNjYWxlIGVxdWFsIHRvIHRoZSBpbml0aWFsIHNjYWxlIGlmIHVzZXIgaXMgbm90IGFsbG93
ZWQgdG8gem9vbSBpbi9vdXQuCi0gICAgaWYgKCFhcmdzLnVzZXJTY2FsYWJsZSkKLSAgICAgICAg
cmVzdWx0Lm1heGltdW1TY2FsZSA9IHJlc3VsdC5taW5pbXVtU2NhbGUgPSByZXN1bHQuaW5pdGlh
bFNjYWxlOwogCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAordm9pZCByZXN0cmljdE1pbmltdW1T
Y2FsZUZhY3RvclRvVmlld3BvcnRTaXplKFZpZXdwb3J0QXR0cmlidXRlcyYgcmVzdWx0LCBJbnRT
aXplIHZpc2libGVWaWV3cG9ydCkKK3sKKyAgICBmbG9hdCBhdmFpbGFibGVXaWR0aCA9IHZpc2li
bGVWaWV3cG9ydC53aWR0aCgpOworICAgIGZsb2F0IGF2YWlsYWJsZUhlaWdodCA9IHZpc2libGVW
aWV3cG9ydC5oZWlnaHQoKTsKKworICAgIGlmIChyZXN1bHQuZGV2aWNlUGl4ZWxSYXRpbyAhPSAx
LjApIHsKKyAgICAgICAgYXZhaWxhYmxlV2lkdGggLz0gcmVzdWx0LmRldmljZVBpeGVsUmF0aW87
CisgICAgICAgIGF2YWlsYWJsZUhlaWdodCAvPSByZXN1bHQuZGV2aWNlUGl4ZWxSYXRpbzsKKyAg
ICB9CisKKyAgICByZXN1bHQubWluaW11bVNjYWxlID0gbWF4PGZsb2F0PihyZXN1bHQubWluaW11
bVNjYWxlLCBtYXgoYXZhaWxhYmxlV2lkdGggLyByZXN1bHQubGF5b3V0U2l6ZS53aWR0aCgpLCBh
dmFpbGFibGVIZWlnaHQgLyByZXN1bHQubGF5b3V0U2l6ZS5oZWlnaHQoKSkpOworfQorCit2b2lk
IHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKFZpZXdw
b3J0QXR0cmlidXRlcyYgcmVzdWx0KQoreworICAgIGlmICghcmVzdWx0LnVzZXJTY2FsYWJsZSkK
KyAgICAgICAgcmVzdWx0Lm1heGltdW1TY2FsZSA9IHJlc3VsdC5taW5pbXVtU2NhbGUgPSByZXN1
bHQuaW5pdGlhbFNjYWxlOworfQorCiBzdGF0aWMgZmxvYXQgbnVtZXJpY1ByZWZpeChjb25zdCBT
dHJpbmcmIGtleVN0cmluZywgY29uc3QgU3RyaW5nJiB2YWx1ZVN0cmluZywgRG9jdW1lbnQqIGRv
Y3VtZW50LCBib29sKiBvaykKIHsKICAgICAvLyBJZiBhIHByZWZpeCBvZiBwcm9wZXJ0eS12YWx1
ZSBjYW4gYmUgY29udmVydGVkIHRvIGEgbnVtYmVyIHVzaW5nIHN0cnRvZCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKaW5kZXggNjZiYjI4MTBiNzU5MmI2MTI4NTk1NjFjYzI4
ZjEwMzYxMTk4ZDhhNi4uYzdhMzA0ZGU2YmJhMzQzMmUxZGQxZTg0YmVlNDJmZDFmODQxNTBlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKQEAgLTk5LDYgKzk5LDggQEAg
c3RydWN0IFZpZXdwb3J0QXJndW1lbnRzIHsKIH07CiAKIFZpZXdwb3J0QXR0cmlidXRlcyBjb21w
dXRlVmlld3BvcnRBdHRyaWJ1dGVzKFZpZXdwb3J0QXJndW1lbnRzIGFyZ3MsIGludCBkZXNrdG9w
V2lkdGgsIGludCBkZXZpY2VXaWR0aCwgaW50IGRldmljZUhlaWdodCwgaW50IGRldmljZURQSSwg
SW50U2l6ZSB2aXNpYmxlVmlld3BvcnQpOwordm9pZCByZXN0cmljdE1pbmltdW1TY2FsZUZhY3Rv
clRvVmlld3BvcnRTaXplKFZpZXdwb3J0QXR0cmlidXRlcyYgcmVzdWx0LCBJbnRTaXplIHZpc2li
bGVWaWV3cG9ydCk7Cit2b2lkIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90
VXNlclNjYWxhYmxlKFZpZXdwb3J0QXR0cmlidXRlcyYgcmVzdWx0KTsKIAogdm9pZCBzZXRWaWV3
cG9ydEZlYXR1cmUoY29uc3QgU3RyaW5nJiBrZXlTdHJpbmcsIGNvbnN0IFN0cmluZyYgdmFsdWVT
dHJpbmcsIERvY3VtZW50Kiwgdm9pZCogZGF0YSk7CiB2b2lkIHJlcG9ydFZpZXdwb3J0V2Fybmlu
ZyhEb2N1bWVudCosIFZpZXdwb3J0RXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VtZW50
MSwgY29uc3QgU3RyaW5nJiByZXBsYWNlbWVudDIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5j
cHAKaW5kZXggYTdmZDdjNTEzOGE4MTY5NDUxYzcxMjk0N2I0NDZlOWZhZGFmMDc5Zi4uMThiNzI2
NDRkNGFiMjI0YjBjZGM5M2EwNWRiODY2MDE5OTk1YjU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ZpZXcuY3BwCkBAIC0xMDg4LDYgKzEwODgsOCBAQCBzdGF0aWMgV2ViQ29yZTo6Vmlld3BvcnRB
dHRyaWJ1dGVzIF9ld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1dGUoY29uc3QgRQog
ICAgIFdlYkNvcmU6OkludFJlY3QgZGV2aWNlUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QocHJpdi0+
cGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT53aW5kb3dSZWN0KCkpOwogCiAgICAgV2ViQ29yZTo6
Vmlld3BvcnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSBXZWJDb3JlOjpjb21wdXRlVmlld3BvcnRB
dHRyaWJ1dGVzKHByaXYtPnZpZXdwb3J0QXJndW1lbnRzLCBkZXNrdG9wV2lkdGgsIGRldmljZVJl
Y3Qud2lkdGgoKSwgZGV2aWNlUmVjdC5oZWlnaHQoKSwgZGV2aWNlRFBJLCBhdmFpbGFibGVSZWN0
LnNpemUoKSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdw
b3J0U2l6ZShhdHRyaWJ1dGVzLCBhdmFpbGFibGVSZWN0LnNpemUoKSk7CisgICAgV2ViQ29yZTo6
cmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoYXR0cmli
dXRlcyk7CiAKICAgICByZXR1cm4gYXR0cmlidXRlczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAgYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsu
Y3BwCmluZGV4IDU0MGY1M2ZlNWJjZWJjMDUzZGIzNTEyYzA4MGIyMDgzY2I3MjI4NjkuLjBmNjhj
M2E0OTY5OWZkN2I4ZjE1ZTQwMzgyZDk3ZjgzNzdiOTMwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
R3RrLmNwcApAQCAtNzExLDcgKzcxMSw4IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3Rr
OjpkdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KFdlYktpdFdlYlZpZXcqIHdlYlZpCiAKICAg
ICBWaWV3cG9ydEFyZ3VtZW50cyBhcmd1bWVudHMgPSB3ZWJWaWV3LT5wcml2LT5jb3JlUGFnZS0+
bWFpbkZyYW1lKCktPmRvY3VtZW50KCktPnZpZXdwb3J0QXJndW1lbnRzKCk7CiAgICAgVmlld3Bv
cnRBdHRyaWJ1dGVzIGF0dHJzID0gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhhcmd1bWVudHMs
IC8qIGRlZmF1bHQgbGF5b3V0IHdpZHRoIGZvciBub24tbW9iaWxlIHBhZ2VzICovIDk4MCwgZGV2
aWNlV2lkdGgsIGRldmljZUhlaWdodCwgZGV2aWNlRFBJLCBJbnRTaXplKGF2YWlsYWJsZVdpZHRo
LCBhdmFpbGFibGVIZWlnaHQpKTsKLQorICAgIHJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9W
aWV3cG9ydFNpemUoYXR0cnMsIEludFNpemUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdo
dCkpOworICAgIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxh
YmxlKGF0dHJzKTsKICAgICBmcHJpbnRmKHN0ZG91dCwgInZpZXdwb3J0IHNpemUgJWR4JWQgc2Nh
bGUgJWYgd2l0aCBsaW1pdHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwgYXR0cnMu
bGF5b3V0U2l6ZS53aWR0aCgpLCBhdHRycy5sYXlvdXRTaXplLmhlaWdodCgpLCBhdHRycy5pbml0
aWFsU2NhbGUsIGF0dHJzLm1pbmltdW1TY2FsZSwgYXR0cnMubWF4aW11bVNjYWxlLCBhdHRycy51
c2VyU2NhbGFibGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR2aWV3cG9ydGF0dHJpYnV0ZXMuY3BwCmluZGV4IDc0MmNkZGRlNzQxZWE0NTBkNWU1ZThk
OGNhNGFiNTY3ZTU3YTEwNGUuLmMwODE5MWZhZWRjOGFiZDlhZTc0YTZiM2M1ZWQ0MWI5M2UyMjZl
ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2aWV3cG9ydGF0
dHJpYnV0ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2aWV3cG9y
dGF0dHJpYnV0ZXMuY3BwCkBAIC01MzUsNiArNTM1LDggQEAgdm9pZCB3ZWJraXRWaWV3cG9ydEF0
dHJpYnV0ZXNSZWNvbXB1dGUoV2ViS2l0Vmlld3BvcnRBdHRyaWJ1dGVzKiB2aWV3cG9ydEF0dHJp
YnUKICAgICBWaWV3cG9ydEFyZ3VtZW50cyBhcmd1bWVudHMgPSB3ZWJWaWV3LT5wcml2LT5jb3Jl
UGFnZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50KCktPnZpZXdwb3J0QXJndW1lbnRzKCk7CiAKICAg
ICBWaWV3cG9ydEF0dHJpYnV0ZXMgYXR0cmlidXRlcyA9IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0
ZXMoYXJndW1lbnRzLCBwcml2LT5kZXNrdG9wV2lkdGgsIHByaXYtPmRldmljZVdpZHRoLCBwcml2
LT5kZXZpY2VIZWlnaHQsIHByaXYtPmRldmljZURQSSwgSW50U2l6ZShwcml2LT5hdmFpbGFibGVX
aWR0aCwgcHJpdi0+YXZhaWxhYmxlSGVpZ2h0KSk7CisgICAgcmVzdHJpY3RNaW5pbXVtU2NhbGVG
YWN0b3JUb1ZpZXdwb3J0U2l6ZShhdHRyaWJ1dGVzLCBJbnRTaXplKHByaXYtPmF2YWlsYWJsZVdp
ZHRoLCBwcml2LT5hdmFpbGFibGVIZWlnaHQpKTsKKyAgICByZXN0cmljdFNjYWxlRmFjdG9yVG9J
bml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZShhdHRyaWJ1dGVzKTsKIAogICAgIHByaXYtPndp
ZHRoID0gYXR0cmlidXRlcy5sYXlvdXRTaXplLndpZHRoKCk7CiAgICAgcHJpdi0+aGVpZ2h0ID0g
YXR0cmlidXRlcy5sYXlvdXRTaXplLmhlaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3Bw
CmluZGV4IGJiMTQyNGY4YjViOWFhNGMxODNhNTIyNGYzMWJhNjRkZTdkNTI0NDEuLjIxZGE0ZjE5
MTM5NTA0YjljNmI2MzQyNzNkOTU1NDA3OTRiYzRkM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFn
ZS5jcHAKQEAgLTI1NTcsNiArMjU1Nyw4IEBAIFFXZWJQYWdlOjpWaWV3cG9ydEF0dHJpYnV0ZXMg
UVdlYlBhZ2U6OnZpZXdwb3J0QXR0cmlidXRlc0ZvclNpemUoY29uc3QgUVNpemUmIGF2CiAgICAg
fQogCiAgICAgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIGNvbmYgPSBXZWJDb3JlOjpjb21w
dXRlVmlld3BvcnRBdHRyaWJ1dGVzKGQtPnZpZXdwb3J0QXJndW1lbnRzKCksIGRlc2t0b3BXaWR0
aCwgZGV2aWNlV2lkdGgsIGRldmljZUhlaWdodCwgcXRfZGVmYXVsdERwaSgpLCBhdmFpbGFibGVT
aXplKTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRT
aXplKGNvbmYsIGF2YWlsYWJsZVNpemUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0
b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgcmVzdWx0Lm1f
aXNWYWxpZCA9IHRydWU7CiAgICAgcmVzdWx0Lm1fc2l6ZSA9IGNvbmYubGF5b3V0U2l6ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggMzIxMzRlNjMyYmMxNGI3ZDIzMmZjZDE4MjgzNjYwMjRm
NWMxYjgwMi4uZjQyODI0YzJlZTkyODRiMzg5ZWMzMTQ1YWZjYWEyNjMxNzZhNzcwNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAKQEAgLTc2NSw2ICs3NjUsOCBAQCBRU3RyaW5nIER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dChRV2ViUGFnZSogcGFnZSwgaW50IGRldmljZURQ
SSwgYwogICAgICAgICAvKiBkZXZpY2UtaGVpZ2h0ICovIGRldmljZVNpemUuaGVpZ2h0KCksCiAg
ICAgICAgIC8qIGRldmljZS1kcGkgICAgKi8gZGV2aWNlRFBJLAogICAgICAgICBhdmFpbGFibGVT
aXplKTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRT
aXplKGNvbmYsIGF2YWlsYWJsZVNpemUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0
b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgUVN0cmluZyBy
ZXM7CiAgICAgcmVzID0gcmVzLnNwcmludGYoInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYg
d2l0aCBsaW1pdHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCmluZGV4IDlkYWM4
NDE5NTM2N2QwOGYxYjQ0ZmU3MWI4YzlhNmYyOGQ3NDdkM2QuLmQ0OWM0MmZhMGYzN2IwZWMyOGM3
ZmUwODlhNTAyOTE4MDQzZWZkZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcApAQCAtODcsNiArODcsOCBAQCB2b2lkIFFUb3VjaFdl
YlZpZXdQcml2YXRlOjp1cGRhdGVWaWV3cG9ydENvbnN0cmFpbnRzKCkKICAgICB3a1ByZWZzLT5z
ZXREZXZpY2VIZWlnaHQoNzIwKTsKIAogICAgIFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyBh
dHRyID0gV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyh2aWV3cG9ydEFyZ3VtZW50
cywgd2tQcmVmcy0+bGF5b3V0RmFsbGJhY2tXaWR0aCgpLCB3a1ByZWZzLT5kZXZpY2VXaWR0aCgp
LCB3a1ByZWZzLT5kZXZpY2VIZWlnaHQoKSwgd2tQcmVmcy0+ZGV2aWNlRFBJKCksIGF2YWlsYWJs
ZVNpemUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9y
dChhdHRyLCBhdmFpbGFibGVTaXplKTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9y
VG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZShhdHRyKTsKIAogICAgIFF0Vmlld3BvcnRJ
bnRlcmFjdGlvbkVuZ2luZTo6Q29uc3RyYWludHMgbmV3Q29uc3RyYWludHM7CiAgICAgbmV3Q29u
c3RyYWludHMuaW5pdGlhbFNjYWxlID0gYXR0ci5pbml0aWFsU2NhbGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNTM5NWVhMzczZjA1ODMw
NTA4MTUzZDBiYTQ4YjM3NjNiODk1NTg3Ni4uOGM0N2I4MGQwNjlmMzAwNzk4YWYzOGUxZWNkODdi
YzY0NWQxNmE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtMjYxNyw2ICsyNjE3LDggQEAgU3RyaW5nIFdlYlBhZ2U6OnZpZXdwb3J0Q29u
ZmlndXJhdGlvbkFzVGV4dChpbnQgZGV2aWNlRFBJLCBpbnQgZGV2aWNlV2lkdGgsIGludAogewog
ICAgIFZpZXdwb3J0QXJndW1lbnRzIGFyZ3VtZW50cyA9IG1haW5GcmFtZSgpLT5kb2N1bWVudCgp
LT52aWV3cG9ydEFyZ3VtZW50cygpOwogICAgIFZpZXdwb3J0QXR0cmlidXRlcyBhdHRycyA9IFdl
YkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoYXJndW1lbnRzLCAvKiBkZWZhdWx0IGxh
eW91dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBwYWdlcyAqLyA5ODAsIGRldmljZVdpZHRoLCBkZXZp
Y2VIZWlnaHQsIGRldmljZURQSSwgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVp
Z2h0KSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0
U2l6ZShhdHRycywgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7Cisg
ICAgV2ViQ29yZTo6cmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2Nh
bGFibGUoYXR0cnMpOwogICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgidmlld3BvcnQgc2l6ZSAl
ZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4i
LCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCksIGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0
dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUs
IGF0dHJzLnVzZXJTY2FsYWJsZSk7CiB9CiAK
</data>
<flag name="commit-queue"
          id="111876"
          type_id="3"
          status="+"
          setter="fsamuel"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113487</attachid>
            <date>2011-11-03 07:30:23 -0700</date>
            <delta_ts>2011-11-03 08:15:38 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-70609-20111103103022.patch</filename>
            <type>text/plain</type>
            <size>10437</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkwNzMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYjQ5OTMz
MzQ4ZjMyOWVmNmVmOGU3MWE5NzRhNjc2OWQ4NTcxNzQyNS4uMzJmOWE1MjIxYWNlNjkxMWU2OWQz
YTY5ODM4YmE1M2ViMWY4MmQ2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTY1Miw2ICs2NTIs
OCBAQCBfX1pON1dlYkNvcmUyNVBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIxNnVucmVnaXN0ZXJQ
bHVnaW5FUDRfTlBQCiBfX1pON1dlYkNvcmUyNVBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXI5c2No
ZWR1bGVyRXYKIF9fWk43V2ViQ29yZTI1YWRkTGFuZ3VhZ2VDaGFuZ2VPYnNlcnZlckVQdlBGdlMw
X0UKIF9fWk43V2ViQ29yZTI1Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlc0VOU18xN1ZpZXdwb3J0
QXJndW1lbnRzRWlpaWlOU183SW50U2l6ZUUKK19fWk43V2ViQ29yZTUwcmVzdHJpY3RTY2FsZUZh
Y3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGVFUk5TXzE4Vmlld3BvcnRBdHRyaWJ1
dGVzRQorX19aTjdXZWJDb3JlNDByZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRT
aXplRVJOU18xOFZpZXdwb3J0QXR0cmlidXRlc0VOU183SW50U2l6ZUUKIF9fWk43V2ViQ29yZTI1
Y29udGV4dE1lbnVJdGVtVGFnT3V0bGluZUV2CiBfX1pON1dlYkNvcmUyNkNTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uQzFFdgogX19aTjdXZWJDb3JlMjZVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRv
cjI3cHJvY2Vzc2luZ1VzZXJUeXBpbmdHZXN0dXJlRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3Bv
cnRBcmd1bWVudHMuY3BwCmluZGV4IGRmNjMwNWY5ZjllNGEwMGI1MTRjMzZlNmY5NWM3MGRiYTA1
NjM4MTguLmQ4YWNmOGMyMWFkMjk1Yjk1ZGFkNDYzZDI4ZjI3MTQ3NGM4YjhmZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApAQCAtMTY3LDE3ICsxNjcsMzAgQEAg
Vmlld3BvcnRBdHRyaWJ1dGVzIGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoVmlld3BvcnRBcmd1
bWVudHMgYXJncywgaW50IGRlc2t0b3AKICAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRXaWR0aChz
dGF0aWNfY2FzdDxpbnQ+KHJvdW5kZih3aWR0aCkpKTsKICAgICByZXN1bHQubGF5b3V0U2l6ZS5z
ZXRIZWlnaHQoc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYoaGVpZ2h0KSkpOwogCi0gICAgLy8gVXBk
YXRlIG1pbmltdW0gc2NhbGUgZmFjdG9yLCB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3Jl
IHRoYW4gdmlld3BvcnQKLSAgICByZXN1bHQubWluaW11bVNjYWxlID0gbWF4PGZsb2F0PihyZXN1
bHQubWluaW11bVNjYWxlLCBtYXgoYXZhaWxhYmxlV2lkdGggLyB3aWR0aCwgYXZhaWxhYmxlSGVp
Z2h0IC8gaGVpZ2h0KSk7Ci0KICAgICByZXN1bHQudXNlclNjYWxhYmxlID0gYXJncy51c2VyU2Nh
bGFibGU7Ci0gICAgLy8gTWFrZSBtYXhpbXVtIGFuZCBtaW5pbXVtIHNjYWxlIGVxdWFsIHRvIHRo
ZSBpbml0aWFsIHNjYWxlIGlmIHVzZXIgaXMgbm90IGFsbG93ZWQgdG8gem9vbSBpbi9vdXQuCi0g
ICAgaWYgKCFhcmdzLnVzZXJTY2FsYWJsZSkKLSAgICAgICAgcmVzdWx0Lm1heGltdW1TY2FsZSA9
IHJlc3VsdC5taW5pbXVtU2NhbGUgPSByZXN1bHQuaW5pdGlhbFNjYWxlOwogCiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIAordm9pZCByZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRT
aXplKFZpZXdwb3J0QXR0cmlidXRlcyYgcmVzdWx0LCBJbnRTaXplIHZpc2libGVWaWV3cG9ydCkK
K3sKKyAgICBmbG9hdCBhdmFpbGFibGVXaWR0aCA9IHZpc2libGVWaWV3cG9ydC53aWR0aCgpOwor
ICAgIGZsb2F0IGF2YWlsYWJsZUhlaWdodCA9IHZpc2libGVWaWV3cG9ydC5oZWlnaHQoKTsKKwor
ICAgIGlmIChyZXN1bHQuZGV2aWNlUGl4ZWxSYXRpbyAhPSAxLjApIHsKKyAgICAgICAgYXZhaWxh
YmxlV2lkdGggLz0gcmVzdWx0LmRldmljZVBpeGVsUmF0aW87CisgICAgICAgIGF2YWlsYWJsZUhl
aWdodCAvPSByZXN1bHQuZGV2aWNlUGl4ZWxSYXRpbzsKKyAgICB9CisKKyAgICByZXN1bHQubWlu
aW11bVNjYWxlID0gbWF4PGZsb2F0PihyZXN1bHQubWluaW11bVNjYWxlLCBtYXgoYXZhaWxhYmxl
V2lkdGggLyByZXN1bHQubGF5b3V0U2l6ZS53aWR0aCgpLCBhdmFpbGFibGVIZWlnaHQgLyByZXN1
bHQubGF5b3V0U2l6ZS5oZWlnaHQoKSkpOworfQorCit2b2lkIHJlc3RyaWN0U2NhbGVGYWN0b3JU
b0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKFZpZXdwb3J0QXR0cmlidXRlcyYgcmVzdWx0
KQoreworICAgIGlmICghcmVzdWx0LnVzZXJTY2FsYWJsZSkKKyAgICAgICAgcmVzdWx0Lm1heGlt
dW1TY2FsZSA9IHJlc3VsdC5taW5pbXVtU2NhbGUgPSByZXN1bHQuaW5pdGlhbFNjYWxlOworfQor
CiBzdGF0aWMgZmxvYXQgbnVtZXJpY1ByZWZpeChjb25zdCBTdHJpbmcmIGtleVN0cmluZywgY29u
c3QgU3RyaW5nJiB2YWx1ZVN0cmluZywgRG9jdW1lbnQqIGRvY3VtZW50LCBib29sKiBvaykKIHsK
ICAgICAvLyBJZiBhIHByZWZpeCBvZiBwcm9wZXJ0eS12YWx1ZSBjYW4gYmUgY29udmVydGVkIHRv
IGEgbnVtYmVyIHVzaW5nIHN0cnRvZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9W
aWV3cG9ydEFyZ3VtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRz
LmgKaW5kZXggNjZiYjI4MTBiNzU5MmI2MTI4NTk1NjFjYzI4ZjEwMzYxMTk4ZDhhNi4uYzdhMzA0
ZGU2YmJhMzQzMmUxZGQxZTg0YmVlNDJmZDFmODQxNTBlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Zp
ZXdwb3J0QXJndW1lbnRzLmgKQEAgLTk5LDYgKzk5LDggQEAgc3RydWN0IFZpZXdwb3J0QXJndW1l
bnRzIHsKIH07CiAKIFZpZXdwb3J0QXR0cmlidXRlcyBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVz
KFZpZXdwb3J0QXJndW1lbnRzIGFyZ3MsIGludCBkZXNrdG9wV2lkdGgsIGludCBkZXZpY2VXaWR0
aCwgaW50IGRldmljZUhlaWdodCwgaW50IGRldmljZURQSSwgSW50U2l6ZSB2aXNpYmxlVmlld3Bv
cnQpOwordm9pZCByZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXplKFZpZXdw
b3J0QXR0cmlidXRlcyYgcmVzdWx0LCBJbnRTaXplIHZpc2libGVWaWV3cG9ydCk7Cit2b2lkIHJl
c3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKFZpZXdwb3J0
QXR0cmlidXRlcyYgcmVzdWx0KTsKIAogdm9pZCBzZXRWaWV3cG9ydEZlYXR1cmUoY29uc3QgU3Ry
aW5nJiBrZXlTdHJpbmcsIGNvbnN0IFN0cmluZyYgdmFsdWVTdHJpbmcsIERvY3VtZW50Kiwgdm9p
ZCogZGF0YSk7CiB2b2lkIHJlcG9ydFZpZXdwb3J0V2FybmluZyhEb2N1bWVudCosIFZpZXdwb3J0
RXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VtZW50MSwgY29uc3QgU3RyaW5nJiByZXBs
YWNlbWVudDIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggYTdmZDdjNTEzOGE4
MTY5NDUxYzcxMjk0N2I0NDZlOWZhZGFmMDc5Zi4uMThiNzI2NDRkNGFiMjI0YjBjZGM5M2EwNWRi
ODY2MDE5OTk1YjU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC0xMDg4LDYg
KzEwODgsOCBAQCBzdGF0aWMgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIF9ld2tfdmlld192
aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1dGUoY29uc3QgRQogICAgIFdlYkNvcmU6OkludFJlY3Qg
ZGV2aWNlUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QocHJpdi0+cGFnZS0+Y2hyb21lKCktPmNsaWVu
dCgpLT53aW5kb3dSZWN0KCkpOwogCiAgICAgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIGF0
dHJpYnV0ZXMgPSBXZWJDb3JlOjpjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKHByaXYtPnZpZXdw
b3J0QXJndW1lbnRzLCBkZXNrdG9wV2lkdGgsIGRldmljZVJlY3Qud2lkdGgoKSwgZGV2aWNlUmVj
dC5oZWlnaHQoKSwgZGV2aWNlRFBJLCBhdmFpbGFibGVSZWN0LnNpemUoKSk7CisgICAgV2ViQ29y
ZTo6cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShhdHRyaWJ1dGVzLCBh
dmFpbGFibGVSZWN0LnNpemUoKSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RTY2FsZUZhY3RvclRv
SW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoYXR0cmlidXRlcyk7CiAKICAgICByZXR1cm4g
YXR0cmlidXRlczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCmluZGV4IDU0MGY1M2ZlNWJj
ZWJjMDUzZGIzNTEyYzA4MGIyMDgzY2I3MjI4NjkuLjBmNjhjM2E0OTY5OWZkN2I4ZjE1ZTQwMzgy
ZDk3ZjgzNzdiOTMwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcApAQCAtNzExLDcgKzcx
MSw4IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpkdW1wQ29uZmlndXJhdGlvbkZv
clZpZXdwb3J0KFdlYktpdFdlYlZpZXcqIHdlYlZpCiAKICAgICBWaWV3cG9ydEFyZ3VtZW50cyBh
cmd1bWVudHMgPSB3ZWJWaWV3LT5wcml2LT5jb3JlUGFnZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50
KCktPnZpZXdwb3J0QXJndW1lbnRzKCk7CiAgICAgVmlld3BvcnRBdHRyaWJ1dGVzIGF0dHJzID0g
Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhhcmd1bWVudHMsIC8qIGRlZmF1bHQgbGF5b3V0IHdp
ZHRoIGZvciBub24tbW9iaWxlIHBhZ2VzICovIDk4MCwgZGV2aWNlV2lkdGgsIGRldmljZUhlaWdo
dCwgZGV2aWNlRFBJLCBJbnRTaXplKGF2YWlsYWJsZVdpZHRoLCBhdmFpbGFibGVIZWlnaHQpKTsK
LQorICAgIHJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoYXR0cnMsIElu
dFNpemUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOworICAgIHJlc3RyaWN0U2Nh
bGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGF0dHJzKTsKICAgICBmcHJp
bnRmKHN0ZG91dCwgInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYgd2l0aCBsaW1pdHMgWyVm
LCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwgYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgpLCBh
dHRycy5sYXlvdXRTaXplLmhlaWdodCgpLCBhdHRycy5pbml0aWFsU2NhbGUsIGF0dHJzLm1pbmlt
dW1TY2FsZSwgYXR0cnMubWF4aW11bVNjYWxlLCBhdHRycy51c2VyU2NhbGFibGUpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0dmlld3BvcnRhdHRyaWJ1
dGVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2aWV3cG9ydGF0dHJpYnV0
ZXMuY3BwCmluZGV4IDc0MmNkZGRlNzQxZWE0NTBkNWU1ZThkOGNhNGFiNTY3ZTU3YTEwNGUuLmMw
ODE5MWZhZWRjOGFiZDlhZTc0YTZiM2M1ZWQ0MWI5M2UyMjZlZjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2aWV3cG9ydGF0dHJpYnV0ZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2aWV3cG9ydGF0dHJpYnV0ZXMuY3BwCkBAIC01
MzUsNiArNTM1LDggQEAgdm9pZCB3ZWJraXRWaWV3cG9ydEF0dHJpYnV0ZXNSZWNvbXB1dGUoV2Vi
S2l0Vmlld3BvcnRBdHRyaWJ1dGVzKiB2aWV3cG9ydEF0dHJpYnUKICAgICBWaWV3cG9ydEFyZ3Vt
ZW50cyBhcmd1bWVudHMgPSB3ZWJWaWV3LT5wcml2LT5jb3JlUGFnZS0+bWFpbkZyYW1lKCktPmRv
Y3VtZW50KCktPnZpZXdwb3J0QXJndW1lbnRzKCk7CiAKICAgICBWaWV3cG9ydEF0dHJpYnV0ZXMg
YXR0cmlidXRlcyA9IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoYXJndW1lbnRzLCBwcml2LT5k
ZXNrdG9wV2lkdGgsIHByaXYtPmRldmljZVdpZHRoLCBwcml2LT5kZXZpY2VIZWlnaHQsIHByaXYt
PmRldmljZURQSSwgSW50U2l6ZShwcml2LT5hdmFpbGFibGVXaWR0aCwgcHJpdi0+YXZhaWxhYmxl
SGVpZ2h0KSk7CisgICAgcmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShh
dHRyaWJ1dGVzLCBJbnRTaXplKHByaXYtPmF2YWlsYWJsZVdpZHRoLCBwcml2LT5hdmFpbGFibGVI
ZWlnaHQpKTsKKyAgICByZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJT
Y2FsYWJsZShhdHRyaWJ1dGVzKTsKIAogICAgIHByaXYtPndpZHRoID0gYXR0cmlidXRlcy5sYXlv
dXRTaXplLndpZHRoKCk7CiAgICAgcHJpdi0+aGVpZ2h0ID0gYXR0cmlidXRlcy5sYXlvdXRTaXpl
LmhlaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IGJiMTQyNGY4YjViOWFh
NGMxODNhNTIyNGYzMWJhNjRkZTdkNTI0NDEuLjIxZGE0ZjE5MTM5NTA0YjljNmI2MzQyNzNkOTU1
NDA3OTRiYzRkM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTI1NTcsNiArMjU1
Nyw4IEBAIFFXZWJQYWdlOjpWaWV3cG9ydEF0dHJpYnV0ZXMgUVdlYlBhZ2U6OnZpZXdwb3J0QXR0
cmlidXRlc0ZvclNpemUoY29uc3QgUVNpemUmIGF2CiAgICAgfQogCiAgICAgV2ViQ29yZTo6Vmll
d3BvcnRBdHRyaWJ1dGVzIGNvbmYgPSBXZWJDb3JlOjpjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVz
KGQtPnZpZXdwb3J0QXJndW1lbnRzKCksIGRlc2t0b3BXaWR0aCwgZGV2aWNlV2lkdGgsIGRldmlj
ZUhlaWdodCwgcXRfZGVmYXVsdERwaSgpLCBhdmFpbGFibGVTaXplKTsKKyAgICBXZWJDb3JlOjpy
ZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXplKGNvbmYsIGF2YWlsYWJsZVNp
emUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90
VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgcmVzdWx0Lm1faXNWYWxpZCA9IHRydWU7CiAgICAg
cmVzdWx0Lm1fc2l6ZSA9IGNvbmYubGF5b3V0U2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5k
ZXggMzIxMzRlNjMyYmMxNGI3ZDIzMmZjZDE4MjgzNjYwMjRmNWMxYjgwMi4uZjQyODI0YzJlZTky
ODRiMzg5ZWMzMTQ1YWZjYWEyNjMxNzZhNzcwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAg
LTc2NSw2ICs3NjUsOCBAQCBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9y
dEFzVGV4dChRV2ViUGFnZSogcGFnZSwgaW50IGRldmljZURQSSwgYwogICAgICAgICAvKiBkZXZp
Y2UtaGVpZ2h0ICovIGRldmljZVNpemUuaGVpZ2h0KCksCiAgICAgICAgIC8qIGRldmljZS1kcGkg
ICAgKi8gZGV2aWNlRFBJLAogICAgICAgICBhdmFpbGFibGVTaXplKTsKKyAgICBXZWJDb3JlOjpy
ZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXplKGNvbmYsIGF2YWlsYWJsZVNp
emUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90
VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgUVN0cmluZyByZXM7CiAgICAgcmVzID0gcmVzLnNw
cmludGYoInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYgd2l0aCBsaW1pdHMgWyVmLCAlZl0g
YW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCmluZGV4IDlkYWM4NDE5NTM2N2QwOGYxYjQ0ZmU3MWI4
YzlhNmYyOGQ3NDdkM2QuLmQ0OWM0MmZhMGYzN2IwZWMyOGM3ZmUwODlhNTAyOTE4MDQzZWZkZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3
LmNwcApAQCAtODcsNiArODcsOCBAQCB2b2lkIFFUb3VjaFdlYlZpZXdQcml2YXRlOjp1cGRhdGVW
aWV3cG9ydENvbnN0cmFpbnRzKCkKICAgICB3a1ByZWZzLT5zZXREZXZpY2VIZWlnaHQoNzIwKTsK
IAogICAgIFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyBhdHRyID0gV2ViQ29yZTo6Y29tcHV0
ZVZpZXdwb3J0QXR0cmlidXRlcyh2aWV3cG9ydEFyZ3VtZW50cywgd2tQcmVmcy0+bGF5b3V0RmFs
bGJhY2tXaWR0aCgpLCB3a1ByZWZzLT5kZXZpY2VXaWR0aCgpLCB3a1ByZWZzLT5kZXZpY2VIZWln
aHQoKSwgd2tQcmVmcy0+ZGV2aWNlRFBJKCksIGF2YWlsYWJsZVNpemUpOworICAgIFdlYkNvcmU6
OnJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydChhdHRyLCBhdmFpbGFibGVTaXpl
KTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVz
ZXJTY2FsYWJsZShhdHRyKTsKIAogICAgIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6Q29u
c3RyYWludHMgbmV3Q29uc3RyYWludHM7CiAgICAgbmV3Q29uc3RyYWludHMuaW5pdGlhbFNjYWxl
ID0gYXR0ci5pbml0aWFsU2NhbGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKaW5kZXggNTM5NWVhMzczZjA1ODMwNTA4MTUzZDBiYTQ4YjM3NjNiODk1
NTg3Ni4uOGM0N2I4MGQwNjlmMzAwNzk4YWYzOGUxZWNkODdiYzY0NWQxNmE0YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjYxNyw2ICsy
NjE3LDggQEAgU3RyaW5nIFdlYlBhZ2U6OnZpZXdwb3J0Q29uZmlndXJhdGlvbkFzVGV4dChpbnQg
ZGV2aWNlRFBJLCBpbnQgZGV2aWNlV2lkdGgsIGludAogewogICAgIFZpZXdwb3J0QXJndW1lbnRz
IGFyZ3VtZW50cyA9IG1haW5GcmFtZSgpLT5kb2N1bWVudCgpLT52aWV3cG9ydEFyZ3VtZW50cygp
OwogICAgIFZpZXdwb3J0QXR0cmlidXRlcyBhdHRycyA9IFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9y
dEF0dHJpYnV0ZXMoYXJndW1lbnRzLCAvKiBkZWZhdWx0IGxheW91dCB3aWR0aCBmb3Igbm9uLW1v
YmlsZSBwYWdlcyAqLyA5ODAsIGRldmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwg
SW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CisgICAgV2ViQ29yZTo6
cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShhdHRycywgSW50U2l6ZShh
dmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RT
Y2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoYXR0cnMpOwogICAgIHJl
dHVybiBTdHJpbmc6OmZvcm1hdCgidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxp
bWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndp
ZHRoKCksIGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0
cnMubWluaW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7
CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113494</attachid>
            <date>2011-11-03 08:15:45 -0700</date>
            <delta_ts>2011-11-03 08:19:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20111103111543.patch</filename>
            <type>text/plain</type>
            <size>14958</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkxOTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NTc2NWUwNDQ2OTczNDdm
NDUxNjcwNjY5MzZlYzRmNTk0ZWNkZWM2Li40ODM5MTJiY2U2MmM5ZjhkYmYxZDhlYzEwNDg1MTdm
M2FkYTg3NDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTEtMDMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxl
IGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3BlcmF0aW9ucyBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgYXJlIG5vdCBhIHBhcnQgb2YgdGhlIHNw
ZWM6IAorCisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTEvV0QtY3NzLWRldmljZS1h
ZGFwdC0yMDExMDkxNS8jY29uc3RyYWluaW5nLXZpZXdwb3J0LXByb3BlcnR5LXZhbHVlcworCisg
ICAgICAgIHdlcmUgbW92ZWQgaW50byB0aGUgZnVuY3Rpb25zIHJlc3RyaWN0TWluaW11bVNjYWxl
RmFjdG9yVG9WaWV3cG9ydFNpemUgYW5kCisgICAgICAgIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0lu
aXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46
CisgICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6cmVzdHJpY3RN
aW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpyZXN0
cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZSk6CisgICAgICAg
ICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmg6CisKIDIwMTEtMTEtMDMgIEFuZHJlYXMgS2xpbmcg
IDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4LCBzaWdo
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCmluZGV4IDEwZWNhMDg2ZmNkMGJiYjZiODBjOGQxZmEwM2RiMTNkMzNh
ODFkZDMuLjhlYmJkODNiNzZjZGQ0N2NjMmI5NTFiMmVjZDgyNWY2NDM5MmNkZmIgMTAwNzU1Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMS0wMyAgRmFkeSBTYW11ZWwgIDxmc2Ft
dWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmluZyBsaW5lIGluIGNvbXB1dGVWaWV3
cG9ydEF0dHJpYnV0ZXMgdGhhdCBlbmZvcmNlcyBhIG1pbmltdW0gc2NhbGUgZmFjdG9yIHRvIG5l
dmVyIGFsbG93IHpvb21pbmcgb3V0IG1vcmUgdGhhbiB2aWV3cG9ydAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGV3ay9ld2tfdmlldy5jcHA6CisgICAg
ICAgIChfZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19jb21wdXRlKToKKwogMjAxMS0xMS0w
MyAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIEVuYWJs
ZSB0aGUgUGFnZSBWaXNpYmlsaXR5IEFQSS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA0ODcyMDlkZjk2
Mjk3NGZmNTkzZGYwZDU5MWIxNzA0NTg3YjhlNTQ0Li5mMmQ4MTc2OGI0Njg1NzFjNzgwNTY4YjQx
Y2IwMGQ4ZmIwZThhMWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEt
MTEtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVt
b3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBt
aW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4g
dmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwOgorICAgICAgICAo
RHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpkdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KToK
KyAgICAgICAgKiB3ZWJraXQvd2Via2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNwcDoKKyAgICAgICAg
KHdlYmtpdFZpZXdwb3J0QXR0cmlidXRlc1JlY29tcHV0ZSk6CisKIDIwMTEtMTEtMDIgIEpvbiBM
ZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIEV4cGFuZCBEcmFnQ29udHJvbGxlciB0
byBwcm92aWRlIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRyYWdnaW5nIHNlc3Npb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cKaW5kZXggNWQxZDk3ZTI4NmVkNmM5Y2Q2MjQ3OTRlMDc3NDM2MzhmNmExNjUyZi4u
ZmE2NzY4ZWVlZWQ0OTAzMDU3YjM4ZGEwN2JjNmQwNTY5Y2U3NWVlNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMS0xMS0wMyAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZW1vdmluZyBsaW5lIGluIGNvbXB1dGVWaWV3cG9ydEF0dHJp
YnV0ZXMgdGhhdCBlbmZvcmNlcyBhIG1pbmltdW0gc2NhbGUgZmFjdG9yIHRvIG5ldmVyIGFsbG93
IHpvb21pbmcgb3V0IG1vcmUgdGhhbiB2aWV3cG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2Vi
UGFnZTo6dmlld3BvcnRBdHRyaWJ1dGVzRm9yU2l6ZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQ6OnZpZXdwb3J0QXNUZXh0KToKKwogMjAxMS0xMS0wMyAgSmVzdXMgU2FuY2hlei1Q
YWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XVtX
SzJdIERvd25sb2FkIHN1cHBvcnQgYW5kIEFQSSBpbiBVSVByb2Nlc3MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBi
MmZjNWMzYjg3YzgwZTM1ODgzZWU0YWMzNDFkMmEyNGQ1NmQ5YjgzLi5jMWVhMTExZTJiOGMzNmRk
MGU2MTQ3OGIzNDEzODhlZTlmOWU3NDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTEtMTEtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMg
YSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRo
YW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwOgorICAgICAgICAoUVRvdWNo
V2ViVmlld1ByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0Q29uc3RyYWludHMpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6
dmlld3BvcnRDb25maWd1cmF0aW9uQXNUZXh0KToKKwogMjAxMS0xMS0wMyAgSm9jZWx5biBUdXJj
b3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gRml4IGFu
IGFzc2VydGlvbiB1bmRlciBXZWJQYWdlOjpzZXRWaWV3cG9ydFNpemUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCmluZGV4IDVjYTAxN2M5OGY5Mjg3NTg0ODE5MTY2MzM3YjVkNzEzMTJhYWU4M2QuLmM5MzRk
MDUyNDgxYzNkNGU3ZGU3NGNiNjg4NjJlNmI4NjRmNDU0ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CkBAIC02NTIsNiArNjUyLDggQEAgX19aTjdXZWJDb3JlMjVQbHVnaW5NYWluVGhyZWFkU2NoZWR1
bGVyMTZ1bnJlZ2lzdGVyUGx1Z2luRVA0X05QUAogX19aTjdXZWJDb3JlMjVQbHVnaW5NYWluVGhy
ZWFkU2NoZWR1bGVyOXNjaGVkdWxlckV2CiBfX1pON1dlYkNvcmUyNWFkZExhbmd1YWdlQ2hhbmdl
T2JzZXJ2ZXJFUHZQRnZTMF9FCiBfX1pON1dlYkNvcmUyNWNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0
ZXNFTlNfMTdWaWV3cG9ydEFyZ3VtZW50c0VpaWlpTlNfN0ludFNpemVFCitfX1pON1dlYkNvcmU1
MHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlRVJOU18x
OFZpZXdwb3J0QXR0cmlidXRlc0UKK19fWk43V2ViQ29yZTQwcmVzdHJpY3RNaW5pbXVtU2NhbGVG
YWN0b3JUb1ZpZXdwb3J0U2l6ZUVSTlNfMThWaWV3cG9ydEF0dHJpYnV0ZXNFTlNfN0ludFNpemVF
CiBfX1pON1dlYkNvcmUyNWNvbnRleHRNZW51SXRlbVRhZ091dGxpbmVFdgogX19aTjdXZWJDb3Jl
MjZDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbkMxRXYKIF9fWk43V2ViQ29yZTI2VXNlclR5cGlu
Z0dlc3R1cmVJbmRpY2F0b3IyN3Byb2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZUV2CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCA2ZGRlYTA3ZTk0ZWY4NGFlZmY1
MTdjNzMxNTkyYmQ5YTdiYTIxYTAzLi45MzlhYzVjNjBhNmE4NTIzZGU4MTVlNzdjZWRjNzI5YjZj
YjRmNTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKQEAgLTE4
MCwxNyArMTgwLDMwIEBAIFZpZXdwb3J0QXR0cmlidXRlcyBjb21wdXRlVmlld3BvcnRBdHRyaWJ1
dGVzKFZpZXdwb3J0QXJndW1lbnRzIGFyZ3MsIGludCBkZXNrdG9wCiAgICAgcmVzdWx0LmxheW91
dFNpemUuc2V0V2lkdGgoc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYod2lkdGgpKSk7CiAgICAgcmVz
dWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KHN0YXRpY19jYXN0PGludD4ocm91bmRmKGhlaWdodCkp
KTsKIAotICAgIC8vIFVwZGF0ZSBtaW5pbXVtIHNjYWxlIGZhY3RvciwgdG8gbmV2ZXIgYWxsb3cg
em9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Ci0gICAgcmVzdWx0Lm1pbmltdW1TY2FsZSA9
IG1heDxmbG9hdD4ocmVzdWx0Lm1pbmltdW1TY2FsZSwgbWF4KGF2YWlsYWJsZVdpZHRoIC8gd2lk
dGgsIGF2YWlsYWJsZUhlaWdodCAvIGhlaWdodCkpOwotCiAgICAgcmVzdWx0LnVzZXJTY2FsYWJs
ZSA9IGFyZ3MudXNlclNjYWxhYmxlOwotICAgIC8vIE1ha2UgbWF4aW11bSBhbmQgbWluaW11bSBz
Y2FsZSBlcXVhbCB0byB0aGUgaW5pdGlhbCBzY2FsZSBpZiB1c2VyIGlzIG5vdCBhbGxvd2VkIHRv
IHpvb20gaW4vb3V0LgotICAgIGlmICghYXJncy51c2VyU2NhbGFibGUpCi0gICAgICAgIHJlc3Vs
dC5tYXhpbXVtU2NhbGUgPSByZXN1bHQubWluaW11bVNjYWxlID0gcmVzdWx0LmluaXRpYWxTY2Fs
ZTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK3ZvaWQgcmVzdHJpY3RNaW5pbXVtU2NhbGVG
YWN0b3JUb1ZpZXdwb3J0U2l6ZShWaWV3cG9ydEF0dHJpYnV0ZXMmIHJlc3VsdCwgSW50U2l6ZSB2
aXNpYmxlVmlld3BvcnQpCit7CisgICAgZmxvYXQgYXZhaWxhYmxlV2lkdGggPSB2aXNpYmxlVmll
d3BvcnQud2lkdGgoKTsKKyAgICBmbG9hdCBhdmFpbGFibGVIZWlnaHQgPSB2aXNpYmxlVmlld3Bv
cnQuaGVpZ2h0KCk7CisKKyAgICBpZiAocmVzdWx0LmRldmljZVBpeGVsUmF0aW8gIT0gMS4wKSB7
CisgICAgICAgIGF2YWlsYWJsZVdpZHRoIC89IHJlc3VsdC5kZXZpY2VQaXhlbFJhdGlvOworICAg
ICAgICBhdmFpbGFibGVIZWlnaHQgLz0gcmVzdWx0LmRldmljZVBpeGVsUmF0aW87CisgICAgfQor
CisgICAgcmVzdWx0Lm1pbmltdW1TY2FsZSA9IG1heDxmbG9hdD4ocmVzdWx0Lm1pbmltdW1TY2Fs
ZSwgbWF4KGF2YWlsYWJsZVdpZHRoIC8gcmVzdWx0LmxheW91dFNpemUud2lkdGgoKSwgYXZhaWxh
YmxlSGVpZ2h0IC8gcmVzdWx0LmxheW91dFNpemUuaGVpZ2h0KCkpKTsKK30KKwordm9pZCByZXN0
cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZShWaWV3cG9ydEF0
dHJpYnV0ZXMmIHJlc3VsdCkKK3sKKyAgICBpZiAoIXJlc3VsdC51c2VyU2NhbGFibGUpCisgICAg
ICAgIHJlc3VsdC5tYXhpbXVtU2NhbGUgPSByZXN1bHQubWluaW11bVNjYWxlID0gcmVzdWx0Lmlu
aXRpYWxTY2FsZTsKK30KKwogc3RhdGljIGZsb2F0IG51bWVyaWNQcmVmaXgoY29uc3QgU3RyaW5n
JiBrZXlTdHJpbmcsIGNvbnN0IFN0cmluZyYgdmFsdWVTdHJpbmcsIERvY3VtZW50KiBkb2N1bWVu
dCwgYm9vbCogb2spCiB7CiAgICAgLy8gSWYgYSBwcmVmaXggb2YgcHJvcGVydHktdmFsdWUgY2Fu
IGJlIGNvbnZlcnRlZCB0byBhIG51bWJlciB1c2luZyBzdHJ0b2QsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9W
aWV3cG9ydEFyZ3VtZW50cy5oCmluZGV4IDcxOTRmZTM0YWVkYWIxMjM3ODM4YjQxYmRjNjUyODQy
OTc4M2Y0OTcuLjU5YjQxZGVkMWZkNDdmNjI3ZWJiYTIzMWJlNzg0NDc2MWI0YjcyNDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCkBAIC0xMDcsNiArMTA3LDggQEAgc3Ry
dWN0IFZpZXdwb3J0QXJndW1lbnRzIHsKIH07CiAKIFZpZXdwb3J0QXR0cmlidXRlcyBjb21wdXRl
Vmlld3BvcnRBdHRyaWJ1dGVzKFZpZXdwb3J0QXJndW1lbnRzIGFyZ3MsIGludCBkZXNrdG9wV2lk
dGgsIGludCBkZXZpY2VXaWR0aCwgaW50IGRldmljZUhlaWdodCwgaW50IGRldmljZURQSSwgSW50
U2l6ZSB2aXNpYmxlVmlld3BvcnQpOwordm9pZCByZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRv
Vmlld3BvcnRTaXplKFZpZXdwb3J0QXR0cmlidXRlcyYgcmVzdWx0LCBJbnRTaXplIHZpc2libGVW
aWV3cG9ydCk7Cit2b2lkIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNl
clNjYWxhYmxlKFZpZXdwb3J0QXR0cmlidXRlcyYgcmVzdWx0KTsKIAogdm9pZCBzZXRWaWV3cG9y
dEZlYXR1cmUoY29uc3QgU3RyaW5nJiBrZXlTdHJpbmcsIGNvbnN0IFN0cmluZyYgdmFsdWVTdHJp
bmcsIERvY3VtZW50Kiwgdm9pZCogZGF0YSk7CiB2b2lkIHJlcG9ydFZpZXdwb3J0V2FybmluZyhE
b2N1bWVudCosIFZpZXdwb3J0RXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VtZW50MSwg
Y29uc3QgU3RyaW5nJiByZXBsYWNlbWVudDIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAK
aW5kZXggMWYyNzkzOTZmZGNmNWIyZjg5ZmI5NDcxYjRjZTFmMzE5NzBjODdkOS4uYmFmMGFmNzY1
N2JkNTI3ODk1YTE3ZDc4MWI0MDhmMzAyMzQ5OTRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuY3BwCkBAIC0xMDg4LDYgKzEwODgsOCBAQCBzdGF0aWMgV2ViQ29yZTo6Vmlld3BvcnRBdHRy
aWJ1dGVzIF9ld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1dGUoY29uc3QgRQogICAg
IFdlYkNvcmU6OkludFJlY3QgZGV2aWNlUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QocHJpdi0+cGFn
ZS0+Y2hyb21lKCktPmNsaWVudCgpLT53aW5kb3dSZWN0KCkpOwogCiAgICAgV2ViQ29yZTo6Vmll
d3BvcnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSBXZWJDb3JlOjpjb21wdXRlVmlld3BvcnRBdHRy
aWJ1dGVzKHByaXYtPnZpZXdwb3J0QXJndW1lbnRzLCBkZXNrdG9wV2lkdGgsIGRldmljZVJlY3Qu
d2lkdGgoKSwgZGV2aWNlUmVjdC5oZWlnaHQoKSwgZGV2aWNlRFBJLCBhdmFpbGFibGVSZWN0LnNp
emUoKSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0
U2l6ZShhdHRyaWJ1dGVzLCBhdmFpbGFibGVSZWN0LnNpemUoKSk7CisgICAgV2ViQ29yZTo6cmVz
dHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoYXR0cmlidXRl
cyk7CiAKICAgICByZXR1cm4gYXR0cmlidXRlczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3Bw
CmluZGV4IDU0MGY1M2ZlNWJjZWJjMDUzZGIzNTEyYzA4MGIyMDgzY2I3MjI4NjkuLjBmNjhjM2E0
OTY5OWZkN2I4ZjE1ZTQwMzgyZDk3ZjgzNzdiOTMwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3Rr
LmNwcApAQCAtNzExLDcgKzcxMSw4IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjpk
dW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KFdlYktpdFdlYlZpZXcqIHdlYlZpCiAKICAgICBW
aWV3cG9ydEFyZ3VtZW50cyBhcmd1bWVudHMgPSB3ZWJWaWV3LT5wcml2LT5jb3JlUGFnZS0+bWFp
bkZyYW1lKCktPmRvY3VtZW50KCktPnZpZXdwb3J0QXJndW1lbnRzKCk7CiAgICAgVmlld3BvcnRB
dHRyaWJ1dGVzIGF0dHJzID0gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhhcmd1bWVudHMsIC8q
IGRlZmF1bHQgbGF5b3V0IHdpZHRoIGZvciBub24tbW9iaWxlIHBhZ2VzICovIDk4MCwgZGV2aWNl
V2lkdGgsIGRldmljZUhlaWdodCwgZGV2aWNlRFBJLCBJbnRTaXplKGF2YWlsYWJsZVdpZHRoLCBh
dmFpbGFibGVIZWlnaHQpKTsKLQorICAgIHJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3
cG9ydFNpemUoYXR0cnMsIEludFNpemUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkp
OworICAgIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxl
KGF0dHJzKTsKICAgICBmcHJpbnRmKHN0ZG91dCwgInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUg
JWYgd2l0aCBsaW1pdHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwgYXR0cnMubGF5
b3V0U2l6ZS53aWR0aCgpLCBhdHRycy5sYXlvdXRTaXplLmhlaWdodCgpLCBhdHRycy5pbml0aWFs
U2NhbGUsIGF0dHJzLm1pbmltdW1TY2FsZSwgYXR0cnMubWF4aW11bVNjYWxlLCBhdHRycy51c2Vy
U2NhbGFibGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR2aWV3cG9ydGF0dHJpYnV0ZXMuY3BwCmluZGV4IDc0MmNkZGRlNzQxZWE0NTBkNWU1ZThkOGNh
NGFiNTY3ZTU3YTEwNGUuLmMwODE5MWZhZWRjOGFiZDlhZTc0YTZiM2M1ZWQ0MWI5M2UyMjZlZjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2aWV3cG9ydGF0dHJp
YnV0ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2aWV3cG9ydGF0
dHJpYnV0ZXMuY3BwCkBAIC01MzUsNiArNTM1LDggQEAgdm9pZCB3ZWJraXRWaWV3cG9ydEF0dHJp
YnV0ZXNSZWNvbXB1dGUoV2ViS2l0Vmlld3BvcnRBdHRyaWJ1dGVzKiB2aWV3cG9ydEF0dHJpYnUK
ICAgICBWaWV3cG9ydEFyZ3VtZW50cyBhcmd1bWVudHMgPSB3ZWJWaWV3LT5wcml2LT5jb3JlUGFn
ZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50KCktPnZpZXdwb3J0QXJndW1lbnRzKCk7CiAKICAgICBW
aWV3cG9ydEF0dHJpYnV0ZXMgYXR0cmlidXRlcyA9IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMo
YXJndW1lbnRzLCBwcml2LT5kZXNrdG9wV2lkdGgsIHByaXYtPmRldmljZVdpZHRoLCBwcml2LT5k
ZXZpY2VIZWlnaHQsIHByaXYtPmRldmljZURQSSwgSW50U2l6ZShwcml2LT5hdmFpbGFibGVXaWR0
aCwgcHJpdi0+YXZhaWxhYmxlSGVpZ2h0KSk7CisgICAgcmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0
b3JUb1ZpZXdwb3J0U2l6ZShhdHRyaWJ1dGVzLCBJbnRTaXplKHByaXYtPmF2YWlsYWJsZVdpZHRo
LCBwcml2LT5hdmFpbGFibGVIZWlnaHQpKTsKKyAgICByZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0
aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZShhdHRyaWJ1dGVzKTsKIAogICAgIHByaXYtPndpZHRo
ID0gYXR0cmlidXRlcy5sYXlvdXRTaXplLndpZHRoKCk7CiAgICAgcHJpdi0+aGVpZ2h0ID0gYXR0
cmlidXRlcy5sYXlvdXRTaXplLmhlaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9x
dC9BcGkvcXdlYnBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmlu
ZGV4IDdlNjk2YzQzMGY4OTFjZTI3OTA4YjQxYjQ2ZDgwNTg1YjAzZDRkYTAuLmVmMDIyZmU1Y2Zl
NDc0MmI3OThjZjE0NThkNzhiNWY0MGJlM2FkZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAKQEAgLTI1NTgsNiArMjU1OCw4IEBAIFFXZWJQYWdlOjpWaWV3cG9ydEF0dHJpYnV0ZXMgUVdl
YlBhZ2U6OnZpZXdwb3J0QXR0cmlidXRlc0ZvclNpemUoY29uc3QgUVNpemUmIGF2CiAgICAgfQog
CiAgICAgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIGNvbmYgPSBXZWJDb3JlOjpjb21wdXRl
Vmlld3BvcnRBdHRyaWJ1dGVzKGQtPnZpZXdwb3J0QXJndW1lbnRzKCksIGRlc2t0b3BXaWR0aCwg
ZGV2aWNlV2lkdGgsIGRldmljZUhlaWdodCwgcXRfZGVmYXVsdERwaSgpLCBhdmFpbGFibGVTaXpl
KTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXpl
KGNvbmYsIGF2YWlsYWJsZVNpemUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0b3JU
b0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgcmVzdWx0Lm1faXNW
YWxpZCA9IHRydWU7CiAgICAgcmVzdWx0Lm1fc2l6ZSA9IGNvbmYubGF5b3V0U2l6ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5jcHAKaW5kZXggMzIxMzRlNjMyYmMxNGI3ZDIzMmZjZDE4MjgzNjYwMjRmNWMx
YjgwMi4uZjQyODI0YzJlZTkyODRiMzg5ZWMzMTQ1YWZjYWEyNjMxNzZhNzcwNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5jcHAKQEAgLTc2NSw2ICs3NjUsOCBAQCBRU3RyaW5nIER1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dChRV2ViUGFnZSogcGFnZSwgaW50IGRldmljZURQSSwg
YwogICAgICAgICAvKiBkZXZpY2UtaGVpZ2h0ICovIGRldmljZVNpemUuaGVpZ2h0KCksCiAgICAg
ICAgIC8qIGRldmljZS1kcGkgICAgKi8gZGV2aWNlRFBJLAogICAgICAgICBhdmFpbGFibGVTaXpl
KTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXpl
KGNvbmYsIGF2YWlsYWJsZVNpemUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0b3JU
b0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgUVN0cmluZyByZXM7
CiAgICAgcmVzID0gcmVzLnNwcmludGYoInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYgd2l0
aCBsaW1pdHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCmluZGV4IDFhMzhiOTVk
MDE5MGFhNDA0YzdhMTc1NWJhMzJmNThlNmIxMDFiMmIuLmZjNDNiODc3MWNlYmU1MzliNzQ2YWE3
NmIxODI2YmQxM2E5ZmFjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXRvdWNod2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcApAQCAtOTIsNiArOTIsOCBAQCB2b2lkIFFUb3VjaFdlYlZp
ZXdQcml2YXRlOjp1cGRhdGVWaWV3cG9ydENvbnN0cmFpbnRzKCkKICAgICB3a1ByZWZzLT5zZXRE
ZXZpY2VIZWlnaHQoNzIwKTsKIAogICAgIFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyBhdHRy
ID0gV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyh2aWV3cG9ydEFyZ3VtZW50cywg
d2tQcmVmcy0+bGF5b3V0RmFsbGJhY2tXaWR0aCgpLCB3a1ByZWZzLT5kZXZpY2VXaWR0aCgpLCB3
a1ByZWZzLT5kZXZpY2VIZWlnaHQoKSwgd2tQcmVmcy0+ZGV2aWNlRFBJKCksIGF2YWlsYWJsZVNp
emUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydChh
dHRyLCBhdmFpbGFibGVTaXplKTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9yVG9J
bml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZShhdHRyKTsKIAogICAgIFF0Vmlld3BvcnRJbnRl
cmFjdGlvbkVuZ2luZTo6Q29uc3RyYWludHMgbmV3Q29uc3RyYWludHM7CiAgICAgbmV3Q29uc3Ry
YWludHMuaW5pdGlhbFNjYWxlID0gYXR0ci5pbml0aWFsU2NhbGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZGU0OGQxNmJmZTcxYjUzMGM5
NDA4ZWQwODJmMzkxYmM0MWRmNGFiOC4uZmFmODk5Mjk5ZTA3YzM0YTFmZDkzY2EyNGY1ZmU2M2Y1
M2YzMTEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcApAQCAtMjYxOCw2ICsyNjE4LDggQEAgU3RyaW5nIFdlYlBhZ2U6OnZpZXdwb3J0Q29uZmln
dXJhdGlvbkFzVGV4dChpbnQgZGV2aWNlRFBJLCBpbnQgZGV2aWNlV2lkdGgsIGludAogewogICAg
IFZpZXdwb3J0QXJndW1lbnRzIGFyZ3VtZW50cyA9IG1haW5GcmFtZSgpLT5kb2N1bWVudCgpLT52
aWV3cG9ydEFyZ3VtZW50cygpOwogICAgIFZpZXdwb3J0QXR0cmlidXRlcyBhdHRycyA9IFdlYkNv
cmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoYXJndW1lbnRzLCAvKiBkZWZhdWx0IGxheW91
dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBwYWdlcyAqLyA5ODAsIGRldmljZVdpZHRoLCBkZXZpY2VI
ZWlnaHQsIGRldmljZURQSSwgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0
KSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6
ZShhdHRycywgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CisgICAg
V2ViQ29yZTo6cmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFi
bGUoYXR0cnMpOwogICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgidmlld3BvcnQgc2l6ZSAlZHgl
ZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBh
dHRycy5sYXlvdXRTaXplLndpZHRoKCksIGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJz
LmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0
dHJzLnVzZXJTY2FsYWJsZSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113495</attachid>
            <date>2011-11-03 08:19:21 -0700</date>
            <delta_ts>2012-04-24 11:04:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20111103111919.patch</filename>
            <type>text/plain</type>
            <size>15018</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkxOTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NTc2NWUwNDQ2OTczNDdm
NDUxNjcwNjY5MzZlYzRmNTk0ZWNkZWM2Li5iOTM2MmJiNWEzNGI1M2I0YTU4NDljM2JjZjVkMWVi
NmVkYTM3MzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTEtMDMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxl
IGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAg
T3BlcmF0aW9ucyBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgYXJlIG5vdCBhIHBh
cnQgb2YgdGhlIHNwZWM6IAorCisgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTEvV0Qt
Y3NzLWRldmljZS1hZGFwdC0yMDExMDkxNS8jY29uc3RyYWluaW5nLXZpZXdwb3J0LXByb3BlcnR5
LXZhbHVlcworCisgICAgICAgIHdlcmUgbW92ZWQgaW50byB0aGUgZnVuY3Rpb25zIHJlc3RyaWN0
TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUgYW5kCisgICAgICAgIHJlc3RyaWN0U2Nh
bGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlLgorCisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46CisgICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29y
ZTo6cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJs
ZSk6CisgICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmg6CisKIDIwMTEtMTEtMDMgIEFu
ZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVp
bGQgZml4LCBzaWdoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDEwZWNhMDg2ZmNkMGJiYjZiODBjOGQx
ZmEwM2RiMTNkMzNhODFkZDMuLjFhZDFiM2Q1MjRlMTQyMDBhYWM3ZWY0MTkwNDkwNTk4MWQ1MmMx
NDUgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMS0wMyAgRmFkeSBT
YW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmluZyBsaW5lIGlu
IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMgdGhhdCBlbmZvcmNlcyBhIG1pbmltdW0gc2NhbGUg
ZmFjdG9yIHRvIG5ldmVyIGFsbG93IHpvb21pbmcgb3V0IG1vcmUgdGhhbiB2aWV3cG9ydAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICAq
IGV3ay9ld2tfdmlldy5jcHA6CisgICAgICAgIChfZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRl
c19jb21wdXRlKToKKwogMjAxMS0xMS0wMyAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFtFRkxdIEVuYWJsZSB0aGUgUGFnZSBWaXNpYmlsaXR5IEFQSS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZwppbmRleCA0ODcyMDlkZjk2Mjk3NGZmNTkzZGYwZDU5MWIxNzA0NTg3YjhlNTQ0Li5i
NmQyODIzNmQzZDc2MTZlNTkxZWVlY2Q3OWQ4NWM4YWZiNWM2MmEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRy
aWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxv
dyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0
R3RrOjpkdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KToKKyAgICAgICAgKiB3ZWJraXQvd2Vi
a2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNwcDoKKyAgICAgICAgKHdlYmtpdFZpZXdwb3J0QXR0cmli
dXRlc1JlY29tcHV0ZSk6CisKIDIwMTEtMTEtMDIgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29t
PgogCiAgICAgICAgIEV4cGFuZCBEcmFnQ29udHJvbGxlciB0byBwcm92aWRlIG1vcmUgaW5mb3Jt
YXRpb24gYWJvdXQgdGhlIGRyYWdnaW5nIHNlc3Npb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggNWQxZDk3
ZTI4NmVkNmM5Y2Q2MjQ3OTRlMDc3NDM2MzhmNmExNjUyZi4uZDhhNzA2ZjFkZTk2NjBjYjc5YjZi
NjkzNDg1NDhjM2Y5MjY2OTYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
MS0xMS0wMyAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZW1vdmluZyBsaW5lIGluIGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMgdGhhdCBlbmZvcmNlcyBh
IG1pbmltdW0gc2NhbGUgZmFjdG9yIHRvIG5ldmVyIGFsbG93IHpvb21pbmcgb3V0IG1vcmUgdGhh
biB2aWV3cG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzA2MDkKKworICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
bi4KKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFnZTo6dmll
d3BvcnRBdHRyaWJ1dGVzRm9yU2l6ZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6
OnZpZXdwb3J0QXNUZXh0KToKKwogMjAxMS0xMS0wMyAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAg
PGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XVtXSzJdIERvd25s
b2FkIHN1cHBvcnQgYW5kIEFQSSBpbiBVSVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiMmZjNWMzYjg3
YzgwZTM1ODgzZWU0YWMzNDFkMmEyNGQ1NmQ5YjgzLi5hYTQ1M2E3YTQ0MzgzYjE5ZWUwM2JhMzYw
MDNiMTQwNjJhMDZiMzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMDMg
IEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3Zpbmcg
bGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVt
IHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3Bv
cnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwOgorICAgICAgICAoUVRv
dWNoV2ViVmlld1ByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0Q29uc3RyYWludHMpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6dmlld3BvcnRDb25maWd1cmF0aW9uQXNUZXh0KToKKwogMjAxMS0xMS0wMyAgSm9jZWx5biBU
dXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gRml4
IGFuIGFzc2VydGlvbiB1bmRlciBXZWJQYWdlOjpzZXRWaWV3cG9ydFNpemUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCmluZGV4IDVjYTAxN2M5OGY5Mjg3NTg0ODE5MTY2MzM3YjVkNzEzMTJhYWU4M2QuLmM5
MzRkMDUyNDgxYzNkNGU3ZGU3NGNiNjg4NjJlNmI4NjRmNDU0ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCkBAIC02NTIsNiArNjUyLDggQEAgX19aTjdXZWJDb3JlMjVQbHVnaW5NYWluVGhyZWFkU2No
ZWR1bGVyMTZ1bnJlZ2lzdGVyUGx1Z2luRVA0X05QUAogX19aTjdXZWJDb3JlMjVQbHVnaW5NYWlu
VGhyZWFkU2NoZWR1bGVyOXNjaGVkdWxlckV2CiBfX1pON1dlYkNvcmUyNWFkZExhbmd1YWdlQ2hh
bmdlT2JzZXJ2ZXJFUHZQRnZTMF9FCiBfX1pON1dlYkNvcmUyNWNvbXB1dGVWaWV3cG9ydEF0dHJp
YnV0ZXNFTlNfMTdWaWV3cG9ydEFyZ3VtZW50c0VpaWlpTlNfN0ludFNpemVFCitfX1pON1dlYkNv
cmU1MHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlRVJO
U18xOFZpZXdwb3J0QXR0cmlidXRlc0UKK19fWk43V2ViQ29yZTQwcmVzdHJpY3RNaW5pbXVtU2Nh
bGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZUVSTlNfMThWaWV3cG9ydEF0dHJpYnV0ZXNFTlNfN0ludFNp
emVFCiBfX1pON1dlYkNvcmUyNWNvbnRleHRNZW51SXRlbVRhZ091dGxpbmVFdgogX19aTjdXZWJD
b3JlMjZDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbkMxRXYKIF9fWk43V2ViQ29yZTI2VXNlclR5
cGluZ0dlc3R1cmVJbmRpY2F0b3IyN3Byb2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZUV2CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCA2ZGRlYTA3ZTk0ZWY4NGFl
ZmY1MTdjNzMxNTkyYmQ5YTdiYTIxYTAzLi45MzlhYzVjNjBhNmE4NTIzZGU4MTVlNzdjZWRjNzI5
YjZjYjRmNTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVu
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKQEAg
LTE4MCwxNyArMTgwLDMwIEBAIFZpZXdwb3J0QXR0cmlidXRlcyBjb21wdXRlVmlld3BvcnRBdHRy
aWJ1dGVzKFZpZXdwb3J0QXJndW1lbnRzIGFyZ3MsIGludCBkZXNrdG9wCiAgICAgcmVzdWx0Lmxh
eW91dFNpemUuc2V0V2lkdGgoc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYod2lkdGgpKSk7CiAgICAg
cmVzdWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KHN0YXRpY19jYXN0PGludD4ocm91bmRmKGhlaWdo
dCkpKTsKIAotICAgIC8vIFVwZGF0ZSBtaW5pbXVtIHNjYWxlIGZhY3RvciwgdG8gbmV2ZXIgYWxs
b3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Ci0gICAgcmVzdWx0Lm1pbmltdW1TY2Fs
ZSA9IG1heDxmbG9hdD4ocmVzdWx0Lm1pbmltdW1TY2FsZSwgbWF4KGF2YWlsYWJsZVdpZHRoIC8g
d2lkdGgsIGF2YWlsYWJsZUhlaWdodCAvIGhlaWdodCkpOwotCiAgICAgcmVzdWx0LnVzZXJTY2Fs
YWJsZSA9IGFyZ3MudXNlclNjYWxhYmxlOwotICAgIC8vIE1ha2UgbWF4aW11bSBhbmQgbWluaW11
bSBzY2FsZSBlcXVhbCB0byB0aGUgaW5pdGlhbCBzY2FsZSBpZiB1c2VyIGlzIG5vdCBhbGxvd2Vk
IHRvIHpvb20gaW4vb3V0LgotICAgIGlmICghYXJncy51c2VyU2NhbGFibGUpCi0gICAgICAgIHJl
c3VsdC5tYXhpbXVtU2NhbGUgPSByZXN1bHQubWluaW11bVNjYWxlID0gcmVzdWx0LmluaXRpYWxT
Y2FsZTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK3ZvaWQgcmVzdHJpY3RNaW5pbXVtU2Nh
bGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShWaWV3cG9ydEF0dHJpYnV0ZXMmIHJlc3VsdCwgSW50U2l6
ZSB2aXNpYmxlVmlld3BvcnQpCit7CisgICAgZmxvYXQgYXZhaWxhYmxlV2lkdGggPSB2aXNpYmxl
Vmlld3BvcnQud2lkdGgoKTsKKyAgICBmbG9hdCBhdmFpbGFibGVIZWlnaHQgPSB2aXNpYmxlVmll
d3BvcnQuaGVpZ2h0KCk7CisKKyAgICBpZiAocmVzdWx0LmRldmljZVBpeGVsUmF0aW8gIT0gMS4w
KSB7CisgICAgICAgIGF2YWlsYWJsZVdpZHRoIC89IHJlc3VsdC5kZXZpY2VQaXhlbFJhdGlvOwor
ICAgICAgICBhdmFpbGFibGVIZWlnaHQgLz0gcmVzdWx0LmRldmljZVBpeGVsUmF0aW87CisgICAg
fQorCisgICAgcmVzdWx0Lm1pbmltdW1TY2FsZSA9IG1heDxmbG9hdD4ocmVzdWx0Lm1pbmltdW1T
Y2FsZSwgbWF4KGF2YWlsYWJsZVdpZHRoIC8gcmVzdWx0LmxheW91dFNpemUud2lkdGgoKSwgYXZh
aWxhYmxlSGVpZ2h0IC8gcmVzdWx0LmxheW91dFNpemUuaGVpZ2h0KCkpKTsKK30KKwordm9pZCBy
ZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZShWaWV3cG9y
dEF0dHJpYnV0ZXMmIHJlc3VsdCkKK3sKKyAgICBpZiAoIXJlc3VsdC51c2VyU2NhbGFibGUpCisg
ICAgICAgIHJlc3VsdC5tYXhpbXVtU2NhbGUgPSByZXN1bHQubWluaW11bVNjYWxlID0gcmVzdWx0
LmluaXRpYWxTY2FsZTsKK30KKwogc3RhdGljIGZsb2F0IG51bWVyaWNQcmVmaXgoY29uc3QgU3Ry
aW5nJiBrZXlTdHJpbmcsIGNvbnN0IFN0cmluZyYgdmFsdWVTdHJpbmcsIERvY3VtZW50KiBkb2N1
bWVudCwgYm9vbCogb2spCiB7CiAgICAgLy8gSWYgYSBwcmVmaXggb2YgcHJvcGVydHktdmFsdWUg
Y2FuIGJlIGNvbnZlcnRlZCB0byBhIG51bWJlciB1c2luZyBzdHJ0b2QsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9WaWV3cG9ydEFyZ3VtZW50cy5oCmluZGV4IDcxOTRmZTM0YWVkYWIxMjM3ODM4YjQxYmRjNjUy
ODQyOTc4M2Y0OTcuLjU5YjQxZGVkMWZkNDdmNjI3ZWJiYTIzMWJlNzg0NDc2MWI0YjcyNDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCkBAIC0xMDcsNiArMTA3LDggQEAg
c3RydWN0IFZpZXdwb3J0QXJndW1lbnRzIHsKIH07CiAKIFZpZXdwb3J0QXR0cmlidXRlcyBjb21w
dXRlVmlld3BvcnRBdHRyaWJ1dGVzKFZpZXdwb3J0QXJndW1lbnRzIGFyZ3MsIGludCBkZXNrdG9w
V2lkdGgsIGludCBkZXZpY2VXaWR0aCwgaW50IGRldmljZUhlaWdodCwgaW50IGRldmljZURQSSwg
SW50U2l6ZSB2aXNpYmxlVmlld3BvcnQpOwordm9pZCByZXN0cmljdE1pbmltdW1TY2FsZUZhY3Rv
clRvVmlld3BvcnRTaXplKFZpZXdwb3J0QXR0cmlidXRlcyYgcmVzdWx0LCBJbnRTaXplIHZpc2li
bGVWaWV3cG9ydCk7Cit2b2lkIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90
VXNlclNjYWxhYmxlKFZpZXdwb3J0QXR0cmlidXRlcyYgcmVzdWx0KTsKIAogdm9pZCBzZXRWaWV3
cG9ydEZlYXR1cmUoY29uc3QgU3RyaW5nJiBrZXlTdHJpbmcsIGNvbnN0IFN0cmluZyYgdmFsdWVT
dHJpbmcsIERvY3VtZW50Kiwgdm9pZCogZGF0YSk7CiB2b2lkIHJlcG9ydFZpZXdwb3J0V2Fybmlu
ZyhEb2N1bWVudCosIFZpZXdwb3J0RXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VtZW50
MSwgY29uc3QgU3RyaW5nJiByZXBsYWNlbWVudDIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5j
cHAKaW5kZXggMWYyNzkzOTZmZGNmNWIyZjg5ZmI5NDcxYjRjZTFmMzE5NzBjODdkOS4uYmFmMGFm
NzY1N2JkNTI3ODk1YTE3ZDc4MWI0MDhmMzAyMzQ5OTRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ZpZXcuY3BwCkBAIC0xMDg4LDYgKzEwODgsOCBAQCBzdGF0aWMgV2ViQ29yZTo6Vmlld3BvcnRB
dHRyaWJ1dGVzIF9ld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX2NvbXB1dGUoY29uc3QgRQog
ICAgIFdlYkNvcmU6OkludFJlY3QgZGV2aWNlUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QocHJpdi0+
cGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT53aW5kb3dSZWN0KCkpOwogCiAgICAgV2ViQ29yZTo6
Vmlld3BvcnRBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMgPSBXZWJDb3JlOjpjb21wdXRlVmlld3BvcnRB
dHRyaWJ1dGVzKHByaXYtPnZpZXdwb3J0QXJndW1lbnRzLCBkZXNrdG9wV2lkdGgsIGRldmljZVJl
Y3Qud2lkdGgoKSwgZGV2aWNlUmVjdC5oZWlnaHQoKSwgZGV2aWNlRFBJLCBhdmFpbGFibGVSZWN0
LnNpemUoKSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdw
b3J0U2l6ZShhdHRyaWJ1dGVzLCBhdmFpbGFibGVSZWN0LnNpemUoKSk7CisgICAgV2ViQ29yZTo6
cmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoYXR0cmli
dXRlcyk7CiAKICAgICByZXR1cm4gYXR0cmlidXRlczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAgYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsu
Y3BwCmluZGV4IDU0MGY1M2ZlNWJjZWJjMDUzZGIzNTEyYzA4MGIyMDgzY2I3MjI4NjkuLjBmNjhj
M2E0OTY5OWZkN2I4ZjE1ZTQwMzgyZDk3ZjgzNzdiOTMwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
R3RrLmNwcApAQCAtNzExLDcgKzcxMSw4IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3Rr
OjpkdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KFdlYktpdFdlYlZpZXcqIHdlYlZpCiAKICAg
ICBWaWV3cG9ydEFyZ3VtZW50cyBhcmd1bWVudHMgPSB3ZWJWaWV3LT5wcml2LT5jb3JlUGFnZS0+
bWFpbkZyYW1lKCktPmRvY3VtZW50KCktPnZpZXdwb3J0QXJndW1lbnRzKCk7CiAgICAgVmlld3Bv
cnRBdHRyaWJ1dGVzIGF0dHJzID0gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhhcmd1bWVudHMs
IC8qIGRlZmF1bHQgbGF5b3V0IHdpZHRoIGZvciBub24tbW9iaWxlIHBhZ2VzICovIDk4MCwgZGV2
aWNlV2lkdGgsIGRldmljZUhlaWdodCwgZGV2aWNlRFBJLCBJbnRTaXplKGF2YWlsYWJsZVdpZHRo
LCBhdmFpbGFibGVIZWlnaHQpKTsKLQorICAgIHJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9W
aWV3cG9ydFNpemUoYXR0cnMsIEludFNpemUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdo
dCkpOworICAgIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxh
YmxlKGF0dHJzKTsKICAgICBmcHJpbnRmKHN0ZG91dCwgInZpZXdwb3J0IHNpemUgJWR4JWQgc2Nh
bGUgJWYgd2l0aCBsaW1pdHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwgYXR0cnMu
bGF5b3V0U2l6ZS53aWR0aCgpLCBhdHRycy5sYXlvdXRTaXplLmhlaWdodCgpLCBhdHRycy5pbml0
aWFsU2NhbGUsIGF0dHJzLm1pbmltdW1TY2FsZSwgYXR0cnMubWF4aW11bVNjYWxlLCBhdHRycy51
c2VyU2NhbGFibGUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0dmlld3BvcnRhdHRyaWJ1dGVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR2aWV3cG9ydGF0dHJpYnV0ZXMuY3BwCmluZGV4IDc0MmNkZGRlNzQxZWE0NTBkNWU1ZThk
OGNhNGFiNTY3ZTU3YTEwNGUuLmMwODE5MWZhZWRjOGFiZDlhZTc0YTZiM2M1ZWQ0MWI5M2UyMjZl
ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2aWV3cG9ydGF0
dHJpYnV0ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2aWV3cG9y
dGF0dHJpYnV0ZXMuY3BwCkBAIC01MzUsNiArNTM1LDggQEAgdm9pZCB3ZWJraXRWaWV3cG9ydEF0
dHJpYnV0ZXNSZWNvbXB1dGUoV2ViS2l0Vmlld3BvcnRBdHRyaWJ1dGVzKiB2aWV3cG9ydEF0dHJp
YnUKICAgICBWaWV3cG9ydEFyZ3VtZW50cyBhcmd1bWVudHMgPSB3ZWJWaWV3LT5wcml2LT5jb3Jl
UGFnZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50KCktPnZpZXdwb3J0QXJndW1lbnRzKCk7CiAKICAg
ICBWaWV3cG9ydEF0dHJpYnV0ZXMgYXR0cmlidXRlcyA9IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0
ZXMoYXJndW1lbnRzLCBwcml2LT5kZXNrdG9wV2lkdGgsIHByaXYtPmRldmljZVdpZHRoLCBwcml2
LT5kZXZpY2VIZWlnaHQsIHByaXYtPmRldmljZURQSSwgSW50U2l6ZShwcml2LT5hdmFpbGFibGVX
aWR0aCwgcHJpdi0+YXZhaWxhYmxlSGVpZ2h0KSk7CisgICAgcmVzdHJpY3RNaW5pbXVtU2NhbGVG
YWN0b3JUb1ZpZXdwb3J0U2l6ZShhdHRyaWJ1dGVzLCBJbnRTaXplKHByaXYtPmF2YWlsYWJsZVdp
ZHRoLCBwcml2LT5hdmFpbGFibGVIZWlnaHQpKTsKKyAgICByZXN0cmljdFNjYWxlRmFjdG9yVG9J
bml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZShhdHRyaWJ1dGVzKTsKIAogICAgIHByaXYtPndp
ZHRoID0gYXR0cmlidXRlcy5sYXlvdXRTaXplLndpZHRoKCk7CiAgICAgcHJpdi0+aGVpZ2h0ID0g
YXR0cmlidXRlcy5sYXlvdXRTaXplLmhlaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3Bw
CmluZGV4IDdlNjk2YzQzMGY4OTFjZTI3OTA4YjQxYjQ2ZDgwNTg1YjAzZDRkYTAuLmVmMDIyZmU1
Y2ZlNDc0MmI3OThjZjE0NThkNzhiNWY0MGJlM2FkZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFn
ZS5jcHAKQEAgLTI1NTgsNiArMjU1OCw4IEBAIFFXZWJQYWdlOjpWaWV3cG9ydEF0dHJpYnV0ZXMg
UVdlYlBhZ2U6OnZpZXdwb3J0QXR0cmlidXRlc0ZvclNpemUoY29uc3QgUVNpemUmIGF2CiAgICAg
fQogCiAgICAgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIGNvbmYgPSBXZWJDb3JlOjpjb21w
dXRlVmlld3BvcnRBdHRyaWJ1dGVzKGQtPnZpZXdwb3J0QXJndW1lbnRzKCksIGRlc2t0b3BXaWR0
aCwgZGV2aWNlV2lkdGgsIGRldmljZUhlaWdodCwgcXRfZGVmYXVsdERwaSgpLCBhdmFpbGFibGVT
aXplKTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRT
aXplKGNvbmYsIGF2YWlsYWJsZVNpemUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0
b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgcmVzdWx0Lm1f
aXNWYWxpZCA9IHRydWU7CiAgICAgcmVzdWx0Lm1fc2l6ZSA9IGNvbmYubGF5b3V0U2l6ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggMzIxMzRlNjMyYmMxNGI3ZDIzMmZjZDE4MjgzNjYwMjRm
NWMxYjgwMi4uZjQyODI0YzJlZTkyODRiMzg5ZWMzMTQ1YWZjYWEyNjMxNzZhNzcwNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAKQEAgLTc2NSw2ICs3NjUsOCBAQCBRU3RyaW5nIER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dChRV2ViUGFnZSogcGFnZSwgaW50IGRldmljZURQ
SSwgYwogICAgICAgICAvKiBkZXZpY2UtaGVpZ2h0ICovIGRldmljZVNpemUuaGVpZ2h0KCksCiAg
ICAgICAgIC8qIGRldmljZS1kcGkgICAgKi8gZGV2aWNlRFBJLAogICAgICAgICBhdmFpbGFibGVT
aXplKTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRT
aXplKGNvbmYsIGF2YWlsYWJsZVNpemUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0
b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgUVN0cmluZyBy
ZXM7CiAgICAgcmVzID0gcmVzLnNwcmludGYoInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYg
d2l0aCBsaW1pdHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCmluZGV4IDFhMzhi
OTVkMDE5MGFhNDA0YzdhMTc1NWJhMzJmNThlNmIxMDFiMmIuLmZjNDNiODc3MWNlYmU1MzliNzQ2
YWE3NmIxODI2YmQxM2E5ZmFjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcApAQCAtOTIsNiArOTIsOCBAQCB2b2lkIFFUb3VjaFdl
YlZpZXdQcml2YXRlOjp1cGRhdGVWaWV3cG9ydENvbnN0cmFpbnRzKCkKICAgICB3a1ByZWZzLT5z
ZXREZXZpY2VIZWlnaHQoNzIwKTsKIAogICAgIFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyBh
dHRyID0gV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyh2aWV3cG9ydEFyZ3VtZW50
cywgd2tQcmVmcy0+bGF5b3V0RmFsbGJhY2tXaWR0aCgpLCB3a1ByZWZzLT5kZXZpY2VXaWR0aCgp
LCB3a1ByZWZzLT5kZXZpY2VIZWlnaHQoKSwgd2tQcmVmcy0+ZGV2aWNlRFBJKCksIGF2YWlsYWJs
ZVNpemUpOworICAgIFdlYkNvcmU6OnJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9y
dChhdHRyLCBhdmFpbGFibGVTaXplKTsKKyAgICBXZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9y
VG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZShhdHRyKTsKIAogICAgIFF0Vmlld3BvcnRJ
bnRlcmFjdGlvbkVuZ2luZTo6Q29uc3RyYWludHMgbmV3Q29uc3RyYWludHM7CiAgICAgbmV3Q29u
c3RyYWludHMuaW5pdGlhbFNjYWxlID0gYXR0ci5pbml0aWFsU2NhbGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZGU0OGQxNmJmZTcxYjUz
MGM5NDA4ZWQwODJmMzkxYmM0MWRmNGFiOC4uZmFmODk5Mjk5ZTA3YzM0YTFmZDkzY2EyNGY1ZmU2
M2Y1M2YzMTEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtMjYxOCw2ICsyNjE4LDggQEAgU3RyaW5nIFdlYlBhZ2U6OnZpZXdwb3J0Q29u
ZmlndXJhdGlvbkFzVGV4dChpbnQgZGV2aWNlRFBJLCBpbnQgZGV2aWNlV2lkdGgsIGludAogewog
ICAgIFZpZXdwb3J0QXJndW1lbnRzIGFyZ3VtZW50cyA9IG1haW5GcmFtZSgpLT5kb2N1bWVudCgp
LT52aWV3cG9ydEFyZ3VtZW50cygpOwogICAgIFZpZXdwb3J0QXR0cmlidXRlcyBhdHRycyA9IFdl
YkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoYXJndW1lbnRzLCAvKiBkZWZhdWx0IGxh
eW91dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBwYWdlcyAqLyA5ODAsIGRldmljZVdpZHRoLCBkZXZp
Y2VIZWlnaHQsIGRldmljZURQSSwgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVp
Z2h0KSk7CisgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0
U2l6ZShhdHRycywgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7Cisg
ICAgV2ViQ29yZTo6cmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2Nh
bGFibGUoYXR0cnMpOwogICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgidmlld3BvcnQgc2l6ZSAl
ZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4i
LCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCksIGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0
dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUs
IGF0dHJzLnVzZXJTY2FsYWJsZSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138600</attachid>
            <date>2012-04-24 11:04:44 -0700</date>
            <delta_ts>2012-05-02 08:11:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120424140442.patch</filename>
            <type>text/plain</type>
            <size>2463</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0ODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRkZDU1ZWVjMjM0ZmQ0
YzlmNjllYzZlMDYyMTlhMmQ1MWI3ZDgxNi4uNjZiNGY4ZmY2NmNjYTdjZmFkN2U5ZDM1MTA4NTRm
OTI2YWM5YjM3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA0LTI0ICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgVmlld3Bv
cnRBdHRyaWJ1dGVzJyBsYXlvdXRTaXplIGJlIGEgRmxvYXRSZWN0IHRvIGF2b2lkIHJvdW5kaW5n
CisgICAgICAgIHRvbyBlYXJseSwgYW5kIHRoZSBvY2Nhc2lvbmFsIG9mZiBieSBvbmUgZml4ZWQg
bGF5b3V0IGRpbWVuc2lvbnMuCisKKyAgICAgICAgKiBkb20vVmlld3BvcnRBcmd1bWVudHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyk6CisgICAgICAg
ICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmg6CisgICAgICAgIChWaWV3cG9ydEF0dHJpYnV0ZXMp
OgorCiAyMDEyLTA0LTIzICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eu
b3JnPgogCiAgICAgICAgIFNpbXBsaWZ5IENTU1BhcnNlcjo6cGFyc2VGb250LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKaW5kZXggYzEzMWZjYzA5NTFlY2FkNjEzYTQ4
YWU1MzdlOGJiMmMxZmQzMGMwMy4uMGYzMjlhYzMxNmYzNDQ0MzI2ZDBhZjI4NjNlYWU4Yzk2YTI3
ZWNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCkBAIC0xNzcs
OCArMTc3LDggQEAgVmlld3BvcnRBdHRyaWJ1dGVzIGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMo
Vmlld3BvcnRBcmd1bWVudHMgYXJncywgaW50IGRlc2t0b3AKICAgICAvLyBFeHRlbmQgd2lkdGgg
YW5kIGhlaWdodCB0byBmaWxsIHRoZSB2aXN1YWwgdmlld3BvcnQgZm9yIHRoZSByZXNvbHZlZCBp
bml0aWFsLXNjYWxlLgogICAgIHdpZHRoID0gbWF4PGZsb2F0Pih3aWR0aCwgYXZhaWxhYmxlV2lk
dGggLyByZXN1bHQuaW5pdGlhbFNjYWxlKTsKICAgICBoZWlnaHQgPSBtYXg8ZmxvYXQ+KGhlaWdo
dCwgYXZhaWxhYmxlSGVpZ2h0IC8gcmVzdWx0LmluaXRpYWxTY2FsZSk7Ci0gICAgcmVzdWx0Lmxh
eW91dFNpemUuc2V0V2lkdGgoc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYod2lkdGgpKSk7Ci0gICAg
cmVzdWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KHN0YXRpY19jYXN0PGludD4ocm91bmRmKGhlaWdo
dCkpKTsKKyAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRXaWR0aCh3aWR0aCk7CisgICAgcmVzdWx0
LmxheW91dFNpemUuc2V0SGVpZ2h0KGhlaWdodCk7CiAKICAgICByZXN1bHQudXNlclNjYWxhYmxl
ID0gYXJncy51c2VyU2NhbGFibGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9W
aWV3cG9ydEFyZ3VtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRz
LmgKaW5kZXggNTliNDFkZWQxZmQ0N2Y2MjdlYmJhMjMxYmU3ODQ0NzYxYjRiNzI0Ny4uNzk2NTFk
MjViMjMyM2Y5YmZiOGViOWM4MGMxNzgyMmMyNDg4NWIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Zp
ZXdwb3J0QXJndW1lbnRzLmgKQEAgLTI3LDcgKzI3LDcgQEAKICNpZm5kZWYgVmlld3BvcnRBcmd1
bWVudHNfaAogI2RlZmluZSBWaWV3cG9ydEFyZ3VtZW50c19oCiAKLSNpbmNsdWRlICJJbnRTaXpl
LmgiCisjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsNyArNDMsNyBAQCBlbnVtIFZpZXdwb3J0RXJyb3JD
b2RlIHsKIH07CiAKIHN0cnVjdCBWaWV3cG9ydEF0dHJpYnV0ZXMgewotICAgIEludFNpemUgbGF5
b3V0U2l6ZTsKKyAgICBGbG9hdFNpemUgbGF5b3V0U2l6ZTsKIAogICAgIGZsb2F0IGRldmljZVBp
eGVsUmF0aW87CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139817</attachid>
            <date>2012-05-02 08:12:06 -0700</date>
            <delta_ts>2012-05-02 08:31:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120502111205.patch</filename>
            <type>text/plain</type>
            <size>3105</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAxYjE1OTA0YmIyNmEy
ZDY0NTQ2OWY5YzVkZDgxMTkzMDk1MGMwYy4uYjI2ZjU0NjhlNjZmMWRiNzdlNTY5ZDFiNmNjNTA2
ZDM1NTI3NDIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA0LTI0ICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgVmlld3Bv
cnRBdHRyaWJ1dGVzJyBsYXlvdXRTaXplIGJlIGEgRmxvYXRSZWN0IHRvIGF2b2lkIHJvdW5kaW5n
CisgICAgICAgIHRvbyBlYXJseSwgYW5kIHRoZSBvY2Nhc2lvbmFsIG9mZiBieSBvbmUgZml4ZWQg
bGF5b3V0IGRpbWVuc2lvbnMuCisKKyAgICAgICAgKiBkb20vVmlld3BvcnRBcmd1bWVudHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyk6CisgICAgICAg
ICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmg6CisgICAgICAgIChWaWV3cG9ydEF0dHJpYnV0ZXMp
OgorCiAyMDEyLTA0LTMwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLiBGaXggdGVzdCBjcmFzaGVzIGluIFdpbi9MaW51eCBkZWJ1ZyBi
dWlsZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCBjMTMx
ZmNjMDk1MWVjYWQ2MTNhNDhhZTUzN2U4YmIyYzFmZDMwYzAzLi4wZjMyOWFjMzE2ZjM0NDQzMjZk
MGFmMjg2M2VhZThjOTZhMjdlY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5jcHAKQEAgLTE3Nyw4ICsxNzcsOCBAQCBWaWV3cG9ydEF0dHJpYnV0ZXMgY29tcHV0ZVZp
ZXdwb3J0QXR0cmlidXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBhcmdzLCBpbnQgZGVza3RvcAogICAg
IC8vIEV4dGVuZCB3aWR0aCBhbmQgaGVpZ2h0IHRvIGZpbGwgdGhlIHZpc3VhbCB2aWV3cG9ydCBm
b3IgdGhlIHJlc29sdmVkIGluaXRpYWwtc2NhbGUuCiAgICAgd2lkdGggPSBtYXg8ZmxvYXQ+KHdp
ZHRoLCBhdmFpbGFibGVXaWR0aCAvIHJlc3VsdC5pbml0aWFsU2NhbGUpOwogICAgIGhlaWdodCA9
IG1heDxmbG9hdD4oaGVpZ2h0LCBhdmFpbGFibGVIZWlnaHQgLyByZXN1bHQuaW5pdGlhbFNjYWxl
KTsKLSAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRXaWR0aChzdGF0aWNfY2FzdDxpbnQ+KHJvdW5k
Zih3aWR0aCkpKTsKLSAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoc3RhdGljX2Nhc3Q8
aW50Pihyb3VuZGYoaGVpZ2h0KSkpOworICAgIHJlc3VsdC5sYXlvdXRTaXplLnNldFdpZHRoKHdp
ZHRoKTsKKyAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoaGVpZ2h0KTsKIAogICAgIHJl
c3VsdC51c2VyU2NhbGFibGUgPSBhcmdzLnVzZXJTY2FsYWJsZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Vmlld3BvcnRBcmd1bWVudHMuaAppbmRleCA1OWI0MWRlZDFmZDQ3ZjYyN2ViYmEyMzFiZTc4NDQ3
NjFiNGI3MjQ3Li43OTY1MWQyNWIyMzIzZjliZmI4ZWI5YzgwYzE3ODIyYzI0ODg1YjI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaApAQCAtMjcsNyArMjcsNyBAQAogI2lm
bmRlZiBWaWV3cG9ydEFyZ3VtZW50c19oCiAjZGVmaW5lIFZpZXdwb3J0QXJndW1lbnRzX2gKIAot
I2luY2x1ZGUgIkludFNpemUuaCIKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Myw3ICs0Myw3IEBAIGVu
dW0gVmlld3BvcnRFcnJvckNvZGUgewogfTsKIAogc3RydWN0IFZpZXdwb3J0QXR0cmlidXRlcyB7
Ci0gICAgSW50U2l6ZSBsYXlvdXRTaXplOworICAgIEZsb2F0U2l6ZSBsYXlvdXRTaXplOwogCiAg
ICAgZmxvYXQgZGV2aWNlUGl4ZWxSYXRpbzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKaW5kZXggNTZiMTMyNzUzODFmZjU0
NGJlNGY5MmMxYjJmYTE0OGJiMzg2MmZmNi4uY2ZmNGYzMzk1NGE1MzVjZDMzMWI3MDMxYzVlNDMy
NGU0NjA1ZWEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
d2Vidmlld3BvcnRpbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIFFWYXJpYW50IFFXZWJWaWV3
cG9ydEluZm86OmlzU2NhbGFibGUoKSBjb25zdAogCiBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZv
OjpsYXlvdXRTaXplKCkgY29uc3QKIHsKLSAgICByZXR1cm4gUVNpemUobV93ZWJWaWV3UHJpdmF0
ZS0+YXR0cmlidXRlcy5sYXlvdXRTaXplKTsKKyAgICByZXR1cm4gUVNpemVGKG1fd2ViVmlld1By
aXZhdGUtPmF0dHJpYnV0ZXMubGF5b3V0U2l6ZSk7CiB9CiAKIHZvaWQgUVdlYlZpZXdwb3J0SW5m
bzo6ZGlkVXBkYXRlQ29udGVudHNTaXplKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139824</attachid>
            <date>2012-05-02 08:31:09 -0700</date>
            <delta_ts>2012-05-02 09:36:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120502113107.patch</filename>
            <type>text/plain</type>
            <size>4486</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAxYjE1OTA0YmIyNmEy
ZDY0NTQ2OWY5YzVkZDgxMTkzMDk1MGMwYy4uYjI2ZjU0NjhlNjZmMWRiNzdlNTY5ZDFiNmNjNTA2
ZDM1NTI3NDIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA0LTI0ICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgVmlld3Bv
cnRBdHRyaWJ1dGVzJyBsYXlvdXRTaXplIGJlIGEgRmxvYXRSZWN0IHRvIGF2b2lkIHJvdW5kaW5n
CisgICAgICAgIHRvbyBlYXJseSwgYW5kIHRoZSBvY2Nhc2lvbmFsIG9mZiBieSBvbmUgZml4ZWQg
bGF5b3V0IGRpbWVuc2lvbnMuCisKKyAgICAgICAgKiBkb20vVmlld3BvcnRBcmd1bWVudHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyk6CisgICAgICAg
ICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmg6CisgICAgICAgIChWaWV3cG9ydEF0dHJpYnV0ZXMp
OgorCiAyMDEyLTA0LTMwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLiBGaXggdGVzdCBjcmFzaGVzIGluIFdpbi9MaW51eCBkZWJ1ZyBi
dWlsZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCBjMTMx
ZmNjMDk1MWVjYWQ2MTNhNDhhZTUzN2U4YmIyYzFmZDMwYzAzLi4wZjMyOWFjMzE2ZjM0NDQzMjZk
MGFmMjg2M2VhZThjOTZhMjdlY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5jcHAKQEAgLTE3Nyw4ICsxNzcsOCBAQCBWaWV3cG9ydEF0dHJpYnV0ZXMgY29tcHV0ZVZp
ZXdwb3J0QXR0cmlidXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBhcmdzLCBpbnQgZGVza3RvcAogICAg
IC8vIEV4dGVuZCB3aWR0aCBhbmQgaGVpZ2h0IHRvIGZpbGwgdGhlIHZpc3VhbCB2aWV3cG9ydCBm
b3IgdGhlIHJlc29sdmVkIGluaXRpYWwtc2NhbGUuCiAgICAgd2lkdGggPSBtYXg8ZmxvYXQ+KHdp
ZHRoLCBhdmFpbGFibGVXaWR0aCAvIHJlc3VsdC5pbml0aWFsU2NhbGUpOwogICAgIGhlaWdodCA9
IG1heDxmbG9hdD4oaGVpZ2h0LCBhdmFpbGFibGVIZWlnaHQgLyByZXN1bHQuaW5pdGlhbFNjYWxl
KTsKLSAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRXaWR0aChzdGF0aWNfY2FzdDxpbnQ+KHJvdW5k
Zih3aWR0aCkpKTsKLSAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoc3RhdGljX2Nhc3Q8
aW50Pihyb3VuZGYoaGVpZ2h0KSkpOworICAgIHJlc3VsdC5sYXlvdXRTaXplLnNldFdpZHRoKHdp
ZHRoKTsKKyAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoaGVpZ2h0KTsKIAogICAgIHJl
c3VsdC51c2VyU2NhbGFibGUgPSBhcmdzLnVzZXJTY2FsYWJsZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Vmlld3BvcnRBcmd1bWVudHMuaAppbmRleCA1OWI0MWRlZDFmZDQ3ZjYyN2ViYmEyMzFiZTc4NDQ3
NjFiNGI3MjQ3Li43OTY1MWQyNWIyMzIzZjliZmI4ZWI5YzgwYzE3ODIyYzI0ODg1YjI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaApAQCAtMjcsNyArMjcsNyBAQAogI2lm
bmRlZiBWaWV3cG9ydEFyZ3VtZW50c19oCiAjZGVmaW5lIFZpZXdwb3J0QXJndW1lbnRzX2gKIAot
I2luY2x1ZGUgIkludFNpemUuaCIKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Myw3ICs0Myw3IEBAIGVu
dW0gVmlld3BvcnRFcnJvckNvZGUgewogfTsKIAogc3RydWN0IFZpZXdwb3J0QXR0cmlidXRlcyB7
Ci0gICAgSW50U2l6ZSBsYXlvdXRTaXplOworICAgIEZsb2F0U2l6ZSBsYXlvdXRTaXplOwogCiAg
ICAgZmxvYXQgZGV2aWNlUGl4ZWxSYXRpbzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKaW5kZXggNTZiMTMyNzUzODFmZjU0
NGJlNGY5MmMxYjJmYTE0OGJiMzg2MmZmNi4uY2ZmNGYzMzk1NGE1MzVjZDMzMWI3MDMxYzVlNDMy
NGU0NjA1ZWEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
d2Vidmlld3BvcnRpbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIFFWYXJpYW50IFFXZWJWaWV3
cG9ydEluZm86OmlzU2NhbGFibGUoKSBjb25zdAogCiBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZv
OjpsYXlvdXRTaXplKCkgY29uc3QKIHsKLSAgICByZXR1cm4gUVNpemUobV93ZWJWaWV3UHJpdmF0
ZS0+YXR0cmlidXRlcy5sYXlvdXRTaXplKTsKKyAgICByZXR1cm4gUVNpemVGKG1fd2ViVmlld1By
aXZhdGUtPmF0dHJpYnV0ZXMubGF5b3V0U2l6ZSk7CiB9CiAKIHZvaWQgUVdlYlZpZXdwb3J0SW5m
bzo6ZGlkVXBkYXRlQ29udGVudHNTaXplKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBmNDFjN2UwMTUwZTkwMDY5NDE4MjRkYjYzM2RlMjE5
NjIzNGQ2MzJhLi4yNGM3M2EyOTc5MTQ0N2YwN2RjZmJlYWVkNmQyM2FmOTgwNzdkZTM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMDQ1
LDcgKzMwNDUsNyBAQCBTdHJpbmcgV2ViUGFnZTo6dmlld3BvcnRDb25maWd1cmF0aW9uQXNUZXh0
KGludCBkZXZpY2VEUEksIGludCBkZXZpY2VXaWR0aCwgaW50CiAgICAgVmlld3BvcnRBdHRyaWJ1
dGVzIGF0dHJzID0gV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyhhcmd1bWVudHMs
IC8qIGRlZmF1bHQgbGF5b3V0IHdpZHRoIGZvciBub24tbW9iaWxlIHBhZ2VzICovIDk4MCwgZGV2
aWNlV2lkdGgsIGRldmljZUhlaWdodCwgZGV2aWNlRFBJLCBJbnRTaXplKGF2YWlsYWJsZVdpZHRo
LCBhdmFpbGFibGVIZWlnaHQpKTsKICAgICBXZWJDb3JlOjpyZXN0cmljdE1pbmltdW1TY2FsZUZh
Y3RvclRvVmlld3BvcnRTaXplKGF0dHJzLCBJbnRTaXplKGF2YWlsYWJsZVdpZHRoLCBhdmFpbGFi
bGVIZWlnaHQpKTsKICAgICBXZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2Nh
bGVJZk5vdFVzZXJTY2FsYWJsZShhdHRycyk7Ci0gICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJ2
aWV3cG9ydCBzaXplICVkeCVkIHNjYWxlICVmIHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2Vy
U2NhbGFibGUgJWZcbiIsIGF0dHJzLmxheW91dFNpemUud2lkdGgoKSwgYXR0cnMubGF5b3V0U2l6
ZS5oZWlnaHQoKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVtU2NhbGUsIGF0dHJz
Lm1heGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKKyAgICByZXR1cm4gU3RyaW5nOjpm
b3JtYXQoInZpZXdwb3J0IHNpemUgJWZ4JWYgc2NhbGUgJWYgd2l0aCBsaW1pdHMgWyVmLCAlZl0g
YW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwgYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgpLCBhdHRycy5s
YXlvdXRTaXplLmhlaWdodCgpLCBhdHRycy5pbml0aWFsU2NhbGUsIGF0dHJzLm1pbmltdW1TY2Fs
ZSwgYXR0cnMubWF4aW11bVNjYWxlLCBhdHRycy51c2VyU2NhbGFibGUpOwogfQogCiB2b2lkIFdl
YlBhZ2U6OnNldENvbXBvc2l0aW9uRm9yVGVzdGluZyhjb25zdCBTdHJpbmcmIGNvbXBvc2l0aW9u
U3RyaW5nLCB1aW50NjRfdCBmcm9tLCB1aW50NjRfdCBsZW5ndGgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139829</attachid>
            <date>2012-05-02 09:36:51 -0700</date>
            <delta_ts>2012-05-02 10:05:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120502123649.patch</filename>
            <type>text/plain</type>
            <size>5408</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAxYjE1OTA0YmIyNmEy
ZDY0NTQ2OWY5YzVkZDgxMTkzMDk1MGMwYy4uYjI2ZjU0NjhlNjZmMWRiNzdlNTY5ZDFiNmNjNTA2
ZDM1NTI3NDIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA0LTI0ICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgVmlld3Bv
cnRBdHRyaWJ1dGVzJyBsYXlvdXRTaXplIGJlIGEgRmxvYXRSZWN0IHRvIGF2b2lkIHJvdW5kaW5n
CisgICAgICAgIHRvbyBlYXJseSwgYW5kIHRoZSBvY2Nhc2lvbmFsIG9mZiBieSBvbmUgZml4ZWQg
bGF5b3V0IGRpbWVuc2lvbnMuCisKKyAgICAgICAgKiBkb20vVmlld3BvcnRBcmd1bWVudHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyk6CisgICAgICAg
ICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmg6CisgICAgICAgIChWaWV3cG9ydEF0dHJpYnV0ZXMp
OgorCiAyMDEyLTA0LTMwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLiBGaXggdGVzdCBjcmFzaGVzIGluIFdpbi9MaW51eCBkZWJ1ZyBi
dWlsZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCBjMTMx
ZmNjMDk1MWVjYWQ2MTNhNDhhZTUzN2U4YmIyYzFmZDMwYzAzLi4wZjMyOWFjMzE2ZjM0NDQzMjZk
MGFmMjg2M2VhZThjOTZhMjdlY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmll
d3BvcnRBcmd1bWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5jcHAKQEAgLTE3Nyw4ICsxNzcsOCBAQCBWaWV3cG9ydEF0dHJpYnV0ZXMgY29tcHV0ZVZp
ZXdwb3J0QXR0cmlidXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBhcmdzLCBpbnQgZGVza3RvcAogICAg
IC8vIEV4dGVuZCB3aWR0aCBhbmQgaGVpZ2h0IHRvIGZpbGwgdGhlIHZpc3VhbCB2aWV3cG9ydCBm
b3IgdGhlIHJlc29sdmVkIGluaXRpYWwtc2NhbGUuCiAgICAgd2lkdGggPSBtYXg8ZmxvYXQ+KHdp
ZHRoLCBhdmFpbGFibGVXaWR0aCAvIHJlc3VsdC5pbml0aWFsU2NhbGUpOwogICAgIGhlaWdodCA9
IG1heDxmbG9hdD4oaGVpZ2h0LCBhdmFpbGFibGVIZWlnaHQgLyByZXN1bHQuaW5pdGlhbFNjYWxl
KTsKLSAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRXaWR0aChzdGF0aWNfY2FzdDxpbnQ+KHJvdW5k
Zih3aWR0aCkpKTsKLSAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoc3RhdGljX2Nhc3Q8
aW50Pihyb3VuZGYoaGVpZ2h0KSkpOworICAgIHJlc3VsdC5sYXlvdXRTaXplLnNldFdpZHRoKHdp
ZHRoKTsKKyAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoaGVpZ2h0KTsKIAogICAgIHJl
c3VsdC51c2VyU2NhbGFibGUgPSBhcmdzLnVzZXJTY2FsYWJsZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Vmlld3BvcnRBcmd1bWVudHMuaAppbmRleCA1OWI0MWRlZDFmZDQ3ZjYyN2ViYmEyMzFiZTc4NDQ3
NjFiNGI3MjQ3Li43OTY1MWQyNWIyMzIzZjliZmI4ZWI5YzgwYzE3ODIyYzI0ODg1YjI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaApAQCAtMjcsNyArMjcsNyBAQAogI2lm
bmRlZiBWaWV3cG9ydEFyZ3VtZW50c19oCiAjZGVmaW5lIFZpZXdwb3J0QXJndW1lbnRzX2gKIAot
I2luY2x1ZGUgIkludFNpemUuaCIKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Myw3ICs0Myw3IEBAIGVu
dW0gVmlld3BvcnRFcnJvckNvZGUgewogfTsKIAogc3RydWN0IFZpZXdwb3J0QXR0cmlidXRlcyB7
Ci0gICAgSW50U2l6ZSBsYXlvdXRTaXplOworICAgIEZsb2F0U2l6ZSBsYXlvdXRTaXplOwogCiAg
ICAgZmxvYXQgZGV2aWNlUGl4ZWxSYXRpbzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9x
dC9BcGkvcXdlYnBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXgg
ZmQyZmQ0YjNiZWRiYjc2MTNiMzUwYTk3MzBkYWZmNTMyYzQxMjllOS4uMGJmMzVlMjQ3MWYxY2Mz
YmQ0NDdjMTNjYjBmODg4YTUyZjRkNGExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9B
cGkvcXdlYnBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0y
MzIsNyArMjMyLDcgQEAgcHVibGljOgogICAgICAgICBpbmxpbmUgcXJlYWwgZGV2aWNlUGl4ZWxS
YXRpbygpIGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNlUGl4ZWxSYXRpbzsgfQogICAgICAgICBpbmxp
bmUgYm9vbCBpc1VzZXJTY2FsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyU2NhbGFibGU7
IH0KICAgICAgICAgaW5saW5lIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxp
ZDsgfQotICAgICAgICBpbmxpbmUgUVNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsg
fQorICAgICAgICBpbmxpbmUgUVNpemVGIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0K
IAogICAgIHByaXZhdGU6CiAgICAgICAgIFFTaGFyZWREYXRhUG9pbnRlcjxRdFZpZXdwb3J0QXR0
cmlidXRlc1ByaXZhdGU+IGQ7CkBAIC0yNDIsNyArMjQyLDcgQEAgcHVibGljOgogICAgICAgICBx
cmVhbCBtX2RldmljZVBpeGVsUmF0aW87CiAgICAgICAgIGJvb2wgbV9pc1VzZXJTY2FsYWJsZTsK
ICAgICAgICAgYm9vbCBtX2lzVmFsaWQ7Ci0gICAgICAgIFFTaXplIG1fc2l6ZTsKKyAgICAgICAg
UVNpemVGIG1fc2l6ZTsKIAogICAgICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6Q2hyb21lQ2xp
ZW50UXQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBRV2ViUGFnZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCmluZGV4IDU2YjEz
Mjc1MzgxZmY1NDRiZTRmOTJjMWIyZmExNDhiYjM4NjJmZjYuLmNmZjRmMzM5NTRhNTM1Y2QzMzFi
NzAzMWM1ZTQzMjRlNDYwNWVhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcApAQCAtNzcsNyArNzcsNyBAQCBRVmFyaWFu
dCBRV2ViVmlld3BvcnRJbmZvOjppc1NjYWxhYmxlKCkgY29uc3QKIAogUVZhcmlhbnQgUVdlYlZp
ZXdwb3J0SW5mbzo6bGF5b3V0U2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFFTaXplKG1fd2Vi
Vmlld1ByaXZhdGUtPmF0dHJpYnV0ZXMubGF5b3V0U2l6ZSk7CisgICAgcmV0dXJuIFFTaXplRiht
X3dlYlZpZXdQcml2YXRlLT5hdHRyaWJ1dGVzLmxheW91dFNpemUpOwogfQogCiB2b2lkIFFXZWJW
aWV3cG9ydEluZm86OmRpZFVwZGF0ZUNvbnRlbnRzU2l6ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZjQxYzdlMDE1MGU5MDA2OTQxODI0
ZGI2MzNkZTIxOTYyMzRkNjMyYS4uMjRjNzNhMjk3OTE0NDdmMDdkY2ZiZWFlZDZkMjNhZjk4MDc3
ZGUzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtMzA0NSw3ICszMDQ1LDcgQEAgU3RyaW5nIFdlYlBhZ2U6OnZpZXdwb3J0Q29uZmlndXJh
dGlvbkFzVGV4dChpbnQgZGV2aWNlRFBJLCBpbnQgZGV2aWNlV2lkdGgsIGludAogICAgIFZpZXdw
b3J0QXR0cmlidXRlcyBhdHRycyA9IFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMo
YXJndW1lbnRzLCAvKiBkZWZhdWx0IGxheW91dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBwYWdlcyAq
LyA5ODAsIGRldmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgSW50U2l6ZShhdmFp
bGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5p
bXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShhdHRycywgSW50U2l6ZShhdmFpbGFibGVXaWR0
aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgV2ViQ29yZTo6cmVzdHJpY3RTY2FsZUZhY3RvclRv
SW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoYXR0cnMpOwotICAgIHJldHVybiBTdHJpbmc6
OmZvcm1hdCgidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVm
XSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCksIGF0dHJz
LmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11bVNj
YWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CisgICAgcmV0dXJu
IFN0cmluZzo6Zm9ybWF0KCJ2aWV3cG9ydCBzaXplICVmeCVmIHNjYWxlICVmIHdpdGggbGltaXRz
IFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIGF0dHJzLmxheW91dFNpemUud2lkdGgo
KSwgYXR0cnMubGF5b3V0U2l6ZS5oZWlnaHQoKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5t
aW5pbXVtU2NhbGUsIGF0dHJzLm1heGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0K
IAogdm9pZCBXZWJQYWdlOjpzZXRDb21wb3NpdGlvbkZvclRlc3RpbmcoY29uc3QgU3RyaW5nJiBj
b21wb3NpdGlvblN0cmluZywgdWludDY0X3QgZnJvbSwgdWludDY0X3QgbGVuZ3RoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139835</attachid>
            <date>2012-05-02 10:06:06 -0700</date>
            <delta_ts>2012-05-02 11:20:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120502130605.patch</filename>
            <type>text/plain</type>
            <size>7910</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAxYjE1OTA0YmIyNmEy
ZDY0NTQ2OWY5YzVkZDgxMTkzMDk1MGMwYy4uZjdmOTQxYTA3N2U5NGNhNjlmOWQyYzYxZWIzMjU0
MDMzOTI3YjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTAyICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAg
IE1ha2UgVmlld3BvcnRBdHRyaWJ1dGVzJyBsYXlvdXRTaXplIGJlIGEgRmxvYXRSZWN0IHRvIGF2
b2lkIHJvdW5kaW5nCisgICAgICAgIHRvbyBlYXJseSwgYW5kIHRoZSBvY2Nhc2lvbmFsIG9mZiBi
eSBvbmUgZml4ZWQgbGF5b3V0IGRpbWVuc2lvbnMuCisKKyAgICAgICAgKiBkb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRl
cyk6CisgICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmg6CisgICAgICAgIChWaWV3cG9y
dEF0dHJpYnV0ZXMpOgorCiAyMDEyLTA0LTMwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggdGVzdCBjcmFzaGVzIGluIFdpbi9M
aW51eCBkZWJ1ZyBidWlsZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGI2MWQzYTM3ZmE4M2JjYThlZTA2
NjA0YjlhZjU1NDcwNTU5MWY4ZjEuLjY4YmRkYzdmODQ2ZjNmM2YzZTRhYmM4M2QyY2E1YzYzY2Zm
MzU4ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMDIgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxl
IGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAg
KiBBcGkvcXdlYnBhZ2UuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmlld3Bv
cnRBc1RleHQpOgorCiAyMDEyLTA0LTI3ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5q
ZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIE1vdmUgV2ViS2l0MSBzcGVjaWZpYyBjb252ZXJz
aW9uIG9mIHRvdWNoLWV2ZW50cyB0byBXZWJLaXQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDAyMDc4MDM4Y2Vi
OTY2YzgyMDA0MWEyMjJmZDhkODQyY2U5NmViNi4uMGQzMmVjMDAwZWRiM2UwNDM0NGMyY2Q5MTYx
ODhlM2U1MTdiMzExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTAyICBG
YWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxp
bmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBz
Y2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcDoKKyAgICAgICAgKFFX
ZWJWaWV3cG9ydEluZm86OmxheW91dFNpemUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1
cmF0aW9uQXNUZXh0KToKKwogMjAxMi0wNC0zMCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBWYWxpZGF0ZSBrZXlwcmVzcyBjb21tYW5kIG5hbWVzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCBjMTMxZmNjMDk1MWVjYWQ2
MTNhNDhhZTUzN2U4YmIyYzFmZDMwYzAzLi4wZjMyOWFjMzE2ZjM0NDQzMjZkMGFmMjg2M2VhZThj
OTZhMjdlY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVu
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKQEAg
LTE3Nyw4ICsxNzcsOCBAQCBWaWV3cG9ydEF0dHJpYnV0ZXMgY29tcHV0ZVZpZXdwb3J0QXR0cmli
dXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBhcmdzLCBpbnQgZGVza3RvcAogICAgIC8vIEV4dGVuZCB3
aWR0aCBhbmQgaGVpZ2h0IHRvIGZpbGwgdGhlIHZpc3VhbCB2aWV3cG9ydCBmb3IgdGhlIHJlc29s
dmVkIGluaXRpYWwtc2NhbGUuCiAgICAgd2lkdGggPSBtYXg8ZmxvYXQ+KHdpZHRoLCBhdmFpbGFi
bGVXaWR0aCAvIHJlc3VsdC5pbml0aWFsU2NhbGUpOwogICAgIGhlaWdodCA9IG1heDxmbG9hdD4o
aGVpZ2h0LCBhdmFpbGFibGVIZWlnaHQgLyByZXN1bHQuaW5pdGlhbFNjYWxlKTsKLSAgICByZXN1
bHQubGF5b3V0U2l6ZS5zZXRXaWR0aChzdGF0aWNfY2FzdDxpbnQ+KHJvdW5kZih3aWR0aCkpKTsK
LSAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYo
aGVpZ2h0KSkpOworICAgIHJlc3VsdC5sYXlvdXRTaXplLnNldFdpZHRoKHdpZHRoKTsKKyAgICBy
ZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoaGVpZ2h0KTsKIAogICAgIHJlc3VsdC51c2VyU2Nh
bGFibGUgPSBhcmdzLnVzZXJTY2FsYWJsZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1
bWVudHMuaAppbmRleCA1OWI0MWRlZDFmZDQ3ZjYyN2ViYmEyMzFiZTc4NDQ3NjFiNGI3MjQ3Li43
OTY1MWQyNWIyMzIzZjliZmI4ZWI5YzgwYzE3ODIyYzI0ODg1YjI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVmlld3BvcnRBcmd1bWVudHMuaApAQCAtMjcsNyArMjcsNyBAQAogI2lmbmRlZiBWaWV3cG9y
dEFyZ3VtZW50c19oCiAjZGVmaW5lIFZpZXdwb3J0QXJndW1lbnRzX2gKIAotI2luY2x1ZGUgIklu
dFNpemUuaCIKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Myw3ICs0Myw3IEBAIGVudW0gVmlld3BvcnRF
cnJvckNvZGUgewogfTsKIAogc3RydWN0IFZpZXdwb3J0QXR0cmlidXRlcyB7Ci0gICAgSW50U2l6
ZSBsYXlvdXRTaXplOworICAgIEZsb2F0U2l6ZSBsYXlvdXRTaXplOwogCiAgICAgZmxvYXQgZGV2
aWNlUGl4ZWxSYXRpbzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuaCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggZmQyZmQ0YjNiZWRi
Yjc2MTNiMzUwYTk3MzBkYWZmNTMyYzQxMjllOS4uMGJmMzVlMjQ3MWYxY2MzYmQ0NDdjMTNjYjBm
ODg4YTUyZjRkNGExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0yMzIsNyArMjMyLDcg
QEAgcHVibGljOgogICAgICAgICBpbmxpbmUgcXJlYWwgZGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0
IHsgcmV0dXJuIG1fZGV2aWNlUGl4ZWxSYXRpbzsgfQogICAgICAgICBpbmxpbmUgYm9vbCBpc1Vz
ZXJTY2FsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyU2NhbGFibGU7IH0KICAgICAgICAg
aW5saW5lIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQotICAgICAg
ICBpbmxpbmUgUVNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgICAgICBp
bmxpbmUgUVNpemVGIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KIAogICAgIHByaXZh
dGU6CiAgICAgICAgIFFTaGFyZWREYXRhUG9pbnRlcjxRdFZpZXdwb3J0QXR0cmlidXRlc1ByaXZh
dGU+IGQ7CkBAIC0yNDIsNyArMjQyLDcgQEAgcHVibGljOgogICAgICAgICBxcmVhbCBtX2Rldmlj
ZVBpeGVsUmF0aW87CiAgICAgICAgIGJvb2wgbV9pc1VzZXJTY2FsYWJsZTsKICAgICAgICAgYm9v
bCBtX2lzVmFsaWQ7Ci0gICAgICAgIFFTaXplIG1fc2l6ZTsKKyAgICAgICAgUVNpemVGIG1fc2l6
ZTsKIAogICAgICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ7CiAgICAg
ICAgIGZyaWVuZCBjbGFzcyBRV2ViUGFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggNjNm
NzdkNjgyMjBiYWUyNDNiNzk2MDNiY2I0MGU3ZDZlMDhlMTUwMy4uZjRmNDJiYzdiN2FiMmNkNTRl
ODZmNWU4NDgxMGQ5YzZhNmUzZjU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTgxMCw3
ICs4MTAsNyBAQCBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4
dChRV2ViUGFnZSogcGFnZSwgaW50IGRldmljZURQSSwgYwogICAgIFdlYkNvcmU6OnJlc3RyaWN0
U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAg
UVN0cmluZyByZXM7Ci0gICAgcmVzID0gcmVzLnNwcmludGYoInZpZXdwb3J0IHNpemUgJWR4JWQg
c2NhbGUgJWYgd2l0aCBsaW1pdHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwKKyAg
ICByZXMgPSByZXMuc3ByaW50Zigidmlld3BvcnQgc2l6ZSAlZnglZiBzY2FsZSAlZiB3aXRoIGxp
bWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLAogICAgICAgICAgICAgY29uZi5s
YXlvdXRTaXplLndpZHRoKCksCiAgICAgICAgICAgICBjb25mLmxheW91dFNpemUuaGVpZ2h0KCks
CiAgICAgICAgICAgICBjb25mLmluaXRpYWxTY2FsZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCmluZGV4IDU2YjEzMjc1Mzgx
ZmY1NDRiZTRmOTJjMWIyZmExNDhiYjM4NjJmZjYuLmNmZjRmMzM5NTRhNTM1Y2QzMzFiNzAzMWM1
ZTQzMjRlNDYwNWVhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcApAQCAtNzcsNyArNzcsNyBAQCBRVmFyaWFudCBRV2Vi
Vmlld3BvcnRJbmZvOjppc1NjYWxhYmxlKCkgY29uc3QKIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0
SW5mbzo6bGF5b3V0U2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFFTaXplKG1fd2ViVmlld1By
aXZhdGUtPmF0dHJpYnV0ZXMubGF5b3V0U2l6ZSk7CisgICAgcmV0dXJuIFFTaXplRihtX3dlYlZp
ZXdQcml2YXRlLT5hdHRyaWJ1dGVzLmxheW91dFNpemUpOwogfQogCiB2b2lkIFFXZWJWaWV3cG9y
dEluZm86OmRpZFVwZGF0ZUNvbnRlbnRzU2l6ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZjQxYzdlMDE1MGU5MDA2OTQxODI0ZGI2MzNk
ZTIxOTYyMzRkNjMyYS4uMjRjNzNhMjk3OTE0NDdmMDdkY2ZiZWFlZDZkMjNhZjk4MDc3ZGUzOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
MzA0NSw3ICszMDQ1LDcgQEAgU3RyaW5nIFdlYlBhZ2U6OnZpZXdwb3J0Q29uZmlndXJhdGlvbkFz
VGV4dChpbnQgZGV2aWNlRFBJLCBpbnQgZGV2aWNlV2lkdGgsIGludAogICAgIFZpZXdwb3J0QXR0
cmlidXRlcyBhdHRycyA9IFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoYXJndW1l
bnRzLCAvKiBkZWZhdWx0IGxheW91dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBwYWdlcyAqLyA5ODAs
IGRldmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgSW50U2l6ZShhdmFpbGFibGVX
aWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5pbXVtU2Nh
bGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShhdHRycywgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZh
aWxhYmxlSGVpZ2h0KSk7CiAgICAgV2ViQ29yZTo6cmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlh
bFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoYXR0cnMpOwotICAgIHJldHVybiBTdHJpbmc6OmZvcm1h
dCgidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQg
dXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCksIGF0dHJzLmxheW91
dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBh
dHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CisgICAgcmV0dXJuIFN0cmlu
Zzo6Zm9ybWF0KCJ2aWV3cG9ydCBzaXplICVmeCVmIHNjYWxlICVmIHdpdGggbGltaXRzIFslZiwg
JWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIGF0dHJzLmxheW91dFNpemUud2lkdGgoKSwgYXR0
cnMubGF5b3V0U2l6ZS5oZWlnaHQoKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVt
U2NhbGUsIGF0dHJzLm1heGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAogdm9p
ZCBXZWJQYWdlOjpzZXRDb21wb3NpdGlvbkZvclRlc3RpbmcoY29uc3QgU3RyaW5nJiBjb21wb3Np
dGlvblN0cmluZywgdWludDY0X3QgZnJvbSwgdWludDY0X3QgbGVuZ3RoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139842</attachid>
            <date>2012-05-02 11:20:13 -0700</date>
            <delta_ts>2012-05-02 12:09:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120502142012.patch</filename>
            <type>text/plain</type>
            <size>7910</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAxYjE1OTA0YmIyNmEy
ZDY0NTQ2OWY5YzVkZDgxMTkzMDk1MGMwYy4uZjdmOTQxYTA3N2U5NGNhNjlmOWQyYzYxZWIzMjU0
MDMzOTI3YjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTAyICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAg
IE1ha2UgVmlld3BvcnRBdHRyaWJ1dGVzJyBsYXlvdXRTaXplIGJlIGEgRmxvYXRSZWN0IHRvIGF2
b2lkIHJvdW5kaW5nCisgICAgICAgIHRvbyBlYXJseSwgYW5kIHRoZSBvY2Nhc2lvbmFsIG9mZiBi
eSBvbmUgZml4ZWQgbGF5b3V0IGRpbWVuc2lvbnMuCisKKyAgICAgICAgKiBkb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRl
cyk6CisgICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmg6CisgICAgICAgIChWaWV3cG9y
dEF0dHJpYnV0ZXMpOgorCiAyMDEyLTA0LTMwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggdGVzdCBjcmFzaGVzIGluIFdpbi9M
aW51eCBkZWJ1ZyBidWlsZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGI2MWQzYTM3ZmE4M2JjYThlZTA2
NjA0YjlhZjU1NDcwNTU5MWY4ZjEuLjY4YmRkYzdmODQ2ZjNmM2YzZTRhYmM4M2QyY2E1YzYzY2Zm
MzU4ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMDIgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxl
IGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAg
KiBBcGkvcXdlYnBhZ2UuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmlld3Bv
cnRBc1RleHQpOgorCiAyMDEyLTA0LTI3ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5q
ZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIE1vdmUgV2ViS2l0MSBzcGVjaWZpYyBjb252ZXJz
aW9uIG9mIHRvdWNoLWV2ZW50cyB0byBXZWJLaXQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDAyMDc4MDM4Y2Vi
OTY2YzgyMDA0MWEyMjJmZDhkODQyY2U5NmViNi4uMGQzMmVjMDAwZWRiM2UwNDM0NGMyY2Q5MTYx
ODhlM2U1MTdiMzExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTAyICBG
YWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxp
bmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBz
Y2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcDoKKyAgICAgICAgKFFX
ZWJWaWV3cG9ydEluZm86OmxheW91dFNpemUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1
cmF0aW9uQXNUZXh0KToKKwogMjAxMi0wNC0zMCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBWYWxpZGF0ZSBrZXlwcmVzcyBjb21tYW5kIG5hbWVzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCBjMTMxZmNjMDk1MWVjYWQ2
MTNhNDhhZTUzN2U4YmIyYzFmZDMwYzAzLi4wZjMyOWFjMzE2ZjM0NDQzMjZkMGFmMjg2M2VhZThj
OTZhMjdlY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVu
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKQEAg
LTE3Nyw4ICsxNzcsOCBAQCBWaWV3cG9ydEF0dHJpYnV0ZXMgY29tcHV0ZVZpZXdwb3J0QXR0cmli
dXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBhcmdzLCBpbnQgZGVza3RvcAogICAgIC8vIEV4dGVuZCB3
aWR0aCBhbmQgaGVpZ2h0IHRvIGZpbGwgdGhlIHZpc3VhbCB2aWV3cG9ydCBmb3IgdGhlIHJlc29s
dmVkIGluaXRpYWwtc2NhbGUuCiAgICAgd2lkdGggPSBtYXg8ZmxvYXQ+KHdpZHRoLCBhdmFpbGFi
bGVXaWR0aCAvIHJlc3VsdC5pbml0aWFsU2NhbGUpOwogICAgIGhlaWdodCA9IG1heDxmbG9hdD4o
aGVpZ2h0LCBhdmFpbGFibGVIZWlnaHQgLyByZXN1bHQuaW5pdGlhbFNjYWxlKTsKLSAgICByZXN1
bHQubGF5b3V0U2l6ZS5zZXRXaWR0aChzdGF0aWNfY2FzdDxpbnQ+KHJvdW5kZih3aWR0aCkpKTsK
LSAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYo
aGVpZ2h0KSkpOworICAgIHJlc3VsdC5sYXlvdXRTaXplLnNldFdpZHRoKHdpZHRoKTsKKyAgICBy
ZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoaGVpZ2h0KTsKIAogICAgIHJlc3VsdC51c2VyU2Nh
bGFibGUgPSBhcmdzLnVzZXJTY2FsYWJsZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1
bWVudHMuaAppbmRleCA1OWI0MWRlZDFmZDQ3ZjYyN2ViYmEyMzFiZTc4NDQ3NjFiNGI3MjQ3Li43
OTY1MWQyNWIyMzIzZjliZmI4ZWI5YzgwYzE3ODIyYzI0ODg1YjI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVmlld3BvcnRBcmd1bWVudHMuaApAQCAtMjcsNyArMjcsNyBAQAogI2lmbmRlZiBWaWV3cG9y
dEFyZ3VtZW50c19oCiAjZGVmaW5lIFZpZXdwb3J0QXJndW1lbnRzX2gKIAotI2luY2x1ZGUgIklu
dFNpemUuaCIKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Myw3ICs0Myw3IEBAIGVudW0gVmlld3BvcnRF
cnJvckNvZGUgewogfTsKIAogc3RydWN0IFZpZXdwb3J0QXR0cmlidXRlcyB7Ci0gICAgSW50U2l6
ZSBsYXlvdXRTaXplOworICAgIEZsb2F0U2l6ZSBsYXlvdXRTaXplOwogCiAgICAgZmxvYXQgZGV2
aWNlUGl4ZWxSYXRpbzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuaCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggZmQyZmQ0YjNiZWRi
Yjc2MTNiMzUwYTk3MzBkYWZmNTMyYzQxMjllOS4uMGJmMzVlMjQ3MWYxY2MzYmQ0NDdjMTNjYjBm
ODg4YTUyZjRkNGExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0yMzIsNyArMjMyLDcg
QEAgcHVibGljOgogICAgICAgICBpbmxpbmUgcXJlYWwgZGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0
IHsgcmV0dXJuIG1fZGV2aWNlUGl4ZWxSYXRpbzsgfQogICAgICAgICBpbmxpbmUgYm9vbCBpc1Vz
ZXJTY2FsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyU2NhbGFibGU7IH0KICAgICAgICAg
aW5saW5lIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQotICAgICAg
ICBpbmxpbmUgUVNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgICAgICBp
bmxpbmUgUVNpemVGIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KIAogICAgIHByaXZh
dGU6CiAgICAgICAgIFFTaGFyZWREYXRhUG9pbnRlcjxRdFZpZXdwb3J0QXR0cmlidXRlc1ByaXZh
dGU+IGQ7CkBAIC0yNDIsNyArMjQyLDcgQEAgcHVibGljOgogICAgICAgICBxcmVhbCBtX2Rldmlj
ZVBpeGVsUmF0aW87CiAgICAgICAgIGJvb2wgbV9pc1VzZXJTY2FsYWJsZTsKICAgICAgICAgYm9v
bCBtX2lzVmFsaWQ7Ci0gICAgICAgIFFTaXplIG1fc2l6ZTsKKyAgICAgICAgUVNpemVGIG1fc2l6
ZTsKIAogICAgICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ7CiAgICAg
ICAgIGZyaWVuZCBjbGFzcyBRV2ViUGFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggNjNm
NzdkNjgyMjBiYWUyNDNiNzk2MDNiY2I0MGU3ZDZlMDhlMTUwMy4uZjRmNDJiYzdiN2FiMmNkNTRl
ODZmNWU4NDgxMGQ5YzZhNmUzZjU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTgxMCw3
ICs4MTAsNyBAQCBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4
dChRV2ViUGFnZSogcGFnZSwgaW50IGRldmljZURQSSwgYwogICAgIFdlYkNvcmU6OnJlc3RyaWN0
U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAg
UVN0cmluZyByZXM7Ci0gICAgcmVzID0gcmVzLnNwcmludGYoInZpZXdwb3J0IHNpemUgJWR4JWQg
c2NhbGUgJWYgd2l0aCBsaW1pdHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwKKyAg
ICByZXMgPSByZXMuc3ByaW50Zigidmlld3BvcnQgc2l6ZSAlZnglZiBzY2FsZSAlZiB3aXRoIGxp
bWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLAogICAgICAgICAgICAgY29uZi5s
YXlvdXRTaXplLndpZHRoKCksCiAgICAgICAgICAgICBjb25mLmxheW91dFNpemUuaGVpZ2h0KCks
CiAgICAgICAgICAgICBjb25mLmluaXRpYWxTY2FsZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCmluZGV4IDU2YjEzMjc1Mzgx
ZmY1NDRiZTRmOTJjMWIyZmExNDhiYjM4NjJmZjYuLmNmZjRmMzM5NTRhNTM1Y2QzMzFiNzAzMWM1
ZTQzMjRlNDYwNWVhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcApAQCAtNzcsNyArNzcsNyBAQCBRVmFyaWFudCBRV2Vi
Vmlld3BvcnRJbmZvOjppc1NjYWxhYmxlKCkgY29uc3QKIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0
SW5mbzo6bGF5b3V0U2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFFTaXplKG1fd2ViVmlld1By
aXZhdGUtPmF0dHJpYnV0ZXMubGF5b3V0U2l6ZSk7CisgICAgcmV0dXJuIFFTaXplRihtX3dlYlZp
ZXdQcml2YXRlLT5hdHRyaWJ1dGVzLmxheW91dFNpemUpOwogfQogCiB2b2lkIFFXZWJWaWV3cG9y
dEluZm86OmRpZFVwZGF0ZUNvbnRlbnRzU2l6ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZjQxYzdlMDE1MGU5MDA2OTQxODI0ZGI2MzNk
ZTIxOTYyMzRkNjMyYS4uMjRjNzNhMjk3OTE0NDdmMDdkY2ZiZWFlZDZkMjNhZjk4MDc3ZGUzOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
MzA0NSw3ICszMDQ1LDcgQEAgU3RyaW5nIFdlYlBhZ2U6OnZpZXdwb3J0Q29uZmlndXJhdGlvbkFz
VGV4dChpbnQgZGV2aWNlRFBJLCBpbnQgZGV2aWNlV2lkdGgsIGludAogICAgIFZpZXdwb3J0QXR0
cmlidXRlcyBhdHRycyA9IFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoYXJndW1l
bnRzLCAvKiBkZWZhdWx0IGxheW91dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBwYWdlcyAqLyA5ODAs
IGRldmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgSW50U2l6ZShhdmFpbGFibGVX
aWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgV2ViQ29yZTo6cmVzdHJpY3RNaW5pbXVtU2Nh
bGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShhdHRycywgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZh
aWxhYmxlSGVpZ2h0KSk7CiAgICAgV2ViQ29yZTo6cmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlh
bFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoYXR0cnMpOwotICAgIHJldHVybiBTdHJpbmc6OmZvcm1h
dCgidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQg
dXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCksIGF0dHJzLmxheW91
dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBh
dHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CisgICAgcmV0dXJuIFN0cmlu
Zzo6Zm9ybWF0KCJ2aWV3cG9ydCBzaXplICVmeCVmIHNjYWxlICVmIHdpdGggbGltaXRzIFslZiwg
JWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIGF0dHJzLmxheW91dFNpemUud2lkdGgoKSwgYXR0
cnMubGF5b3V0U2l6ZS5oZWlnaHQoKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVt
U2NhbGUsIGF0dHJzLm1heGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAogdm9p
ZCBXZWJQYWdlOjpzZXRDb21wb3NpdGlvbkZvclRlc3RpbmcoY29uc3QgU3RyaW5nJiBjb21wb3Np
dGlvblN0cmluZywgdWludDY0X3QgZnJvbSwgdWludDY0X3QgbGVuZ3RoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139855</attachid>
            <date>2012-05-02 12:09:56 -0700</date>
            <delta_ts>2012-05-02 13:41:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120502150955.patch</filename>
            <type>text/plain</type>
            <size>7968</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAxYjE1OTA0YmIyNmEy
ZDY0NTQ2OWY5YzVkZDgxMTkzMDk1MGMwYy4uZjdmOTQxYTA3N2U5NGNhNjlmOWQyYzYxZWIzMjU0
MDMzOTI3YjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTAyICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAg
IE1ha2UgVmlld3BvcnRBdHRyaWJ1dGVzJyBsYXlvdXRTaXplIGJlIGEgRmxvYXRSZWN0IHRvIGF2
b2lkIHJvdW5kaW5nCisgICAgICAgIHRvbyBlYXJseSwgYW5kIHRoZSBvY2Nhc2lvbmFsIG9mZiBi
eSBvbmUgZml4ZWQgbGF5b3V0IGRpbWVuc2lvbnMuCisKKyAgICAgICAgKiBkb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRl
cyk6CisgICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmg6CisgICAgICAgIChWaWV3cG9y
dEF0dHJpYnV0ZXMpOgorCiAyMDEyLTA0LTMwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggdGVzdCBjcmFzaGVzIGluIFdpbi9M
aW51eCBkZWJ1ZyBidWlsZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGI2MWQzYTM3ZmE4M2JjYThlZTA2
NjA0YjlhZjU1NDcwNTU5MWY4ZjEuLjY4YmRkYzdmODQ2ZjNmM2YzZTRhYmM4M2QyY2E1YzYzY2Zm
MzU4ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMDIgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxl
IGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAg
KiBBcGkvcXdlYnBhZ2UuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmlld3Bv
cnRBc1RleHQpOgorCiAyMDEyLTA0LTI3ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5q
ZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIE1vdmUgV2ViS2l0MSBzcGVjaWZpYyBjb252ZXJz
aW9uIG9mIHRvdWNoLWV2ZW50cyB0byBXZWJLaXQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDAyMDc4MDM4Y2Vi
OTY2YzgyMDA0MWEyMjJmZDhkODQyY2U5NmViNi4uMGQzMmVjMDAwZWRiM2UwNDM0NGMyY2Q5MTYx
ODhlM2U1MTdiMzExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTAyICBG
YWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxp
bmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBz
Y2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcDoKKyAgICAgICAgKFFX
ZWJWaWV3cG9ydEluZm86OmxheW91dFNpemUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1
cmF0aW9uQXNUZXh0KToKKwogMjAxMi0wNC0zMCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBWYWxpZGF0ZSBrZXlwcmVzcyBjb21tYW5kIG5hbWVzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCBjMTMxZmNjMDk1MWVjYWQ2
MTNhNDhhZTUzN2U4YmIyYzFmZDMwYzAzLi4wZjMyOWFjMzE2ZjM0NDQzMjZkMGFmMjg2M2VhZThj
OTZhMjdlY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVu
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKQEAg
LTE3Nyw4ICsxNzcsOCBAQCBWaWV3cG9ydEF0dHJpYnV0ZXMgY29tcHV0ZVZpZXdwb3J0QXR0cmli
dXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBhcmdzLCBpbnQgZGVza3RvcAogICAgIC8vIEV4dGVuZCB3
aWR0aCBhbmQgaGVpZ2h0IHRvIGZpbGwgdGhlIHZpc3VhbCB2aWV3cG9ydCBmb3IgdGhlIHJlc29s
dmVkIGluaXRpYWwtc2NhbGUuCiAgICAgd2lkdGggPSBtYXg8ZmxvYXQ+KHdpZHRoLCBhdmFpbGFi
bGVXaWR0aCAvIHJlc3VsdC5pbml0aWFsU2NhbGUpOwogICAgIGhlaWdodCA9IG1heDxmbG9hdD4o
aGVpZ2h0LCBhdmFpbGFibGVIZWlnaHQgLyByZXN1bHQuaW5pdGlhbFNjYWxlKTsKLSAgICByZXN1
bHQubGF5b3V0U2l6ZS5zZXRXaWR0aChzdGF0aWNfY2FzdDxpbnQ+KHJvdW5kZih3aWR0aCkpKTsK
LSAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYo
aGVpZ2h0KSkpOworICAgIHJlc3VsdC5sYXlvdXRTaXplLnNldFdpZHRoKHdpZHRoKTsKKyAgICBy
ZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoaGVpZ2h0KTsKIAogICAgIHJlc3VsdC51c2VyU2Nh
bGFibGUgPSBhcmdzLnVzZXJTY2FsYWJsZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1
bWVudHMuaAppbmRleCA1OWI0MWRlZDFmZDQ3ZjYyN2ViYmEyMzFiZTc4NDQ3NjFiNGI3MjQ3Li43
OTY1MWQyNWIyMzIzZjliZmI4ZWI5YzgwYzE3ODIyYzI0ODg1YjI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVmlld3BvcnRBcmd1bWVudHMuaApAQCAtMjcsNyArMjcsNyBAQAogI2lmbmRlZiBWaWV3cG9y
dEFyZ3VtZW50c19oCiAjZGVmaW5lIFZpZXdwb3J0QXJndW1lbnRzX2gKIAotI2luY2x1ZGUgIklu
dFNpemUuaCIKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Myw3ICs0Myw3IEBAIGVudW0gVmlld3BvcnRF
cnJvckNvZGUgewogfTsKIAogc3RydWN0IFZpZXdwb3J0QXR0cmlidXRlcyB7Ci0gICAgSW50U2l6
ZSBsYXlvdXRTaXplOworICAgIEZsb2F0U2l6ZSBsYXlvdXRTaXplOwogCiAgICAgZmxvYXQgZGV2
aWNlUGl4ZWxSYXRpbzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuaCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggZmQyZmQ0YjNiZWRi
Yjc2MTNiMzUwYTk3MzBkYWZmNTMyYzQxMjllOS4uMGJmMzVlMjQ3MWYxY2MzYmQ0NDdjMTNjYjBm
ODg4YTUyZjRkNGExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0yMzIsNyArMjMyLDcg
QEAgcHVibGljOgogICAgICAgICBpbmxpbmUgcXJlYWwgZGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0
IHsgcmV0dXJuIG1fZGV2aWNlUGl4ZWxSYXRpbzsgfQogICAgICAgICBpbmxpbmUgYm9vbCBpc1Vz
ZXJTY2FsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyU2NhbGFibGU7IH0KICAgICAgICAg
aW5saW5lIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQotICAgICAg
ICBpbmxpbmUgUVNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgICAgICBp
bmxpbmUgUVNpemVGIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KIAogICAgIHByaXZh
dGU6CiAgICAgICAgIFFTaGFyZWREYXRhUG9pbnRlcjxRdFZpZXdwb3J0QXR0cmlidXRlc1ByaXZh
dGU+IGQ7CkBAIC0yNDIsNyArMjQyLDcgQEAgcHVibGljOgogICAgICAgICBxcmVhbCBtX2Rldmlj
ZVBpeGVsUmF0aW87CiAgICAgICAgIGJvb2wgbV9pc1VzZXJTY2FsYWJsZTsKICAgICAgICAgYm9v
bCBtX2lzVmFsaWQ7Ci0gICAgICAgIFFTaXplIG1fc2l6ZTsKKyAgICAgICAgUVNpemVGIG1fc2l6
ZTsKIAogICAgICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ7CiAgICAg
ICAgIGZyaWVuZCBjbGFzcyBRV2ViUGFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggNjNm
NzdkNjgyMjBiYWUyNDNiNzk2MDNiY2I0MGU3ZDZlMDhlMTUwMy4uZjRmNDJiYzdiN2FiMmNkNTRl
ODZmNWU4NDgxMGQ5YzZhNmUzZjU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTgxMCw3
ICs4MTAsNyBAQCBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4
dChRV2ViUGFnZSogcGFnZSwgaW50IGRldmljZURQSSwgYwogICAgIFdlYkNvcmU6OnJlc3RyaWN0
U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAg
UVN0cmluZyByZXM7Ci0gICAgcmVzID0gcmVzLnNwcmludGYoInZpZXdwb3J0IHNpemUgJWR4JWQg
c2NhbGUgJWYgd2l0aCBsaW1pdHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwKKyAg
ICByZXMgPSByZXMuc3ByaW50Zigidmlld3BvcnQgc2l6ZSAlZnglZiBzY2FsZSAlZiB3aXRoIGxp
bWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLAogICAgICAgICAgICAgY29uZi5s
YXlvdXRTaXplLndpZHRoKCksCiAgICAgICAgICAgICBjb25mLmxheW91dFNpemUuaGVpZ2h0KCks
CiAgICAgICAgICAgICBjb25mLmluaXRpYWxTY2FsZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCmluZGV4IDU2YjEzMjc1Mzgx
ZmY1NDRiZTRmOTJjMWIyZmExNDhiYjM4NjJmZjYuLjE3MDYwNGQxZGZjNTAwZDFjNGNmYmMzNWU5
Zjk5NWZjMzcxM2E5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcApAQCAtNzcsNyArNzcsNyBAQCBRVmFyaWFudCBRV2Vi
Vmlld3BvcnRJbmZvOjppc1NjYWxhYmxlKCkgY29uc3QKIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0
SW5mbzo6bGF5b3V0U2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFFTaXplKG1fd2ViVmlld1By
aXZhdGUtPmF0dHJpYnV0ZXMubGF5b3V0U2l6ZSk7CisgICAgcmV0dXJuIFFTaXplRihtX3dlYlZp
ZXdQcml2YXRlLT5hdHRyaWJ1dGVzLmxheW91dFNpemUud2lkdGgoKSwgbV93ZWJWaWV3UHJpdmF0
ZS0+YXR0cmlidXRlcy5sYXlvdXRTaXplLmhlaWdodCgpKTsKIH0KIAogdm9pZCBRV2ViVmlld3Bv
cnRJbmZvOjpkaWRVcGRhdGVDb250ZW50c1NpemUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGY0MWM3ZTAxNTBlOTAwNjk0MTgyNGRiNjMz
ZGUyMTk2MjM0ZDYzMmEuLjI0YzczYTI5NzkxNDQ3ZjA3ZGNmYmVhZWQ2ZDIzYWY5ODA3N2RlMzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTMwNDUsNyArMzA0NSw3IEBAIFN0cmluZyBXZWJQYWdlOjp2aWV3cG9ydENvbmZpZ3VyYXRpb25B
c1RleHQoaW50IGRldmljZURQSSwgaW50IGRldmljZVdpZHRoLCBpbnQKICAgICBWaWV3cG9ydEF0
dHJpYnV0ZXMgYXR0cnMgPSBXZWJDb3JlOjpjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKGFyZ3Vt
ZW50cywgLyogZGVmYXVsdCBsYXlvdXQgd2lkdGggZm9yIG5vbi1tb2JpbGUgcGFnZXMgKi8gOTgw
LCBkZXZpY2VXaWR0aCwgZGV2aWNlSGVpZ2h0LCBkZXZpY2VEUEksIEludFNpemUoYXZhaWxhYmxl
V2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwogICAgIFdlYkNvcmU6OnJlc3RyaWN0TWluaW11bVNj
YWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoYXR0cnMsIEludFNpemUoYXZhaWxhYmxlV2lkdGgsIGF2
YWlsYWJsZUhlaWdodCkpOwogICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRp
YWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGF0dHJzKTsKLSAgICByZXR1cm4gU3RyaW5nOjpmb3Jt
YXQoInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYgd2l0aCBsaW1pdHMgWyVmLCAlZl0gYW5k
IHVzZXJTY2FsYWJsZSAlZlxuIiwgYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgpLCBhdHRycy5sYXlv
dXRTaXplLmhlaWdodCgpLCBhdHRycy5pbml0aWFsU2NhbGUsIGF0dHJzLm1pbmltdW1TY2FsZSwg
YXR0cnMubWF4aW11bVNjYWxlLCBhdHRycy51c2VyU2NhbGFibGUpOworICAgIHJldHVybiBTdHJp
bmc6OmZvcm1hdCgidmlld3BvcnQgc2l6ZSAlZnglZiBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYs
ICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCksIGF0
dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11
bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CiB9CiAKIHZv
aWQgV2ViUGFnZTo6c2V0Q29tcG9zaXRpb25Gb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgY29tcG9z
aXRpb25TdHJpbmcsIHVpbnQ2NF90IGZyb20sIHVpbnQ2NF90IGxlbmd0aCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139873</attachid>
            <date>2012-05-02 13:42:17 -0700</date>
            <delta_ts>2012-05-03 08:17:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120502164216.patch</filename>
            <type>text/plain</type>
            <size>9261</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAxYjE1OTA0YmIyNmEy
ZDY0NTQ2OWY5YzVkZDgxMTkzMDk1MGMwYy4uZjdmOTQxYTA3N2U5NGNhNjlmOWQyYzYxZWIzMjU0
MDMzOTI3YjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTAyICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAg
IE1ha2UgVmlld3BvcnRBdHRyaWJ1dGVzJyBsYXlvdXRTaXplIGJlIGEgRmxvYXRSZWN0IHRvIGF2
b2lkIHJvdW5kaW5nCisgICAgICAgIHRvbyBlYXJseSwgYW5kIHRoZSBvY2Nhc2lvbmFsIG9mZiBi
eSBvbmUgZml4ZWQgbGF5b3V0IGRpbWVuc2lvbnMuCisKKyAgICAgICAgKiBkb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVZpZXdwb3J0QXR0cmlidXRl
cyk6CisgICAgICAgICogZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmg6CisgICAgICAgIChWaWV3cG9y
dEF0dHJpYnV0ZXMpOgorCiAyMDEyLTA0LTMwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggdGVzdCBjcmFzaGVzIGluIFdpbi9M
aW51eCBkZWJ1ZyBidWlsZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGI2MWQzYTM3ZmE4M2JjYThlZTA2
NjA0YjlhZjU1NDcwNTU5MWY4ZjEuLjY4YmRkYzdmODQ2ZjNmM2YzZTRhYmM4M2QyY2E1YzYzY2Zm
MzU4ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMDIgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBp
biBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxl
IGZhY3RvciB0byBuZXZlciBhbGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAg
KiBBcGkvcXdlYnBhZ2UuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmlld3Bv
cnRBc1RleHQpOgorCiAyMDEyLTA0LTI3ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5q
ZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIE1vdmUgV2ViS2l0MSBzcGVjaWZpYyBjb252ZXJz
aW9uIG9mIHRvdWNoLWV2ZW50cyB0byBXZWJLaXQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDAyMDc4MDM4Y2Vi
OTY2YzgyMDA0MWEyMjJmZDhkODQyY2U5NmViNi4uMGQzMmVjMDAwZWRiM2UwNDM0NGMyY2Q5MTYx
ODhlM2U1MTdiMzExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTAyICBG
YWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxp
bmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBz
Y2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQor
CisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcDoKKyAgICAgICAgKFFX
ZWJWaWV3cG9ydEluZm86OmxheW91dFNpemUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1
cmF0aW9uQXNUZXh0KToKKwogMjAxMi0wNC0zMCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KIAogICAgICAgICBWYWxpZGF0ZSBrZXlwcmVzcyBjb21tYW5kIG5hbWVzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAppbmRleCBjMTMxZmNjMDk1MWVjYWQ2
MTNhNDhhZTUzN2U4YmIyYzFmZDMwYzAzLi4wZjMyOWFjMzE2ZjM0NDQzMjZkMGFmMjg2M2VhZThj
OTZhMjdlY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVu
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKQEAg
LTE3Nyw4ICsxNzcsOCBAQCBWaWV3cG9ydEF0dHJpYnV0ZXMgY29tcHV0ZVZpZXdwb3J0QXR0cmli
dXRlcyhWaWV3cG9ydEFyZ3VtZW50cyBhcmdzLCBpbnQgZGVza3RvcAogICAgIC8vIEV4dGVuZCB3
aWR0aCBhbmQgaGVpZ2h0IHRvIGZpbGwgdGhlIHZpc3VhbCB2aWV3cG9ydCBmb3IgdGhlIHJlc29s
dmVkIGluaXRpYWwtc2NhbGUuCiAgICAgd2lkdGggPSBtYXg8ZmxvYXQ+KHdpZHRoLCBhdmFpbGFi
bGVXaWR0aCAvIHJlc3VsdC5pbml0aWFsU2NhbGUpOwogICAgIGhlaWdodCA9IG1heDxmbG9hdD4o
aGVpZ2h0LCBhdmFpbGFibGVIZWlnaHQgLyByZXN1bHQuaW5pdGlhbFNjYWxlKTsKLSAgICByZXN1
bHQubGF5b3V0U2l6ZS5zZXRXaWR0aChzdGF0aWNfY2FzdDxpbnQ+KHJvdW5kZih3aWR0aCkpKTsK
LSAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoc3RhdGljX2Nhc3Q8aW50Pihyb3VuZGYo
aGVpZ2h0KSkpOworICAgIHJlc3VsdC5sYXlvdXRTaXplLnNldFdpZHRoKHdpZHRoKTsKKyAgICBy
ZXN1bHQubGF5b3V0U2l6ZS5zZXRIZWlnaHQoaGVpZ2h0KTsKIAogICAgIHJlc3VsdC51c2VyU2Nh
bGFibGUgPSBhcmdzLnVzZXJTY2FsYWJsZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1
bWVudHMuaAppbmRleCA1OWI0MWRlZDFmZDQ3ZjYyN2ViYmEyMzFiZTc4NDQ3NjFiNGI3MjQ3Li43
OTY1MWQyNWIyMzIzZjliZmI4ZWI5YzgwYzE3ODIyYzI0ODg1YjI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVmlld3BvcnRBcmd1bWVudHMuaApAQCAtMjcsNyArMjcsNyBAQAogI2lmbmRlZiBWaWV3cG9y
dEFyZ3VtZW50c19oCiAjZGVmaW5lIFZpZXdwb3J0QXJndW1lbnRzX2gKIAotI2luY2x1ZGUgIklu
dFNpemUuaCIKKyNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Myw3ICs0Myw3IEBAIGVudW0gVmlld3BvcnRF
cnJvckNvZGUgewogfTsKIAogc3RydWN0IFZpZXdwb3J0QXR0cmlidXRlcyB7Ci0gICAgSW50U2l6
ZSBsYXlvdXRTaXplOworICAgIEZsb2F0U2l6ZSBsYXlvdXRTaXplOwogCiAgICAgZmxvYXQgZGV2
aWNlUGl4ZWxSYXRpbzsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IGFiNGY4MjFj
NTA0MmI3MWE0YjNmM2NmNWE5NWUxNzY3OTZmZGVjMTUuLjFiMWU5NjMzMjVmM2EwN2Q5YTAyYmQ1
OWM2MWJhNmE0YTA3NTg5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTI1MzEs
NyArMjUzMSw3IEBAIFFXZWJQYWdlOjpWaWV3cG9ydEF0dHJpYnV0ZXMgUVdlYlBhZ2U6OnZpZXdw
b3J0QXR0cmlidXRlc0ZvclNpemUoY29uc3QgUVNpemUmIGF2CiAgICAgV2ViQ29yZTo6cmVzdHJp
Y3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoY29uZik7CiAKICAg
ICByZXN1bHQubV9pc1ZhbGlkID0gdHJ1ZTsKLSAgICByZXN1bHQubV9zaXplID0gY29uZi5sYXlv
dXRTaXplOworICAgIHJlc3VsdC5tX3NpemUgPSBRU2l6ZUYoY29uZi5sYXlvdXRTaXplLndpZHRo
KCksIGNvbmYubGF5b3V0U2l6ZS5oZWlnaHQoKSk7CiAgICAgcmVzdWx0Lm1faW5pdGlhbFNjYWxl
RmFjdG9yID0gY29uZi5pbml0aWFsU2NhbGU7CiAgICAgcmVzdWx0Lm1fbWluaW11bVNjYWxlRmFj
dG9yID0gY29uZi5taW5pbXVtU2NhbGU7CiAgICAgcmVzdWx0Lm1fbWF4aW11bVNjYWxlRmFjdG9y
ID0gY29uZi5tYXhpbXVtU2NhbGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9x
d2VicGFnZS5oIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAppbmRleCBmZDJmZDRi
M2JlZGJiNzYxM2IzNTBhOTczMGRhZmY1MzJjNDEyOWU5Li4wYmYzNWUyNDcxZjFjYzNiZDQ0N2Mx
M2NiMGY4ODhhNTJmNGQ0YTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKQEAgLTIzMiw3ICsy
MzIsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlubGluZSBxcmVhbCBkZXZpY2VQaXhlbFJhdGlvKCkg
Y29uc3QgeyByZXR1cm4gbV9kZXZpY2VQaXhlbFJhdGlvOyB9CiAgICAgICAgIGlubGluZSBib29s
IGlzVXNlclNjYWxhYmxlKCkgY29uc3QgeyByZXR1cm4gbV9pc1VzZXJTY2FsYWJsZTsgfQogICAg
ICAgICBpbmxpbmUgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkOyB9Ci0g
ICAgICAgIGlubGluZSBRU2l6ZSBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CisgICAg
ICAgIGlubGluZSBRU2l6ZUYgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgUVNoYXJlZERhdGFQb2ludGVyPFF0Vmlld3BvcnRBdHRyaWJ1dGVz
UHJpdmF0ZT4gZDsKQEAgLTI0Miw3ICsyNDIsNyBAQCBwdWJsaWM6CiAgICAgICAgIHFyZWFsIG1f
ZGV2aWNlUGl4ZWxSYXRpbzsKICAgICAgICAgYm9vbCBtX2lzVXNlclNjYWxhYmxlOwogICAgICAg
ICBib29sIG1faXNWYWxpZDsKLSAgICAgICAgUVNpemUgbV9zaXplOworICAgICAgICBRU2l6ZUYg
bV9zaXplOwogCiAgICAgICAgIGZyaWVuZCBjbGFzcyBXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDsK
ICAgICAgICAgZnJpZW5kIGNsYXNzIFFXZWJQYWdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAppbmRl
eCA2M2Y3N2Q2ODIyMGJhZTI0M2I3OTYwM2JjYjQwZTdkNmUwOGUxNTAzLi5mNGY0MmJjN2I3YWIy
Y2Q1NGU4NmY1ZTg0ODEwZDljNmE2ZTNmNTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcApAQCAt
ODEwLDcgKzgxMCw3IEBAIFFTdHJpbmcgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnZpZXdwb3J0
QXNUZXh0KFFXZWJQYWdlKiBwYWdlLCBpbnQgZGV2aWNlRFBJLCBjCiAgICAgV2ViQ29yZTo6cmVz
dHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoY29uZik7CiAK
ICAgICBRU3RyaW5nIHJlczsKLSAgICByZXMgPSByZXMuc3ByaW50Zigidmlld3BvcnQgc2l6ZSAl
ZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4i
LAorICAgIHJlcyA9IHJlcy5zcHJpbnRmKCJ2aWV3cG9ydCBzaXplICVmeCVmIHNjYWxlICVmIHdp
dGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsCiAgICAgICAgICAgICBj
b25mLmxheW91dFNpemUud2lkdGgoKSwKICAgICAgICAgICAgIGNvbmYubGF5b3V0U2l6ZS5oZWln
aHQoKSwKICAgICAgICAgICAgIGNvbmYuaW5pdGlhbFNjYWxlLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKaW5kZXggNTZiMTMy
NzUzODFmZjU0NGJlNGY5MmMxYjJmYTE0OGJiMzg2MmZmNi4uMTcwNjA0ZDFkZmM1MDBkMWM0Y2Zi
YzM1ZTlmOTk1ZmMzNzEzYTljYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIFFWYXJpYW50
IFFXZWJWaWV3cG9ydEluZm86OmlzU2NhbGFibGUoKSBjb25zdAogCiBRVmFyaWFudCBRV2ViVmll
d3BvcnRJbmZvOjpsYXlvdXRTaXplKCkgY29uc3QKIHsKLSAgICByZXR1cm4gUVNpemUobV93ZWJW
aWV3UHJpdmF0ZS0+YXR0cmlidXRlcy5sYXlvdXRTaXplKTsKKyAgICByZXR1cm4gUVNpemVGKG1f
d2ViVmlld1ByaXZhdGUtPmF0dHJpYnV0ZXMubGF5b3V0U2l6ZS53aWR0aCgpLCBtX3dlYlZpZXdQ
cml2YXRlLT5hdHRyaWJ1dGVzLmxheW91dFNpemUuaGVpZ2h0KCkpOwogfQogCiB2b2lkIFFXZWJW
aWV3cG9ydEluZm86OmRpZFVwZGF0ZUNvbnRlbnRzU2l6ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZjQxYzdlMDE1MGU5MDA2OTQxODI0
ZGI2MzNkZTIxOTYyMzRkNjMyYS4uZmNmNTI1MTFiMzhjNTAwZjExZmUyZGQ5Y2ZjZGZmMmU5OWNi
OTU3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtODg1LDcgKzg4NSw3IEBAIHZvaWQgV2ViUGFnZTo6c2VuZFZpZXdwb3J0QXR0cmlidXRl
c0NoYW5nZWQoKQogCiAgICAgVmlld3BvcnRBdHRyaWJ1dGVzIGF0dHIgPSBjb21wdXRlVmlld3Bv
cnRBdHRyaWJ1dGVzKG1fcGFnZS0+dmlld3BvcnRBcmd1bWVudHMoKSwgbWluaW11bUxheW91dEZh
bGxiYWNrV2lkdGgsIHNldHRpbmdzLT5kZXZpY2VXaWR0aCgpLCBzZXR0aW5ncy0+ZGV2aWNlSGVp
Z2h0KCksIHNldHRpbmdzLT5kZXZpY2VEUEkoKSwgbV92aWV3cG9ydFNpemUpOwogCi0gICAgc2V0
UmVzaXplc1RvQ29udGVudHNVc2luZ0xheW91dFNpemUoYXR0ci5sYXlvdXRTaXplKTsKKyAgICBz
ZXRSZXNpemVzVG9Db250ZW50c1VzaW5nTGF5b3V0U2l6ZShJbnRTaXplKHN0YXRpY19jYXN0PGlu
dD4oYXR0ci5sYXlvdXRTaXplLndpZHRoKCkpLCBzdGF0aWNfY2FzdDxpbnQ+KGF0dHIubGF5b3V0
U2l6ZS5oZWlnaHQoKSkpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENo
YW5nZVZpZXdwb3J0UHJvcGVydGllcyhhdHRyKSk7CiB9CiAKQEAgLTMwNDUsNyArMzA0NSw3IEBA
IFN0cmluZyBXZWJQYWdlOjp2aWV3cG9ydENvbmZpZ3VyYXRpb25Bc1RleHQoaW50IGRldmljZURQ
SSwgaW50IGRldmljZVdpZHRoLCBpbnQKICAgICBWaWV3cG9ydEF0dHJpYnV0ZXMgYXR0cnMgPSBX
ZWJDb3JlOjpjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzKGFyZ3VtZW50cywgLyogZGVmYXVsdCBs
YXlvdXQgd2lkdGggZm9yIG5vbi1tb2JpbGUgcGFnZXMgKi8gOTgwLCBkZXZpY2VXaWR0aCwgZGV2
aWNlSGVpZ2h0LCBkZXZpY2VEUEksIEludFNpemUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhl
aWdodCkpOwogICAgIFdlYkNvcmU6OnJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9y
dFNpemUoYXR0cnMsIEludFNpemUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwog
ICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNj
YWxhYmxlKGF0dHJzKTsKLSAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoInZpZXdwb3J0IHNpemUg
JWR4JWQgc2NhbGUgJWYgd2l0aCBsaW1pdHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxu
IiwgYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgpLCBhdHRycy5sYXlvdXRTaXplLmhlaWdodCgpLCBh
dHRycy5pbml0aWFsU2NhbGUsIGF0dHJzLm1pbmltdW1TY2FsZSwgYXR0cnMubWF4aW11bVNjYWxl
LCBhdHRycy51c2VyU2NhbGFibGUpOworICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgidmlld3Bv
cnQgc2l6ZSAlZnglZiBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxh
YmxlICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCksIGF0dHJzLmxheW91dFNpemUuaGVp
Z2h0KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBhdHRycy5tYXhp
bXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6c2V0Q29t
cG9zaXRpb25Gb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgY29tcG9zaXRpb25TdHJpbmcsIHVpbnQ2
NF90IGZyb20sIHVpbnQ2NF90IGxlbmd0aCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140019</attachid>
            <date>2012-05-03 08:17:29 -0700</date>
            <delta_ts>2012-05-03 08:28:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120503111728.patch</filename>
            <type>text/plain</type>
            <size>15995</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1OTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ExOGRmMDFkNDQxZjJh
YTdjYWMyZmQ5OTEwYzc4Y2I2Mzc1MTBjNS4uZWZkOTQwNjQxNDU0NTBhODQxMDNlMmJhOGEyODQ5
NDIzZjdkYzZiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTAzICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAg
IE1ha2UgVmlld3BvcnQgQXR0cmlidXRlcycgbGF5b3V0U2l6ZSBiZSBhIEZsb2F0UmVjdCB0byBh
dm9pZCByb3VuZGluZworICAgICAgICB0b28gZWFybHksIGFuZCB0aGUgb2NjYXNpb25hbCBvZmYg
Ynkgb25lIGZpeGVkIGxheW91dCBkaW1lbnNpb25zLgorCisgICAgICAgICogZG9tL1ZpZXdwb3J0
QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0
ZXMpOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oOgorICAgICAgICAoVmlld3Bv
cnRBdHRyaWJ1dGVzKToKKwogMjAxMi0wNS0wMyAgQXJwaXRhIEJhaHVndW5hICA8YXJwaXRhYmFo
dWd1bmFAZ21haWwuY29tPgogCiAgICAgICAgIEJyb2tlbiBoYW5kbGluZyBvZiBwc2V1ZG8tZWxl
bWVudHMgaW4gc2VsZWN0b3JzIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXgg
NDEzZjExZWQxOTUyNjYzMmI5MDMwMGI1NDNhZGJkMDg1NzM4MWNhMi4uNWFhODAxZGEzYTc1NmNk
N2ViNDM4NDQ3ZmYzODVjZTg3MGU4MTY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRy
aWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxv
dyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnQ6OmR1
bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQpOgorCiAyMDEyLTA0LTE4ICBKb24gSG9uZXljdXR0
ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CiAKICAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudCgpIHNob3VsZCBiZSBnaXZlbiBtb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKaW5kZXggMGI4MTlhMzk5MzVkYzVmNWRhOTJmNTNiYTcxODdjODg2ODliYjFhNS4uNWE2
MWQwYjU0NDY2MzJjNTNjNWQ0NTg1ZDllYjQzMTMwOTlkYWUwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDEyLTA1LTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmli
dXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cg
em9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0RWZsLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEVm
bDo6ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCk6CisKIDIwMTItMDQtMTggIEpvbiBIb25l
eWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBGcmFtZUxvYWRlckNsaWVu
dDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KCkgc2hvdWxkIGJlIGdpdmVuIG1vcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwppbmRleCBjNzM4MzVmYjcwMmE3OTI1ZmZmMmNhZTI1OGUzZGUyYWU4NTlmOTA5
Li44YzIxYTczMjcxOWRhOWFiODI3NDgwNzNkOGY3YjQ0NGJhNGYzZTM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRB
dHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBh
bGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
S2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrOjpkdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KToKKwogMjAxMi0wNC0xOCAgSm9u
IEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgogCiAgICAgICAgIEZyYW1lTG9hZGVy
Q2xpZW50OjpkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQoKSBzaG91bGQgYmUgZ2l2ZW4gbW9y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwppbmRleCA4OWE5Y2YxODJlOTc2NWMyZWFhZjU3OTU1MDBlYTMzYTFiNzYz
MmNkLi5lNzg2YTA1ZDU2NzE2NmU5ZDY5NjcwYjJjNjRmMjhkM2RiODY5YjMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0
QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIg
YWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNw
cDoKKyAgICAgICAgKFFXZWJQYWdlOjp2aWV3cG9ydEF0dHJpYnV0ZXNGb3JTaXplKToKKyAgICAg
ICAgKiBBcGkvcXdlYnBhZ2UuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmll
d3BvcnRBc1RleHQpOgorCiAyMDEyLTA0LTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
IAogICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBm
cm9tIE5vdGlmaWNhdGlvbkNlbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDlkYzhiZDcxMDIzOWI2OWZjNTBk
MWNjMTNiODMxMzEwY2I0ZDlhNTQuLjMzNDA5ZjQ3MzVjOTRmZjhmZjQ5YjUyNDlkMTdmNDQ1OGMz
MjcyZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0wMyAgRmFkeSBTYW11
ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmluZyBsaW5lIGluIGNv
bXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMgdGhhdCBlbmZvcmNlcyBhIG1pbmltdW0gc2NhbGUgZmFj
dG9yIHRvIG5ldmVyIGFsbG93IHpvb21pbmcgb3V0IG1vcmUgdGhhbiB2aWV3cG9ydAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDkKKworICAgICAg
ICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHA6CisgICAgICAgIChRV2ViVmlld3Bv
cnRJbmZvOjpsYXlvdXRTaXplKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNlbmRWaWV3cG9ydEF0dHJpYnV0ZXND
aGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1cmF0aW9u
QXNUZXh0KToKKwogMjAxMi0wNS0wMyAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVu
c2VuQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIFRhcC1oaWdobGlnaHQgYmxpbmtzIHdoZW4g
YWN0aXZhdGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1l
bnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKaW5kZXgg
YzEzMWZjYzA5NTFlY2FkNjEzYTQ4YWU1MzdlOGJiMmMxZmQzMGMwMy4uMGYzMjlhYzMxNmYzNDQ0
MzI2ZDBhZjI4NjNlYWU4Yzk2YTI3ZWNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1ZpZXdwb3J0QXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwCkBAIC0xNzcsOCArMTc3LDggQEAgVmlld3BvcnRBdHRyaWJ1dGVzIGNvbXB1
dGVWaWV3cG9ydEF0dHJpYnV0ZXMoVmlld3BvcnRBcmd1bWVudHMgYXJncywgaW50IGRlc2t0b3AK
ICAgICAvLyBFeHRlbmQgd2lkdGggYW5kIGhlaWdodCB0byBmaWxsIHRoZSB2aXN1YWwgdmlld3Bv
cnQgZm9yIHRoZSByZXNvbHZlZCBpbml0aWFsLXNjYWxlLgogICAgIHdpZHRoID0gbWF4PGZsb2F0
Pih3aWR0aCwgYXZhaWxhYmxlV2lkdGggLyByZXN1bHQuaW5pdGlhbFNjYWxlKTsKICAgICBoZWln
aHQgPSBtYXg8ZmxvYXQ+KGhlaWdodCwgYXZhaWxhYmxlSGVpZ2h0IC8gcmVzdWx0LmluaXRpYWxT
Y2FsZSk7Ci0gICAgcmVzdWx0LmxheW91dFNpemUuc2V0V2lkdGgoc3RhdGljX2Nhc3Q8aW50Pihy
b3VuZGYod2lkdGgpKSk7Ci0gICAgcmVzdWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KHN0YXRpY19j
YXN0PGludD4ocm91bmRmKGhlaWdodCkpKTsKKyAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRXaWR0
aCh3aWR0aCk7CisgICAgcmVzdWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KGhlaWdodCk7CiAKICAg
ICByZXN1bHQudXNlclNjYWxhYmxlID0gYXJncy51c2VyU2NhbGFibGU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKaW5kZXggNTliNDFkZWQxZmQ0N2Y2MjdlYmJhMjMxYmU3
ODQ0NzYxYjRiNzI0Ny4uNzk2NTFkMjViMjMyM2Y5YmZiOGViOWM4MGMxNzgyMmMyNDg4NWIyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKQEAgLTI3LDcgKzI3LDcgQEAK
ICNpZm5kZWYgVmlld3BvcnRBcmd1bWVudHNfaAogI2RlZmluZSBWaWV3cG9ydEFyZ3VtZW50c19o
CiAKLSNpbmNsdWRlICJJbnRTaXplLmgiCisjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsNyArNDMsNyBA
QCBlbnVtIFZpZXdwb3J0RXJyb3JDb2RlIHsKIH07CiAKIHN0cnVjdCBWaWV3cG9ydEF0dHJpYnV0
ZXMgewotICAgIEludFNpemUgbGF5b3V0U2l6ZTsKKyAgICBGbG9hdFNpemUgbGF5b3V0U2l6ZTsK
IAogICAgIGZsb2F0IGRldmljZVBpeGVsUmF0aW87CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnQuY3BwCmluZGV4IGQyZjQ4NTk1OWJlZTllZjY3MTFkNDQ2MTUxMjlhNjRlNGEzYmJhZDMuLmNk
MWNiNGNmOWVmZDg4MTQ5MzRkZTZiODU1YjYwNTk3NmFlYzQxYjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0LmNwcApAQCAtOTEsNyArOTEsNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3Vw
cG9ydDo6ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChGcmFtZSogbWFpbkZyYW1lLCBpbnQg
ZAogICAgIHJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoYXR0cnMsIElu
dFNpemUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwogICAgIHJlc3RyaWN0U2Nh
bGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGF0dHJzKTsKIAotICAgIGZw
cmludGYoc3Rkb3V0LCAidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBb
JWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCks
IGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWlu
aW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CisgICAg
ZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNjYWxlICVmIHdpdGggbGltaXRz
IFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRpY19jYXN0PGludD4oYXR0cnMu
bGF5b3V0U2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50PihhdHRycy5sYXlvdXRTaXplLmhl
aWdodCgpKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVtU2NhbGUsIGF0dHJzLm1h
eGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAogaW50IER1bXBSZW5kZXJUcmVl
U3VwcG9ydDo6bnVtYmVyT2ZQZW5kaW5nR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdHMoV2Vi
UGFnZSogd2ViUGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCmluZGV4IGM0N2I5Y2M2NGRh
YTE0Yjc2YzUzMjJiM2I2YzZkMDA5NTk4NmY4MTIuLjkzMzc5NGJiYzc5ODE5Nzc3Yzc0NzVkOTdl
M2U2YzMzZDQxOGY5MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcApAQCAtNTM0LDcgKzUz
NCw3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpkdW1wQ29uZmlndXJhdGlvbkZv
clZpZXdwb3J0KEV2YXNfT2JqZWN0KiBld2tWaWV3CiAgICAgICAgICAgICBhdmFpbGFibGVTaXpl
KTsKICAgICByZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXplKGF0dHJpYnV0
ZXMsIGF2YWlsYWJsZVNpemUpOwogICAgIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2Fs
ZUlmTm90VXNlclNjYWxhYmxlKGF0dHJpYnV0ZXMpOwotICAgIGZwcmludGYoc3Rkb3V0LCAidmll
d3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNj
YWxhYmxlICVmXG4iLCBhdHRyaWJ1dGVzLmxheW91dFNpemUud2lkdGgoKSwgYXR0cmlidXRlcy5s
YXlvdXRTaXplLmhlaWdodCgpLCBhdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSwgYXR0cmlidXRlcy5t
aW5pbXVtU2NhbGUsIGF0dHJpYnV0ZXMubWF4aW11bVNjYWxlLCBhdHRyaWJ1dGVzLnVzZXJTY2Fs
YWJsZSk7CisgICAgZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNjYWxlICVm
IHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRpY19jYXN0
PGludD4oYXR0cmlidXRlcy5sYXlvdXRTaXplLndpZHRoKCkpLCBzdGF0aWNfY2FzdDxpbnQ+KGF0
dHJpYnV0ZXMubGF5b3V0U2l6ZS5oZWlnaHQoKSksIGF0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlLCBh
dHRyaWJ1dGVzLm1pbmltdW1TY2FsZSwgYXR0cmlidXRlcy5tYXhpbXVtU2NhbGUsIGF0dHJpYnV0
ZXMudXNlclNjYWxhYmxlKTsKIH0KIAogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmRl
bGl2ZXJBbGxNdXRhdGlvbnNJZk5lY2Vzc2FyeSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcApp
bmRleCA1MGIwMjA5YjNiOGM5ODlmMDNlNjUzMmMzYWMyNTI3MmQ5MTg4ZWU5Li5jMDBjYzg0MzAw
NGY5ZTQ2YjljNWMzMThmNjhjMDMyNzU1NTk5ZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5j
cHAKQEAgLTY3MSw3ICs2NzEsNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVt
cENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChXZWJLaXRXZWJWaWV3KiB3ZWJWaQogICAgIFZpZXdw
b3J0QXR0cmlidXRlcyBhdHRycyA9IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoYXJndW1lbnRz
LCAvKiBkZWZhdWx0IGxheW91dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBwYWdlcyAqLyA5ODAsIGRl
dmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgSW50U2l6ZShhdmFpbGFibGVXaWR0
aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgcmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1Zp
ZXdwb3J0U2l6ZShhdHRycywgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0
KSk7CiAgICAgcmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFi
bGUoYXR0cnMpOwotICAgIGZwcmludGYoc3Rkb3V0LCAidmlld3BvcnQgc2l6ZSAlZHglZCBzY2Fs
ZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5s
YXlvdXRTaXplLndpZHRoKCksIGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRp
YWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVz
ZXJTY2FsYWJsZSk7CisgICAgZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNj
YWxlICVmIHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRp
Y19jYXN0PGludD4oYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50Pihh
dHRycy5sYXlvdXRTaXplLmhlaWdodCgpKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5p
bXVtU2NhbGUsIGF0dHJzLm1heGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAog
dm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmNsZWFyT3BlbmVyKFdlYktpdFdlYkZyYW1l
KiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAxYzQ3OTU4NDMwYTNlMDcy
NzM5Nzc2ZmRlZDUxYjFkMGFlZjA5YTc0Li5lODVkZmQyODI2YWJkZmFmYzQ5MTNiODE5NmQ3MTBi
NTEyYWFiZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0yNTMzLDcgKzI1MzMs
NyBAQCBRV2ViUGFnZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIFFXZWJQYWdlOjp2aWV3cG9ydEF0dHJp
YnV0ZXNGb3JTaXplKGNvbnN0IFFTaXplJiBhdgogICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVG
YWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgcmVzdWx0
Lm1faXNWYWxpZCA9IHRydWU7Ci0gICAgcmVzdWx0Lm1fc2l6ZSA9IGNvbmYubGF5b3V0U2l6ZTsK
KyAgICByZXN1bHQubV9zaXplID0gUVNpemVGKGNvbmYubGF5b3V0U2l6ZS53aWR0aCgpLCBjb25m
LmxheW91dFNpemUuaGVpZ2h0KCkpOwogICAgIHJlc3VsdC5tX2luaXRpYWxTY2FsZUZhY3RvciA9
IGNvbmYuaW5pdGlhbFNjYWxlOwogICAgIHJlc3VsdC5tX21pbmltdW1TY2FsZUZhY3RvciA9IGNv
bmYubWluaW11bVNjYWxlOwogICAgIHJlc3VsdC5tX21heGltdW1TY2FsZUZhY3RvciA9IGNvbmYu
bWF4aW11bVNjYWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggZmQyZmQ0YjNiZWRiYjc2
MTNiMzUwYTk3MzBkYWZmNTMyYzQxMjllOS4uMGJmMzVlMjQ3MWYxY2MzYmQ0NDdjMTNjYjBmODg4
YTUyZjRkNGExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0yMzIsNyArMjMyLDcgQEAg
cHVibGljOgogICAgICAgICBpbmxpbmUgcXJlYWwgZGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0IHsg
cmV0dXJuIG1fZGV2aWNlUGl4ZWxSYXRpbzsgfQogICAgICAgICBpbmxpbmUgYm9vbCBpc1VzZXJT
Y2FsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyU2NhbGFibGU7IH0KICAgICAgICAgaW5s
aW5lIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQotICAgICAgICBp
bmxpbmUgUVNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgICAgICBpbmxp
bmUgUVNpemVGIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KIAogICAgIHByaXZhdGU6
CiAgICAgICAgIFFTaGFyZWREYXRhUG9pbnRlcjxRdFZpZXdwb3J0QXR0cmlidXRlc1ByaXZhdGU+
IGQ7CkBAIC0yNDIsNyArMjQyLDcgQEAgcHVibGljOgogICAgICAgICBxcmVhbCBtX2RldmljZVBp
eGVsUmF0aW87CiAgICAgICAgIGJvb2wgbV9pc1VzZXJTY2FsYWJsZTsKICAgICAgICAgYm9vbCBt
X2lzVmFsaWQ7Ci0gICAgICAgIFFTaXplIG1fc2l6ZTsKKyAgICAgICAgUVNpemVGIG1fc2l6ZTsK
IAogICAgICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ7CiAgICAgICAg
IGZyaWVuZCBjbGFzcyBRV2ViUGFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggNjNmNzdk
NjgyMjBiYWUyNDNiNzk2MDNiY2I0MGU3ZDZlMDhlMTUwMy4uNzgzMTc2ZjY1YTcwMjYzZGMyYTIx
YmQ5NjE2MGQ5MTk3ZGQxM2JkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTgxMCw5ICs4
MTAsOSBAQCBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dChR
V2ViUGFnZSogcGFnZSwgaW50IGRldmljZURQSSwgYwogICAgIFdlYkNvcmU6OnJlc3RyaWN0U2Nh
bGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgUVN0
cmluZyByZXM7Ci0gICAgcmVzID0gcmVzLnNwcmludGYoInZpZXdwb3J0IHNpemUgJWR4JWQgc2Nh
bGUgJWYgd2l0aCBsaW1pdHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwKLSAgICAg
ICAgICAgIGNvbmYubGF5b3V0U2l6ZS53aWR0aCgpLAotICAgICAgICAgICAgY29uZi5sYXlvdXRT
aXplLmhlaWdodCgpLAorICAgIHJlcyA9IHJlcy5zcHJpbnRmKCJ2aWV3cG9ydCBzaXplICVmeCVm
IHNjYWxlICVmIHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsCisg
ICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGNvbmYubGF5b3V0U2l6ZS53aWR0aCgpKSwKKyAg
ICAgICAgICAgIHN0YXRpY19jYXN0PGludD4oY29uZi5sYXlvdXRTaXplLmhlaWdodCgpKSwKICAg
ICAgICAgICAgIGNvbmYuaW5pdGlhbFNjYWxlLAogICAgICAgICAgICAgY29uZi5taW5pbXVtU2Nh
bGUsCiAgICAgICAgICAgICBjb25mLm1heGltdW1TY2FsZSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCmluZGV4IDU2YjEzMjc1
MzgxZmY1NDRiZTRmOTJjMWIyZmExNDhiYjM4NjJmZjYuLjE3MDYwNGQxZGZjNTAwZDFjNGNmYmMz
NWU5Zjk5NWZjMzcxM2E5Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcApAQCAtNzcsNyArNzcsNyBAQCBRVmFyaWFudCBR
V2ViVmlld3BvcnRJbmZvOjppc1NjYWxhYmxlKCkgY29uc3QKIAogUVZhcmlhbnQgUVdlYlZpZXdw
b3J0SW5mbzo6bGF5b3V0U2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFFTaXplKG1fd2ViVmll
d1ByaXZhdGUtPmF0dHJpYnV0ZXMubGF5b3V0U2l6ZSk7CisgICAgcmV0dXJuIFFTaXplRihtX3dl
YlZpZXdQcml2YXRlLT5hdHRyaWJ1dGVzLmxheW91dFNpemUud2lkdGgoKSwgbV93ZWJWaWV3UHJp
dmF0ZS0+YXR0cmlidXRlcy5sYXlvdXRTaXplLmhlaWdodCgpKTsKIH0KIAogdm9pZCBRV2ViVmll
d3BvcnRJbmZvOjpkaWRVcGRhdGVDb250ZW50c1NpemUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDhjMTYxN2I4MjlmZmYzZjY2YzU5Nzdk
ZWE0M2IwN2FmMzY3N2RiMTkuLjE0NWNkODI1ZGQwMTBjMjk2N2IxNDRiM2IzZGM5MDAwNWZiMzIy
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
QEAgLTg4Miw3ICs4ODIsNyBAQCB2b2lkIFdlYlBhZ2U6OnNlbmRWaWV3cG9ydEF0dHJpYnV0ZXND
aGFuZ2VkKCkKIAogICAgIFZpZXdwb3J0QXR0cmlidXRlcyBhdHRyID0gY29tcHV0ZVZpZXdwb3J0
QXR0cmlidXRlcyhtX3BhZ2UtPnZpZXdwb3J0QXJndW1lbnRzKCksIG1pbmltdW1MYXlvdXRGYWxs
YmFja1dpZHRoLCBzZXR0aW5ncy0+ZGV2aWNlV2lkdGgoKSwgc2V0dGluZ3MtPmRldmljZUhlaWdo
dCgpLCBzdGF0aWNfY2FzdDxpbnQ+KDE2MCAqIHNldHRpbmdzLT5kZXZpY2VQaXhlbFJhdGlvKCkp
LCBtX3ZpZXdwb3J0U2l6ZSk7CiAKLSAgICBzZXRSZXNpemVzVG9Db250ZW50c1VzaW5nTGF5b3V0
U2l6ZShhdHRyLmxheW91dFNpemUpOworICAgIHNldFJlc2l6ZXNUb0NvbnRlbnRzVXNpbmdMYXlv
dXRTaXplKEludFNpemUoc3RhdGljX2Nhc3Q8aW50PihhdHRyLmxheW91dFNpemUud2lkdGgoKSks
IHN0YXRpY19jYXN0PGludD4oYXR0ci5sYXlvdXRTaXplLmhlaWdodCgpKSkpOwogICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGF0dHIp
KTsKIH0KIApAQCAtMzA0Myw3ICszMDQzLDcgQEAgU3RyaW5nIFdlYlBhZ2U6OnZpZXdwb3J0Q29u
ZmlndXJhdGlvbkFzVGV4dChpbnQgZGV2aWNlRFBJLCBpbnQgZGV2aWNlV2lkdGgsIGludAogICAg
IFZpZXdwb3J0QXR0cmlidXRlcyBhdHRycyA9IFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJp
YnV0ZXMoYXJndW1lbnRzLCAvKiBkZWZhdWx0IGxheW91dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBw
YWdlcyAqLyA5ODAsIGRldmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgSW50U2l6
ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgV2ViQ29yZTo6cmVzdHJp
Y3RNaW5pbXVtU2NhbGVGYWN0b3JUb1ZpZXdwb3J0U2l6ZShhdHRycywgSW50U2l6ZShhdmFpbGFi
bGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgV2ViQ29yZTo6cmVzdHJpY3RTY2FsZUZh
Y3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFibGUoYXR0cnMpOwotICAgIHJldHVybiBT
dHJpbmc6OmZvcm1hdCgidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBb
JWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCks
IGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWlu
aW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CisgICAg
cmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJ2aWV3cG9ydCBzaXplICVkeCVkIHNjYWxlICVmIHdpdGgg
bGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRpY19jYXN0PGludD4o
YXR0cnMubGF5b3V0U2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50PihhdHRycy5sYXlvdXRT
aXplLmhlaWdodCgpKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVtU2NhbGUsIGF0
dHJzLm1heGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAogdm9pZCBXZWJQYWdl
OjpzZXRDb21wb3NpdGlvbkZvclRlc3RpbmcoY29uc3QgU3RyaW5nJiBjb21wb3NpdGlvblN0cmlu
ZywgdWludDY0X3QgZnJvbSwgdWludDY0X3QgbGVuZ3RoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140021</attachid>
            <date>2012-05-03 08:28:58 -0700</date>
            <delta_ts>2012-05-03 10:23:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120503112857.patch</filename>
            <type>text/plain</type>
            <size>15825</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1OTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ExOGRmMDFkNDQxZjJh
YTdjYWMyZmQ5OTEwYzc4Y2I2Mzc1MTBjNS4uZWZkOTQwNjQxNDU0NTBhODQxMDNlMmJhOGEyODQ5
NDIzZjdkYzZiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTAzICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAg
IE1ha2UgVmlld3BvcnQgQXR0cmlidXRlcycgbGF5b3V0U2l6ZSBiZSBhIEZsb2F0UmVjdCB0byBh
dm9pZCByb3VuZGluZworICAgICAgICB0b28gZWFybHksIGFuZCB0aGUgb2NjYXNpb25hbCBvZmYg
Ynkgb25lIGZpeGVkIGxheW91dCBkaW1lbnNpb25zLgorCisgICAgICAgICogZG9tL1ZpZXdwb3J0
QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0
ZXMpOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oOgorICAgICAgICAoVmlld3Bv
cnRBdHRyaWJ1dGVzKToKKwogMjAxMi0wNS0wMyAgQXJwaXRhIEJhaHVndW5hICA8YXJwaXRhYmFo
dWd1bmFAZ21haWwuY29tPgogCiAgICAgICAgIEJyb2tlbiBoYW5kbGluZyBvZiBwc2V1ZG8tZWxl
bWVudHMgaW4gc2VsZWN0b3JzIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXgg
NDEzZjExZWQxOTUyNjYzMmI5MDMwMGI1NDNhZGJkMDg1NzM4MWNhMi4uNWFhODAxZGEzYTc1NmNk
N2ViNDM4NDQ3ZmYzODVjZTg3MGU4MTY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRy
aWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxv
dyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnQ6OmR1
bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQpOgorCiAyMDEyLTA0LTE4ICBKb24gSG9uZXljdXR0
ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CiAKICAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudCgpIHNob3VsZCBiZSBnaXZlbiBtb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKaW5kZXggMGI4MTlhMzk5MzVkYzVmNWRhOTJmNTNiYTcxODdjODg2ODliYjFhNS4uNWE2
MWQwYjU0NDY2MzJjNTNjNWQ0NTg1ZDllYjQzMTMwOTlkYWUwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDEyLTA1LTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmli
dXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cg
em9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0RWZsLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEVm
bDo6ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCk6CisKIDIwMTItMDQtMTggIEpvbiBIb25l
eWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBGcmFtZUxvYWRlckNsaWVu
dDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KCkgc2hvdWxkIGJlIGdpdmVuIG1vcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwppbmRleCBjNzM4MzVmYjcwMmE3OTI1ZmZmMmNhZTI1OGUzZGUyYWU4NTlmOTA5
Li44YzIxYTczMjcxOWRhOWFiODI3NDgwNzNkOGY3YjQ0NGJhNGYzZTM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRB
dHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBh
bGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
S2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrOjpkdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KToKKwogMjAxMi0wNC0xOCAgSm9u
IEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgogCiAgICAgICAgIEZyYW1lTG9hZGVy
Q2xpZW50OjpkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQoKSBzaG91bGQgYmUgZ2l2ZW4gbW9y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwppbmRleCA4OWE5Y2YxODJlOTc2NWMyZWFhZjU3OTU1MDBlYTMzYTFiNzYz
MmNkLi5lNzg2YTA1ZDU2NzE2NmU5ZDY5NjcwYjJjNjRmMjhkM2RiODY5YjMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0
QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIg
YWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNw
cDoKKyAgICAgICAgKFFXZWJQYWdlOjp2aWV3cG9ydEF0dHJpYnV0ZXNGb3JTaXplKToKKyAgICAg
ICAgKiBBcGkvcXdlYnBhZ2UuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmll
d3BvcnRBc1RleHQpOgorCiAyMDEyLTA0LTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
IAogICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBm
cm9tIE5vdGlmaWNhdGlvbkNlbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDlkYzhiZDcxMDIzOWI2OWZjNTBk
MWNjMTNiODMxMzEwY2I0ZDlhNTQuLjMzNDA5ZjQ3MzVjOTRmZjhmZjQ5YjUyNDlkMTdmNDQ1OGMz
MjcyZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0wMyAgRmFkeSBTYW11
ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmluZyBsaW5lIGluIGNv
bXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMgdGhhdCBlbmZvcmNlcyBhIG1pbmltdW0gc2NhbGUgZmFj
dG9yIHRvIG5ldmVyIGFsbG93IHpvb21pbmcgb3V0IG1vcmUgdGhhbiB2aWV3cG9ydAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDkKKworICAgICAg
ICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHA6CisgICAgICAgIChRV2ViVmlld3Bv
cnRJbmZvOjpsYXlvdXRTaXplKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNlbmRWaWV3cG9ydEF0dHJpYnV0ZXND
aGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1cmF0aW9u
QXNUZXh0KToKKwogMjAxMi0wNS0wMyAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVu
c2VuQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIFRhcC1oaWdobGlnaHQgYmxpbmtzIHdoZW4g
YWN0aXZhdGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1l
bnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKaW5kZXgg
YzEzMWZjYzA5NTFlY2FkNjEzYTQ4YWU1MzdlOGJiMmMxZmQzMGMwMy4uMGYzMjlhYzMxNmYzNDQ0
MzI2ZDBhZjI4NjNlYWU4Yzk2YTI3ZWNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1ZpZXdwb3J0QXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwCkBAIC0xNzcsOCArMTc3LDggQEAgVmlld3BvcnRBdHRyaWJ1dGVzIGNvbXB1
dGVWaWV3cG9ydEF0dHJpYnV0ZXMoVmlld3BvcnRBcmd1bWVudHMgYXJncywgaW50IGRlc2t0b3AK
ICAgICAvLyBFeHRlbmQgd2lkdGggYW5kIGhlaWdodCB0byBmaWxsIHRoZSB2aXN1YWwgdmlld3Bv
cnQgZm9yIHRoZSByZXNvbHZlZCBpbml0aWFsLXNjYWxlLgogICAgIHdpZHRoID0gbWF4PGZsb2F0
Pih3aWR0aCwgYXZhaWxhYmxlV2lkdGggLyByZXN1bHQuaW5pdGlhbFNjYWxlKTsKICAgICBoZWln
aHQgPSBtYXg8ZmxvYXQ+KGhlaWdodCwgYXZhaWxhYmxlSGVpZ2h0IC8gcmVzdWx0LmluaXRpYWxT
Y2FsZSk7Ci0gICAgcmVzdWx0LmxheW91dFNpemUuc2V0V2lkdGgoc3RhdGljX2Nhc3Q8aW50Pihy
b3VuZGYod2lkdGgpKSk7Ci0gICAgcmVzdWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KHN0YXRpY19j
YXN0PGludD4ocm91bmRmKGhlaWdodCkpKTsKKyAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRXaWR0
aCh3aWR0aCk7CisgICAgcmVzdWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KGhlaWdodCk7CiAKICAg
ICByZXN1bHQudXNlclNjYWxhYmxlID0gYXJncy51c2VyU2NhbGFibGU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKaW5kZXggNTliNDFkZWQxZmQ0N2Y2MjdlYmJhMjMxYmU3
ODQ0NzYxYjRiNzI0Ny4uNzk2NTFkMjViMjMyM2Y5YmZiOGViOWM4MGMxNzgyMmMyNDg4NWIyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKQEAgLTI3LDcgKzI3LDcgQEAK
ICNpZm5kZWYgVmlld3BvcnRBcmd1bWVudHNfaAogI2RlZmluZSBWaWV3cG9ydEFyZ3VtZW50c19o
CiAKLSNpbmNsdWRlICJJbnRTaXplLmgiCisjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsNyArNDMsNyBA
QCBlbnVtIFZpZXdwb3J0RXJyb3JDb2RlIHsKIH07CiAKIHN0cnVjdCBWaWV3cG9ydEF0dHJpYnV0
ZXMgewotICAgIEludFNpemUgbGF5b3V0U2l6ZTsKKyAgICBGbG9hdFNpemUgbGF5b3V0U2l6ZTsK
IAogICAgIGZsb2F0IGRldmljZVBpeGVsUmF0aW87CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnQuY3BwCmluZGV4IGQyZjQ4NTk1OWJlZTllZjY3MTFkNDQ2MTUxMjlhNjRlNGEzYmJhZDMuLmNk
MWNiNGNmOWVmZDg4MTQ5MzRkZTZiODU1YjYwNTk3NmFlYzQxYjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0LmNwcApAQCAtOTEsNyArOTEsNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3Vw
cG9ydDo6ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChGcmFtZSogbWFpbkZyYW1lLCBpbnQg
ZAogICAgIHJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoYXR0cnMsIElu
dFNpemUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwogICAgIHJlc3RyaWN0U2Nh
bGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGF0dHJzKTsKIAotICAgIGZw
cmludGYoc3Rkb3V0LCAidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBb
JWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCks
IGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWlu
aW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CisgICAg
ZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNjYWxlICVmIHdpdGggbGltaXRz
IFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRpY19jYXN0PGludD4oYXR0cnMu
bGF5b3V0U2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50PihhdHRycy5sYXlvdXRTaXplLmhl
aWdodCgpKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVtU2NhbGUsIGF0dHJzLm1h
eGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAogaW50IER1bXBSZW5kZXJUcmVl
U3VwcG9ydDo6bnVtYmVyT2ZQZW5kaW5nR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdHMoV2Vi
UGFnZSogd2ViUGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCmluZGV4IGM0N2I5Y2M2NGRh
YTE0Yjc2YzUzMjJiM2I2YzZkMDA5NTk4NmY4MTIuLjkzMzc5NGJiYzc5ODE5Nzc3Yzc0NzVkOTdl
M2U2YzMzZDQxOGY5MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcApAQCAtNTM0LDcgKzUz
NCw3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpkdW1wQ29uZmlndXJhdGlvbkZv
clZpZXdwb3J0KEV2YXNfT2JqZWN0KiBld2tWaWV3CiAgICAgICAgICAgICBhdmFpbGFibGVTaXpl
KTsKICAgICByZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXplKGF0dHJpYnV0
ZXMsIGF2YWlsYWJsZVNpemUpOwogICAgIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2Fs
ZUlmTm90VXNlclNjYWxhYmxlKGF0dHJpYnV0ZXMpOwotICAgIGZwcmludGYoc3Rkb3V0LCAidmll
d3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNj
YWxhYmxlICVmXG4iLCBhdHRyaWJ1dGVzLmxheW91dFNpemUud2lkdGgoKSwgYXR0cmlidXRlcy5s
YXlvdXRTaXplLmhlaWdodCgpLCBhdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSwgYXR0cmlidXRlcy5t
aW5pbXVtU2NhbGUsIGF0dHJpYnV0ZXMubWF4aW11bVNjYWxlLCBhdHRyaWJ1dGVzLnVzZXJTY2Fs
YWJsZSk7CisgICAgZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNjYWxlICVm
IHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRpY19jYXN0
PGludD4oYXR0cmlidXRlcy5sYXlvdXRTaXplLndpZHRoKCkpLCBzdGF0aWNfY2FzdDxpbnQ+KGF0
dHJpYnV0ZXMubGF5b3V0U2l6ZS5oZWlnaHQoKSksIGF0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlLCBh
dHRyaWJ1dGVzLm1pbmltdW1TY2FsZSwgYXR0cmlidXRlcy5tYXhpbXVtU2NhbGUsIGF0dHJpYnV0
ZXMudXNlclNjYWxhYmxlKTsKIH0KIAogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmRl
bGl2ZXJBbGxNdXRhdGlvbnNJZk5lY2Vzc2FyeSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcApp
bmRleCA1MGIwMjA5YjNiOGM5ODlmMDNlNjUzMmMzYWMyNTI3MmQ5MTg4ZWU5Li5jMDBjYzg0MzAw
NGY5ZTQ2YjljNWMzMThmNjhjMDMyNzU1NTk5ZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5j
cHAKQEAgLTY3MSw3ICs2NzEsNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVt
cENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChXZWJLaXRXZWJWaWV3KiB3ZWJWaQogICAgIFZpZXdw
b3J0QXR0cmlidXRlcyBhdHRycyA9IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoYXJndW1lbnRz
LCAvKiBkZWZhdWx0IGxheW91dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBwYWdlcyAqLyA5ODAsIGRl
dmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgSW50U2l6ZShhdmFpbGFibGVXaWR0
aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgcmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1Zp
ZXdwb3J0U2l6ZShhdHRycywgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0
KSk7CiAgICAgcmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFi
bGUoYXR0cnMpOwotICAgIGZwcmludGYoc3Rkb3V0LCAidmlld3BvcnQgc2l6ZSAlZHglZCBzY2Fs
ZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5s
YXlvdXRTaXplLndpZHRoKCksIGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRp
YWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVz
ZXJTY2FsYWJsZSk7CisgICAgZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNj
YWxlICVmIHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRp
Y19jYXN0PGludD4oYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50Pihh
dHRycy5sYXlvdXRTaXplLmhlaWdodCgpKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5p
bXVtU2NhbGUsIGF0dHJzLm1heGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAog
dm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmNsZWFyT3BlbmVyKFdlYktpdFdlYkZyYW1l
KiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAxYzQ3OTU4NDMwYTNlMDcy
NzM5Nzc2ZmRlZDUxYjFkMGFlZjA5YTc0Li5lODVkZmQyODI2YWJkZmFmYzQ5MTNiODE5NmQ3MTBi
NTEyYWFiZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0yNTMzLDcgKzI1MzMs
NyBAQCBRV2ViUGFnZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIFFXZWJQYWdlOjp2aWV3cG9ydEF0dHJp
YnV0ZXNGb3JTaXplKGNvbnN0IFFTaXplJiBhdgogICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVG
YWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgcmVzdWx0
Lm1faXNWYWxpZCA9IHRydWU7Ci0gICAgcmVzdWx0Lm1fc2l6ZSA9IGNvbmYubGF5b3V0U2l6ZTsK
KyAgICByZXN1bHQubV9zaXplID0gUVNpemVGKGNvbmYubGF5b3V0U2l6ZS53aWR0aCgpLCBjb25m
LmxheW91dFNpemUuaGVpZ2h0KCkpOwogICAgIHJlc3VsdC5tX2luaXRpYWxTY2FsZUZhY3RvciA9
IGNvbmYuaW5pdGlhbFNjYWxlOwogICAgIHJlc3VsdC5tX21pbmltdW1TY2FsZUZhY3RvciA9IGNv
bmYubWluaW11bVNjYWxlOwogICAgIHJlc3VsdC5tX21heGltdW1TY2FsZUZhY3RvciA9IGNvbmYu
bWF4aW11bVNjYWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggZmQyZmQ0YjNiZWRiYjc2
MTNiMzUwYTk3MzBkYWZmNTMyYzQxMjllOS4uMGJmMzVlMjQ3MWYxY2MzYmQ0NDdjMTNjYjBmODg4
YTUyZjRkNGExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0yMzIsNyArMjMyLDcgQEAg
cHVibGljOgogICAgICAgICBpbmxpbmUgcXJlYWwgZGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0IHsg
cmV0dXJuIG1fZGV2aWNlUGl4ZWxSYXRpbzsgfQogICAgICAgICBpbmxpbmUgYm9vbCBpc1VzZXJT
Y2FsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyU2NhbGFibGU7IH0KICAgICAgICAgaW5s
aW5lIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQotICAgICAgICBp
bmxpbmUgUVNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgICAgICBpbmxp
bmUgUVNpemVGIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KIAogICAgIHByaXZhdGU6
CiAgICAgICAgIFFTaGFyZWREYXRhUG9pbnRlcjxRdFZpZXdwb3J0QXR0cmlidXRlc1ByaXZhdGU+
IGQ7CkBAIC0yNDIsNyArMjQyLDcgQEAgcHVibGljOgogICAgICAgICBxcmVhbCBtX2RldmljZVBp
eGVsUmF0aW87CiAgICAgICAgIGJvb2wgbV9pc1VzZXJTY2FsYWJsZTsKICAgICAgICAgYm9vbCBt
X2lzVmFsaWQ7Ci0gICAgICAgIFFTaXplIG1fc2l6ZTsKKyAgICAgICAgUVNpemVGIG1fc2l6ZTsK
IAogICAgICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ7CiAgICAgICAg
IGZyaWVuZCBjbGFzcyBRV2ViUGFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggNjNmNzdk
NjgyMjBiYWUyNDNiNzk2MDNiY2I0MGU3ZDZlMDhlMTUwMy4uMGQyYzJmZDc5MzE5OTA0Zjg1M2Rm
MWY5ZDQzZmM2YWZkOTQxY2MxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTgxMSw4ICs4
MTEsOCBAQCBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dChR
V2ViUGFnZSogcGFnZSwgaW50IGRldmljZURQSSwgYwogCiAgICAgUVN0cmluZyByZXM7CiAgICAg
cmVzID0gcmVzLnNwcmludGYoInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYgd2l0aCBsaW1p
dHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwKLSAgICAgICAgICAgIGNvbmYubGF5
b3V0U2l6ZS53aWR0aCgpLAotICAgICAgICAgICAgY29uZi5sYXlvdXRTaXplLmhlaWdodCgpLAor
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihjb25mLmxheW91dFNpemUud2lkdGgoKSksCisg
ICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGNvbmYubGF5b3V0U2l6ZS5oZWlnaHQoKSksCiAg
ICAgICAgICAgICBjb25mLmluaXRpYWxTY2FsZSwKICAgICAgICAgICAgIGNvbmYubWluaW11bVNj
YWxlLAogICAgICAgICAgICAgY29uZi5tYXhpbXVtU2NhbGUsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcAppbmRleCA1NmIxMzI3
NTM4MWZmNTQ0YmU0ZjkyYzFiMmZhMTQ4YmIzODYyZmY2Li4xNzA2MDRkMWRmYzUwMGQxYzRjZmJj
MzVlOWY5OTVmYzM3MTNhOWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKQEAgLTc3LDcgKzc3LDcgQEAgUVZhcmlhbnQg
UVdlYlZpZXdwb3J0SW5mbzo6aXNTY2FsYWJsZSgpIGNvbnN0CiAKIFFWYXJpYW50IFFXZWJWaWV3
cG9ydEluZm86OmxheW91dFNpemUoKSBjb25zdAogewotICAgIHJldHVybiBRU2l6ZShtX3dlYlZp
ZXdQcml2YXRlLT5hdHRyaWJ1dGVzLmxheW91dFNpemUpOworICAgIHJldHVybiBRU2l6ZUYobV93
ZWJWaWV3UHJpdmF0ZS0+YXR0cmlidXRlcy5sYXlvdXRTaXplLndpZHRoKCksIG1fd2ViVmlld1By
aXZhdGUtPmF0dHJpYnV0ZXMubGF5b3V0U2l6ZS5oZWlnaHQoKSk7CiB9CiAKIHZvaWQgUVdlYlZp
ZXdwb3J0SW5mbzo6ZGlkVXBkYXRlQ29udGVudHNTaXplKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA4YzE2MTdiODI5ZmZmM2Y2NmM1OTc3
ZGVhNDNiMDdhZjM2NzdkYjE5Li4xNDVjZDgyNWRkMDEwYzI5NjdiMTQ0YjNiM2RjOTAwMDVmYjMy
MjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC04ODIsNyArODgyLDcgQEAgdm9pZCBXZWJQYWdlOjpzZW5kVmlld3BvcnRBdHRyaWJ1dGVz
Q2hhbmdlZCgpCiAKICAgICBWaWV3cG9ydEF0dHJpYnV0ZXMgYXR0ciA9IGNvbXB1dGVWaWV3cG9y
dEF0dHJpYnV0ZXMobV9wYWdlLT52aWV3cG9ydEFyZ3VtZW50cygpLCBtaW5pbXVtTGF5b3V0RmFs
bGJhY2tXaWR0aCwgc2V0dGluZ3MtPmRldmljZVdpZHRoKCksIHNldHRpbmdzLT5kZXZpY2VIZWln
aHQoKSwgc3RhdGljX2Nhc3Q8aW50PigxNjAgKiBzZXR0aW5ncy0+ZGV2aWNlUGl4ZWxSYXRpbygp
KSwgbV92aWV3cG9ydFNpemUpOwogCi0gICAgc2V0UmVzaXplc1RvQ29udGVudHNVc2luZ0xheW91
dFNpemUoYXR0ci5sYXlvdXRTaXplKTsKKyAgICBzZXRSZXNpemVzVG9Db250ZW50c1VzaW5nTGF5
b3V0U2l6ZShJbnRTaXplKHN0YXRpY19jYXN0PGludD4oYXR0ci5sYXlvdXRTaXplLndpZHRoKCkp
LCBzdGF0aWNfY2FzdDxpbnQ+KGF0dHIubGF5b3V0U2l6ZS5oZWlnaHQoKSkpKTsKICAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhhdHRy
KSk7CiB9CiAKQEAgLTMwNDMsNyArMzA0Myw3IEBAIFN0cmluZyBXZWJQYWdlOjp2aWV3cG9ydENv
bmZpZ3VyYXRpb25Bc1RleHQoaW50IGRldmljZURQSSwgaW50IGRldmljZVdpZHRoLCBpbnQKICAg
ICBWaWV3cG9ydEF0dHJpYnV0ZXMgYXR0cnMgPSBXZWJDb3JlOjpjb21wdXRlVmlld3BvcnRBdHRy
aWJ1dGVzKGFyZ3VtZW50cywgLyogZGVmYXVsdCBsYXlvdXQgd2lkdGggZm9yIG5vbi1tb2JpbGUg
cGFnZXMgKi8gOTgwLCBkZXZpY2VXaWR0aCwgZGV2aWNlSGVpZ2h0LCBkZXZpY2VEUEksIEludFNp
emUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwogICAgIFdlYkNvcmU6OnJlc3Ry
aWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoYXR0cnMsIEludFNpemUoYXZhaWxh
YmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwogICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVG
YWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGF0dHJzKTsKLSAgICByZXR1cm4g
U3RyaW5nOjpmb3JtYXQoInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYgd2l0aCBsaW1pdHMg
WyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwgYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgp
LCBhdHRycy5sYXlvdXRTaXplLmhlaWdodCgpLCBhdHRycy5pbml0aWFsU2NhbGUsIGF0dHJzLm1p
bmltdW1TY2FsZSwgYXR0cnMubWF4aW11bVNjYWxlLCBhdHRycy51c2VyU2NhbGFibGUpOworICAg
IHJldHVybiBTdHJpbmc6OmZvcm1hdCgidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRo
IGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBzdGF0aWNfY2FzdDxpbnQ+
KGF0dHJzLmxheW91dFNpemUud2lkdGgoKSksIHN0YXRpY19jYXN0PGludD4oYXR0cnMubGF5b3V0
U2l6ZS5oZWlnaHQoKSksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBh
dHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CiB9CiAKIHZvaWQgV2ViUGFn
ZTo6c2V0Q29tcG9zaXRpb25Gb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgY29tcG9zaXRpb25TdHJp
bmcsIHVpbnQ2NF90IGZyb20sIHVpbnQ2NF90IGxlbmd0aCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140043</attachid>
            <date>2012-05-03 10:23:12 -0700</date>
            <delta_ts>2012-05-03 10:46:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120503132311.patch</filename>
            <type>text/plain</type>
            <size>17686</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1OTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ExOGRmMDFkNDQxZjJh
YTdjYWMyZmQ5OTEwYzc4Y2I2Mzc1MTBjNS4uZWZkOTQwNjQxNDU0NTBhODQxMDNlMmJhOGEyODQ5
NDIzZjdkYzZiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTAzICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAg
IE1ha2UgVmlld3BvcnQgQXR0cmlidXRlcycgbGF5b3V0U2l6ZSBiZSBhIEZsb2F0UmVjdCB0byBh
dm9pZCByb3VuZGluZworICAgICAgICB0b28gZWFybHksIGFuZCB0aGUgb2NjYXNpb25hbCBvZmYg
Ynkgb25lIGZpeGVkIGxheW91dCBkaW1lbnNpb25zLgorCisgICAgICAgICogZG9tL1ZpZXdwb3J0
QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0
ZXMpOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oOgorICAgICAgICAoVmlld3Bv
cnRBdHRyaWJ1dGVzKToKKwogMjAxMi0wNS0wMyAgQXJwaXRhIEJhaHVndW5hICA8YXJwaXRhYmFo
dWd1bmFAZ21haWwuY29tPgogCiAgICAgICAgIEJyb2tlbiBoYW5kbGluZyBvZiBwc2V1ZG8tZWxl
bWVudHMgaW4gc2VsZWN0b3JzIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXgg
NDEzZjExZWQxOTUyNjYzMmI5MDMwMGI1NDNhZGJkMDg1NzM4MWNhMi4uNWFhODAxZGEzYTc1NmNk
N2ViNDM4NDQ3ZmYzODVjZTg3MGU4MTY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRy
aWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxv
dyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnQ6OmR1
bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQpOgorCiAyMDEyLTA0LTE4ICBKb24gSG9uZXljdXR0
ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CiAKICAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudCgpIHNob3VsZCBiZSBnaXZlbiBtb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKaW5kZXggMGI4MTlhMzk5MzVkYzVmNWRhOTJmNTNiYTcxODdjODg2ODliYjFhNS4uNWE2
MWQwYjU0NDY2MzJjNTNjNWQ0NTg1ZDllYjQzMTMwOTlkYWUwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDEyLTA1LTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmli
dXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cg
em9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0RWZsLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEVm
bDo6ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCk6CisKIDIwMTItMDQtMTggIEpvbiBIb25l
eWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBGcmFtZUxvYWRlckNsaWVu
dDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KCkgc2hvdWxkIGJlIGdpdmVuIG1vcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwppbmRleCBjNzM4MzVmYjcwMmE3OTI1ZmZmMmNhZTI1OGUzZGUyYWU4NTlmOTA5
Li44YzIxYTczMjcxOWRhOWFiODI3NDgwNzNkOGY3YjQ0NGJhNGYzZTM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRB
dHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBh
bGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
S2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrOjpkdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KToKKwogMjAxMi0wNC0xOCAgSm9u
IEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgogCiAgICAgICAgIEZyYW1lTG9hZGVy
Q2xpZW50OjpkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQoKSBzaG91bGQgYmUgZ2l2ZW4gbW9y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwppbmRleCA4OWE5Y2YxODJlOTc2NWMyZWFhZjU3OTU1MDBlYTMzYTFiNzYz
MmNkLi5lNzg2YTA1ZDU2NzE2NmU5ZDY5NjcwYjJjNjRmMjhkM2RiODY5YjMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0
QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIg
YWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNw
cDoKKyAgICAgICAgKFFXZWJQYWdlOjp2aWV3cG9ydEF0dHJpYnV0ZXNGb3JTaXplKToKKyAgICAg
ICAgKiBBcGkvcXdlYnBhZ2UuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmll
d3BvcnRBc1RleHQpOgorCiAyMDEyLTA0LTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
IAogICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBm
cm9tIE5vdGlmaWNhdGlvbkNlbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDlkYzhiZDcxMDIzOWI2OWZjNTBk
MWNjMTNiODMxMzEwY2I0ZDlhNTQuLjMzNDA5ZjQ3MzVjOTRmZjhmZjQ5YjUyNDlkMTdmNDQ1OGMz
MjcyZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0wMyAgRmFkeSBTYW11
ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmluZyBsaW5lIGluIGNv
bXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMgdGhhdCBlbmZvcmNlcyBhIG1pbmltdW0gc2NhbGUgZmFj
dG9yIHRvIG5ldmVyIGFsbG93IHpvb21pbmcgb3V0IG1vcmUgdGhhbiB2aWV3cG9ydAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDkKKworICAgICAg
ICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHA6CisgICAgICAgIChRV2ViVmlld3Bv
cnRJbmZvOjpsYXlvdXRTaXplKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNlbmRWaWV3cG9ydEF0dHJpYnV0ZXND
aGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1cmF0aW9u
QXNUZXh0KToKKwogMjAxMi0wNS0wMyAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVu
c2VuQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIFRhcC1oaWdobGlnaHQgYmxpbmtzIHdoZW4g
YWN0aXZhdGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1l
bnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKaW5kZXgg
YzEzMWZjYzA5NTFlY2FkNjEzYTQ4YWU1MzdlOGJiMmMxZmQzMGMwMy4uMGYzMjlhYzMxNmYzNDQ0
MzI2ZDBhZjI4NjNlYWU4Yzk2YTI3ZWNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1ZpZXdwb3J0QXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwCkBAIC0xNzcsOCArMTc3LDggQEAgVmlld3BvcnRBdHRyaWJ1dGVzIGNvbXB1
dGVWaWV3cG9ydEF0dHJpYnV0ZXMoVmlld3BvcnRBcmd1bWVudHMgYXJncywgaW50IGRlc2t0b3AK
ICAgICAvLyBFeHRlbmQgd2lkdGggYW5kIGhlaWdodCB0byBmaWxsIHRoZSB2aXN1YWwgdmlld3Bv
cnQgZm9yIHRoZSByZXNvbHZlZCBpbml0aWFsLXNjYWxlLgogICAgIHdpZHRoID0gbWF4PGZsb2F0
Pih3aWR0aCwgYXZhaWxhYmxlV2lkdGggLyByZXN1bHQuaW5pdGlhbFNjYWxlKTsKICAgICBoZWln
aHQgPSBtYXg8ZmxvYXQ+KGhlaWdodCwgYXZhaWxhYmxlSGVpZ2h0IC8gcmVzdWx0LmluaXRpYWxT
Y2FsZSk7Ci0gICAgcmVzdWx0LmxheW91dFNpemUuc2V0V2lkdGgoc3RhdGljX2Nhc3Q8aW50Pihy
b3VuZGYod2lkdGgpKSk7Ci0gICAgcmVzdWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KHN0YXRpY19j
YXN0PGludD4ocm91bmRmKGhlaWdodCkpKTsKKyAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRXaWR0
aCh3aWR0aCk7CisgICAgcmVzdWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KGhlaWdodCk7CiAKICAg
ICByZXN1bHQudXNlclNjYWxhYmxlID0gYXJncy51c2VyU2NhbGFibGU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKaW5kZXggNTliNDFkZWQxZmQ0N2Y2MjdlYmJhMjMxYmU3
ODQ0NzYxYjRiNzI0Ny4uNzk2NTFkMjViMjMyM2Y5YmZiOGViOWM4MGMxNzgyMmMyNDg4NWIyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKQEAgLTI3LDcgKzI3LDcgQEAK
ICNpZm5kZWYgVmlld3BvcnRBcmd1bWVudHNfaAogI2RlZmluZSBWaWV3cG9ydEFyZ3VtZW50c19o
CiAKLSNpbmNsdWRlICJJbnRTaXplLmgiCisjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsNyArNDMsNyBA
QCBlbnVtIFZpZXdwb3J0RXJyb3JDb2RlIHsKIH07CiAKIHN0cnVjdCBWaWV3cG9ydEF0dHJpYnV0
ZXMgewotICAgIEludFNpemUgbGF5b3V0U2l6ZTsKKyAgICBGbG9hdFNpemUgbGF5b3V0U2l6ZTsK
IAogICAgIGZsb2F0IGRldmljZVBpeGVsUmF0aW87CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnQuY3BwCmluZGV4IGQyZjQ4NTk1OWJlZTllZjY3MTFkNDQ2MTUxMjlhNjRlNGEzYmJhZDMuLmNk
MWNiNGNmOWVmZDg4MTQ5MzRkZTZiODU1YjYwNTk3NmFlYzQxYjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0LmNwcApAQCAtOTEsNyArOTEsNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3Vw
cG9ydDo6ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChGcmFtZSogbWFpbkZyYW1lLCBpbnQg
ZAogICAgIHJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoYXR0cnMsIElu
dFNpemUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwogICAgIHJlc3RyaWN0U2Nh
bGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGF0dHJzKTsKIAotICAgIGZw
cmludGYoc3Rkb3V0LCAidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBb
JWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCks
IGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWlu
aW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CisgICAg
ZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNjYWxlICVmIHdpdGggbGltaXRz
IFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRpY19jYXN0PGludD4oYXR0cnMu
bGF5b3V0U2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50PihhdHRycy5sYXlvdXRTaXplLmhl
aWdodCgpKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVtU2NhbGUsIGF0dHJzLm1h
eGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAogaW50IER1bXBSZW5kZXJUcmVl
U3VwcG9ydDo6bnVtYmVyT2ZQZW5kaW5nR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdHMoV2Vi
UGFnZSogd2ViUGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCmluZGV4IGM0N2I5Y2M2NGRh
YTE0Yjc2YzUzMjJiM2I2YzZkMDA5NTk4NmY4MTIuLjkzMzc5NGJiYzc5ODE5Nzc3Yzc0NzVkOTdl
M2U2YzMzZDQxOGY5MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcApAQCAtNTM0LDcgKzUz
NCw3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpkdW1wQ29uZmlndXJhdGlvbkZv
clZpZXdwb3J0KEV2YXNfT2JqZWN0KiBld2tWaWV3CiAgICAgICAgICAgICBhdmFpbGFibGVTaXpl
KTsKICAgICByZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXplKGF0dHJpYnV0
ZXMsIGF2YWlsYWJsZVNpemUpOwogICAgIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2Fs
ZUlmTm90VXNlclNjYWxhYmxlKGF0dHJpYnV0ZXMpOwotICAgIGZwcmludGYoc3Rkb3V0LCAidmll
d3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNj
YWxhYmxlICVmXG4iLCBhdHRyaWJ1dGVzLmxheW91dFNpemUud2lkdGgoKSwgYXR0cmlidXRlcy5s
YXlvdXRTaXplLmhlaWdodCgpLCBhdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSwgYXR0cmlidXRlcy5t
aW5pbXVtU2NhbGUsIGF0dHJpYnV0ZXMubWF4aW11bVNjYWxlLCBhdHRyaWJ1dGVzLnVzZXJTY2Fs
YWJsZSk7CisgICAgZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNjYWxlICVm
IHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRpY19jYXN0
PGludD4oYXR0cmlidXRlcy5sYXlvdXRTaXplLndpZHRoKCkpLCBzdGF0aWNfY2FzdDxpbnQ+KGF0
dHJpYnV0ZXMubGF5b3V0U2l6ZS5oZWlnaHQoKSksIGF0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlLCBh
dHRyaWJ1dGVzLm1pbmltdW1TY2FsZSwgYXR0cmlidXRlcy5tYXhpbXVtU2NhbGUsIGF0dHJpYnV0
ZXMudXNlclNjYWxhYmxlKTsKIH0KIAogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmRl
bGl2ZXJBbGxNdXRhdGlvbnNJZk5lY2Vzc2FyeSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcApp
bmRleCA1MGIwMjA5YjNiOGM5ODlmMDNlNjUzMmMzYWMyNTI3MmQ5MTg4ZWU5Li5jMDBjYzg0MzAw
NGY5ZTQ2YjljNWMzMThmNjhjMDMyNzU1NTk5ZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5j
cHAKQEAgLTY3MSw3ICs2NzEsNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVt
cENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChXZWJLaXRXZWJWaWV3KiB3ZWJWaQogICAgIFZpZXdw
b3J0QXR0cmlidXRlcyBhdHRycyA9IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoYXJndW1lbnRz
LCAvKiBkZWZhdWx0IGxheW91dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBwYWdlcyAqLyA5ODAsIGRl
dmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgSW50U2l6ZShhdmFpbGFibGVXaWR0
aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgcmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1Zp
ZXdwb3J0U2l6ZShhdHRycywgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0
KSk7CiAgICAgcmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFi
bGUoYXR0cnMpOwotICAgIGZwcmludGYoc3Rkb3V0LCAidmlld3BvcnQgc2l6ZSAlZHglZCBzY2Fs
ZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5s
YXlvdXRTaXplLndpZHRoKCksIGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRp
YWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVz
ZXJTY2FsYWJsZSk7CisgICAgZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNj
YWxlICVmIHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRp
Y19jYXN0PGludD4oYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50Pihh
dHRycy5sYXlvdXRTaXplLmhlaWdodCgpKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5p
bXVtU2NhbGUsIGF0dHJzLm1heGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAog
dm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmNsZWFyT3BlbmVyKFdlYktpdFdlYkZyYW1l
KiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAxYzQ3OTU4NDMwYTNlMDcy
NzM5Nzc2ZmRlZDUxYjFkMGFlZjA5YTc0Li5lODVkZmQyODI2YWJkZmFmYzQ5MTNiODE5NmQ3MTBi
NTEyYWFiZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0yNTMzLDcgKzI1MzMs
NyBAQCBRV2ViUGFnZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIFFXZWJQYWdlOjp2aWV3cG9ydEF0dHJp
YnV0ZXNGb3JTaXplKGNvbnN0IFFTaXplJiBhdgogICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVG
YWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgcmVzdWx0
Lm1faXNWYWxpZCA9IHRydWU7Ci0gICAgcmVzdWx0Lm1fc2l6ZSA9IGNvbmYubGF5b3V0U2l6ZTsK
KyAgICByZXN1bHQubV9zaXplID0gUVNpemVGKGNvbmYubGF5b3V0U2l6ZS53aWR0aCgpLCBjb25m
LmxheW91dFNpemUuaGVpZ2h0KCkpOwogICAgIHJlc3VsdC5tX2luaXRpYWxTY2FsZUZhY3RvciA9
IGNvbmYuaW5pdGlhbFNjYWxlOwogICAgIHJlc3VsdC5tX21pbmltdW1TY2FsZUZhY3RvciA9IGNv
bmYubWluaW11bVNjYWxlOwogICAgIHJlc3VsdC5tX21heGltdW1TY2FsZUZhY3RvciA9IGNvbmYu
bWF4aW11bVNjYWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggZmQyZmQ0YjNiZWRiYjc2
MTNiMzUwYTk3MzBkYWZmNTMyYzQxMjllOS4uMGJmMzVlMjQ3MWYxY2MzYmQ0NDdjMTNjYjBmODg4
YTUyZjRkNGExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0yMzIsNyArMjMyLDcgQEAg
cHVibGljOgogICAgICAgICBpbmxpbmUgcXJlYWwgZGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0IHsg
cmV0dXJuIG1fZGV2aWNlUGl4ZWxSYXRpbzsgfQogICAgICAgICBpbmxpbmUgYm9vbCBpc1VzZXJT
Y2FsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyU2NhbGFibGU7IH0KICAgICAgICAgaW5s
aW5lIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQotICAgICAgICBp
bmxpbmUgUVNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgICAgICBpbmxp
bmUgUVNpemVGIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KIAogICAgIHByaXZhdGU6
CiAgICAgICAgIFFTaGFyZWREYXRhUG9pbnRlcjxRdFZpZXdwb3J0QXR0cmlidXRlc1ByaXZhdGU+
IGQ7CkBAIC0yNDIsNyArMjQyLDcgQEAgcHVibGljOgogICAgICAgICBxcmVhbCBtX2RldmljZVBp
eGVsUmF0aW87CiAgICAgICAgIGJvb2wgbV9pc1VzZXJTY2FsYWJsZTsKICAgICAgICAgYm9vbCBt
X2lzVmFsaWQ7Ci0gICAgICAgIFFTaXplIG1fc2l6ZTsKKyAgICAgICAgUVNpemVGIG1fc2l6ZTsK
IAogICAgICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ7CiAgICAgICAg
IGZyaWVuZCBjbGFzcyBRV2ViUGFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggNjNmNzdk
NjgyMjBiYWUyNDNiNzk2MDNiY2I0MGU3ZDZlMDhlMTUwMy4uMGQyYzJmZDc5MzE5OTA0Zjg1M2Rm
MWY5ZDQzZmM2YWZkOTQxY2MxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTgxMSw4ICs4
MTEsOCBAQCBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dChR
V2ViUGFnZSogcGFnZSwgaW50IGRldmljZURQSSwgYwogCiAgICAgUVN0cmluZyByZXM7CiAgICAg
cmVzID0gcmVzLnNwcmludGYoInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYgd2l0aCBsaW1p
dHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwKLSAgICAgICAgICAgIGNvbmYubGF5
b3V0U2l6ZS53aWR0aCgpLAotICAgICAgICAgICAgY29uZi5sYXlvdXRTaXplLmhlaWdodCgpLAor
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihjb25mLmxheW91dFNpemUud2lkdGgoKSksCisg
ICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGNvbmYubGF5b3V0U2l6ZS5oZWlnaHQoKSksCiAg
ICAgICAgICAgICBjb25mLmluaXRpYWxTY2FsZSwKICAgICAgICAgICAgIGNvbmYubWluaW11bVNj
YWxlLAogICAgICAgICAgICAgY29uZi5tYXhpbXVtU2NhbGUsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcAppbmRleCA1NmIxMzI3
NTM4MWZmNTQ0YmU0ZjkyYzFiMmZhMTQ4YmIzODYyZmY2Li4xNzA2MDRkMWRmYzUwMGQxYzRjZmJj
MzVlOWY5OTVmYzM3MTNhOWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKQEAgLTc3LDcgKzc3LDcgQEAgUVZhcmlhbnQg
UVdlYlZpZXdwb3J0SW5mbzo6aXNTY2FsYWJsZSgpIGNvbnN0CiAKIFFWYXJpYW50IFFXZWJWaWV3
cG9ydEluZm86OmxheW91dFNpemUoKSBjb25zdAogewotICAgIHJldHVybiBRU2l6ZShtX3dlYlZp
ZXdQcml2YXRlLT5hdHRyaWJ1dGVzLmxheW91dFNpemUpOworICAgIHJldHVybiBRU2l6ZUYobV93
ZWJWaWV3UHJpdmF0ZS0+YXR0cmlidXRlcy5sYXlvdXRTaXplLndpZHRoKCksIG1fd2ViVmlld1By
aXZhdGUtPmF0dHJpYnV0ZXMubGF5b3V0U2l6ZS5oZWlnaHQoKSk7CiB9CiAKIHZvaWQgUVdlYlZp
ZXdwb3J0SW5mbzo6ZGlkVXBkYXRlQ29udGVudHNTaXplKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA4YzE2MTdiODI5ZmZmM2Y2NmM1OTc3
ZGVhNDNiMDdhZjM2NzdkYjE5Li4xNDVjZDgyNWRkMDEwYzI5NjdiMTQ0YjNiM2RjOTAwMDVmYjMy
MjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC04ODIsNyArODgyLDcgQEAgdm9pZCBXZWJQYWdlOjpzZW5kVmlld3BvcnRBdHRyaWJ1dGVz
Q2hhbmdlZCgpCiAKICAgICBWaWV3cG9ydEF0dHJpYnV0ZXMgYXR0ciA9IGNvbXB1dGVWaWV3cG9y
dEF0dHJpYnV0ZXMobV9wYWdlLT52aWV3cG9ydEFyZ3VtZW50cygpLCBtaW5pbXVtTGF5b3V0RmFs
bGJhY2tXaWR0aCwgc2V0dGluZ3MtPmRldmljZVdpZHRoKCksIHNldHRpbmdzLT5kZXZpY2VIZWln
aHQoKSwgc3RhdGljX2Nhc3Q8aW50PigxNjAgKiBzZXR0aW5ncy0+ZGV2aWNlUGl4ZWxSYXRpbygp
KSwgbV92aWV3cG9ydFNpemUpOwogCi0gICAgc2V0UmVzaXplc1RvQ29udGVudHNVc2luZ0xheW91
dFNpemUoYXR0ci5sYXlvdXRTaXplKTsKKyAgICBzZXRSZXNpemVzVG9Db250ZW50c1VzaW5nTGF5
b3V0U2l6ZShJbnRTaXplKHN0YXRpY19jYXN0PGludD4oYXR0ci5sYXlvdXRTaXplLndpZHRoKCkp
LCBzdGF0aWNfY2FzdDxpbnQ+KGF0dHIubGF5b3V0U2l6ZS5oZWlnaHQoKSkpKTsKICAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhhdHRy
KSk7CiB9CiAKQEAgLTMwNDMsNyArMzA0Myw3IEBAIFN0cmluZyBXZWJQYWdlOjp2aWV3cG9ydENv
bmZpZ3VyYXRpb25Bc1RleHQoaW50IGRldmljZURQSSwgaW50IGRldmljZVdpZHRoLCBpbnQKICAg
ICBWaWV3cG9ydEF0dHJpYnV0ZXMgYXR0cnMgPSBXZWJDb3JlOjpjb21wdXRlVmlld3BvcnRBdHRy
aWJ1dGVzKGFyZ3VtZW50cywgLyogZGVmYXVsdCBsYXlvdXQgd2lkdGggZm9yIG5vbi1tb2JpbGUg
cGFnZXMgKi8gOTgwLCBkZXZpY2VXaWR0aCwgZGV2aWNlSGVpZ2h0LCBkZXZpY2VEUEksIEludFNp
emUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwogICAgIFdlYkNvcmU6OnJlc3Ry
aWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoYXR0cnMsIEludFNpemUoYXZhaWxh
YmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwogICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVG
YWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGF0dHJzKTsKLSAgICByZXR1cm4g
U3RyaW5nOjpmb3JtYXQoInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYgd2l0aCBsaW1pdHMg
WyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwgYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgp
LCBhdHRycy5sYXlvdXRTaXplLmhlaWdodCgpLCBhdHRycy5pbml0aWFsU2NhbGUsIGF0dHJzLm1p
bmltdW1TY2FsZSwgYXR0cnMubWF4aW11bVNjYWxlLCBhdHRycy51c2VyU2NhbGFibGUpOworICAg
IHJldHVybiBTdHJpbmc6OmZvcm1hdCgidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRo
IGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBzdGF0aWNfY2FzdDxpbnQ+
KGF0dHJzLmxheW91dFNpemUud2lkdGgoKSksIHN0YXRpY19jYXN0PGludD4oYXR0cnMubGF5b3V0
U2l6ZS5oZWlnaHQoKSksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBh
dHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CiB9CiAKIHZvaWQgV2ViUGFn
ZTo6c2V0Q29tcG9zaXRpb25Gb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgY29tcG9zaXRpb25TdHJp
bmcsIHVpbnQ2NF90IGZyb20sIHVpbnQ2NF90IGxlbmd0aCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtODYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC04Ni1leHBlY3RlZC50eHQKaW5kZXggZWNmOTI2NWJjZmEz
ZTQzNmY1YjMxM2IyMmE3N2JkMGY5MjhiZWY5My4uMzMyOGRlYmVhZjQ0MDBiNDE3OWI5NjBiNjk2
YTVjYzI4OTMzNDQyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3
cG9ydC04Ni1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3
cG9ydC04Ni1leHBlY3RlZC50eHQKQEAgLTEsMiArMSwyIEBACi12aWV3cG9ydCBzaXplIDQ1N3g1
MDMgc2NhbGUgMC43MDAwMDAgd2l0aCBsaW1pdHMgWzAuNzAwMDAwLCA1LjAwMDAwMF0gYW5kIHVz
ZXJTY2FsYWJsZSAtMS4wMDAwMDAKK3ZpZXdwb3J0IHNpemUgNDU3eDUwMiBzY2FsZSAwLjcwMDAw
MCB3aXRoIGxpbWl0cyBbMC43MDAwMDAsIDUuMDAwMDAwXSBhbmQgdXNlclNjYWxhYmxlIC0xLjAw
MDAwMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCAzNWU1NTc1NWQ2ZjVmYTU3ZGY1ODBk
MGJjNzAxOWZjNmZjMDc2NWIyLi4zOThkMTkzM2MzZGJkNzY0ODE0Njk2MGUxMzg3NTFlMzg2MDc1
OWUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTI0NTksMzAgKzI0NTksNiBAQCBmYXN0
L2V2ZW50cy90b3VjaC9wYWdlLXNjYWxlZC10b3VjaC1nZXN0dXJlLWNsaWNrLmh0bWwKIGZhc3Qv
Y2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRtbAogZmFzdC9jYW52YXMvY2FudmFzLWNv
bXBvc2l0ZS1jYW52YXMuaHRtbAogCi0jIFJFR1JFU1NJT04ocjk5MTk1KQotIyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDkKLWZhc3Qvdmlld3BvcnQvdmlld3Bv
cnQtODMuaHRtbAotZmFzdC92aWV3cG9ydC92aWV3cG9ydC01NC5odG1sCi1mYXN0L3ZpZXdwb3J0
L3ZpZXdwb3J0LTM3Lmh0bWwKLWZhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTIxLmh0bWwKLWZhc3Qv
dmlld3BvcnQvdmlld3BvcnQtODYuaHRtbAotZmFzdC92aWV3cG9ydC92aWV3cG9ydC01Mi5odG1s
Ci1mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOS5odG1sCi1mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LTM2Lmh0bWwKLWZhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTIyLmh0bWwKLWZhc3Qvdmlld3BvcnQv
dmlld3BvcnQtMTI1Lmh0bWwKLWZhc3Qvdmlld3BvcnQvdmlld3BvcnQtNjAuaHRtbAotZmFzdC92
aWV3cG9ydC92aWV3cG9ydC01NS5odG1sCi1mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTE4Lmh0bWwK
LWZhc3Qvdmlld3BvcnQvdmlld3BvcnQtNDYuaHRtbAotZmFzdC92aWV3cG9ydC92aWV3cG9ydC13
YXJuaW5ncy00Lmh0bWwKLWZhc3Qvdmlld3BvcnQvdmlld3BvcnQtNDMuaHRtbAotZmFzdC92aWV3
cG9ydC92aWV3cG9ydC01My5odG1sCi1mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTc1Lmh0bWwKLWZh
c3Qvdmlld3BvcnQvdmlld3BvcnQtNzYuaHRtbAotZmFzdC92aWV3cG9ydC92aWV3cG9ydC13YXJu
aW5ncy02Lmh0bWwKLWZhc3Qvdmlld3BvcnQvdmlld3BvcnQtd2FybmluZ3MtMy5odG1sCi0KICMg
dHJhY2sgbm90IGZ1bmN0aW9uYWwgeWV0LgogZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL3RyYWNr
LWV2ZW50LWNvbnN0cnVjdG9yLmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvdGV4dC10cmFjay1j
cm9zc29yaWdpbi5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140047</attachid>
            <date>2012-05-03 10:46:25 -0700</date>
            <delta_ts>2012-05-03 12:40:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70609-20120503134624.patch</filename>
            <type>text/plain</type>
            <size>19491</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1OTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ExOGRmMDFkNDQxZjJh
YTdjYWMyZmQ5OTEwYzc4Y2I2Mzc1MTBjNS4uZWZkOTQwNjQxNDU0NTBhODQxMDNlMmJhOGEyODQ5
NDIzZjdkYzZiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA1LTAzICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUg
aW4gY29tcHV0ZVZpZXdwb3J0QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2Fs
ZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAg
IE1ha2UgVmlld3BvcnQgQXR0cmlidXRlcycgbGF5b3V0U2l6ZSBiZSBhIEZsb2F0UmVjdCB0byBh
dm9pZCByb3VuZGluZworICAgICAgICB0b28gZWFybHksIGFuZCB0aGUgb2NjYXNpb25hbCBvZmYg
Ynkgb25lIGZpeGVkIGxheW91dCBkaW1lbnNpb25zLgorCisgICAgICAgICogZG9tL1ZpZXdwb3J0
QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0
ZXMpOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oOgorICAgICAgICAoVmlld3Bv
cnRBdHRyaWJ1dGVzKToKKwogMjAxMi0wNS0wMyAgQXJwaXRhIEJhaHVndW5hICA8YXJwaXRhYmFo
dWd1bmFAZ21haWwuY29tPgogCiAgICAgICAgIEJyb2tlbiBoYW5kbGluZyBvZiBwc2V1ZG8tZWxl
bWVudHMgaW4gc2VsZWN0b3JzIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXgg
NDEzZjExZWQxOTUyNjYzMmI5MDMwMGI1NDNhZGJkMDg1NzM4MWNhMi4uNWFhODAxZGEzYTc1NmNk
N2ViNDM4NDQ3ZmYzODVjZTg3MGU4MTY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRBdHRy
aWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBhbGxv
dyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnQ6OmR1
bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQpOgorCiAyMDEyLTA0LTE4ICBKb24gSG9uZXljdXR0
ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CiAKICAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudCgpIHNob3VsZCBiZSBnaXZlbiBtb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKaW5kZXggMGI4MTlhMzk5MzVkYzVmNWRhOTJmNTNiYTcxODdjODg2ODliYjFhNS4uNWE2
MWQwYjU0NDY2MzJjNTNjNWQ0NTg1ZDllYjQzMTMwOTlkYWUwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDEyLTA1LTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0QXR0cmli
dXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIgYWxsb3cg
em9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0RWZsLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEVm
bDo6ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCk6CisKIDIwMTItMDQtMTggIEpvbiBIb25l
eWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBGcmFtZUxvYWRlckNsaWVu
dDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KCkgc2hvdWxkIGJlIGdpdmVuIG1vcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwppbmRleCBjNzM4MzVmYjcwMmE3OTI1ZmZmMmNhZTI1OGUzZGUyYWU4NTlmOTA5
Li44YzIxYTczMjcxOWRhOWFiODI3NDgwNzNkOGY3YjQ0NGJhNGYzZTM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMDMgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZpbmcgbGluZSBpbiBjb21wdXRlVmlld3BvcnRB
dHRyaWJ1dGVzIHRoYXQgZW5mb3JjZXMgYSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0byBuZXZlciBh
bGxvdyB6b29taW5nIG91dCBtb3JlIHRoYW4gdmlld3BvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
S2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBw
b3J0R3RrOjpkdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KToKKwogMjAxMi0wNC0xOCAgSm9u
IEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgogCiAgICAgICAgIEZyYW1lTG9hZGVy
Q2xpZW50OjpkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQoKSBzaG91bGQgYmUgZ2l2ZW4gbW9y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZwppbmRleCA4OWE5Y2YxODJlOTc2NWMyZWFhZjU3OTU1MDBlYTMzYTFiNzYz
MmNkLi5lNzg2YTA1ZDU2NzE2NmU5ZDY5NjcwYjJjNjRmMjhkM2RiODY5YjMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbW92aW5nIGxpbmUgaW4gY29tcHV0ZVZpZXdwb3J0
QXR0cmlidXRlcyB0aGF0IGVuZm9yY2VzIGEgbWluaW11bSBzY2FsZSBmYWN0b3IgdG8gbmV2ZXIg
YWxsb3cgem9vbWluZyBvdXQgbW9yZSB0aGFuIHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNw
cDoKKyAgICAgICAgKFFXZWJQYWdlOjp2aWV3cG9ydEF0dHJpYnV0ZXNGb3JTaXplKToKKyAgICAg
ICAgKiBBcGkvcXdlYnBhZ2UuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmll
d3BvcnRBc1RleHQpOgorCiAyMDEyLTA0LTI3ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4K
IAogICAgICAgICBNaWdyYXRlIHBlcm1pc3Npb24gZnVuY3Rpb25zIHRvIE5vdGlmaWNhdGlvbiBm
cm9tIE5vdGlmaWNhdGlvbkNlbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDlkYzhiZDcxMDIzOWI2OWZjNTBk
MWNjMTNiODMxMzEwY2I0ZDlhNTQuLjMzNDA5ZjQ3MzVjOTRmZjhmZjQ5YjUyNDlkMTdmNDQ1OGMz
MjcyZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNS0wMyAgRmFkeSBTYW11
ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW1vdmluZyBsaW5lIGluIGNv
bXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMgdGhhdCBlbmZvcmNlcyBhIG1pbmltdW0gc2NhbGUgZmFj
dG9yIHRvIG5ldmVyIGFsbG93IHpvb21pbmcgb3V0IG1vcmUgdGhhbiB2aWV3cG9ydAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDkKKworICAgICAg
ICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHA6CisgICAgICAgIChRV2ViVmlld3Bv
cnRJbmZvOjpsYXlvdXRTaXplKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNlbmRWaWV3cG9ydEF0dHJpYnV0ZXND
aGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1cmF0aW9u
QXNUZXh0KToKKwogMjAxMi0wNS0wMyAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVu
c2VuQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIFRhcC1oaWdobGlnaHQgYmxpbmtzIHdoZW4g
YWN0aXZhdGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1l
bnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKaW5kZXgg
YzEzMWZjYzA5NTFlY2FkNjEzYTQ4YWU1MzdlOGJiMmMxZmQzMGMwMy4uMGYzMjlhYzMxNmYzNDQ0
MzI2ZDBhZjI4NjNlYWU4Yzk2YTI3ZWNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1ZpZXdwb3J0QXJndW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwCkBAIC0xNzcsOCArMTc3LDggQEAgVmlld3BvcnRBdHRyaWJ1dGVzIGNvbXB1
dGVWaWV3cG9ydEF0dHJpYnV0ZXMoVmlld3BvcnRBcmd1bWVudHMgYXJncywgaW50IGRlc2t0b3AK
ICAgICAvLyBFeHRlbmQgd2lkdGggYW5kIGhlaWdodCB0byBmaWxsIHRoZSB2aXN1YWwgdmlld3Bv
cnQgZm9yIHRoZSByZXNvbHZlZCBpbml0aWFsLXNjYWxlLgogICAgIHdpZHRoID0gbWF4PGZsb2F0
Pih3aWR0aCwgYXZhaWxhYmxlV2lkdGggLyByZXN1bHQuaW5pdGlhbFNjYWxlKTsKICAgICBoZWln
aHQgPSBtYXg8ZmxvYXQ+KGhlaWdodCwgYXZhaWxhYmxlSGVpZ2h0IC8gcmVzdWx0LmluaXRpYWxT
Y2FsZSk7Ci0gICAgcmVzdWx0LmxheW91dFNpemUuc2V0V2lkdGgoc3RhdGljX2Nhc3Q8aW50Pihy
b3VuZGYod2lkdGgpKSk7Ci0gICAgcmVzdWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KHN0YXRpY19j
YXN0PGludD4ocm91bmRmKGhlaWdodCkpKTsKKyAgICByZXN1bHQubGF5b3V0U2l6ZS5zZXRXaWR0
aCh3aWR0aCk7CisgICAgcmVzdWx0LmxheW91dFNpemUuc2V0SGVpZ2h0KGhlaWdodCk7CiAKICAg
ICByZXN1bHQudXNlclNjYWxhYmxlID0gYXJncy51c2VyU2NhbGFibGU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKaW5kZXggNTliNDFkZWQxZmQ0N2Y2MjdlYmJhMjMxYmU3
ODQ0NzYxYjRiNzI0Ny4uNzk2NTFkMjViMjMyM2Y5YmZiOGViOWM4MGMxNzgyMmMyNDg4NWIyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKQEAgLTI3LDcgKzI3LDcgQEAK
ICNpZm5kZWYgVmlld3BvcnRBcmd1bWVudHNfaAogI2RlZmluZSBWaWV3cG9ydEFyZ3VtZW50c19o
CiAKLSNpbmNsdWRlICJJbnRTaXplLmgiCisjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsNyArNDMsNyBA
QCBlbnVtIFZpZXdwb3J0RXJyb3JDb2RlIHsKIH07CiAKIHN0cnVjdCBWaWV3cG9ydEF0dHJpYnV0
ZXMgewotICAgIEludFNpemUgbGF5b3V0U2l6ZTsKKyAgICBGbG9hdFNpemUgbGF5b3V0U2l6ZTsK
IAogICAgIGZsb2F0IGRldmljZVBpeGVsUmF0aW87CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnQuY3BwCmluZGV4IGQyZjQ4NTk1OWJlZTllZjY3MTFkNDQ2MTUxMjlhNjRlNGEzYmJhZDMuLmNk
MWNiNGNmOWVmZDg4MTQ5MzRkZTZiODU1YjYwNTk3NmFlYzQxYjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0LmNwcApAQCAtOTEsNyArOTEsNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3Vw
cG9ydDo6ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChGcmFtZSogbWFpbkZyYW1lLCBpbnQg
ZAogICAgIHJlc3RyaWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoYXR0cnMsIElu
dFNpemUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwogICAgIHJlc3RyaWN0U2Nh
bGVGYWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGF0dHJzKTsKIAotICAgIGZw
cmludGYoc3Rkb3V0LCAidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBb
JWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5sYXlvdXRTaXplLndpZHRoKCks
IGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWlu
aW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CisgICAg
ZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNjYWxlICVmIHdpdGggbGltaXRz
IFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRpY19jYXN0PGludD4oYXR0cnMu
bGF5b3V0U2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50PihhdHRycy5sYXlvdXRTaXplLmhl
aWdodCgpKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5pbXVtU2NhbGUsIGF0dHJzLm1h
eGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAogaW50IER1bXBSZW5kZXJUcmVl
U3VwcG9ydDo6bnVtYmVyT2ZQZW5kaW5nR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdHMoV2Vi
UGFnZSogd2ViUGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCmluZGV4IGM0N2I5Y2M2NGRh
YTE0Yjc2YzUzMjJiM2I2YzZkMDA5NTk4NmY4MTIuLjkzMzc5NGJiYzc5ODE5Nzc3Yzc0NzVkOTdl
M2U2YzMzZDQxOGY5MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcApAQCAtNTM0LDcgKzUz
NCw3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpkdW1wQ29uZmlndXJhdGlvbkZv
clZpZXdwb3J0KEV2YXNfT2JqZWN0KiBld2tWaWV3CiAgICAgICAgICAgICBhdmFpbGFibGVTaXpl
KTsKICAgICByZXN0cmljdE1pbmltdW1TY2FsZUZhY3RvclRvVmlld3BvcnRTaXplKGF0dHJpYnV0
ZXMsIGF2YWlsYWJsZVNpemUpOwogICAgIHJlc3RyaWN0U2NhbGVGYWN0b3JUb0luaXRpYWxTY2Fs
ZUlmTm90VXNlclNjYWxhYmxlKGF0dHJpYnV0ZXMpOwotICAgIGZwcmludGYoc3Rkb3V0LCAidmll
d3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNj
YWxhYmxlICVmXG4iLCBhdHRyaWJ1dGVzLmxheW91dFNpemUud2lkdGgoKSwgYXR0cmlidXRlcy5s
YXlvdXRTaXplLmhlaWdodCgpLCBhdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSwgYXR0cmlidXRlcy5t
aW5pbXVtU2NhbGUsIGF0dHJpYnV0ZXMubWF4aW11bVNjYWxlLCBhdHRyaWJ1dGVzLnVzZXJTY2Fs
YWJsZSk7CisgICAgZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNjYWxlICVm
IHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRpY19jYXN0
PGludD4oYXR0cmlidXRlcy5sYXlvdXRTaXplLndpZHRoKCkpLCBzdGF0aWNfY2FzdDxpbnQ+KGF0
dHJpYnV0ZXMubGF5b3V0U2l6ZS5oZWlnaHQoKSksIGF0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlLCBh
dHRyaWJ1dGVzLm1pbmltdW1TY2FsZSwgYXR0cmlidXRlcy5tYXhpbXVtU2NhbGUsIGF0dHJpYnV0
ZXMudXNlclNjYWxhYmxlKTsKIH0KIAogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmRl
bGl2ZXJBbGxNdXRhdGlvbnNJZk5lY2Vzc2FyeSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwIGIvU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmNwcApp
bmRleCA1MGIwMjA5YjNiOGM5ODlmMDNlNjUzMmMzYWMyNTI3MmQ5MTg4ZWU5Li5jMDBjYzg0MzAw
NGY5ZTQ2YjljNWMzMThmNjhjMDMyNzU1NTk5ZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGsuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEd0ay5j
cHAKQEAgLTY3MSw3ICs2NzEsNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEd0azo6ZHVt
cENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChXZWJLaXRXZWJWaWV3KiB3ZWJWaQogICAgIFZpZXdw
b3J0QXR0cmlidXRlcyBhdHRycyA9IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMoYXJndW1lbnRz
LCAvKiBkZWZhdWx0IGxheW91dCB3aWR0aCBmb3Igbm9uLW1vYmlsZSBwYWdlcyAqLyA5ODAsIGRl
dmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgSW50U2l6ZShhdmFpbGFibGVXaWR0
aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiAgICAgcmVzdHJpY3RNaW5pbXVtU2NhbGVGYWN0b3JUb1Zp
ZXdwb3J0U2l6ZShhdHRycywgSW50U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0
KSk7CiAgICAgcmVzdHJpY3RTY2FsZUZhY3RvclRvSW5pdGlhbFNjYWxlSWZOb3RVc2VyU2NhbGFi
bGUoYXR0cnMpOwotICAgIGZwcmludGYoc3Rkb3V0LCAidmlld3BvcnQgc2l6ZSAlZHglZCBzY2Fs
ZSAlZiB3aXRoIGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRycy5s
YXlvdXRTaXplLndpZHRoKCksIGF0dHJzLmxheW91dFNpemUuaGVpZ2h0KCksIGF0dHJzLmluaXRp
YWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBhdHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVz
ZXJTY2FsYWJsZSk7CisgICAgZnByaW50ZihzdGRvdXQsICJ2aWV3cG9ydCBzaXplICVkeCVkIHNj
YWxlICVmIHdpdGggbGltaXRzIFslZiwgJWZdIGFuZCB1c2VyU2NhbGFibGUgJWZcbiIsIHN0YXRp
Y19jYXN0PGludD4oYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgpKSwgc3RhdGljX2Nhc3Q8aW50Pihh
dHRycy5sYXlvdXRTaXplLmhlaWdodCgpKSwgYXR0cnMuaW5pdGlhbFNjYWxlLCBhdHRycy5taW5p
bXVtU2NhbGUsIGF0dHJzLm1heGltdW1TY2FsZSwgYXR0cnMudXNlclNjYWxhYmxlKTsKIH0KIAog
dm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OmNsZWFyT3BlbmVyKFdlYktpdFdlYkZyYW1l
KiBmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCAxYzQ3OTU4NDMwYTNlMDcy
NzM5Nzc2ZmRlZDUxYjFkMGFlZjA5YTc0Li5lODVkZmQyODI2YWJkZmFmYzQ5MTNiODE5NmQ3MTBi
NTEyYWFiZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0yNTMzLDcgKzI1MzMs
NyBAQCBRV2ViUGFnZTo6Vmlld3BvcnRBdHRyaWJ1dGVzIFFXZWJQYWdlOjp2aWV3cG9ydEF0dHJp
YnV0ZXNGb3JTaXplKGNvbnN0IFFTaXplJiBhdgogICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVG
YWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGNvbmYpOwogCiAgICAgcmVzdWx0
Lm1faXNWYWxpZCA9IHRydWU7Ci0gICAgcmVzdWx0Lm1fc2l6ZSA9IGNvbmYubGF5b3V0U2l6ZTsK
KyAgICByZXN1bHQubV9zaXplID0gUVNpemVGKGNvbmYubGF5b3V0U2l6ZS53aWR0aCgpLCBjb25m
LmxheW91dFNpemUuaGVpZ2h0KCkpOwogICAgIHJlc3VsdC5tX2luaXRpYWxTY2FsZUZhY3RvciA9
IGNvbmYuaW5pdGlhbFNjYWxlOwogICAgIHJlc3VsdC5tX21pbmltdW1TY2FsZUZhY3RvciA9IGNv
bmYubWluaW11bVNjYWxlOwogICAgIHJlc3VsdC5tX21heGltdW1TY2FsZUZhY3RvciA9IGNvbmYu
bWF4aW11bVNjYWxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKaW5kZXggZmQyZmQ0YjNiZWRiYjc2
MTNiMzUwYTk3MzBkYWZmNTMyYzQxMjllOS4uMGJmMzVlMjQ3MWYxY2MzYmQ0NDdjMTNjYjBmODg4
YTUyZjRkNGExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0yMzIsNyArMjMyLDcgQEAg
cHVibGljOgogICAgICAgICBpbmxpbmUgcXJlYWwgZGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0IHsg
cmV0dXJuIG1fZGV2aWNlUGl4ZWxSYXRpbzsgfQogICAgICAgICBpbmxpbmUgYm9vbCBpc1VzZXJT
Y2FsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNVc2VyU2NhbGFibGU7IH0KICAgICAgICAgaW5s
aW5lIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQotICAgICAgICBp
bmxpbmUgUVNpemUgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQorICAgICAgICBpbmxp
bmUgUVNpemVGIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KIAogICAgIHByaXZhdGU6
CiAgICAgICAgIFFTaGFyZWREYXRhUG9pbnRlcjxRdFZpZXdwb3J0QXR0cmlidXRlc1ByaXZhdGU+
IGQ7CkBAIC0yNDIsNyArMjQyLDcgQEAgcHVibGljOgogICAgICAgICBxcmVhbCBtX2RldmljZVBp
eGVsUmF0aW87CiAgICAgICAgIGJvb2wgbV9pc1VzZXJTY2FsYWJsZTsKICAgICAgICAgYm9vbCBt
X2lzVmFsaWQ7Ci0gICAgICAgIFFTaXplIG1fc2l6ZTsKKyAgICAgICAgUVNpemVGIG1fc2l6ZTsK
IAogICAgICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6Q2hyb21lQ2xpZW50UXQ7CiAgICAgICAg
IGZyaWVuZCBjbGFzcyBRV2ViUGFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggNjNmNzdk
NjgyMjBiYWUyNDNiNzk2MDNiY2I0MGU3ZDZlMDhlMTUwMy4uMGQyYzJmZDc5MzE5OTA0Zjg1M2Rm
MWY5ZDQzZmM2YWZkOTQxY2MxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTgxMSw4ICs4
MTEsOCBAQCBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dChR
V2ViUGFnZSogcGFnZSwgaW50IGRldmljZURQSSwgYwogCiAgICAgUVN0cmluZyByZXM7CiAgICAg
cmVzID0gcmVzLnNwcmludGYoInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYgd2l0aCBsaW1p
dHMgWyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwKLSAgICAgICAgICAgIGNvbmYubGF5
b3V0U2l6ZS53aWR0aCgpLAotICAgICAgICAgICAgY29uZi5sYXlvdXRTaXplLmhlaWdodCgpLAor
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihjb25mLmxheW91dFNpemUud2lkdGgoKSksCisg
ICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KGNvbmYubGF5b3V0U2l6ZS5oZWlnaHQoKSksCiAg
ICAgICAgICAgICBjb25mLmluaXRpYWxTY2FsZSwKICAgICAgICAgICAgIGNvbmYubWluaW11bVNj
YWxlLAogICAgICAgICAgICAgY29uZi5tYXhpbXVtU2NhbGUsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcAppbmRleCA1NmIxMzI3
NTM4MWZmNTQ0YmU0ZjkyYzFiMmZhMTQ4YmIzODYyZmY2Li4xNzA2MDRkMWRmYzUwMGQxYzRjZmJj
MzVlOWY5OTVmYzM3MTNhOWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKQEAgLTc3LDcgKzc3LDcgQEAgUVZhcmlhbnQg
UVdlYlZpZXdwb3J0SW5mbzo6aXNTY2FsYWJsZSgpIGNvbnN0CiAKIFFWYXJpYW50IFFXZWJWaWV3
cG9ydEluZm86OmxheW91dFNpemUoKSBjb25zdAogewotICAgIHJldHVybiBRU2l6ZShtX3dlYlZp
ZXdQcml2YXRlLT5hdHRyaWJ1dGVzLmxheW91dFNpemUpOworICAgIHJldHVybiBRU2l6ZUYobV93
ZWJWaWV3UHJpdmF0ZS0+YXR0cmlidXRlcy5sYXlvdXRTaXplLndpZHRoKCksIG1fd2ViVmlld1By
aXZhdGUtPmF0dHJpYnV0ZXMubGF5b3V0U2l6ZS5oZWlnaHQoKSk7CiB9CiAKIHZvaWQgUVdlYlZp
ZXdwb3J0SW5mbzo6ZGlkVXBkYXRlQ29udGVudHNTaXplKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA4YzE2MTdiODI5ZmZmM2Y2NmM1OTc3
ZGVhNDNiMDdhZjM2NzdkYjE5Li4xNDVjZDgyNWRkMDEwYzI5NjdiMTQ0YjNiM2RjOTAwMDVmYjMy
MjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC04ODIsNyArODgyLDcgQEAgdm9pZCBXZWJQYWdlOjpzZW5kVmlld3BvcnRBdHRyaWJ1dGVz
Q2hhbmdlZCgpCiAKICAgICBWaWV3cG9ydEF0dHJpYnV0ZXMgYXR0ciA9IGNvbXB1dGVWaWV3cG9y
dEF0dHJpYnV0ZXMobV9wYWdlLT52aWV3cG9ydEFyZ3VtZW50cygpLCBtaW5pbXVtTGF5b3V0RmFs
bGJhY2tXaWR0aCwgc2V0dGluZ3MtPmRldmljZVdpZHRoKCksIHNldHRpbmdzLT5kZXZpY2VIZWln
aHQoKSwgc3RhdGljX2Nhc3Q8aW50PigxNjAgKiBzZXR0aW5ncy0+ZGV2aWNlUGl4ZWxSYXRpbygp
KSwgbV92aWV3cG9ydFNpemUpOwogCi0gICAgc2V0UmVzaXplc1RvQ29udGVudHNVc2luZ0xheW91
dFNpemUoYXR0ci5sYXlvdXRTaXplKTsKKyAgICBzZXRSZXNpemVzVG9Db250ZW50c1VzaW5nTGF5
b3V0U2l6ZShJbnRTaXplKHN0YXRpY19jYXN0PGludD4oYXR0ci5sYXlvdXRTaXplLndpZHRoKCkp
LCBzdGF0aWNfY2FzdDxpbnQ+KGF0dHIubGF5b3V0U2l6ZS5oZWlnaHQoKSkpKTsKICAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhhdHRy
KSk7CiB9CiAKQEAgLTMwNDMsNyArMzA0Myw3IEBAIFN0cmluZyBXZWJQYWdlOjp2aWV3cG9ydENv
bmZpZ3VyYXRpb25Bc1RleHQoaW50IGRldmljZURQSSwgaW50IGRldmljZVdpZHRoLCBpbnQKICAg
ICBWaWV3cG9ydEF0dHJpYnV0ZXMgYXR0cnMgPSBXZWJDb3JlOjpjb21wdXRlVmlld3BvcnRBdHRy
aWJ1dGVzKGFyZ3VtZW50cywgLyogZGVmYXVsdCBsYXlvdXQgd2lkdGggZm9yIG5vbi1tb2JpbGUg
cGFnZXMgKi8gOTgwLCBkZXZpY2VXaWR0aCwgZGV2aWNlSGVpZ2h0LCBkZXZpY2VEUEksIEludFNp
emUoYXZhaWxhYmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwogICAgIFdlYkNvcmU6OnJlc3Ry
aWN0TWluaW11bVNjYWxlRmFjdG9yVG9WaWV3cG9ydFNpemUoYXR0cnMsIEludFNpemUoYXZhaWxh
YmxlV2lkdGgsIGF2YWlsYWJsZUhlaWdodCkpOwogICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVG
YWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGF0dHJzKTsKLSAgICByZXR1cm4g
U3RyaW5nOjpmb3JtYXQoInZpZXdwb3J0IHNpemUgJWR4JWQgc2NhbGUgJWYgd2l0aCBsaW1pdHMg
WyVmLCAlZl0gYW5kIHVzZXJTY2FsYWJsZSAlZlxuIiwgYXR0cnMubGF5b3V0U2l6ZS53aWR0aCgp
LCBhdHRycy5sYXlvdXRTaXplLmhlaWdodCgpLCBhdHRycy5pbml0aWFsU2NhbGUsIGF0dHJzLm1p
bmltdW1TY2FsZSwgYXR0cnMubWF4aW11bVNjYWxlLCBhdHRycy51c2VyU2NhbGFibGUpOworICAg
IHJldHVybiBTdHJpbmc6OmZvcm1hdCgidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRo
IGxpbWl0cyBbJWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBzdGF0aWNfY2FzdDxpbnQ+
KGF0dHJzLmxheW91dFNpemUud2lkdGgoKSksIHN0YXRpY19jYXN0PGludD4oYXR0cnMubGF5b3V0
U2l6ZS5oZWlnaHQoKSksIGF0dHJzLmluaXRpYWxTY2FsZSwgYXR0cnMubWluaW11bVNjYWxlLCBh
dHRycy5tYXhpbXVtU2NhbGUsIGF0dHJzLnVzZXJTY2FsYWJsZSk7CiB9CiAKIHZvaWQgV2ViUGFn
ZTo6c2V0Q29tcG9zaXRpb25Gb3JUZXN0aW5nKGNvbnN0IFN0cmluZyYgY29tcG9zaXRpb25TdHJp
bmcsIHVpbnQ2NF90IGZyb20sIHVpbnQ2NF90IGxlbmd0aCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtODYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC04Ni1leHBlY3RlZC50eHQKaW5kZXggZWNmOTI2NWJjZmEz
ZTQzNmY1YjMxM2IyMmE3N2JkMGY5MjhiZWY5My4uMzMyOGRlYmVhZjQ0MDBiNDE3OWI5NjBiNjk2
YTVjYzI4OTMzNDQyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3
cG9ydC04Ni1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3
cG9ydC04Ni1leHBlY3RlZC50eHQKQEAgLTEsMiArMSwyIEBACi12aWV3cG9ydCBzaXplIDQ1N3g1
MDMgc2NhbGUgMC43MDAwMDAgd2l0aCBsaW1pdHMgWzAuNzAwMDAwLCA1LjAwMDAwMF0gYW5kIHVz
ZXJTY2FsYWJsZSAtMS4wMDAwMDAKK3ZpZXdwb3J0IHNpemUgNDU3eDUwMiBzY2FsZSAwLjcwMDAw
MCB3aXRoIGxpbWl0cyBbMC43MDAwMDAsIDUuMDAwMDAwXSBhbmQgdXNlclNjYWxhYmxlIC0xLjAw
MDAwMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvdGVzdF9leHBlY3Rh
dGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dAppbmRleCBmMDA1OTk4NGEzZjMzM2UyMWRlNTk5OWI5ZTI2ODMwM2VlMDc3YjJiLi45OTA1OWUy
YzY3ODNhYTVkMTBhNjJlYmU4MTk3NDdlNmM2MGZiMDcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvdGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTEyOTcsMjkgKzEyOTcsNiBAQCBC
VUdXS0dUSyBTS0lQIFdPTlRGSVggOiBhY2Nlc3NpYmlsaXR5L3BsdWdpbi5odG1sID0gRkFJTAog
QlVHV0s3MTAyMiA6IGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRtbCA9IEZB
SUwKIEJVR1dLNzEwMjIgOiBmYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWNhbnZhcy5odG1s
ID0gRkFJTAogCi0vLyBSRUdSRVNTSU9OKHI5OTE5NSkKLUJVR1dLNzA2MDkgOiBmYXN0L3ZpZXdw
b3J0L3ZpZXdwb3J0LTEyMS5odG1sID0gRkFJTAotQlVHV0s3MDYwOSA6IGZhc3Qvdmlld3BvcnQv
dmlld3BvcnQtMTIyLmh0bWwgPSBGQUlMCi1CVUdXSzcwNjA5IDogZmFzdC92aWV3cG9ydC92aWV3
cG9ydC0xMjUuaHRtbCA9IEZBSUwKLUJVR1dLNzA2MDkgOiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LTEyOS5odG1sID0gRkFJTAotQlVHV0s3MDYwOSA6IGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTgu
aHRtbCA9IEZBSUwKLUJVR1dLNzA2MDkgOiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTM2Lmh0bWwg
PSBGQUlMCi1CVUdXSzcwNjA5IDogZmFzdC92aWV3cG9ydC92aWV3cG9ydC0zNy5odG1sID0gRkFJ
TAotQlVHV0s3MDYwOSA6IGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtNDMuaHRtbCA9IEZBSUwKLUJV
R1dLNzA2MDkgOiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTQ2Lmh0bWwgPSBGQUlMCi1CVUdXSzcw
NjA5IDogZmFzdC92aWV3cG9ydC92aWV3cG9ydC01Mi5odG1sID0gRkFJTAotQlVHV0s3MDYwOSA6
IGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtNTMuaHRtbCA9IEZBSUwKLUJVR1dLNzA2MDkgOiBmYXN0
L3ZpZXdwb3J0L3ZpZXdwb3J0LTU0Lmh0bWwgPSBGQUlMCi1CVUdXSzcwNjA5IDogZmFzdC92aWV3
cG9ydC92aWV3cG9ydC01NS5odG1sID0gRkFJTAotQlVHV0s3MDYwOSA6IGZhc3Qvdmlld3BvcnQv
dmlld3BvcnQtNjAuaHRtbCA9IEZBSUwKLUJVR1dLNzA2MDkgOiBmYXN0L3ZpZXdwb3J0L3ZpZXdw
b3J0LTc1Lmh0bWwgPSBGQUlMCi1CVUdXSzcwNjA5IDogZmFzdC92aWV3cG9ydC92aWV3cG9ydC03
Ni5odG1sID0gRkFJTAotQlVHV0s3MDYwOSA6IGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtODMuaHRt
bCA9IEZBSUwKLUJVR1dLNzA2MDkgOiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTg2Lmh0bWwgPSBG
QUlMCi1CVUdXSzcwNjA5IDogZmFzdC92aWV3cG9ydC92aWV3cG9ydC13YXJuaW5ncy0zLmh0bWwg
PSBGQUlMCi1CVUdXSzcwNjA5IDogZmFzdC92aWV3cG9ydC92aWV3cG9ydC13YXJuaW5ncy00Lmh0
bWwgPSBGQUlMCi1CVUdXSzcwNjA5IDogZmFzdC92aWV3cG9ydC92aWV3cG9ydC13YXJuaW5ncy02
Lmh0bWwgPSBGQUlMCi0KIC8vIHZpZXdwb3J0IG1ldGEgdGFnIHRlc3RzIHRoYXQgZmFpbGVkIGJl
Y2F1c2Ugd2luZG93LmRldmljZVBpeGVsUmF0aW8gaXMgbm90IGltcGxlbWVudGVkCiBCVUdXS0dU
SyA6IGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTMzLmh0bWwgPSBGQUlMCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9Ta2lwcGVkCmluZGV4IDM1ZTU1NzU1ZDZmNWZhNTdkZjU4MGQwYmM3MDE5ZmM2ZmMwNzY1YjIu
LjM5OGQxOTMzYzNkYmQ3NjQ4MTQ2OTYwZTEzODc1MWUzODYwNzU5ZTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZApAQCAtMjQ1OSwzMCArMjQ1OSw2IEBAIGZhc3QvZXZlbnRzL3RvdWNoL3BhZ2Ut
c2NhbGVkLXRvdWNoLWdlc3R1cmUtY2xpY2suaHRtbAogZmFzdC9jYW52YXMvY2FudmFzLWNvbXBv
c2l0ZS1pbWFnZS5odG1sCiBmYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWNhbnZhcy5odG1s
CiAKLSMgUkVHUkVTU0lPTihyOTkxOTUpCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDYwOQotZmFzdC92aWV3cG9ydC92aWV3cG9ydC04My5odG1sCi1mYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LTU0Lmh0bWwKLWZhc3Qvdmlld3BvcnQvdmlld3BvcnQtMzcuaHRtbAot
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC0xMjEuaHRtbAotZmFzdC92aWV3cG9ydC92aWV3cG9ydC04
Ni5odG1sCi1mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTUyLmh0bWwKLWZhc3Qvdmlld3BvcnQvdmll
d3BvcnQtMTI5Lmh0bWwKLWZhc3Qvdmlld3BvcnQvdmlld3BvcnQtMzYuaHRtbAotZmFzdC92aWV3
cG9ydC92aWV3cG9ydC0xMjIuaHRtbAotZmFzdC92aWV3cG9ydC92aWV3cG9ydC0xMjUuaHRtbAot
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC02MC5odG1sCi1mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTU1
Lmh0bWwKLWZhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTguaHRtbAotZmFzdC92aWV3cG9ydC92aWV3
cG9ydC00Ni5odG1sCi1mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LXdhcm5pbmdzLTQuaHRtbAotZmFz
dC92aWV3cG9ydC92aWV3cG9ydC00My5odG1sCi1mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTUzLmh0
bWwKLWZhc3Qvdmlld3BvcnQvdmlld3BvcnQtNzUuaHRtbAotZmFzdC92aWV3cG9ydC92aWV3cG9y
dC03Ni5odG1sCi1mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LXdhcm5pbmdzLTYuaHRtbAotZmFzdC92
aWV3cG9ydC92aWV3cG9ydC13YXJuaW5ncy0zLmh0bWwKLQogIyB0cmFjayBub3QgZnVuY3Rpb25h
bCB5ZXQuCiBmYXN0L2V2ZW50cy9jb25zdHJ1Y3RvcnMvdHJhY2stZXZlbnQtY29uc3RydWN0b3Iu
aHRtbAogaHR0cC90ZXN0cy9zZWN1cml0eS90ZXh0LXRyYWNrLWNyb3Nzb3JpZ2luLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>