<?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>156790</bug_id>
          
          <creation_ts>2016-04-20 03:14:03 -0700</creation_ts>
          <short_desc>Position of WebGL &lt;canvas&gt; on iOS is incorrect with CSS borders</short_desc>
          <delta_ts>2017-08-10 12:23:22 -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>WebGL</component>
          <version>Other</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=175437</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1185383</commentid>
    <comment_count>0</comment_count>
      <attachid>276814</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-04-20 03:14:03 -0700</bug_when>
    <thetext>Created attachment 276814
Testcase for border

Adding a `border` CSS property on a &lt;canvas&gt; element does not correctly position the WebGL content of the canvas, showing it displaced compared to its background. This only happens on iOS and drawing into a WebGL context, OS X positions the content correctly and requesting a 2D context on iOS also draws the context in the right place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185384</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-04-20 03:14:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/25826290&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197595</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-30 06:15:25 -0700</bug_when>
    <thetext>Per my testing, box-shadow and padding also cause problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197598</commentid>
    <comment_count>3</comment_count>
      <attachid>280091</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-30 06:16:55 -0700</bug_when>
    <thetext>Created attachment 280091
Test case for padding</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197599</commentid>
    <comment_count>4</comment_count>
      <attachid>280092</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-30 06:17:31 -0700</bug_when>
    <thetext>Created attachment 280092
Testcase for box-shadow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197621</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-30 07:54:56 -0700</bug_when>
    <thetext>It looks like the device pixel ratio may have something to do with this. If we measure the distance from the border to the WebGL layer (dGL) and the distance from the border to the background (dBG) I can see that on a 2x display dBG is 2x dGL while on a 3x display it is 3x dGL. Alas, I can&apos;t test on a 1x iOS display, but my guess is that the bug would not reproduce there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197624</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-30 08:39:09 -0700</bug_when>
    <thetext>On the Mac, the WebGLLayer has contentsScale = 2 while on iOS it has contentsScale = 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197636</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-30 10:01:39 -0700</bug_when>
    <thetext>So, the contentsScale is set to the device pixel ratio on Mac only in `-(id)initWithGraphicsContext3D:(GraphicsContext3D*)context`, while we set a transform with a scale set to the device pixel ratio on iOS only in `PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom()`.

Overriding `-(void)setPosition:(CGPoint)position` on WebGLLayer to account for the device pixel ratio fixes the issue, but I&apos;m not sure this is the right fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197734</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-31 01:15:20 -0700</bug_when>
    <thetext>I think the root of the issue is that WKRemoteView applies a scale that is the inverse of the scale factor in - (instancetype)initWithFrame:(CGRect)frame contextID:(uint32_t)contextID hostingDeviceScaleFactor:(float)scaleFactor and this causes the position to be divided by scale factor, which explains the offset varying with the device pixel ratio seen on iOS with WebGL layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197737</commentid>
    <comment_count>9</comment_count>
      <attachid>280125</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-31 01:41:43 -0700</bug_when>
    <thetext>Created attachment 280125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197763</commentid>
    <comment_count>10</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-31 05:21:31 -0700</bug_when>
    <thetext>I misread the code in RemoteLayerTreeHost::createLayer(), WKRemoteViews are created not just for WebGL layers but also custom layers and video layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197770</commentid>
    <comment_count>11</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-31 05:57:10 -0700</bug_when>
    <thetext>The changes were made as part of https://bugs.webkit.org/show_bug.cgi?id=136879.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197774</commentid>
    <comment_count>12</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-31 06:36:00 -0700</bug_when>
    <thetext>I was puzzled by why this didn&apos;t apply to &lt;video&gt; elements, and I found there was an ad-hoc fix for those in https://bugs.webkit.org/show_bug.cgi?id=144274 which introduces a container layer which does basically the same thing as my patch does, albeit more elegantly, by applying the transform when setting the position.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197776</commentid>
    <comment_count>13</comment_count>
      <attachid>280144</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-31 06:44:45 -0700</bug_when>
    <thetext>Created attachment 280144
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197779</commentid>
    <comment_count>14</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-31 07:13:08 -0700</bug_when>
    <thetext>This patch is kind of an ad-hoc fix, much like the one that was made for &lt;video&gt;. I wonder if we should introduce a CALayer subclass that we would add as the layer for WKRemoteView and which would apply the transform, which should let the WebGLLayer and WebVideoContainerLayer be positioned without any manual application of the transform to the CGPoint passed to -setPosition:.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197814</commentid>
    <comment_count>15</comment_count>
      <attachid>280144</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-05-31 10:13:56 -0700</bug_when>
    <thetext>Comment on attachment 280144
Patch

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

I’m saying review+ but I am not sure this is the best fix.

&gt; Source/WebCore/platform/graphics/mac/WebGLLayer.mm:185
&gt; +- (void)setPosition:(CGPoint)position

Seems a peculiar choice for this adjustment to be done inside the setPosition method. I would have expected this code to instead be at the call sites that are setting the position or in a helper function or new method that we add. This change would not be correct if any code other than the code in WebKit was calling the setPosition: method.

&gt; Source/WebCore/platform/graphics/mac/WebGLLayer.mm:192
&gt; +    if (!CATransform3DIsIdentity(self.transform)) {
&gt; +        // Account for the transform applied to the WKRemoteView hosting the WebGLLayer
&gt; +        // which applies a scale that is the inverse of the device pixel ratio.
&gt; +        // https://bugs.webkit.org/show_bug.cgi?id=156790
&gt; +        position = CGPointApplyAffineTransform(position, CATransform3DGetAffineTransform(self.transform));
&gt; +    }

Why do we need to check CATransform3DIsIdentity? Is this a performance optimization? Does it improve correctness?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197870</commentid>
    <comment_count>16</comment_count>
      <attachid>280144</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-05-31 12:11:35 -0700</bug_when>
    <thetext>Comment on attachment 280144
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/mac/WebGLLayer.mm:185
&gt;&gt; +- (void)setPosition:(CGPoint)position
&gt; 
&gt; Seems a peculiar choice for this adjustment to be done inside the setPosition method. I would have expected this code to instead be at the call sites that are setting the position or in a helper function or new method that we add. This change would not be correct if any code other than the code in WebKit was calling the setPosition: method.

I agree with Darin.

I&apos;m also worried about a few things:
- If the transform changes, is setPosition always called? If not, the layer will be in the wrong place.
- This seems to be an issue in the WKRemoteView. Maybe it should special-case WebGLLayer? Why aren&apos;t other WKRemoteViews having the same problem?
- (Something I&apos;ve been meaning to fix for a while) It&apos;s annoying that we have iOS-only code in platform/graphics/mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1197988</commentid>
    <comment_count>17</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-05-31 15:34:10 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Comment on attachment 280144 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=280144&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/graphics/mac/WebGLLayer.mm:185
&gt; &gt;&gt; +- (void)setPosition:(CGPoint)position
&gt; &gt; 
&gt; &gt; Seems a peculiar choice for this adjustment to be done inside the setPosition method. I would have expected this code to instead be at the call sites that are setting the position or in a helper function or new method that we add. This change would not be correct if any code other than the code in WebKit was calling the setPosition: method.
&gt; 
&gt; I agree with Darin.

I think I&apos;ll investigate adding a container layer for WKRemoteView which applies the inverse transform and let sublayers of that container be positioned, which would correctly position things with respect to the page scale factor.

&gt; I&apos;m also worried about a few things:
&gt; - If the transform changes, is setPosition always called? If not, the layer
&gt; will be in the wrong place.
&gt; - This seems to be an issue in the WKRemoteView. Maybe it should
&gt; special-case WebGLLayer? Why aren&apos;t other WKRemoteViews having the same
&gt; problem?

They do, see my comment above about WebVideoContainerLayer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1198037</commentid>
    <comment_count>18</comment_count>
      <attachid>280144</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-05-31 18:49:36 -0700</bug_when>
    <thetext>Comment on attachment 280144
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/mac/WebGLLayer.mm:185
&gt;&gt;&gt;&gt; +- (void)setPosition:(CGPoint)position
&gt;&gt;&gt; 
&gt;&gt;&gt; Seems a peculiar choice for this adjustment to be done inside the setPosition method. I would have expected this code to instead be at the call sites that are setting the position or in a helper function or new method that we add. This change would not be correct if any code other than the code in WebKit was calling the setPosition: method.
&gt;&gt; 
&gt;&gt; I agree with Darin.
&gt;&gt; 
&gt;&gt; I&apos;m also worried about a few things:
&gt;&gt; - If the transform changes, is setPosition always called? If not, the layer will be in the wrong place.
&gt;&gt; - This seems to be an issue in the WKRemoteView. Maybe it should special-case WebGLLayer? Why aren&apos;t other WKRemoteViews having the same problem?
&gt;&gt; - (Something I&apos;ve been meaning to fix for a while) It&apos;s annoying that we have iOS-only code in platform/graphics/mac.
&gt; 
&gt; I think I&apos;ll investigate adding a container layer for WKRemoteView which applies the inverse transform and let sublayers of that container be positioned, which would correctly position things with respect to the page scale factor.

Sorry, I didn&apos;t notice your comment earlier on bugzilla.

Yeah, I like this idea. Hopefully that means we can be certain that transform and position are in sync.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199656</commentid>
    <comment_count>19</comment_count>
      <attachid>280614</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-06-06 12:02:43 -0700</bug_when>
    <thetext>Created attachment 280614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199707</commentid>
    <comment_count>20</comment_count>
      <attachid>280614</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-06 13:56:54 -0700</bug_when>
    <thetext>Comment on attachment 280614
Patch

Clearing flags on attachment: 280614

Committed r201727: &lt;http://trac.webkit.org/changeset/201727&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199708</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-06 13:56:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>276814</attachid>
            <date>2016-04-20 03:14:03 -0700</date>
            <delta_ts>2016-05-30 06:17:57 -0700</delta_ts>
            <desc>Testcase for border</desc>
            <filename>webgl-canvas-border.html</filename>
            <type>text/html</type>
            <size>434</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">PGNhbnZhcyBzdHlsZT0id2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYm9yZGVyOiAxMHB4IHNv
bGlkIHJlZDsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZSI+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJjYW52YXMi
KTsKICAgIGNhbnZhcy53aWR0aCA9IGNhbnZhcy5jbGllbnRXaWR0aCAqIHdpbmRvdy5kZXZpY2VQ
aXhlbFJhdGlvOwogICAgY2FudmFzLmhlaWdodCA9IGNhbnZhcy5jbGllbnRIZWlnaHQgKiB3aW5k
b3cuZGV2aWNlUGl4ZWxSYXRpbzsKCiAgICB2YXIgZ2wgPSBjYW52YXMuZ2V0Q29udGV4dCgid2Vi
Z2wiKTsKICAgIGdsLmNsZWFyQ29sb3IoMCwgMCwgMCwgMSk7CiAgICBnbC5jbGVhcihnbC5DT0xP
Ul9CVUZGRVJfQklUKTsKPC9zY3JpcHQ+CjwvY2FudmFzPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>280091</attachid>
            <date>2016-05-30 06:16:55 -0700</date>
            <delta_ts>2016-05-30 06:16:55 -0700</delta_ts>
            <desc>Test case for padding</desc>
            <filename>webgl-padding.html</filename>
            <type>text/html</type>
            <size>574</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">PGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoIj4KICAgIDxzdHlsZT4KCiAgICBjYW52YXMgewogICAgICAgIHdpZHRoOiAxMDBweDsKICAg
ICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CiAgICAg
ICAgcGFkZGluZzogMTBweDsKICAgIH0KCiAgICA8L3N0eWxlPgo8L2hlYWQ+CjxjYW52YXM+Cjxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCiAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigiY2FudmFzIik7CiAgICBjYW52YXMud2lkdGggPSBjYW52YXMuY2xpZW50
V2lkdGggKiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKICAgIGNhbnZhcy5oZWlnaHQgPSBjYW52
YXMuY2xpZW50SGVpZ2h0ICogd2luZG93LmRldmljZVBpeGVsUmF0aW87CgogICAgdmFyIGdsID0g
Y2FudmFzLmdldENvbnRleHQoIndlYmdsIik7CiAgICBnbC5jbGVhckNvbG9yKDEsIDAsIDAuNDgs
IDEpOwogICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCk7Cgo8L3NjcmlwdD4KPC9jYW52
YXM+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>280092</attachid>
            <date>2016-05-30 06:17:31 -0700</date>
            <delta_ts>2016-05-30 06:17:31 -0700</delta_ts>
            <desc>Testcase for box-shadow</desc>
            <filename>webgl-box-shadow.html</filename>
            <type>text/html</type>
            <size>593</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">PGhlYWQ+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdp
ZHRoIj4KICAgIDxzdHlsZT4KCiAgICBjYW52YXMgewogICAgICAgIHdpZHRoOiAxMDBweDsKICAg
ICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CiAgICAg
ICAgYm94LXNoYWRvdzogMTBweCAxMHB4IDEwcHggYmxhY2s7CiAgICB9CgogICAgPC9zdHlsZT4K
PC9oZWFkPgo8Y2FudmFzPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgogICAgdmFy
IGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImNhbnZhcyIpOwogICAgY2FudmFzLndp
ZHRoID0gY2FudmFzLmNsaWVudFdpZHRoICogd2luZG93LmRldmljZVBpeGVsUmF0aW87CiAgICBj
YW52YXMuaGVpZ2h0ID0gY2FudmFzLmNsaWVudEhlaWdodCAqIHdpbmRvdy5kZXZpY2VQaXhlbFJh
dGlvOwoKICAgIHZhciBnbCA9IGNhbnZhcy5nZXRDb250ZXh0KCJ3ZWJnbCIpOwogICAgZ2wuY2xl
YXJDb2xvcigxLCAwLCAwLjQ4LCAxKTsKICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQp
OwoKPC9zY3JpcHQ+CjwvY2FudmFzPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280125</attachid>
            <date>2016-05-31 01:41:43 -0700</date>
            <delta_ts>2016-05-31 06:44:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156790-20160531104258.patch</filename>
            <type>text/plain</type>
            <size>7358</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNkMDFiMzFmMGUzNmEx
ZWI4YWM2NjVhNmRiMTE2ZmVhNmI3NTBkYi4uYzY2OWZkOTFkMTA1OWE5NmY0NDU3MmYzMzBjMDZk
NzM1NjUwOGZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTA1LTMxICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgUG9zaXRpb24gb2YgV2Vi
R0wgPGNhbnZhcz4gb24gaU9TIGlzIGluY29ycmVjdCB3aXRoIENTUyBib3JkZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY3OTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJHTCBsYXllcnMgb24g
aU9TIGFyZSBob3N0ZWQgYnkgYSBXS1JlbW90ZVZpZXcsIHdoaWNoIGFwcGxpZXMgYSB0cmFuc2Zv
cm0gc2NhbGluZworICAgICAgICBpdHMgY29udGVudCBieSB0aGUgaW52ZXJzZSBvZiB0aGUgZGV2
aWNlIHBpeGVsIHJhdGlvLCB3aGljaCBhZmZlY3RzIGhvdyBwb3NpdGlvbnMgYXJlCisgICAgICAg
IGFwcGxpZWQgdG8gdGhlIFdlYkdMIGxheWVyLiBUbyBhY2NvdW50IGZvciB0aGlzLCB3ZSBtdWx0
aXBseSB0aGUgcG9zaXRpb24gb2YgdGhlIFdlYkdMCisgICAgICAgIGxheWVyIGJ5IHRoZSBkZXZp
Y2UgcGl4ZWwgcmF0aW8gb24gaU9TIG9ubHkuCisKKyAgICAgICAgVGVzdHM6IHdlYmdsL3dlYmds
LWJvcmRlci5odG1sCisgICAgICAgICAgICAgICB3ZWJnbC93ZWJnbC1ib3gtc2hhZG93Lmh0bWwK
KyAgICAgICAgICAgICAgIHdlYmdsL3dlYmdsLXBhZGRpbmcuaHRtbAorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIubW06CisgICAgICAgICgtW1dlYkdMTGF5ZXIg
c2V0UG9zaXRpb246XSk6CisKIDIwMTYtMDUtMzAgIEphdmllciBGZXJuYW5kZXogIDxqZmVybmFu
ZGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBCb3ggQWxpZ25tZW50XSBOZXcgQ1NTIFZh
bHVlICdub3JtYWwnIGZvciBTZWxmIEFsaWdubWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViR0xMYXllci5tbQppbmRleCA3MWRkYjYzZDdhMmM2NGFh
NjlmN2ZjOTczZTAzM2M4NzI0NjQwMTRkLi5kYzI1NTBiNTkwYzViYmJhNGUxNjJlN2M2Y2Q1MGE5
ZjlhNDg5NTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvV2ViR0xMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvV2ViR0xMYXllci5tbQpAQCAtMTgxLDYgKzE4MSwxNiBAQCAtICh2b2lkKWRpc3BsYXkKICAg
ICBfY29udGV4dC0+bWFya0xheWVyQ29tcG9zaXRlZCgpOwogfQogCisjaWYgUExBVEZPUk0oSU9T
KQorLSAodm9pZClzZXRQb3NpdGlvbjooQ0dQb2ludClwb3NpdGlvbgoreworICAgIC8vIEFjY291
bnQgZm9yIHRoZSB0cmFuc2Zvcm0gYXBwbGllZCB0byB0aGUgV0tSZW1vdGVWaWV3IGhvc3Rpbmcg
dGhlIFdlYkdMTGF5ZXIKKyAgICAvLyB3aGljaCBhcHBsaWVzIGEgc2NhbGUgdGhhdCBpcyB0aGUg
aW52ZXJzZSBvZiB0aGUgZGV2aWNlIHBpeGVsIHJhdGlvLgorICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY3OTAKKyAgICBbc3VwZXIgc2V0UG9zaXRpb246
Q0dQb2ludE1ha2UocG9zaXRpb24ueCAqIF9kZXZpY2VQaXhlbFJhdGlvLCBwb3NpdGlvbi55ICog
X2RldmljZVBpeGVsUmF0aW8pXTsKK30KKyNlbmRpZgorCiBAZW5kCiAKICNlbmRpZiAvLyBFTkFC
TEUoV0VCR0wpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNGUyZDUwNTgyNGQzOTgyMjBlNzU1YzIzNjNkMjc1YWQ2NTE5ODhk
My4uY2IzMTgzZGYxZjczNzkxM2E0N2ExOTBhY2JiMDdhMmVjOGVkZmYxNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDE2LTA1LTMxICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+
CisKKyAgICAgICAgUG9zaXRpb24gb2YgV2ViR0wgPGNhbnZhcz4gb24gaU9TIGlzIGluY29ycmVj
dCB3aXRoIENTUyBib3JkZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTY3OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGRpbmcgbmV3IHRlc3RzIGNoZWNraW5nIHRoYXQgQ1NTIGJvcmRlciwgYm94
LXNoYWRvdyBhbmQgcGFkZGluZyBwcm9wZXJ0aWVzIHVzZWQgb24gYQorICAgICAgICBXZWJHTCA8
Y2FudmFzPiBlbGVtZW50IGNvcnJlY3RseSBhZmZlY3QgdGhlIHBvc2l0aW9uIG9mIHRoZSBXZWJH
TCBjb250ZW50LgorCisgICAgICAgICogd2ViZ2wvd2ViZ2wtYm9yZGVyLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3dlYmdsLWJvcmRlci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC93ZWJnbC1ib3gtc2hhZG93LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYmdsL3dlYmdsLWJveC1zaGFkb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
d2ViZ2wtcGFkZGluZy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC93ZWJn
bC1wYWRkaW5nLmh0bWw6IEFkZGVkLgorCiAyMDE2LTA1LTMwICBKYXZpZXIgRmVybmFuZGV6ICA8
amZlcm5hbmRlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDU1MgQm94IEFsaWdubWVudF0gTmV3
IENTUyBWYWx1ZSAnbm9ybWFsJyBmb3IgU2VsZiBBbGlnbm1lbnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmdsL3dlYmdsLWJvcmRlci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvd2ViZ2wtYm9yZGVyLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDk4ZWVhZjI2YjU2OTk0
M2VjMjI5NzMzM2VkYjkwZGNjODExOTI3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmdsL3dlYmdsLWJvcmRlci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxoZWFk
PgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgi
PgorICAgIDxzdHlsZT4KKworICAgIGRpdiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CisgICAg
ICAgIGJvcmRlcjogMjBweCBzb2xpZCBibHVlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8ZGl2PjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtYm9y
ZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1ib3JkZXIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lYmQwMGE3ZWMzYzc1Yjk0M2Q3M2Y2ZWU5ODA1ZjU0MTJiNGViOWM4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtYm9yZGVyLmh0bWwKQEAgLTAsMCArMSwyNiBA
QAorPGhlYWQ+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmlj
ZS13aWR0aCI+CisgICAgPHN0eWxlPgorCisgICAgY2FudmFzIHsKKyAgICAgICAgd2lkdGg6IDEw
MHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBy
ZWQ7CisgICAgICAgIGJvcmRlcjogMjBweCBzb2xpZCBibHVlOworICAgIH0KKworICAgIDwvc3R5
bGU+Cis8L2hlYWQ+Cis8Y2FudmFzPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgor
CisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImNhbnZhcyIpOworICAg
IGNhbnZhcy53aWR0aCA9IGNhbnZhcy5jbGllbnRXaWR0aCAqIHdpbmRvdy5kZXZpY2VQaXhlbFJh
dGlvOworICAgIGNhbnZhcy5oZWlnaHQgPSBjYW52YXMuY2xpZW50SGVpZ2h0ICogd2luZG93LmRl
dmljZVBpeGVsUmF0aW87CisKKyAgICB2YXIgZ2wgPSBjYW52YXMuZ2V0Q29udGV4dCgid2ViZ2wi
KTsKKyAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDAsIDEpOworICAgIGdsLmNsZWFyKGdsLkNPTE9S
X0JVRkZFUl9CSVQpOworCis8L3NjcmlwdD4KKzwvY2FudmFzPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvd2ViZ2wtYm94LXNoYWRvdy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvd2ViZ2wtYm94LXNoYWRvdy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkYTY5NTBl
NGIzMGZkMjQ0MDdmNGJmMjAwYjhiYTFjODdhOGU2MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC93ZWJnbC1ib3gtc2hhZG93LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwx
NCBAQAorPGhlYWQ+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCI+CisgICAgPHN0eWxlPgorCisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDEw
MHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBi
bGFjazsKKyAgICAgICAgYm94LXNoYWRvdzogMTBweCAxMHB4IDBweCBibHVlOworICAgIH0KKwor
ICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8ZGl2PjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvd2ViZ2wtYm94LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wt
Ym94LXNoYWRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3ZjM4ODlkMmNhMmIzYTM0ZTZmMGU2MjIwZWVl
ZTU1ZGYxODEwZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1i
b3gtc2hhZG93Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPGhlYWQ+CisgICAgPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCI+CisgICAgPHN0eWxlPgorCisg
ICAgY2FudmFzIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgICAgIGJveC1zaGFkb3c6IDEw
cHggMTBweCAwcHggYmx1ZTsKKyAgICB9CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGNhbnZh
cz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworICAgIHZhciBjYW52YXMgPSBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCJjYW52YXMiKTsKKyAgICBjYW52YXMud2lkdGggPSBjYW52
YXMuY2xpZW50V2lkdGggKiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKKyAgICBjYW52YXMuaGVp
Z2h0ID0gY2FudmFzLmNsaWVudEhlaWdodCAqIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOworCisg
ICAgdmFyIGdsID0gY2FudmFzLmdldENvbnRleHQoIndlYmdsIik7CisgICAgZ2wuY2xlYXJDb2xv
cigwLCAwLCAwLCAxKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKworPC9z
Y3JpcHQ+Cis8L2NhbnZhcz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3dlYmdsLXBh
ZGRpbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3dlYmdsLXBhZGRpbmctZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWYyODg5MzEyYjVhMTgwNTNmM2IwYzI1NzAwYjRhYmVh
YzIwYTFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtcGFkZGlu
Zy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxoZWFkPgorICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorICAgIDxzdHlsZT4KKwor
ICAgIGRpdiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsK
KyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CisgICAgICAgIHBhZGRpbmc6IDEwcHg7
CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxkaXY+PC9kaXY+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1wYWRkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC93ZWJnbC1wYWRkaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODAyYjEyMGNiYjEzN2UzYTE1ZDQyNWNj
ZjM4NzFiN2NhYjRiZGM0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3dl
YmdsLXBhZGRpbmcuaHRtbApAQCAtMCwwICsxLDI2IEBACis8aGVhZD4KKyAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKyAgICA8c3R5bGU+CisK
KyAgICBjYW52YXMgeworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAw
cHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOworICAgICAgICBwYWRkaW5nOiAx
MHB4OworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Y2FudmFzPgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoImNhbnZhcyIpOworICAgIGNhbnZhcy53aWR0aCA9IGNhbnZhcy5jbGllbnRXaWR0
aCAqIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOworICAgIGNhbnZhcy5oZWlnaHQgPSBjYW52YXMu
Y2xpZW50SGVpZ2h0ICogd2luZG93LmRldmljZVBpeGVsUmF0aW87CisKKyAgICB2YXIgZ2wgPSBj
YW52YXMuZ2V0Q29udGV4dCgid2ViZ2wiKTsKKyAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDAsIDEp
OworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCis8L3NjcmlwdD4KKzwvY2Fu
dmFzPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280144</attachid>
            <date>2016-05-31 06:44:45 -0700</date>
            <delta_ts>2016-06-06 12:02:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156790-20160531154600.patch</filename>
            <type>text/plain</type>
            <size>7691</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQzMjNhNTMxYzJlZmQ1
MDczY2E5NGZlOTBjZDNkYmQ2ZTBhY2ExYi4uYjdlY2MxOWIzZmNhYmUxNDliMWI3MTU3ZWFjM2Q3
NDUyNTYzNzgwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA1LTMxICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgUG9zaXRpb24gb2YgV2Vi
R0wgPGNhbnZhcz4gb24gaU9TIGlzIGluY29ycmVjdCB3aXRoIENTUyBib3JkZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY3OTAKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzI1ODI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdlYkdMIGxheWVycyBvbiBpT1MgYXJlIGhvc3RlZCBieSBhIFdL
UmVtb3RlVmlldywgd2hpY2ggYXBwbGllcyBhIHRyYW5zZm9ybSBzY2FsaW5nCisgICAgICAgIGl0
cyBjb250ZW50IGJ5IHRoZSBpbnZlcnNlIG9mIHRoZSBkZXZpY2UgcGl4ZWwgcmF0aW8sIHdoaWNo
IGFmZmVjdHMgaG93IHBvc2l0aW9ucyBhcmUKKyAgICAgICAgYXBwbGllZCB0byB0aGUgV2ViR0wg
bGF5ZXIuIFRoZSBjb250YWluZXIgbGF5ZXIgb2YgdGhlIGxheWVyIGhvc3RlZCBieSBhIFdLUmVt
b3RlVmlldworICAgICAgICB0aGVuIGhhcyBhbiBpbnZlcnNlIHRyYW5zZm9ybSBhcHBsaWVkIHRv
IGl0IGluIHRoZSBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20KKyAgICAgICAgY29uc3RydWN0
b3IuIEhvd2V2ZXIsIHRoZSBwb3NpdGlvbiBvZiBhIENBTGF5ZXIgaXMgbm90IGFmZmVjdGVkIGJ5
IGl0cyB0cmFuc2Zvcm0sIHNvCisgICAgICAgIHdlIG5lZWQgdG8gYWNjb3VudCBmb3IgaXQgd2hl
biBzZXR0aW5nIHRoZSBwb3NpdGlvbiBvZiBhIFdlYkdMIGxheWVyIG9uIGlPUy4KKworICAgICAg
ICBUZXN0czogd2ViZ2wvd2ViZ2wtYm9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIHdlYmdsL3dl
YmdsLWJveC1zaGFkb3cuaHRtbAorICAgICAgICAgICAgICAgd2ViZ2wvd2ViZ2wtcGFkZGluZy5o
dG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViR0xMYXllci5tbToKKyAg
ICAgICAgKC1bV2ViR0xMYXllciBzZXRQb3NpdGlvbjpdKToKKwogMjAxNi0wNS0zMCAgQnJhZHkg
RWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBDcm9zc1RocmVhZENv
cGllci9Dcm9zc1RocmVhZFRhc2sgdG8gV1RGLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvV2ViR0xMYXllci5tbQppbmRleCA3MWRkYjYzZDdhMmM2NGFhNjlm
N2ZjOTczZTAzM2M4NzI0NjQwMTRkLi5mOWMwZTQzMDI3MzA2Yzk5NzRjODFiYTk2NjFiNTBlNzUx
NGQ1NDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
V2ViR0xMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
V2ViR0xMYXllci5tbQpAQCAtMTgxLDYgKzE4MSwxOSBAQCAtICh2b2lkKWRpc3BsYXkKICAgICBf
Y29udGV4dC0+bWFya0xheWVyQ29tcG9zaXRlZCgpOwogfQogCisjaWYgUExBVEZPUk0oSU9TKQor
LSAodm9pZClzZXRQb3NpdGlvbjooQ0dQb2ludClwb3NpdGlvbgoreworICAgIGlmICghQ0FUcmFu
c2Zvcm0zRElzSWRlbnRpdHkoc2VsZi50cmFuc2Zvcm0pKSB7CisgICAgICAgIC8vIEFjY291bnQg
Zm9yIHRoZSB0cmFuc2Zvcm0gYXBwbGllZCB0byB0aGUgV0tSZW1vdGVWaWV3IGhvc3RpbmcgdGhl
IFdlYkdMTGF5ZXIKKyAgICAgICAgLy8gd2hpY2ggYXBwbGllcyBhIHNjYWxlIHRoYXQgaXMgdGhl
IGludmVyc2Ugb2YgdGhlIGRldmljZSBwaXhlbCByYXRpby4KKyAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Njc5MAorICAgICAgICBwb3NpdGlvbiA9
IENHUG9pbnRBcHBseUFmZmluZVRyYW5zZm9ybShwb3NpdGlvbiwgQ0FUcmFuc2Zvcm0zREdldEFm
ZmluZVRyYW5zZm9ybShzZWxmLnRyYW5zZm9ybSkpOworICAgIH0KKyAgICBbc3VwZXIgc2V0UG9z
aXRpb246cG9zaXRpb25dOworfQorI2VuZGlmCisKIEBlbmQKIAogI2VuZGlmIC8vIEVOQUJMRShX
RUJHTCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAyNDkxYzUxOTc4YzkwZDEwYjExMzdkZDFiZmI5Njc0NzY4YWY2ZDVjLi5i
ODU3OTdlNGY4NTgyYWUzODQ0MDg3MDNiMjYzYmRlOGE1N2JkZWYyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTYtMDUtMzEgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKwor
ICAgICAgICBQb3NpdGlvbiBvZiBXZWJHTCA8Y2FudmFzPiBvbiBpT1MgaXMgaW5jb3JyZWN0IHdp
dGggQ1NTIGJvcmRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1Njc5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjU4MjYyOTA+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIG5ldyB0ZXN0
cyBjaGVja2luZyB0aGF0IENTUyBib3JkZXIsIGJveC1zaGFkb3cgYW5kIHBhZGRpbmcgcHJvcGVy
dGllcyB1c2VkIG9uIGEKKyAgICAgICAgV2ViR0wgPGNhbnZhcz4gZWxlbWVudCBjb3JyZWN0bHkg
YWZmZWN0IHRoZSBwb3NpdGlvbiBvZiB0aGUgV2ViR0wgY29udGVudC4KKworICAgICAgICAqIHdl
YmdsL3dlYmdsLWJvcmRlci1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC93
ZWJnbC1ib3JkZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvd2ViZ2wtYm94LXNoYWRv
dy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC93ZWJnbC1ib3gtc2hhZG93
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3dlYmdsLXBhZGRpbmctZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvd2ViZ2wtcGFkZGluZy5odG1sOiBBZGRlZC4KKwog
MjAxNi0wNS0zMCAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmdsL3dlYmdsLWJvcmRlci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wt
Ym9yZGVyLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDk4ZWVhZjI2YjU2OTk0M2VjMjI5NzMz
M2VkYjkwZGNjODExOTI3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3dl
YmdsLWJvcmRlci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxoZWFkPgorICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorICAgIDxz
dHlsZT4KKworICAgIGRpdiB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CisgICAgICAgIGJvcmRl
cjogMjBweCBzb2xpZCBibHVlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8ZGl2
PjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtYm9yZGVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1ib3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmQwMGE3
ZWMzYzc1Yjk0M2Q3M2Y2ZWU5ODA1ZjU0MTJiNGViOWM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtYm9yZGVyLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPGhlYWQ+
CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCI+
CisgICAgPHN0eWxlPgorCisgICAgY2FudmFzIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAg
ICAgIGJvcmRlcjogMjBweCBzb2xpZCBibHVlOworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8Y2FudmFzPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCisgICAgdmFy
IGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImNhbnZhcyIpOworICAgIGNhbnZhcy53
aWR0aCA9IGNhbnZhcy5jbGllbnRXaWR0aCAqIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOworICAg
IGNhbnZhcy5oZWlnaHQgPSBjYW52YXMuY2xpZW50SGVpZ2h0ICogd2luZG93LmRldmljZVBpeGVs
UmF0aW87CisKKyAgICB2YXIgZ2wgPSBjYW52YXMuZ2V0Q29udGV4dCgid2ViZ2wiKTsKKyAgICBn
bC5jbGVhckNvbG9yKDAsIDAsIDAsIDEpOworICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9C
SVQpOworCis8L3NjcmlwdD4KKzwvY2FudmFzPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2Vi
Z2wvd2ViZ2wtYm94LXNoYWRvdy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvd2Vi
Z2wtYm94LXNoYWRvdy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkYTY5NTBlNGIzMGZkMjQ0
MDdmNGJmMjAwYjhiYTFjODdhOGU2MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJnbC93ZWJnbC1ib3gtc2hhZG93LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGhl
YWQ+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0
aCI+CisgICAgPHN0eWxlPgorCisgICAgZGl2IHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAg
ICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKKyAg
ICAgICAgYm94LXNoYWRvdzogMTBweCAxMHB4IDBweCBibHVlOworICAgIH0KKworICAgIDwvc3R5
bGU+Cis8L2hlYWQ+Cis8ZGl2PjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
d2ViZ2wtYm94LXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtYm94LXNoYWRv
dy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjk3ZjM4ODlkMmNhMmIzYTM0ZTZmMGU2MjIwZWVlZTU1ZGYxODEw
ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1ib3gtc2hhZG93
Lmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPGhlYWQ+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCI+CisgICAgPHN0eWxlPgorCisgICAgY2FudmFz
IHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgICAgIGJveC1zaGFkb3c6IDEwcHggMTBweCAw
cHggYmx1ZTsKKyAgICB9CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGNhbnZhcz4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCJjYW52YXMiKTsKKyAgICBjYW52YXMud2lkdGggPSBjYW52YXMuY2xpZW50
V2lkdGggKiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKKyAgICBjYW52YXMuaGVpZ2h0ID0gY2Fu
dmFzLmNsaWVudEhlaWdodCAqIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOworCisgICAgdmFyIGds
ID0gY2FudmFzLmdldENvbnRleHQoIndlYmdsIik7CisgICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAw
LCAxKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKworPC9zY3JpcHQ+Cis8
L2NhbnZhcz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3dlYmdsLXBhZGRpbmctZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3dlYmdsLXBhZGRpbmctZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zOWYyODg5MzEyYjVhMTgwNTNmM2IwYzI1NzAwYjRhYmVhYzIwYTFlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtcGFkZGluZy1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxoZWFkPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorICAgIDxzdHlsZT4KKworICAgIGRpdiB7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAg
YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CisgICAgICAgIHBhZGRpbmc6IDEwcHg7CisgICAgfQor
CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxkaXY+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC93ZWJnbC1wYWRkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1w
YWRkaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODAyYjEyMGNiYjEzN2UzYTE1ZDQyNWNjZjM4NzFiN2Nh
YjRiZGM0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3dlYmdsLXBhZGRp
bmcuaHRtbApAQCAtMCwwICsxLDI2IEBACis8aGVhZD4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKyAgICA8c3R5bGU+CisKKyAgICBjYW52
YXMgeworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOworICAgICAgICBwYWRkaW5nOiAxMHB4OworICAg
IH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Y2FudmFzPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgorCisgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
ImNhbnZhcyIpOworICAgIGNhbnZhcy53aWR0aCA9IGNhbnZhcy5jbGllbnRXaWR0aCAqIHdpbmRv
dy5kZXZpY2VQaXhlbFJhdGlvOworICAgIGNhbnZhcy5oZWlnaHQgPSBjYW52YXMuY2xpZW50SGVp
Z2h0ICogd2luZG93LmRldmljZVBpeGVsUmF0aW87CisKKyAgICB2YXIgZ2wgPSBjYW52YXMuZ2V0
Q29udGV4dCgid2ViZ2wiKTsKKyAgICBnbC5jbGVhckNvbG9yKDAsIDAsIDAsIDEpOworICAgIGds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpOworCis8L3NjcmlwdD4KKzwvY2FudmFzPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280614</attachid>
            <date>2016-06-06 12:02:43 -0700</date>
            <delta_ts>2016-06-06 13:56:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156790-20160606120417.patch</filename>
            <type>text/plain</type>
            <size>10560</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWZmOGE5ZTA4MGE4NjIx
OTVhZGE4YjNkYTM1YjMyNDczOTkzYWJjOC4uZDYzMzk3YzRmNDk3YmU0N2RmMDQ0ZjE2YjY4MjQw
Mzg2NDYxOTdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA2LTA2ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgUG9zaXRpb24gb2YgV2Vi
R0wgPGNhbnZhcz4gb24gaU9TIGlzIGluY29ycmVjdCB3aXRoIENTUyBib3JkZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY3OTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJHTCBsYXllcnMgb24g
aU9TIGFyZSBob3N0ZWQgYnkgYSBXS1JlbW90ZVZpZXcsIHdoaWNoIGFwcGxpZXMgYSB0cmFuc2Zv
cm0gc2NhbGluZworICAgICAgICBpdHMgY29udGVudCBieSB0aGUgaW52ZXJzZSBvZiB0aGUgZGV2
aWNlIHBpeGVsIHJhdGlvLCB3aGljaCBhZmZlY3RzIGhvdyBwb3NpdGlvbnMgYXJlCisgICAgICAg
IGFwcGxpZWQgdG8gdGhlIFdlYkdMIGxheWVyLiBUaGUgY29udGFpbmVyIGxheWVyIG9mIHRoZSBs
YXllciBob3N0ZWQgYnkgYSBXS1JlbW90ZVZpZXcKKyAgICAgICAgdGhlbiBoYXMgYW4gaW52ZXJz
ZSB0cmFuc2Zvcm0gYXBwbGllZCB0byBpdCBpbiB0aGUgUGxhdGZvcm1DQUxheWVyUmVtb3RlQ3Vz
dG9tCisgICAgICAgIGNvbnN0cnVjdG9yLiBIb3dldmVyLCB0aGUgcG9zaXRpb24gb2YgYSBDQUxh
eWVyIGlzIG5vdCBhZmZlY3RlZCBieSBpdHMgdHJhbnNmb3JtLgorCisgICAgICAgIFRoZSBmaXgg
Zm9yIDxyZGFyOi8vcHJvYmxlbS8xODMxNjU0Mj4gc2hvdWxkIGJlIHNwZWNpZmljIHRvIHZpZGVv
LCBzbyB3ZSBvbmx5IGFwcGx5IHRoZQorICAgICAgICBzY2FsaW5nIGluIHRoZSBjYXNlIG9mIGEg
TGF5ZXJUeXBlQVZQbGF5ZXJMYXllci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUmVtb3Rl
TGF5ZXJUcmVlSG9zdElPUy5tbToKKyAgICAgICAgKC1bV0tSZW1vdGVWaWV3IGluaXRXaXRoRnJh
bWU6Y29udGV4dElEOl0pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVIb3N0Ojpj
cmVhdGVMYXllcik6CisgICAgICAgICgtW1dLUmVtb3RlVmlldyBpbml0V2l0aEZyYW1lOmNvbnRl
eHRJRDpob3N0aW5nRGV2aWNlU2NhbGVGYWN0b3I6XSk6IERlbGV0ZWQuCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20ubW06CisgICAg
ICAgIChXZWJLaXQ6OlBsYXRmb3JtQ0FMYXllclJlbW90ZUN1c3RvbTo6UGxhdGZvcm1DQUxheWVy
UmVtb3RlQ3VzdG9tKToKKwogMjAxNi0wNi0wMyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVl
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwMTY2My4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUmVtb3RlTGF5ZXJUcmVl
SG9zdElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUmVtb3RlTGF5ZXJUcmVl
SG9zdElPUy5tbQppbmRleCAzNjdhYzEzMDIyMTRlZjRlMjgzYmJmZmE0YTkzZjUzMTQ2MWQ1ODA4
Li5jMzI1NzFlYTExZjMyOTc5NjUzZTY4ZjE4MjQ2NDhlMTZhMWYwMTllIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1JlbW90ZUxheWVyVHJlZUhvc3RJT1MubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9SZW1vdGVMYXllclRyZWVIb3N0SU9TLm1t
CkBAIC0xNDAsMTQgKzE0MCwxMCBAQCBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXS1JlbW90ZVZp
ZXcKIAotLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSBjb250ZXh0
SUQ6KHVpbnQzMl90KWNvbnRleHRJRCBob3N0aW5nRGV2aWNlU2NhbGVGYWN0b3I6KGZsb2F0KXNj
YWxlRmFjdG9yCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIGNv
bnRleHRJRDoodWludDMyX3QpY29udGV4dElECiB7Ci0gICAgaWYgKChzZWxmID0gW3N1cGVyIGlu
aXRXaXRoRnJhbWU6ZnJhbWVdKSkgeworICAgIGlmICgoc2VsZiA9IFtzdXBlciBpbml0V2l0aEZy
YW1lOmZyYW1lXSkpCiAgICAgICAgIFtbc2VsZiBsYXllcl0gc2V0Q29udGV4dElkOmNvbnRleHRJ
RF07Ci0gICAgICAgIC8vIEludmVydCB0aGUgc2NhbGUgdHJhbnNmb3JtIGFkZGVkIGluIHRoZSBX
ZWJQcm9jZXNzIHRvIGZpeCA8cmRhcjovL3Byb2JsZW0vMTgzMTY1NDI+LgotICAgICAgICBmbG9h
dCBpbnZlcnNlU2NhbGUgPSAxIC8gc2NhbGVGYWN0b3I7Ci0gICAgICAgIFtbc2VsZiBsYXllcl0g
c2V0VHJhbnNmb3JtOkNBVHJhbnNmb3JtM0RNYWtlU2NhbGUoaW52ZXJzZVNjYWxlLCBpbnZlcnNl
U2NhbGUsIDEpXTsKLSAgICB9CiAgICAgCiAgICAgcmV0dXJuIHNlbGY7CiB9CkBAIC0yMTEsOSAr
MjA3LDE0IEBAIExheWVyT3JWaWV3ICpSZW1vdGVMYXllclRyZWVIb3N0OjpjcmVhdGVMYXllcihj
b25zdCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6CiAgICAgY2FzZSBQbGF0Zm9ybUNBTGF5
ZXI6OkxheWVyVHlwZUN1c3RvbToKICAgICBjYXNlIFBsYXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBl
QVZQbGF5ZXJMYXllcjoKICAgICBjYXNlIFBsYXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBlV2ViR0xM
YXllcjoKLSAgICAgICAgaWYgKCFtX2lzRGVidWdMYXllclRyZWVIb3N0KQotICAgICAgICAgICAg
dmlldyA9IGFkb3B0TlMoW1tXS1JlbW90ZVZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0
WmVybyBjb250ZXh0SUQ6cHJvcGVydGllcy5ob3N0aW5nQ29udGV4dElEIGhvc3RpbmdEZXZpY2VT
Y2FsZUZhY3Rvcjpwcm9wZXJ0aWVzLmhvc3RpbmdEZXZpY2VTY2FsZUZhY3Rvcl0pOwotICAgICAg
ICBlbHNlCisgICAgICAgIGlmICghbV9pc0RlYnVnTGF5ZXJUcmVlSG9zdCkgeworICAgICAgICAg
ICAgdmlldyA9IGFkb3B0TlMoW1tXS1JlbW90ZVZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dS
ZWN0WmVybyBjb250ZXh0SUQ6cHJvcGVydGllcy5ob3N0aW5nQ29udGV4dElEXSk7CisgICAgICAg
ICAgICBpZiAocHJvcGVydGllcy50eXBlID09IFBsYXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBlQVZQ
bGF5ZXJMYXllcikgeworICAgICAgICAgICAgICAgIC8vIEludmVydCB0aGUgc2NhbGUgdHJhbnNm
b3JtIGFkZGVkIGluIHRoZSBXZWJQcm9jZXNzIHRvIGZpeCA8cmRhcjovL3Byb2JsZW0vMTgzMTY1
NDI+LgorICAgICAgICAgICAgICAgIGZsb2F0IGludmVyc2VTY2FsZSA9IDEgLyBwcm9wZXJ0aWVz
Lmhvc3RpbmdEZXZpY2VTY2FsZUZhY3RvcjsKKyAgICAgICAgICAgICAgICBbW3ZpZXcgbGF5ZXJd
IHNldFRyYW5zZm9ybTpDQVRyYW5zZm9ybTNETWFrZVNjYWxlKGludmVyc2VTY2FsZSwgaW52ZXJz
ZVNjYWxlLCAxKV07CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAg
dmlldyA9IGFkb3B0TlMoW1tXS0NvbXBvc2l0aW5nVmlldyBhbGxvY10gaW5pdF0pOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIFBsYXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBlU2hhcGVMYXllcjoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZv
cm1DQUxheWVyUmVtb3RlQ3VzdG9tLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20ubW0KaW5kZXggMTEwZDk0NjVlMzM0
MTU3MzkzNzQxZjNmYzJkZmU1N2VlMTk2YjM5MS4uMTU0MmE2YmZiNDE2OWMzMWFlOWY4YmU2MWY0
OTJiNGU3NjY0MmJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20ubW0KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20ubW0K
QEAgLTY1LDEwICs2NSwxMiBAQCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b206OlBsYXRmb3Jt
Q0FMYXllclJlbW90ZUN1c3RvbShMYXllclR5cGUgbGF5ZXJUeXBlLCBQbAogICAgIGNhc2UgTGF5
ZXJIb3N0aW5nTW9kZTo6T3V0T2ZQcm9jZXNzOgogICAgICAgICBtX2xheWVySG9zdGluZ0NvbnRl
eHQgPSBMYXllckhvc3RpbmdDb250ZXh0OjpjcmVhdGVGb3JFeHRlcm5hbEhvc3RpbmdQcm9jZXNz
KCk7CiAjaWYgUExBVEZPUk0oSU9TKQotICAgICAgICBmbG9hdCBzY2FsZUZhY3RvciA9IGNvbnRl
eHQuZGV2aWNlU2NhbGVGYWN0b3IoKTsKLSAgICAgICAgLy8gU2V0IGEgc2NhbGUgZmFjdG9yIGhl
cmUgdG8gbWFrZSBjb252ZXJ0UmVjdDp0b0xheWVyOm5pbCB0YWtlIHNjYWxlIGZhY3RvciBpbnRv
IGFjY291bnQuIDxyZGFyOi8vcHJvYmxlbS8xODMxNjU0Mj4uCi0gICAgICAgIC8vIFRoaXMgc2Nh
bGUgZmFjdG9yIGlzIGludmVydGVkIGluIHRoZSBob3N0aW5nIHByb2Nlc3MuCi0gICAgICAgIFtj
dXN0b21MYXllciBzZXRUcmFuc2Zvcm06Q0FUcmFuc2Zvcm0zRE1ha2VTY2FsZShzY2FsZUZhY3Rv
ciwgc2NhbGVGYWN0b3IsIDEpXTsKKyAgICAgICAgaWYgKGxheWVyVHlwZSA9PSBMYXllclR5cGVB
VlBsYXllckxheWVyKSB7CisgICAgICAgICAgICBmbG9hdCBzY2FsZUZhY3RvciA9IGNvbnRleHQu
ZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICAgICAgICAgIC8vIFNldCBhIHNjYWxlIGZhY3RvciBo
ZXJlIHRvIG1ha2UgY29udmVydFJlY3Q6dG9MYXllcjpuaWwgdGFrZSBzY2FsZSBmYWN0b3IgaW50
byBhY2NvdW50LiA8cmRhcjovL3Byb2JsZW0vMTgzMTY1NDI+LgorICAgICAgICAgICAgLy8gVGhp
cyBzY2FsZSBmYWN0b3IgaXMgaW52ZXJ0ZWQgaW4gdGhlIGhvc3RpbmcgcHJvY2Vzcy4KKyAgICAg
ICAgICAgIFtjdXN0b21MYXllciBzZXRUcmFuc2Zvcm06Q0FUcmFuc2Zvcm0zRE1ha2VTY2FsZShz
Y2FsZUZhY3Rvciwgc2NhbGVGYWN0b3IsIDEpXTsKKyAgICAgICAgfQogI2VuZGlmCiAgICAgICAg
IGJyZWFrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzNiOGI2ZmM0ODk3MWYyMjQzZjI5NWMzZTg2M2M1YzMx
YzFlYzQ0MC4uMjM2NWI1Y2Y0ZjBiNjljNDJhMGZjMDQzNTNkY2U3MzhkYzYxMzJiNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIwIEBACisyMDE2LTA2LTA2ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUG9zaXRpb24gb2YgV2ViR0wgPGNhbnZhcz4gb24gaU9TIGlzIGlu
Y29ycmVjdCB3aXRoIENTUyBib3JkZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTY3OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRpbmcgbmV3IHRlc3RzIGNoZWNraW5nIHRoYXQgQ1NTIGJvcmRl
ciwgYm94LXNoYWRvdyBhbmQgcGFkZGluZyBwcm9wZXJ0aWVzIHVzZWQgb24gYQorICAgICAgICBX
ZWJHTCA8Y2FudmFzPiBlbGVtZW50IGNvcnJlY3RseSBhZmZlY3QgdGhlIHBvc2l0aW9uIG9mIHRo
ZSBXZWJHTCBjb250ZW50LgorCisgICAgICAgICogd2ViZ2wvd2ViZ2wtYm9yZGVyLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3dlYmdsLWJvcmRlci5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJnbC93ZWJnbC1ib3gtc2hhZG93LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL3dlYmdsLWJveC1zaGFkb3cuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvd2ViZ2wtcGFkZGluZy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC93ZWJnbC1wYWRkaW5nLmh0bWw6IEFkZGVkLgorCiAyMDE2LTA2LTA0ICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIENTUDogQ29udGVudCBTZWN1cml0eSBQ
b2xpY3kgZGlyZWN0aXZlLCB1cGdyYWRlLWluc2VjdXJlLXJlcXVlc3RzIChVSVIpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1ib3JkZXItZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL3dlYmdsLWJvcmRlci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5OGVl
YWYyNmI1Njk5NDNlYzIyOTczMzNlZGI5MGRjYzgxMTkyNzcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1ib3JkZXItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE0
IEBACis8aGVhZD4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2
aWNlLXdpZHRoIj4KKyAgICA8c3R5bGU+CisKKyAgICBkaXYgeworICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJs
YWNrOworICAgICAgICBib3JkZXI6IDIwcHggc29saWQgYmx1ZTsKKyAgICB9CisKKyAgICA8L3N0
eWxlPgorPC9oZWFkPgorPGRpdj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmds
L3dlYmdsLWJvcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtYm9yZGVyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWJkMDBhN2VjM2M3NWI5NDNkNzNmNmVlOTgwNWY1NDEyYjRlYjljOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3dlYmdsLWJvcmRlci5odG1sCkBAIC0w
LDAgKzEsMjYgQEAKKzxoZWFkPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD1kZXZpY2Utd2lkdGgiPgorICAgIDxzdHlsZT4KKworICAgIGNhbnZhcyB7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3Vu
ZC1jb2xvcjogcmVkOworICAgICAgICBib3JkZXI6IDIwcHggc29saWQgYmx1ZTsKKyAgICB9CisK
KyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGNhbnZhcz4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KKworICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJjYW52
YXMiKTsKKyAgICBjYW52YXMud2lkdGggPSBjYW52YXMuY2xpZW50V2lkdGggKiB3aW5kb3cuZGV2
aWNlUGl4ZWxSYXRpbzsKKyAgICBjYW52YXMuaGVpZ2h0ID0gY2FudmFzLmNsaWVudEhlaWdodCAq
IHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOworCisgICAgdmFyIGdsID0gY2FudmFzLmdldENvbnRl
eHQoIndlYmdsIik7CisgICAgZ2wuY2xlYXJDb2xvcigwLCAwLCAwLCAxKTsKKyAgICBnbC5jbGVh
cihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKworPC9zY3JpcHQ+Cis8L2NhbnZhcz4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmdsL3dlYmdsLWJveC1zaGFkb3ctZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3dlYmdsLWJveC1zaGFkb3ctZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jZGE2OTUwZTRiMzBmZDI0NDA3ZjRiZjIwMGI4YmExYzg3YThlNjJmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtYm94LXNoYWRvdy1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMTQgQEAKKzxoZWFkPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorICAgIDxzdHlsZT4KKworICAgIGRpdiB7CisgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3Vu
ZC1jb2xvcjogYmxhY2s7CisgICAgICAgIGJveC1zaGFkb3c6IDEwcHggMTBweCAwcHggYmx1ZTsK
KyAgICB9CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGRpdj48L2Rpdj4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3dlYmdsL3dlYmdsLWJveC1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL3dl
YmdsL3dlYmdsLWJveC1zaGFkb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45N2YzODg5ZDJjYTJiM2EzNGU2
ZjBlNjIyMGVlZWU1NWRmMTgxMGVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvd2ViZ2wtYm94LXNoYWRvdy5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzxoZWFkPgorICAgIDxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorICAgIDxz
dHlsZT4KKworICAgIGNhbnZhcyB7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworICAgICAgICBib3gt
c2hhZG93OiAxMHB4IDEwcHggMHB4IGJsdWU7CisgICAgfQorCisgICAgPC9zdHlsZT4KKzwvaGVh
ZD4KKzxjYW52YXM+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKKyAgICB2YXIg
Y2FudmFzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiY2FudmFzIik7CisgICAgY2FudmFzLndp
ZHRoID0gY2FudmFzLmNsaWVudFdpZHRoICogd2luZG93LmRldmljZVBpeGVsUmF0aW87CisgICAg
Y2FudmFzLmhlaWdodCA9IGNhbnZhcy5jbGllbnRIZWlnaHQgKiB3aW5kb3cuZGV2aWNlUGl4ZWxS
YXRpbzsKKworICAgIHZhciBnbCA9IGNhbnZhcy5nZXRDb250ZXh0KCJ3ZWJnbCIpOworICAgIGds
LmNsZWFyQ29sb3IoMCwgMCwgMCwgMSk7CisgICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCk7CisKKzwvc2NyaXB0PgorPC9jYW52YXM+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC93ZWJnbC1wYWRkaW5nLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1w
YWRkaW5nLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzlmMjg4OTMxMmI1YTE4MDUzZjNiMGMy
NTcwMGI0YWJlYWMyMGExZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3dl
YmdsLXBhZGRpbmctZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8aGVhZD4KKyAgICA8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKyAgICA8
c3R5bGU+CisKKyAgICBkaXYgeworICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgIGhlaWdo
dDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOworICAgICAgICBwYWRk
aW5nOiAxMHB4OworICAgIH0KKworICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8ZGl2PjwvZGl2Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtcGFkZGluZy5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvd2ViZ2wtcGFkZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwMmIxMjBjYmIxMzdl
M2ExNWQ0MjVjY2YzODcxYjdjYWI0YmRjNDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC93ZWJnbC1wYWRkaW5nLmh0bWwKQEAgLTAsMCArMSwyNiBAQAorPGhlYWQ+CisgICAg
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCI+CisgICAg
PHN0eWxlPgorCisgICAgY2FudmFzIHsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKKyAgICAgICAg
cGFkZGluZzogMTBweDsKKyAgICB9CisKKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGNhbnZhcz4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKworICAgIHZhciBjYW52YXMgPSBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCJjYW52YXMiKTsKKyAgICBjYW52YXMud2lkdGggPSBjYW52YXMu
Y2xpZW50V2lkdGggKiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzsKKyAgICBjYW52YXMuaGVpZ2h0
ID0gY2FudmFzLmNsaWVudEhlaWdodCAqIHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOworCisgICAg
dmFyIGdsID0gY2FudmFzLmdldENvbnRleHQoIndlYmdsIik7CisgICAgZ2wuY2xlYXJDb2xvcigw
LCAwLCAwLCAxKTsKKyAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKworPC9zY3Jp
cHQ+Cis8L2NhbnZhcz4K
</data>

          </attachment>
      

    </bug>

</bugzilla>