<?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>173319</bug_id>
          
          <creation_ts>2017-06-13 09:32:29 -0700</creation_ts>
          <short_desc>Configure screen scale for running layout tests on plus devices</short_desc>
          <delta_ts>2017-06-15 08:51:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=173341</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=173420</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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>lforschler</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1318668</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 09:32:29 -0700</bug_when>
    <thetext>Layout tests expect the screen to have a scale of 2.  Explicitly set this scale for iOS devices and simulators so that tests can be run on plus devices.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318670</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-06-13 09:33:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/32740521&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318672</commentid>
    <comment_count>2</comment_count>
      <attachid>312778</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 09:34:47 -0700</bug_when>
    <thetext>Created attachment 312778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318687</commentid>
    <comment_count>3</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 09:56:11 -0700</bug_when>
    <thetext>I&apos;d like to see iso-sim EWS come back clean before landing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318707</commentid>
    <comment_count>4</comment_count>
      <attachid>312786</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 10:38:22 -0700</bug_when>
    <thetext>Created attachment 312786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318723</commentid>
    <comment_count>5</comment_count>
      <attachid>312788</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 11:28:57 -0700</bug_when>
    <thetext>Created attachment 312788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318744</commentid>
    <comment_count>6</comment_count>
      <attachid>312794</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 12:39:17 -0700</bug_when>
    <thetext>Created attachment 312794
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318746</commentid>
    <comment_count>7</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-13 12:41:47 -0700</bug_when>
    <thetext>Attachment 312794 did not pass style-queue:


ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:39:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:71:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:76:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 3 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318771</commentid>
    <comment_count>8</comment_count>
      <attachid>312795</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 13:21:18 -0700</bug_when>
    <thetext>Created attachment 312795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318813</commentid>
    <comment_count>9</comment_count>
      <attachid>312807</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 14:09:27 -0700</bug_when>
    <thetext>Created attachment 312807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318814</commentid>
    <comment_count>10</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-13 14:11:47 -0700</bug_when>
    <thetext>Attachment 312807 did not pass style-queue:


ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:39:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:74:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:79:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 3 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318820</commentid>
    <comment_count>11</comment_count>
      <attachid>312810</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 14:29:18 -0700</bug_when>
    <thetext>Created attachment 312810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318824</commentid>
    <comment_count>12</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-13 14:35:45 -0700</bug_when>
    <thetext>Attachment 312810 did not pass style-queue:


ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:39:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:77:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:82:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 3 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318838</commentid>
    <comment_count>13</comment_count>
      <attachid>312814</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 15:00:57 -0700</bug_when>
    <thetext>Created attachment 312814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318840</commentid>
    <comment_count>14</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-13 15:06:16 -0700</bug_when>
    <thetext>Attachment 312814 did not pass style-queue:


ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:39:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:77:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:82:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 3 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318890</commentid>
    <comment_count>15</comment_count>
      <attachid>312827</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 16:43:58 -0700</bug_when>
    <thetext>Created attachment 312827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318891</commentid>
    <comment_count>16</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-13 16:45:32 -0700</bug_when>
    <thetext>Attachment 312827 did not pass style-queue:


ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:39:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:77:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:82:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 3 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318893</commentid>
    <comment_count>17</comment_count>
      <attachid>312827</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-06-13 16:49:39 -0700</bug_when>
    <thetext>Comment on attachment 312827
Patch

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

&gt; Source/WebKit2/Platform/spi/ios/UIKitSPI.h:216
&gt; +#ifndef UI_KEYBOARD
&gt; +#define UI_KEYBOARD 1

This should probably be more specifically WebKitty so there&apos;s no chance for conflicts. We should probably move things around so we don&apos;t need this, but that can happen later, maybe leave a fixme? Unless perhaps someone else has an idea?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318900</commentid>
    <comment_count>18</comment_count>
      <attachid>312830</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 16:56:52 -0700</bug_when>
    <thetext>Created attachment 312830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318903</commentid>
    <comment_count>19</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-13 16:59:14 -0700</bug_when>
    <thetext>I filed &lt;https://bugs.webkit.org/show_bug.cgi?id=173341&gt; to combine UIKitSPI headers into WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1318963</commentid>
    <comment_count>20</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-13 18:58:43 -0700</bug_when>
    <thetext>Attachment 312830 did not pass style-queue:


ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:39:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:78:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:83:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 3 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319242</commentid>
    <comment_count>21</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-14 11:12:50 -0700</bug_when>
    <thetext>(In reply to Build Bot from comment #20)
&gt; Attachment 312830 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:39:  Alphabetical sorting
&gt; problem.  [build/include_order] [4]
&gt; ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:78:  Weird number of spaces
&gt; at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Tools/TestRunnerShared/spi/UIKitTestSPI.h:83:  Weird number of spaces
&gt; at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; Total errors found: 3 in 14 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

These were existing bugs in UIKitSPI.h.  Ignoring them since the file was renamed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319248</commentid>
    <comment_count>22</comment_count>
      <attachid>312830</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-14 11:15:54 -0700</bug_when>
    <thetext>Comment on attachment 312830
Patch

Clearing flags on attachment: 312830

Committed r218275: &lt;http://trac.webkit.org/changeset/218275&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319249</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-14 11:15:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319428</commentid>
    <comment_count>24</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-14 19:59:42 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #0)
&gt; Layout tests expect the screen to have a scale of 2.  

This is not correct. Test &lt;https://trac.webkit.org/browser/trunk/LayoutTests/fast/hidpi/hidpi-3x-device-pixel-ratio.html?rev=201904&gt; is an example of a test that will only pass on a device with a 3x device pixel ratio. Currently we skip this test (see bug #158618) as we do not run tests on a simulator device with a 3x device pixel ratio AND the infrastructure to dynamically adjust the window resolution added in the patch that added this test (bug #158597) does not seem to effect window.devicePixelRatio (I haven&apos;t looked into this issue, yet). Although we could investigate and fix the dynamic window resolution infrastructure to fix this test I am unclear of the value to do so and would suggest that we look to remove such logic once we start running on-device testing because this test exemplifies the purpose for having on-device testing - to catch regressions specific to- or affected by- the capabilities of the underlying hardware. Having a 3x display is a hardware trait that affects the value returned by window.devicePixelRatio.

&gt; Explicitly set this scale for iOS devices and simulators so that tests can be run on plus devices.

This is moving us in the opposite direction from where we want to go with on-device testing. We want to test hardware capabilities. Without loss of generality, we want to test that on an iPhone 7 Plus, which has a 3x display, that window.devicePixelRatio returns 3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319429</commentid>
    <comment_count>25</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-14 20:01:38 -0700</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #22)
&gt; Comment on attachment 312830 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 312830
&gt; 
&gt; Committed r218275: &lt;http://trac.webkit.org/changeset/218275&gt;

This breaks running the test LayoutTests/fast/hidpi/hidpi-3x-device-pixel-ratio.html in the iOS Simulator when simulating an iPhone 7 Plus:

Tools/Scripts/run-webkit-tests --device-type com.apple.CoreSimulator.SimDeviceType.iPhone-7-Plus --no-retry-failures --no-sample-on-timeout --ios-simulator --force LayoutTests/fast/hidpi/hidpi-3x-device-pixel-ratio.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319431</commentid>
    <comment_count>26</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-14 20:07:32 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #19)
&gt; I filed &lt;https://bugs.webkit.org/show_bug.cgi?id=173341&gt; to combine UIKitSPI
&gt; headers into WebCore.

We should not move the UIKitSPI header to WebCore because it is almost never correct to call UIKit from WebCore (code in WebCore may not be in executed in same process as the process responsible for UI; think WebKit2). Calling UIKit from the WebProcess will invariably lead to bugs and much sadness. Let&apos;s not incentive it by having the SPI header be part of the WebCore framework.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319433</commentid>
    <comment_count>27</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-14 20:16:20 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #26)
&gt; (In reply to Jonathan Bedard from comment #19)
&gt; &gt; I filed &lt;https://bugs.webkit.org/show_bug.cgi?id=173341&gt; to combine UIKitSPI
&gt; &gt; headers into WebCore.
&gt; 
&gt; We should not move the UIKitSPI header to WebCore because it is almost never
&gt; correct to call UIKit from WebCore (code in WebCore may not be in executed
&gt; in same process as the process responsible for UI; think WebKit2). Calling
&gt; UIKit from the WebProcess will invariably lead to bugs and much sadness.
&gt; Let&apos;s not incentive it by having the SPI header be part of the WebCore
&gt; framework.

I can&apos;t type. This should read:

We should not move the UIKitSPI header to WebCore because it is almost never correct to call UIKit from WebCore (code in WebCore may not be executed in same process as the process responsible for UI; think WebKit2). For instance, calling UIKit from the WebProcess will invariably lead to bugs and much sadness. Let&apos;s not incentivize such behavior by having the SPI header be part of the WebCore framework.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319452</commentid>
    <comment_count>28</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-06-14 21:49:04 -0700</bug_when>
    <thetext>&gt; This is moving us in the opposite direction from where we want to go with on-device testing.

I think that the main use case is for someone with an iOS device to reproduce a failure that a device bot found, without having to use exactly the same kind of device.

Implementing tests that require specific devices would be a secondary goal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319453</commentid>
    <comment_count>29</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-06-14 22:06:54 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #28)
&gt; &gt; This is moving us in the opposite direction from where we want to go with on-device testing.
&gt; 
&gt; I think that the main use case is for someone with an iOS device to
&gt; reproduce a failure that a device bot found, without having to use exactly
&gt; the same kind of device.
&gt; 
&gt; Implementing tests that require specific devices would be a secondary goal.

I agree with Alexey and Jonathan; I think since 99% of tests would like to be consistent, we should provide a consistent platform, and tests that specifically care about something like DPR should specify that they want it left alone (or specify that we want to force it to something specific). This is how it has always worked on Mac, and it is fine there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319454</commentid>
    <comment_count>30</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-06-14 22:07:44 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #26)
&gt; (In reply to Jonathan Bedard from comment #19)
&gt; &gt; I filed &lt;https://bugs.webkit.org/show_bug.cgi?id=173341&gt; to combine UIKitSPI
&gt; &gt; headers into WebCore.
&gt; 
&gt; We should not move the UIKitSPI header to WebCore because it is almost never
&gt; correct to call UIKit from WebCore (code in WebCore may not be in executed
&gt; in same process as the process responsible for UI; think WebKit2). Calling
&gt; UIKit from the WebProcess will invariably lead to bugs and much sadness.
&gt; Let&apos;s not incentive it by having the SPI header be part of the WebCore
&gt; framework.

OTOH, this part is a fairly good point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319455</commentid>
    <comment_count>31</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-14 22:30:03 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #29)
&gt; tests that specifically care about something like DPR should specify that they want it left alone (or specify that we want to force it to something specific). This is how it has always worked on Mac, and it is fine there.

Where do we do this in this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319457</commentid>
    <comment_count>32</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-06-14 22:38:23 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #31)
&gt; (In reply to Tim Horton from comment #29)
&gt; &gt; tests that specifically care about something like DPR should specify that they want it left alone (or specify that we want to force it to something specific). This is how it has always worked on Mac, and it is fine there.
&gt; 
&gt; Where do we do this in this patch?

I don&apos;t think I said we do, I said we should :)

That said, the test you cite, fast/hidpi/hidpi-3x-device-pixel-ratio.html, *already has* a mechanism to force a particular DPR, so this mechanism already exists... it just doesn&apos;t work (and the test is marked as failing globally, and has been for a long time. See r201904.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319464</commentid>
    <comment_count>33</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-14 23:03:00 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #32)
&gt; (In reply to Daniel Bates from comment #31)
&gt; &gt; (In reply to Tim Horton from comment #29)
&gt; &gt; &gt; tests that specifically care about something like DPR should specify that they want it left alone (or specify that we want to force it to something specific). This is how it has always worked on Mac, and it is fine there.
&gt; &gt; 
&gt; &gt; Where do we do this in this patch?
&gt; 
&gt; I don&apos;t think I said we do, I said we should :)
&gt; 
&gt; That said, the test you cite, fast/hidpi/hidpi-3x-device-pixel-ratio.html,
&gt; *already has* a mechanism to force a particular DPR, so this mechanism
&gt; already exists... it just doesn&apos;t work (and the test is marked as failing
&gt; globally, and has been for a long time. See r201904.

Looking at the code change in r201904 it only implemented the mechanism for Mac :( We should implement it for iOS based on the main use case for on-device testing that Alexey mentioned in comment #28. I am not at a computer to be able to easily check if we ever tried to port this to iOS (only to be left broken and/or never re-enabling the test). I suspect we did not port this mechanism to iOS given the code change in this patch does that resemble the DPR switching logic we have for Mac. I would have expected this patch to implement such a mechanism as opposed to hardcode a scale factor though this patch is a step in the right direction assuming the main use case for on-device testing described in comment #28.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319570</commentid>
    <comment_count>34</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-15 08:09:39 -0700</bug_when>
    <thetext>I think we should implement some sort of screen-scale changing for iOS.  I will look into this.  I think for the time being, we should keep this hard-coded version.  I&apos;ll look into this at a high-level today (6/15) and file another bug, linking to this one.

To Dan&apos;s point about UIKit in WebCore, bug 173341 tracks this proposed change.  I&apos;d like to keep discussion about the UIKit headers there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319586</commentid>
    <comment_count>35</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-06-15 08:51:31 -0700</bug_when>
    <thetext>Filed https://bugs.webkit.org/show_bug.cgi?id=173420 to track allowing tests to define a different screen scale.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312778</attachid>
            <date>2017-06-13 09:34:47 -0700</date>
            <delta_ts>2017-06-13 10:38:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173319-20170613093446.patch</filename>
            <type>text/plain</type>
            <size>1847</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxODE3OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDE3LTA2LTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBDb25maWd1cmUgc2NyZWVuIHNjYWxlIGZvciBydW5uaW5nIGxheW91dCB0
ZXN0cyBvbiBwbHVzIGRldmljZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MzMxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFN1cHBvcnQgZm9yIHRlc3Rpbmcgb24gcGx1cyBkZXZpY2VzLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoZHVt
cFJlbmRlclRyZWUpOiBTZXQgc2NyZWVuIHNjYWxlIHRvIDIuMC4KKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKFdUUjo6VGVzdENv
bnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6IFNldCBzY3JlZW4gc2NhbGUgdG8gMi4wLgor
CiAyMDE3LTA2LTEzICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBBWDogW0FUS10gSW1wbGVtZW50IG1pc3NpbmcgQXRrUmVsYXRpb24gdHlwZXMKSW5kZXg6
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDIx
ODE1MSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29y
a2luZyBjb3B5KQpAQCAtMTI0MSw2ICsxMjQxLDcgQEAgdm9pZCBkdW1wUmVuZGVyVHJlZShpbnQg
YXJnYywgY29uc3QgY2hhcgogI2lmIFBMQVRGT1JNKElPUykKICAgICBzZXRVcElPU0xheW91dFRl
c3RDb21tdW5pY2F0aW9uKCk7CiAgICAgW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25d
LmlkbGVUaW1lckRpc2FibGVkID0gWUVTOworICAgIFtbVUlTY3JlZW4gbWFpblNjcmVlbl0gX3Nl
dFNjYWxlOjIuMF07CiAjZW5kaWYKIAogICAgIHNpZ25hbChTSUdJTEwsICZ3cml0ZUNyYXNoZWRN
ZXNzYWdlT25GYXRhbEVycm9yKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rl
c3RDb250cm9sbGVySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
aW9zL1Rlc3RDb250cm9sbGVySU9TLm1tCShyZXZpc2lvbiAyMTgxNTEpCisrKyBUb29scy9XZWJL
aXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAt
NTIsNiArNTIsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoCiB7
CiAgICAgc2V0VXBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbigpOwogICAgIFtVSUFwcGxpY2F0
aW9uIHNoYXJlZEFwcGxpY2F0aW9uXS5pZGxlVGltZXJEaXNhYmxlZCA9IFlFUzsKKyAgICBbW1VJ
U2NyZWVuIG1haW5TY3JlZW5dIF9zZXRTY2FsZToyLjBdOwogfQogCiB2b2lkIFRlc3RDb250cm9s
bGVyOjpwbGF0Zm9ybURlc3Ryb3koKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312786</attachid>
            <date>2017-06-13 10:38:22 -0700</date>
            <delta_ts>2017-06-13 11:28:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173319-20170613103821.patch</filename>
            <type>text/plain</type>
            <size>2676</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxODE4MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE4IEBACisyMDE3LTA2LTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBDb25maWd1cmUgc2NyZWVuIHNjYWxlIGZvciBydW5uaW5nIGxheW91dCB0
ZXN0cyBvbiBwbHVzIGRldmljZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MzMxOQorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisK
KyAgICAgICAgU3VwcG9ydCBmb3IgdGVzdGluZyBvbiBwbHVzIGRldmljZXMuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChkdW1wUmVu
ZGVyVHJlZSk6IFNldCBzY3JlZW4gc2NhbGUgdG8gMi4wLgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJv
bGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKTogU2V0IHNjcmVlbiBzY2FsZSB0byAyLjAuCisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEkuaDogQWRkIF9zZXRTY2FsZSBmb3Ig
VUlTY3JlZW4uCisKIDIwMTctMDYtMTMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgVW5hYmxlIHRvIHBhc3RlIHRleHQgdGhhdCB3YXMgY29waWVkIGZy
b20gYSBwYWdlIGludG8gdGhlIHVuaXZlcnNhbCBzZWFyY2ggZmllbGQKSW5kZXg6IFRvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDIxODE4MCkKKysr
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMTI0MSw2ICsxMjQxLDcgQEAgdm9pZCBkdW1wUmVuZGVyVHJlZShpbnQgYXJnYywgY29u
c3QgY2hhcgogI2lmIFBMQVRGT1JNKElPUykKICAgICBzZXRVcElPU0xheW91dFRlc3RDb21tdW5p
Y2F0aW9uKCk7CiAgICAgW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dLmlkbGVUaW1l
ckRpc2FibGVkID0gWUVTOworICAgIFtbVUlTY3JlZW4gbWFpblNjcmVlbl0gX3NldFNjYWxlOjIu
MF07CiAjZW5kaWYKIAogICAgIHNpZ25hbChTSUdJTEwsICZ3cml0ZUNyYXNoZWRNZXNzYWdlT25G
YXRhbEVycm9yKTsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9s
bGVySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RD
b250cm9sbGVySU9TLm1tCShyZXZpc2lvbiAyMTgxODApCisrKyBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIs
NyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoCiB7CiAgICAgc2V0
VXBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbigpOwogICAgIFtVSUFwcGxpY2F0aW9uIHNoYXJl
ZEFwcGxpY2F0aW9uXS5pZGxlVGltZXJEaXNhYmxlZCA9IFlFUzsKKyAgICBbW1VJU2NyZWVuIG1h
aW5TY3JlZW5dIF9zZXRTY2FsZToyLjBdOwogfQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0
Zm9ybURlc3Ryb3koKQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEku
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSUtpdFNQSS5oCShy
ZXZpc2lvbiAyMTgxODApCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSUtpdFNQSS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0IDxVSUtpdC9VSVZpZXdf
UHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8
VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlTY3JlZW5fUHJpdmF0
ZS5oPgogCiBAaW50ZXJmYWNlIFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyA6IFVJVmlldwogKyAo
VUlLZXlib2FyZFByZWRpY3Rpb25WaWV3ICopYWN0aXZlSW5zdGFuY2U7CkBAIC02OCw2ICs2OSwx
MCBAQAogQGludGVyZmFjZSBVSURldmljZSAoKQogLSAodm9pZClzZXRPcmllbnRhdGlvbjooVUlE
ZXZpY2VPcmllbnRhdGlvbilvcmllbnRhdGlvbiBhbmltYXRlZDooQk9PTClhbmltYXRlZDsKICBA
ZW5kCisKK0BpbnRlcmZhY2UgVUlTY3JlZW4gKCkKKy0gKHZvaWQpX3NldFNjYWxlOihDR0Zsb2F0
KXNjYWxlOworQGVuZAogIAogI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312788</attachid>
            <date>2017-06-13 11:28:57 -0700</date>
            <delta_ts>2017-06-13 12:39:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173319-20170613112856.patch</filename>
            <type>text/plain</type>
            <size>3562</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDE3LTA2LTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBDb25maWd1cmUgc2NyZWVuIHNjYWxlIGZvciBydW5uaW5nIGxheW91dCB0
ZXN0cyBvbiBwbHVzIGRldmljZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MzMxOQorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisK
KyAgICAgICAgU3VwcG9ydCBmb3IgdGVzdGluZyBvbiBwbHVzIGRldmljZXMuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvRHVtcFJlbmRlclRyZWVMaWJyYXJ5
LnhjY29uZmlnOiBEdW1wUmVuZGVyVHJlZQorICAgICAgICBsaWJyYXJ5IG5lZWRzIHRvIGxpbmsg
d2l0aCBVSUtpdC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW06CisgICAgICAgIChkdW1wUmVuZGVyVHJlZSk6IFNldCBzY3JlZW4gc2NhbGUgdG8gMi4wLgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tOgorICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKTogU2V0IHNjcmVl
biBzY2FsZSB0byAyLjAuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEku
aDogQWRkIF9zZXRTY2FsZSBmb3IgVUlTY3JlZW4uCisKIDIwMTctMDYtMTMgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEJsb2IgZG93
bmxvYWQgZG9lc24ndCB3b3JrCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEyNDEsNiArMTI0MSw3IEBA
IHZvaWQgZHVtcFJlbmRlclRyZWUoaW50IGFyZ2MsIGNvbnN0IGNoYXIKICNpZiBQTEFURk9STShJ
T1MpCiAgICAgc2V0VXBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbigpOwogICAgIFtVSUFwcGxp
Y2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXS5pZGxlVGltZXJEaXNhYmxlZCA9IFlFUzsKKyAgICBb
W1VJU2NyZWVuIG1haW5TY3JlZW5dIF9zZXRTY2FsZToyLjBdOwogI2VuZGlmCiAKICAgICBzaWdu
YWwoU0lHSUxMLCAmd3JpdGVDcmFzaGVkTWVzc2FnZU9uRmF0YWxFcnJvcik7CkluZGV4OiBUb29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvRHVtcFJlbmRlclRyZWVMaWJyYXJ5
LnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9Db25maWd1
cmF0aW9ucy9EdW1wUmVuZGVyVHJlZUxpYnJhcnkueGNjb25maWcJKHJldmlzaW9uIDIxODE4NikK
KysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9Db25maWd1cmF0aW9ucy9EdW1wUmVuZGVyVHJl
ZUxpYnJhcnkueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAgUFJPRFVD
VF9OQU1FID0gRHVtcFJlbmRlclRyZWU7CiBTS0lQX0lOU1RBTEwgPSBZRVM7CiAKIE9USEVSX0xE
RkxBR1MgPSA7CitQTEFURk9STV9PVEhFUl9MREZMQUdTW3Nkaz1pcGhvbmUqXSA9IC1mcmFtZXdv
cmsgVUlLaXQ7CiAKIEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9IEFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0g
RHVtcFJlbmRlclRyZWVGaWxlRHJhZ2dpbmdTb3VyY2UubSBQaXhlbER1bXBTdXBwb3J0TWFjLm1t
OwogRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNbc2RrPW1hY29zeCpdID0gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudElPUy5tbSBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcklPUy5tbSBQaXhlbER1bXBT
dXBwb3J0SU9TLm1tIER1bXBSZW5kZXJUcmVlQnJvd3NlclZpZXcubW07CkluZGV4OiBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQkocmV2aXNpb24g
MjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1Mu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6
cGxhdGZvcm1Jbml0aWFsaXplKAogewogICAgIHNldFVwSU9TTGF5b3V0VGVzdENvbW11bmljYXRp
b24oKTsKICAgICBbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0uaWRsZVRpbWVyRGlz
YWJsZWQgPSBZRVM7CisgICAgW1tVSVNjcmVlbiBtYWluU2NyZWVuXSBfc2V0U2NhbGU6Mi4wXTsK
IH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1EZXN0cm95KCkKSW5kZXg6IFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEkuaAkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEkuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiAr
MzgsNyBAQAogI2ltcG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0
L1VJV2luZG93X1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZhdGUuaD4K
KyNpbXBvcnQgPFVJS2l0L1VJU2NyZWVuX1ByaXZhdGUuaD4KIAogQGludGVyZmFjZSBVSUtleWJv
YXJkUHJlZGljdGlvblZpZXcgOiBVSVZpZXcKICsgKFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyAq
KWFjdGl2ZUluc3RhbmNlOwpAQCAtNjgsNiArNjksMTAgQEAKIEBpbnRlcmZhY2UgVUlEZXZpY2Ug
KCkKIC0gKHZvaWQpc2V0T3JpZW50YXRpb246KFVJRGV2aWNlT3JpZW50YXRpb24pb3JpZW50YXRp
b24gYW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQ7CiAgQGVuZAorCitAaW50ZXJmYWNlIFVJU2NyZWVu
ICgpCistICh2b2lkKV9zZXRTY2FsZTooQ0dGbG9hdClzY2FsZTsKK0BlbmQKICAKICNlbmRpZiAv
LyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312794</attachid>
            <date>2017-06-13 12:39:17 -0700</date>
            <delta_ts>2017-06-13 13:21:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173319-20170613123916.patch</filename>
            <type>text/plain</type>
            <size>18222</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDE3LTA2LTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBDb25maWd1cmUgc2NyZWVuIHNjYWxlIGZvciBydW5uaW5nIGxheW91dCB0
ZXN0cyBvbiBwbHVzIGRldmljZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MzMxOQorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisK
KyAgICAgICAgU3VwcG9ydCBmb3IgdGVzdGluZyBvbiBwbHVzIGRldmljZXMuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvRHVtcFJlbmRlclRyZWVMaWJyYXJ5
LnhjY29uZmlnOiBEdW1wUmVuZGVyVHJlZQorICAgICAgICBsaWJyYXJ5IG5lZWRzIHRvIGxpbmsg
d2l0aCBVSUtpdC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW06CisgICAgICAgIChkdW1wUmVuZGVyVHJlZSk6IFNldCBzY3JlZW4gc2NhbGUgdG8gMi4wLgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tOgorICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKTogU2V0IHNjcmVl
biBzY2FsZSB0byAyLjAuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEku
aDogQWRkIF9zZXRTY2FsZSBmb3IgVUlTY3JlZW4uCisKIDIwMTctMDYtMTMgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEJsb2IgZG93
bmxvYWQgZG9lc24ndCB3b3JrCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVy
VHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDIxODE4NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI4Niw2ICsyODYsNyBAQAog
CQkyREEyRTNBNDFFMUJBNTQxMDBBM0JCRDAgLyogRHVtcFJlbmRlclRyZWVTcGVsbENoZWNrZXIu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBEdW1wUmVuZGVyVHJl
ZVNwZWxsQ2hlY2tlci5tbTsgcGF0aCA9IG1hYy9EdW1wUmVuZGVyVHJlZVNwZWxsQ2hlY2tlci5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExMTdCM0ExNUQ5QTU2QTAwMTYzQkM4
IC8qIE1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBNb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsgcGF0aCA9IG1hYy9Nb2Nr
V2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzExMTdCM0IxNUQ5QTU2QTAwMTYzQkM4IC8qIE1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IE1vY2tXZWJOb3RpZmlj
YXRpb25Qcm92aWRlci5tbTsgcGF0aCA9IG1hYy9Nb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMjY4RUJBMUVGMDZBOTUwMDE5NjNF
MiAvKiBVSUtpdFRlc3RTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVUlL
aXRUZXN0U1BJLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL3NwaS9VSUtpdFRlc3RTUEku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0OEEwNTUxRTZGOTBGNDAwRDNCMzE2
IC8qIElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcDsgcGF0aCA9IC4u
L1Rlc3RSdW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMTQ4QTA1NjFFNkY5MEY0MDBEM0IzMTYgLyogSU9TTGF5
b3V0VGVzdENvbW11bmljYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
SU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQv
SU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzJBNzBBQUIwMzcwNUUxRjAwQzkxNzgzIC8qIER1bXBSZW5kZXJUcmVlUHJlZml4LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IER1bXBSZW5kZXJUcmVlUHJlZml4Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MzUsNiArNTM2LDcgQEAKIAkJMEY2QTBERkYx
RDZFMEY4NjAwRjFDOUE4IC8qIGlvcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCisJCQkJMzEyNjhFQkExRUYwNkE5NTAwMTk2M0UyIC8qIFVJS2l0VGVzdFNQSS5o
ICovLAogCQkJCTBGMThFNzBDMUQ2QkFDOEMwMDI3RTU0NyAvKiBVSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IGlvczsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTA1
LDYgKzEwNSw3IEBACiAjaW1wb3J0ICJEdW1wUmVuZGVyVHJlZUJyb3dzZXJWaWV3LmgiCiAjaW1w
b3J0ICJJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oIgogI2ltcG9ydCAiVUlLaXRTUEkuaCIK
KyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3Jl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9ydCA8V2ViS2l0
L1dBS1dpbmRvdy5oPgpAQCAtMTI0MSw2ICsxMjQyLDcgQEAgdm9pZCBkdW1wUmVuZGVyVHJlZShp
bnQgYXJnYywgY29uc3QgY2hhcgogI2lmIFBMQVRGT1JNKElPUykKICAgICBzZXRVcElPU0xheW91
dFRlc3RDb21tdW5pY2F0aW9uKCk7CiAgICAgW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRp
b25dLmlkbGVUaW1lckRpc2FibGVkID0gWUVTOworICAgIFtbVUlTY3JlZW4gbWFpblNjcmVlbl0g
X3NldFNjYWxlOjIuMF07CiAjZW5kaWYKIAogICAgIHNpZ25hbChTSUdJTEwsICZ3cml0ZUNyYXNo
ZWRNZXNzYWdlT25GYXRhbEVycm9yKTsKSW5kZXg6IFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3Bp
L1VJS2l0VGVzdFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3Bp
L1VJS2l0VGVzdFNQSS5oCShyZXZpc2lvbiAyMTgxODYpCShmcm9tIFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvaW9zL1VJS2l0U1BJLmg6MjE4MTg2KQorKysgVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9z
cGkvVUlLaXRUZXN0U1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0IDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIFBM
QVRGT1JNKElPUykKKworI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgor
I2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZC5oPgorI2ltcG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZh
dGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0
L1VJRGV2aWNlX1ByaXZhdGUuaD4KKworQGludGVyZmFjZSBVSUtleWJvYXJkUHJlZGljdGlvblZp
ZXcgOiBVSVZpZXcKKysgKFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyAqKWFjdGl2ZUluc3RhbmNl
OworLSAoQk9PTCloYXNQcmVkaWN0aW9uczsKK0BlbmQKKworI2Vsc2UKKworI2ltcG9ydCAiSU9L
aXRTUEkuaCIKKworQGludGVyZmFjZSBVSUFwcGxpY2F0aW9uICgpCistICh2b2lkKV9lbnF1ZXVl
SElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnQ7CistICh2b2lkKV9oYW5kbGVISURFdmVudDoo
SU9ISURFdmVudFJlZilldmVudDsKK0BlbmQKKworQGludGVyZmFjZSBVSVdpbmRvdyAoKQorLSAo
dWludDMyX3QpX2NvbnRleHRJZDsKK0BlbmQKKworQGludGVyZmFjZSBVSUtleWJvYXJkIDogVUlW
aWV3CisrICh2b2lkKXJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXM7CitAZW5kCisKK0BpbnRl
cmZhY2UgVUlWaWV3ICgpCistICh2b2lkKV9yZW1vdmVBbGxBbmltYXRpb25zOihCT09MKWluY2x1
ZGVTdWJ2aWV3czsKK0BlbmQKKworQGludGVyZmFjZSBVSURldmljZSAoKQorLSAodm9pZClzZXRP
cmllbnRhdGlvbjooVUlEZXZpY2VPcmllbnRhdGlvbilvcmllbnRhdGlvbiBhbmltYXRlZDooQk9P
TClhbmltYXRlZDsKKyBAZW5kCisgCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KworI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAorQGludGVy
ZmFjZSBVSVZpZXcgKCkKKy0gKHZvaWQpX3VwZGF0ZVNhZmVBcmVhSW5zZXRzOworQGVuZAorI2Vu
ZGlmCisKKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCisKClByb3BlcnR5IGNoYW5nZXMgb246IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpBZGRlZDogc3ZuOmtleXdvcmRzCiMjIC0wLDAgKzEgIyMKK0F1dGhvciBEYXRlIElk
IFJldiBVUkwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogVG9vbHMvVGVz
dFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVz
dFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgJKHJldmlzaW9uIDIxODE4NikKKysrIFRv
b2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zOCw2ICszOCw3IEBACiAjaW1wb3J0IDxVSUtpdC9VSVZpZXdfUHJpdmF0ZS5oPgogI2ltcG9y
dCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJp
dmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlTY3JlZW5fUHJpdmF0ZS5oPgogCiBAaW50ZXJmYWNl
IFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyA6IFVJVmlldwogKyAoVUlLZXlib2FyZFByZWRpY3Rp
b25WaWV3ICopYWN0aXZlSW5zdGFuY2U7CkBAIC02OCw2ICs2OSwxMCBAQAogQGludGVyZmFjZSBV
SURldmljZSAoKQogLSAodm9pZClzZXRPcmllbnRhdGlvbjooVUlEZXZpY2VPcmllbnRhdGlvbilv
cmllbnRhdGlvbiBhbmltYXRlZDooQk9PTClhbmltYXRlZDsKICBAZW5kCisKK0BpbnRlcmZhY2Ug
VUlTY3JlZW4gKCkKKy0gKHZvaWQpX3NldFNjYWxlOihDR0Zsb2F0KXNjYWxlOworQGVuZAogIAog
I2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKSW5kZXg6IFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtMjE0LDcgKzIxNCw2IEBACiAJCTBGRUJGODU4MUJCNjFERjIwMDI4NzIyRCAv
KiBISURFdmVudEdlbmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBI
SURFdmVudEdlbmVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkVCRjg1
OTFCQjYxREYyMDAyODcyMkQgLyogSElERXZlbnRHZW5lcmF0b3IubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBISURFdmVudEdlbmVyYXRvci5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZFQkY4NUIxQkI2MkEzNzAwMjg3MjJEIC8qIElPS2l0U1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IElPS2l0U1BJLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVk
L3NwaS9JT0tpdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwRkVCRjg1QzFC
QjYyRDQ2MDAyODcyMkQgLyogVUlLaXRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlLaXRTUEkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEzMzI2MDUxQjc1Mzk2NTAwRjg5RjYyIC8q
IFRlc3RPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRlc3RPcHRpb25zLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDQTIxMUM3MUJDQTEwNzMwMEIyMTAxRiAvKiBGb250V2l0aEZl
YXR1cmVzLm90ZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IGZpbGU7IHBhdGggPSBGb250V2l0aEZlYXR1cmVzLm90Zjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUNBMjExQzgxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRoRmVhdHVyZXMu
dHRmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmls
ZTsgcGF0aCA9IEZvbnRXaXRoRmVhdHVyZXMudHRmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjYzLDYgKzI2Miw3IEBACiAJCTJFRTUyRDE0MTg5MEE5RkIwMDEwRUQyMSAvKiBUZXN0
Q29udHJvbGxlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFRlc3RDb250cm9sbGVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRUU1
MkQxNjE4OTBBOUZCMDAxMEVEMjEgLyogbWFpbklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgbmFtZSA9IG1haW5JT1MubW07IHBhdGggPSAuLi9pb3MvbWFpbklPUy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExMEJFMEYxNUJBMDExNDAwRDIxNkFDIC8q
IFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlv
blByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMjY4RUI5MUVGMDZB
M0IwMDE5NjNFMiAvKiBVSUtpdFRlc3RTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gVUlLaXRUZXN0U1BJLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL3NwaS9VSUtp
dFRlc3RTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0OEEwNTMxRTZGODVC
NjAwRDNCMzE2IC8qIElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcDsg
cGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTQ4QTA1NDFFNkY4NUI2MDBEM0IzMTYg
LyogSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgcGF0aCA9IC4uL1Rlc3RSdW5u
ZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzE2NEM4RUYxNUQxQURBMTAwRUYxRkUwIC8qIFdlYk5vdGlmaWNhdGlvblBy
b3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk5vdGlm
aWNhdGlvblByb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU2Nyw2
ICs1NjcsNyBAQAogCQkyREI2MTg3RjFEN0Q1OTg4MDA5NzhEMTkgLyogc3BpICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkzMTI2OEVCOTFFRjA2QTNCMDAx
OTYzRTIgLyogVUlLaXRUZXN0U1BJLmggKi8sCiAJCQkJMkRCNjE4N0QxRDdENThENDAwOTc4RDE5
IC8qIENvcmVHcmFwaGljc1Rlc3RTUEkuaCAqLywKIAkJCQkwRkVCRjg1QjFCQjYyQTM3MDAyODcy
MkQgLyogSU9LaXRTUEkuaCAqLywKIAkJCSk7CkBAIC02MzIsNyArNjMzLDYgQEAKIAkJCQkwRkVC
Rjg1OTFCQjYxREYyMDAyODcyMkQgLyogSElERXZlbnRHZW5lcmF0b3IubW0gKi8sCiAJCQkJMkVF
NTJEMTMxODkwQTlGQjAwMTBFRDIxIC8qIFBsYXRmb3JtV2ViVmlld0lPUy5tbSAqLywKIAkJCQky
RUU1MkQxNDE4OTBBOUZCMDAxMEVEMjEgLyogVGVzdENvbnRyb2xsZXJJT1MubW0gKi8sCi0JCQkJ
MEZFQkY4NUMxQkI2MkQ0NjAwMjg3MjJEIC8qIFVJS2l0U1BJLmggKi8sCiAJCQkJMEY3M0I1NUIx
QkE4OTA0MjAwNEIzRUY0IC8qIFVJU2NyaXB0Q29udHJvbGxlcklPUy5tbSAqLywKIAkJCSk7CiAJ
CQlwYXRoID0gaW9zOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVu
bmVyV0tXZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29j
b2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0zMSw3ICszMSw3IEBACiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKICNpZiBQTEFU
Rk9STShJT1MpCi0jaW1wb3J0ICJVSUtpdFNQSS5oIgorI2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgi
CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgogQGludGVyZmFjZSBXS1dlYlZp
ZXcgKCkKIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdl
bmVyYXRvci5oCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lv
cy9ISURFdmVudEdlbmVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBACiAg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2ltcG9ydCAiVUlLaXRT
UEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogCiAjaW1wb3J0IDxDb3JlR3JhcGhpY3Mv
Q0dHZW9tZXRyeS5oPgogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVu
dEdlbmVyYXRvci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9I
SURFdmVudEdlbmVyYXRvci5tbQkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3LDcg
KzI3LDcgQEAKICNpbXBvcnQgIkhJREV2ZW50R2VuZXJhdG9yLmgiCiAKICNpbXBvcnQgIklPS2l0
U1BJLmgiCi0jaW1wb3J0ICJVSUtpdFNQSS5oIgorI2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgiCiAj
aW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDxtYWNoL21hY2hfdGltZS5o
PgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0JKHJldmlzaW9uIDIxODE4NikKKysr
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiAjaW1wb3J0ICJUZXN0Q29udHJvbGxlci5oIgog
I2ltcG9ydCAiVGVzdFJ1bm5lcldLV2ViVmlldy5oIgotI2ltcG9ydCAiVUlLaXRTUEkuaCIKKyNp
bXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8V2ViQ29yZS9RdWFydHpDb3JlU1BJLmg+
CiAjaW1wb3J0IDxXZWJLaXQvV0tJbWFnZUNHLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJl
bmNlc1ByaXZhdGUuaD4KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250
cm9sbGVySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rl
c3RDb250cm9sbGVySU9TLm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzEsNyAr
MzEsNyBAQAogI2ltcG9ydCAiUGxhdGZvcm1XZWJWaWV3LmgiCiAjaW1wb3J0ICJUZXN0SW52b2Nh
dGlvbi5oIgogI2ltcG9ydCAiVGVzdFJ1bm5lcldLV2ViVmlldy5oIgotI2ltcG9ydCAiVUlLaXRT
UEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3Vu
ZGF0aW9uLmg+CiAjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgogI2ltcG9ydCA8V2ViS2l0L1dLUHJl
ZmVyZW5jZXNSZWZQcml2YXRlLmg+CkBAIC01Miw2ICs1Miw3IEBAIHZvaWQgVGVzdENvbnRyb2xs
ZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSgKIHsKICAgICBzZXRVcElPU0xheW91dFRlc3RDb21tdW5p
Y2F0aW9uKCk7CiAgICAgW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dLmlkbGVUaW1l
ckRpc2FibGVkID0gWUVTOworICAgIFtbVUlTY3JlZW4gbWFpblNjcmVlbl0gX3NldFNjYWxlOjIu
MF07CiB9CiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtRGVzdHJveSgpCkluZGV4OiBU
b29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSUtpdFNQSS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgJKHJldmlzaW9uIDIxODE4NikKKysrIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw4
MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbXBvcnQgPHd0Zi9QbGF0
Zm9ybS5oPgotCi0jaWYgUExBVEZPUk0oSU9TKQotCi0jaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgot
Ci0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLQotI2ltcG9ydCA8VUlLaXQvVUlBcHBsaWNh
dGlvbl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUtleWJvYXJkLmg+Ci0jaW1wb3J0IDxV
SUtpdC9VSVZpZXdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5o
PgotI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgotCi1AaW50ZXJmYWNlIFVJS2V5
Ym9hcmRQcmVkaWN0aW9uVmlldyA6IFVJVmlldwotKyAoVUlLZXlib2FyZFByZWRpY3Rpb25WaWV3
ICopYWN0aXZlSW5zdGFuY2U7Ci0tIChCT09MKWhhc1ByZWRpY3Rpb25zOwotQGVuZAotCi0jZWxz
ZQotCi0jaW1wb3J0ICJJT0tpdFNQSS5oIgotCi1AaW50ZXJmYWNlIFVJQXBwbGljYXRpb24gKCkK
LS0gKHZvaWQpX2VucXVldWVISURFdmVudDooSU9ISURFdmVudFJlZilldmVudDsKLS0gKHZvaWQp
X2hhbmRsZUhJREV2ZW50OihJT0hJREV2ZW50UmVmKWV2ZW50OwotQGVuZAotCi1AaW50ZXJmYWNl
IFVJV2luZG93ICgpCi0tICh1aW50MzJfdClfY29udGV4dElkOwotQGVuZAotCi1AaW50ZXJmYWNl
IFVJS2V5Ym9hcmQgOiBVSVZpZXcKLSsgKHZvaWQpcmVtb3ZlQWxsRHluYW1pY0RpY3Rpb25hcmll
czsKLUBlbmQKLQotQGludGVyZmFjZSBVSVZpZXcgKCkKLS0gKHZvaWQpX3JlbW92ZUFsbEFuaW1h
dGlvbnM6KEJPT0wpaW5jbHVkZVN1YnZpZXdzOwotQGVuZAotCi1AaW50ZXJmYWNlIFVJRGV2aWNl
ICgpCi0tICh2b2lkKXNldE9yaWVudGF0aW9uOihVSURldmljZU9yaWVudGF0aW9uKW9yaWVudGF0
aW9uIGFuaW1hdGVkOihCT09MKWFuaW1hdGVkOwotIEBlbmQKLSAKLSNlbmRpZiAvLyBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQotCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTEwMDAwCi1AaW50ZXJmYWNlIFVJVmlldyAoKQotLSAodm9pZClfdXBkYXRlU2FmZUFyZWFJ
bnNldHM7Ci1AZW5kCi0jZW5kaWYKLQotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKLQoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEkuaApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKRGVsZXRlZDogc3ZuOmtleXdvcmRzCiMjIC0xICsw
LDAgIyMKLUF1dGhvciBEYXRlIElkIFJldiBVUkwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
ZXJ0eQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVy
SU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0
Q29udHJvbGxlcklPUy5tbQkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3
ICszMyw3IEBACiAjaW1wb3J0ICJTdHJpbmdGdW5jdGlvbnMuaCIKICNpbXBvcnQgIlRlc3RDb250
cm9sbGVyLmgiCiAjaW1wb3J0ICJUZXN0UnVubmVyV0tXZWJWaWV3LmgiCi0jaW1wb3J0ICJVSUtp
dFNQSS5oIgorI2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgiCiAjaW1wb3J0ICJVSVNjcmlwdENvbnRl
eHQuaCIKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmg+CiAjaW1wb3J0
IDxKYXZhU2NyaXB0Q29yZS9PcGFxdWVKU1N0cmluZy5oPgpJbmRleDogVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9pb3MvbWFpbklPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9tYWluSU9TLm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL2lvcy9tYWluSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAK
ICNpbXBvcnQgIkhJREV2ZW50R2VuZXJhdG9yLmgiCiAjaW1wb3J0ICJUZXN0Q29udHJvbGxlci5o
IgotI2ltcG9ydCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9y
dCA8VUlLaXQvVUlLaXQuaD4KIAogc3RhdGljIGludCBfYXJnYzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312795</attachid>
            <date>2017-06-13 13:21:18 -0700</date>
            <delta_ts>2017-06-13 14:09:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173319-20170613132117.patch</filename>
            <type>text/plain</type>
            <size>18487</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDE3LTA2LTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBDb25maWd1cmUgc2NyZWVuIHNjYWxlIGZvciBydW5uaW5nIGxheW91dCB0
ZXN0cyBvbiBwbHVzIGRldmljZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MzMxOQorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisK
KyAgICAgICAgU3VwcG9ydCBmb3IgdGVzdGluZyBvbiBwbHVzIGRldmljZXMuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvRHVtcFJlbmRlclRyZWVMaWJyYXJ5
LnhjY29uZmlnOiBEdW1wUmVuZGVyVHJlZQorICAgICAgICBsaWJyYXJ5IG5lZWRzIHRvIGxpbmsg
d2l0aCBVSUtpdC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW06CisgICAgICAgIChkdW1wUmVuZGVyVHJlZSk6IFNldCBzY3JlZW4gc2NhbGUgdG8gMi4wLgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tOgorICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKTogU2V0IHNjcmVl
biBzY2FsZSB0byAyLjAuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEku
aDogQWRkIF9zZXRTY2FsZSBmb3IgVUlTY3JlZW4uCisKIDIwMTctMDYtMTMgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEJsb2IgZG93
bmxvYWQgZG9lc24ndCB3b3JrCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVy
VHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDIxODE4NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI4Niw2ICsyODYsNyBAQAog
CQkyREEyRTNBNDFFMUJBNTQxMDBBM0JCRDAgLyogRHVtcFJlbmRlclRyZWVTcGVsbENoZWNrZXIu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBEdW1wUmVuZGVyVHJl
ZVNwZWxsQ2hlY2tlci5tbTsgcGF0aCA9IG1hYy9EdW1wUmVuZGVyVHJlZVNwZWxsQ2hlY2tlci5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExMTdCM0ExNUQ5QTU2QTAwMTYzQkM4
IC8qIE1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBNb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsgcGF0aCA9IG1hYy9Nb2Nr
V2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzExMTdCM0IxNUQ5QTU2QTAwMTYzQkM4IC8qIE1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IE1vY2tXZWJOb3RpZmlj
YXRpb25Qcm92aWRlci5tbTsgcGF0aCA9IG1hYy9Nb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMjY4RUJBMUVGMDZBOTUwMDE5NjNF
MiAvKiBVSUtpdFRlc3RTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVUlL
aXRUZXN0U1BJLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL3NwaS9VSUtpdFRlc3RTUEku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0OEEwNTUxRTZGOTBGNDAwRDNCMzE2
IC8qIElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcDsgcGF0aCA9IC4u
L1Rlc3RSdW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMTQ4QTA1NjFFNkY5MEY0MDBEM0IzMTYgLyogSU9TTGF5
b3V0VGVzdENvbW11bmljYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
SU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQv
SU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzJBNzBBQUIwMzcwNUUxRjAwQzkxNzgzIC8qIER1bXBSZW5kZXJUcmVlUHJlZml4LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IER1bXBSZW5kZXJUcmVlUHJlZml4Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MzUsNiArNTM2LDcgQEAKIAkJMEY2QTBERkYx
RDZFMEY4NjAwRjFDOUE4IC8qIGlvcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCisJCQkJMzEyNjhFQkExRUYwNkE5NTAwMTk2M0UyIC8qIFVJS2l0VGVzdFNQSS5o
ICovLAogCQkJCTBGMThFNzBDMUQ2QkFDOEMwMDI3RTU0NyAvKiBVSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IGlvczsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTA1
LDYgKzEwNSw3IEBACiAjaW1wb3J0ICJEdW1wUmVuZGVyVHJlZUJyb3dzZXJWaWV3LmgiCiAjaW1w
b3J0ICJJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oIgogI2ltcG9ydCAiVUlLaXRTUEkuaCIK
KyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3Jl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9ydCA8V2ViS2l0
L1dBS1dpbmRvdy5oPgpAQCAtMTI0MSw2ICsxMjQyLDcgQEAgdm9pZCBkdW1wUmVuZGVyVHJlZShp
bnQgYXJnYywgY29uc3QgY2hhcgogI2lmIFBMQVRGT1JNKElPUykKICAgICBzZXRVcElPU0xheW91
dFRlc3RDb21tdW5pY2F0aW9uKCk7CiAgICAgW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRp
b25dLmlkbGVUaW1lckRpc2FibGVkID0gWUVTOworICAgIFtbVUlTY3JlZW4gbWFpblNjcmVlbl0g
X3NldFNjYWxlOjIuMF07CiAjZW5kaWYKIAogICAgIHNpZ25hbChTSUdJTEwsICZ3cml0ZUNyYXNo
ZWRNZXNzYWdlT25GYXRhbEVycm9yKTsKSW5kZXg6IFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3Bp
L1VJS2l0VGVzdFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3Bp
L1VJS2l0VGVzdFNQSS5oCShyZXZpc2lvbiAyMTgxODYpCShmcm9tIFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvaW9zL1VJS2l0U1BJLmg6MjE4MTg2KQorKysgVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9z
cGkvVUlLaXRUZXN0U1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0IDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIFBM
QVRGT1JNKElPUykKKworI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgor
I2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZC5oPgorI2ltcG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZh
dGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0
L1VJRGV2aWNlX1ByaXZhdGUuaD4KKworQGludGVyZmFjZSBVSUtleWJvYXJkUHJlZGljdGlvblZp
ZXcgOiBVSVZpZXcKKysgKFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyAqKWFjdGl2ZUluc3RhbmNl
OworLSAoQk9PTCloYXNQcmVkaWN0aW9uczsKK0BlbmQKKworI2Vsc2UKKworI2ltcG9ydCAiSU9L
aXRTUEkuaCIKKworQGludGVyZmFjZSBVSUFwcGxpY2F0aW9uICgpCistICh2b2lkKV9lbnF1ZXVl
SElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnQ7CistICh2b2lkKV9oYW5kbGVISURFdmVudDoo
SU9ISURFdmVudFJlZilldmVudDsKK0BlbmQKKworQGludGVyZmFjZSBVSVdpbmRvdyAoKQorLSAo
dWludDMyX3QpX2NvbnRleHRJZDsKK0BlbmQKKworQGludGVyZmFjZSBVSUtleWJvYXJkIDogVUlW
aWV3CisrICh2b2lkKXJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXM7CitAZW5kCisKK0BpbnRl
cmZhY2UgVUlWaWV3ICgpCistICh2b2lkKV9yZW1vdmVBbGxBbmltYXRpb25zOihCT09MKWluY2x1
ZGVTdWJ2aWV3czsKK0BlbmQKKworQGludGVyZmFjZSBVSURldmljZSAoKQorLSAodm9pZClzZXRP
cmllbnRhdGlvbjooVUlEZXZpY2VPcmllbnRhdGlvbilvcmllbnRhdGlvbiBhbmltYXRlZDooQk9P
TClhbmltYXRlZDsKKyBAZW5kCisgCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KworI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAorQGludGVy
ZmFjZSBVSVZpZXcgKCkKKy0gKHZvaWQpX3VwZGF0ZVNhZmVBcmVhSW5zZXRzOworQGVuZAorI2Vu
ZGlmCisKKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCisKClByb3BlcnR5IGNoYW5nZXMgb246IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpBZGRlZDogc3ZuOmtleXdvcmRzCiMjIC0wLDAgKzEgIyMKK0F1dGhvciBEYXRlIElk
IFJldiBVUkwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogVG9vbHMvVGVz
dFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVz
dFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgJKHJldmlzaW9uIDIxODE4NikKKysrIFRv
b2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2ltcG9ydCA8d3RmL1BsYXRmb3JtLmg+
CisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKIAogI2lmIFBMQVRGT1JNKElPUykKIApAQCAtMzgs
NiArMzksNyBAQAogI2ltcG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJ
S2l0L1VJV2luZG93X1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZhdGUu
aD4KKyNpbXBvcnQgPFVJS2l0L1VJU2NyZWVuX1ByaXZhdGUuaD4KIAogQGludGVyZmFjZSBVSUtl
eWJvYXJkUHJlZGljdGlvblZpZXcgOiBVSVZpZXcKICsgKFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmll
dyAqKWFjdGl2ZUluc3RhbmNlOwpAQCAtNTcsNyArNTksNyBAQAogLSAodWludDMyX3QpX2NvbnRl
eHRJZDsKIEBlbmQKIAotQGludGVyZmFjZSBVSUtleWJvYXJkIDogVUlWaWV3CitAaW50ZXJmYWNl
IFVJS2V5Ym9hcmQgKCkKICsgKHZvaWQpcmVtb3ZlQWxsRHluYW1pY0RpY3Rpb25hcmllczsKIEBl
bmQKIApAQCAtNjgsNiArNzAsMTAgQEAKIEBpbnRlcmZhY2UgVUlEZXZpY2UgKCkKIC0gKHZvaWQp
c2V0T3JpZW50YXRpb246KFVJRGV2aWNlT3JpZW50YXRpb24pb3JpZW50YXRpb24gYW5pbWF0ZWQ6
KEJPT0wpYW5pbWF0ZWQ7CiAgQGVuZAorCitAaW50ZXJmYWNlIFVJU2NyZWVuICgpCistICh2b2lk
KV9zZXRTY2FsZTooQ0dGbG9hdClzY2FsZTsKK0BlbmQKICAKICNlbmRpZiAvLyBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RS
dW5uZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJL
aXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVu
bmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTIxNCw3ICsy
MTQsNiBAQAogCQkwRkVCRjg1ODFCQjYxREYyMDAyODcyMkQgLyogSElERXZlbnRHZW5lcmF0b3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSElERXZlbnRHZW5lcmF0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZFQkY4NTkxQkI2MURGMjAwMjg3MjJEIC8q
IEhJREV2ZW50R2VuZXJhdG9yLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gSElERXZlbnRHZW5lcmF0b3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTBGRUJGODVCMUJCNjJBMzcwMDI4NzIyRCAvKiBJT0tpdFNQSS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBJ
T0tpdFNQSS5oOyBwYXRoID0gLi4vVGVzdFJ1bm5lclNoYXJlZC9zcGkvSU9LaXRTUEkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEZFQkY4NUMxQkI2MkQ0NjAwMjg3MjJEIC8qIFVJ
S2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVJS2l0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBMzMyNjA1MUI3NTM5NjUwMEY4OUY2MiAvKiBUZXN0T3B0aW9ucy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBUZXN0T3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
Q0EyMTFDNzFCQ0ExMDczMDBCMjEwMUYgLyogRm9udFdpdGhGZWF0dXJlcy5vdGYgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gRm9u
dFdpdGhGZWF0dXJlcy5vdGY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTIxMUM4
MUJDQTEwNzMwMEIyMTAxRiAvKiBGb250V2l0aEZlYXR1cmVzLnR0ZiAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSBGb250V2l0aEZl
YXR1cmVzLnR0Zjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI2Myw2ICsyNjIsNyBA
QAogCQkyRUU1MkQxNDE4OTBBOUZCMDAxMEVEMjEgLyogVGVzdENvbnRyb2xsZXJJT1MubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUZXN0Q29udHJvbGxlcklPUy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkVFNTJEMTYxODkwQTlGQjAwMTBFRDIx
IC8qIG1haW5JT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBt
YWluSU9TLm1tOyBwYXRoID0gLi4vaW9zL21haW5JT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMxMTBCRTBGMTVCQTAxMTQwMEQyMTZBQyAvKiBXZWJOb3RpZmljYXRpb25Qcm92
aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkzMTI2OEVCOTFFRjA2QTNCMDAxOTYzRTIgLyogVUlLaXRU
ZXN0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFVJS2l0VGVzdFNQSS5o
OyBwYXRoID0gLi4vVGVzdFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNDhBMDUzMUU2Rjg1QjYwMEQzQjMxNiAvKiBJT1NMYXlv
dXRUZXN0Q29tbXVuaWNhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5h
bWUgPSBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5jcHA7IHBhdGggPSAuLi9UZXN0UnVubmVy
U2hhcmVkL0lPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzE0OEEwNTQxRTZGODVCNjAwRDNCMzE2IC8qIElPU0xheW91dFRlc3RDb21t
dW5pY2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IElPU0xheW91dFRl
c3RDb21tdW5pY2F0aW9uLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL0lPU0xheW91dFRl
c3RDb21tdW5pY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNjRDOEVG
MTVEMUFEQTEwMEVGMUZFMCAvKiBXZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NjcsNiArNTY3LDcgQEAKIAkJMkRCNjE4
N0YxRDdENTk4ODAwOTc4RDE5IC8qIHNwaSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJMzEyNjhFQjkxRUYwNkEzQjAwMTk2M0UyIC8qIFVJS2l0VGVzdFNQ
SS5oICovLAogCQkJCTJEQjYxODdEMUQ3RDU4RDQwMDk3OEQxOSAvKiBDb3JlR3JhcGhpY3NUZXN0
U1BJLmggKi8sCiAJCQkJMEZFQkY4NUIxQkI2MkEzNzAwMjg3MjJEIC8qIElPS2l0U1BJLmggKi8s
CiAJCQkpOwpAQCAtNjMyLDcgKzYzMyw2IEBACiAJCQkJMEZFQkY4NTkxQkI2MURGMjAwMjg3MjJE
IC8qIEhJREV2ZW50R2VuZXJhdG9yLm1tICovLAogCQkJCTJFRTUyRDEzMTg5MEE5RkIwMDEwRUQy
MSAvKiBQbGF0Zm9ybVdlYlZpZXdJT1MubW0gKi8sCiAJCQkJMkVFNTJEMTQxODkwQTlGQjAwMTBF
RDIxIC8qIFRlc3RDb250cm9sbGVySU9TLm1tICovLAotCQkJCTBGRUJGODVDMUJCNjJENDYwMDI4
NzIyRCAvKiBVSUtpdFNQSS5oICovLAogCQkJCTBGNzNCNTVCMUJBODkwNDIwMDRCM0VGNCAvKiBV
SVNjcmlwdENvbnRyb2xsZXJJT1MubW0gKi8sCiAJCQkpOwogCQkJcGF0aCA9IGlvczsKSW5kZXg6
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZp
ZXcubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2Ev
VGVzdFJ1bm5lcldLV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAog
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQotI2ltcG9ydCAi
VUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8V2ViS2l0L1dL
V2ViVmlld1ByaXZhdGUuaD4KIEBpbnRlcmZhY2UgV0tXZWJWaWV3ICgpCiAKSW5kZXg6IFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2VuZXJhdG9yLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IuaAkocmV2aXNpb24g
MjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3Iu
aAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKLSNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtp
dFRlc3RTUEkuaCIKIAogI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHR2VvbWV0cnkuaD4KIApJbmRl
eDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0J
KHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50
R2VuZXJhdG9yLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAjaW1wb3J0ICJI
SURFdmVudEdlbmVyYXRvci5oIgogCiAjaW1wb3J0ICJJT0tpdFNQSS5oIgotI2ltcG9ydCAiVUlL
aXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0
TGlua2luZy5oPgogI2ltcG9ydCA8bWFjaC9tYWNoX3RpbWUuaD4KICNpbXBvcnQgPHd0Zi9Bc3Nl
cnRpb25zLmg+CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZp
ZXdJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZv
cm1XZWJWaWV3SU9TLm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4
LDcgQEAKIAogI2ltcG9ydCAiVGVzdENvbnRyb2xsZXIuaCIKICNpbXBvcnQgIlRlc3RSdW5uZXJX
S1dlYlZpZXcuaCIKLSNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEku
aCIKICNpbXBvcnQgPFdlYkNvcmUvUXVhcnR6Q29yZVNQSS5oPgogI2ltcG9ydCA8V2ViS2l0L1dL
SW1hZ2VDRy5oPgogI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CkluZGV4
OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQko
cmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRy
b2xsZXJJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpbXBvcnQgIlBs
YXRmb3JtV2ViVmlldy5oIgogI2ltcG9ydCAiVGVzdEludm9jYXRpb24uaCIKICNpbXBvcnQgIlRl
c3RSdW5uZXJXS1dlYlZpZXcuaCIKLSNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtp
dFRlc3RTUEkuaCIKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8
VUlLaXQvVUlLaXQuaD4KICNpbXBvcnQgPFdlYktpdC9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5o
PgpAQCAtNTIsNiArNTIsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxp
emUoCiB7CiAgICAgc2V0VXBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbigpOwogICAgIFtVSUFw
cGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXS5pZGxlVGltZXJEaXNhYmxlZCA9IFlFUzsKKyAg
ICBbW1VJU2NyZWVuIG1haW5TY3JlZW5dIF9zZXRTY2FsZToyLjBdOwogfQogCiB2b2lkIFRlc3RD
b250cm9sbGVyOjpwbGF0Zm9ybURlc3Ryb3koKQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9pb3MvVUlLaXRTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lv
cy9VSUtpdFNQSS5oCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVy
L2lvcy9VSUtpdFNQSS5oCShub25leGlzdGVudCkKQEAgLTEsODEgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0g
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQot
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNwcmFnbWEgb25jZQotCi0jaW1wb3J0IDx3dGYvUGxhdGZvcm0uaD4KLQotI2lmIFBMQVRG
T1JNKElPUykKLQotI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KLQotI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCi0KLSNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgotI2lt
cG9ydCA8VUlLaXQvVUlLZXlib2FyZC5oPgotI2ltcG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZhdGUu
aD4KLSNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJ
RGV2aWNlX1ByaXZhdGUuaD4KLQotQGludGVyZmFjZSBVSUtleWJvYXJkUHJlZGljdGlvblZpZXcg
OiBVSVZpZXcKLSsgKFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyAqKWFjdGl2ZUluc3RhbmNlOwot
LSAoQk9PTCloYXNQcmVkaWN0aW9uczsKLUBlbmQKLQotI2Vsc2UKLQotI2ltcG9ydCAiSU9LaXRT
UEkuaCIKLQotQGludGVyZmFjZSBVSUFwcGxpY2F0aW9uICgpCi0tICh2b2lkKV9lbnF1ZXVlSElE
RXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnQ7Ci0tICh2b2lkKV9oYW5kbGVISURFdmVudDooSU9I
SURFdmVudFJlZilldmVudDsKLUBlbmQKLQotQGludGVyZmFjZSBVSVdpbmRvdyAoKQotLSAodWlu
dDMyX3QpX2NvbnRleHRJZDsKLUBlbmQKLQotQGludGVyZmFjZSBVSUtleWJvYXJkIDogVUlWaWV3
Ci0rICh2b2lkKXJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXM7Ci1AZW5kCi0KLUBpbnRlcmZh
Y2UgVUlWaWV3ICgpCi0tICh2b2lkKV9yZW1vdmVBbGxBbmltYXRpb25zOihCT09MKWluY2x1ZGVT
dWJ2aWV3czsKLUBlbmQKLQotQGludGVyZmFjZSBVSURldmljZSAoKQotLSAodm9pZClzZXRPcmll
bnRhdGlvbjooVUlEZXZpY2VPcmllbnRhdGlvbilvcmllbnRhdGlvbiBhbmltYXRlZDooQk9PTClh
bmltYXRlZDsKLSBAZW5kCi0gCi0jZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLQot
I2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAotQGludGVyZmFj
ZSBVSVZpZXcgKCkKLS0gKHZvaWQpX3VwZGF0ZVNhZmVBcmVhSW5zZXRzOwotQGVuZAotI2VuZGlm
Ci0KLSNlbmRpZiAvLyBQTEFURk9STShJT1MpCi0KClByb3BlcnR5IGNoYW5nZXMgb246IFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46
ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkRlbGV0ZWQ6IHN2bjprZXl3b3JkcwojIyAtMSArMCwwICMjCi1BdXRob3IgRGF0ZSBJ
ZCBSZXYgVVJMClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0JKHJl
dmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29u
dHJvbGxlcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogI2ltcG9ydCAi
U3RyaW5nRnVuY3Rpb25zLmgiCiAjaW1wb3J0ICJUZXN0Q29udHJvbGxlci5oIgogI2ltcG9ydCAi
VGVzdFJ1bm5lcldLV2ViVmlldy5oIgotI2ltcG9ydCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJ
S2l0VGVzdFNQSS5oIgogI2ltcG9ydCAiVUlTY3JpcHRDb250ZXh0LmgiCiAjaW1wb3J0IDxKYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5oPgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvT3Bh
cXVlSlNTdHJpbmcuaD4KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL21haW5JT1Mu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvbWFpbklPUy5tbQko
cmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvbWFpbklPUy5t
bQkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogCiAjaW1wb3J0ICJISURFdmVudEdl
bmVyYXRvci5oIgogI2ltcG9ydCAiVGVzdENvbnRyb2xsZXIuaCIKLSNpbXBvcnQgIlVJS2l0U1BJ
LmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKICNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CiAK
IHN0YXRpYyBpbnQgX2FyZ2M7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312807</attachid>
            <date>2017-06-13 14:09:27 -0700</date>
            <delta_ts>2017-06-13 14:29:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173319-20170613140926.patch</filename>
            <type>text/plain</type>
            <size>18452</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDE3LTA2LTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBDb25maWd1cmUgc2NyZWVuIHNjYWxlIGZvciBydW5uaW5nIGxheW91dCB0
ZXN0cyBvbiBwbHVzIGRldmljZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MzMxOQorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisK
KyAgICAgICAgU3VwcG9ydCBmb3IgdGVzdGluZyBvbiBwbHVzIGRldmljZXMuCisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvRHVtcFJlbmRlclRyZWVMaWJyYXJ5
LnhjY29uZmlnOiBEdW1wUmVuZGVyVHJlZQorICAgICAgICBsaWJyYXJ5IG5lZWRzIHRvIGxpbmsg
d2l0aCBVSUtpdC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW06CisgICAgICAgIChkdW1wUmVuZGVyVHJlZSk6IFNldCBzY3JlZW4gc2NhbGUgdG8gMi4wLgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tOgorICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKTogU2V0IHNjcmVl
biBzY2FsZSB0byAyLjAuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEku
aDogQWRkIF9zZXRTY2FsZSBmb3IgVUlTY3JlZW4uCisKIDIwMTctMDYtMTMgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEJsb2IgZG93
bmxvYWQgZG9lc24ndCB3b3JrCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVy
VHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDIxODE4NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI4Niw2ICsyODYsNyBAQAog
CQkyREEyRTNBNDFFMUJBNTQxMDBBM0JCRDAgLyogRHVtcFJlbmRlclRyZWVTcGVsbENoZWNrZXIu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBEdW1wUmVuZGVyVHJl
ZVNwZWxsQ2hlY2tlci5tbTsgcGF0aCA9IG1hYy9EdW1wUmVuZGVyVHJlZVNwZWxsQ2hlY2tlci5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExMTdCM0ExNUQ5QTU2QTAwMTYzQkM4
IC8qIE1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBNb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsgcGF0aCA9IG1hYy9Nb2Nr
V2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzExMTdCM0IxNUQ5QTU2QTAwMTYzQkM4IC8qIE1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IE1vY2tXZWJOb3RpZmlj
YXRpb25Qcm92aWRlci5tbTsgcGF0aCA9IG1hYy9Nb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMjY4RUJBMUVGMDZBOTUwMDE5NjNF
MiAvKiBVSUtpdFRlc3RTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVUlL
aXRUZXN0U1BJLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL3NwaS9VSUtpdFRlc3RTUEku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0OEEwNTUxRTZGOTBGNDAwRDNCMzE2
IC8qIElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcDsgcGF0aCA9IC4u
L1Rlc3RSdW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMTQ4QTA1NjFFNkY5MEY0MDBEM0IzMTYgLyogSU9TTGF5
b3V0VGVzdENvbW11bmljYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
SU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQv
SU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzJBNzBBQUIwMzcwNUUxRjAwQzkxNzgzIC8qIER1bXBSZW5kZXJUcmVlUHJlZml4LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IER1bXBSZW5kZXJUcmVlUHJlZml4Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MzUsNiArNTM2LDcgQEAKIAkJMEY2QTBERkYx
RDZFMEY4NjAwRjFDOUE4IC8qIGlvcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCisJCQkJMzEyNjhFQkExRUYwNkE5NTAwMTk2M0UyIC8qIFVJS2l0VGVzdFNQSS5o
ICovLAogCQkJCTBGMThFNzBDMUQ2QkFDOEMwMDI3RTU0NyAvKiBVSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IGlvczsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTA1
LDYgKzEwNSw3IEBACiAjaW1wb3J0ICJEdW1wUmVuZGVyVHJlZUJyb3dzZXJWaWV3LmgiCiAjaW1w
b3J0ICJJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oIgogI2ltcG9ydCAiVUlLaXRTUEkuaCIK
KyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3Jl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9ydCA8V2ViS2l0
L1dBS1dpbmRvdy5oPgpAQCAtMTI0MSw2ICsxMjQyLDcgQEAgdm9pZCBkdW1wUmVuZGVyVHJlZShp
bnQgYXJnYywgY29uc3QgY2hhcgogI2lmIFBMQVRGT1JNKElPUykKICAgICBzZXRVcElPU0xheW91
dFRlc3RDb21tdW5pY2F0aW9uKCk7CiAgICAgW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRp
b25dLmlkbGVUaW1lckRpc2FibGVkID0gWUVTOworICAgIFtbVUlTY3JlZW4gbWFpblNjcmVlbl0g
X3NldFNjYWxlOjIuMF07CiAjZW5kaWYKIAogICAgIHNpZ25hbChTSUdJTEwsICZ3cml0ZUNyYXNo
ZWRNZXNzYWdlT25GYXRhbEVycm9yKTsKSW5kZXg6IFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3Bp
L1VJS2l0VGVzdFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3Bp
L1VJS2l0VGVzdFNQSS5oCShyZXZpc2lvbiAyMTgxODYpCShmcm9tIFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvaW9zL1VJS2l0U1BJLmg6MjE4MTg2KQorKysgVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9z
cGkvVUlLaXRUZXN0U1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0IDx3dGYvUGxhdGZvcm0uaD4KKworI2lmIFBM
QVRGT1JNKElPUykKKworI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgor
I2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZC5oPgorI2ltcG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZh
dGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0
L1VJRGV2aWNlX1ByaXZhdGUuaD4KKworQGludGVyZmFjZSBVSUtleWJvYXJkUHJlZGljdGlvblZp
ZXcgOiBVSVZpZXcKKysgKFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyAqKWFjdGl2ZUluc3RhbmNl
OworLSAoQk9PTCloYXNQcmVkaWN0aW9uczsKK0BlbmQKKworI2Vsc2UKKworI2ltcG9ydCAiSU9L
aXRTUEkuaCIKKworQGludGVyZmFjZSBVSUFwcGxpY2F0aW9uICgpCistICh2b2lkKV9lbnF1ZXVl
SElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnQ7CistICh2b2lkKV9oYW5kbGVISURFdmVudDoo
SU9ISURFdmVudFJlZilldmVudDsKK0BlbmQKKworQGludGVyZmFjZSBVSVdpbmRvdyAoKQorLSAo
dWludDMyX3QpX2NvbnRleHRJZDsKK0BlbmQKKworQGludGVyZmFjZSBVSUtleWJvYXJkIDogVUlW
aWV3CisrICh2b2lkKXJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXM7CitAZW5kCisKK0BpbnRl
cmZhY2UgVUlWaWV3ICgpCistICh2b2lkKV9yZW1vdmVBbGxBbmltYXRpb25zOihCT09MKWluY2x1
ZGVTdWJ2aWV3czsKK0BlbmQKKworQGludGVyZmFjZSBVSURldmljZSAoKQorLSAodm9pZClzZXRP
cmllbnRhdGlvbjooVUlEZXZpY2VPcmllbnRhdGlvbilvcmllbnRhdGlvbiBhbmltYXRlZDooQk9P
TClhbmltYXRlZDsKKyBAZW5kCisgCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KworI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAorQGludGVy
ZmFjZSBVSVZpZXcgKCkKKy0gKHZvaWQpX3VwZGF0ZVNhZmVBcmVhSW5zZXRzOworQGVuZAorI2Vu
ZGlmCisKKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCisKClByb3BlcnR5IGNoYW5nZXMgb246IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3Zu
OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
cm9wZXJ0eQpBZGRlZDogc3ZuOmtleXdvcmRzCiMjIC0wLDAgKzEgIyMKK0F1dGhvciBEYXRlIElk
IFJldiBVUkwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogVG9vbHMvVGVz
dFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVz
dFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgJKHJldmlzaW9uIDIxODE4NikKKysrIFRv
b2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zOCw2ICszOCw3IEBACiAjaW1wb3J0IDxVSUtpdC9VSVZpZXdfUHJpdmF0ZS5oPgogI2ltcG9y
dCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJp
dmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlTY3JlZW5fUHJpdmF0ZS5oPgogCiBAaW50ZXJmYWNl
IFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyA6IFVJVmlldwogKyAoVUlLZXlib2FyZFByZWRpY3Rp
b25WaWV3ICopYWN0aXZlSW5zdGFuY2U7CkBAIC01Nyw3ICs1OCwxMCBAQAogLSAodWludDMyX3Qp
X2NvbnRleHRJZDsKIEBlbmQKIAotQGludGVyZmFjZSBVSUtleWJvYXJkIDogVUlWaWV3CitAaW50
ZXJmYWNlIFVJS2V5Ym9hcmQgOiBVSVZpZXcgPFVJS2V5Ym9hcmRJbXBsR2VvbWV0cnlEZWxlZ2F0
ZT4KK0BlbmQKKworQGludGVyZmFjZSBVSUtleWJvYXJkICgpCiArICh2b2lkKXJlbW92ZUFsbER5
bmFtaWNEaWN0aW9uYXJpZXM7CiBAZW5kCiAKQEAgLTY4LDYgKzcyLDEwIEBACiBAaW50ZXJmYWNl
IFVJRGV2aWNlICgpCiAtICh2b2lkKXNldE9yaWVudGF0aW9uOihVSURldmljZU9yaWVudGF0aW9u
KW9yaWVudGF0aW9uIGFuaW1hdGVkOihCT09MKWFuaW1hdGVkOwogIEBlbmQKKworQGludGVyZmFj
ZSBVSVNjcmVlbiAoKQorLSAodm9pZClfc2V0U2NhbGU6KENHRmxvYXQpc2NhbGU7CitAZW5kCiAg
CiAjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIApJbmRleDogVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTQsNyArMjE0LDYgQEAKIAkJMEZFQkY4NTgxQkI2MURGMjAwMjg3MjJE
IC8qIEhJREV2ZW50R2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEhJREV2ZW50R2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRUJG
ODU5MUJCNjFERjIwMDI4NzIyRCAvKiBISURFdmVudEdlbmVyYXRvci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEhJREV2ZW50R2VuZXJhdG9yLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwRkVCRjg1QjFCQjYyQTM3MDAyODcyMkQgLyogSU9LaXRT
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gSU9LaXRTUEkuaDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFy
ZWQvc3BpL0lPS2l0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGRUJGODVD
MUJCNjJENDYwMDI4NzIyRCAvKiBVSUtpdFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVSUtpdFNQSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTMzMjYwNTFCNzUzOTY1MDBGODlGNjIg
LyogVGVzdE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGVzdE9wdGlvbnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBMjExQzcxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRo
RmVhdHVyZXMub3RmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gZmlsZTsgcGF0aCA9IEZvbnRXaXRoRmVhdHVyZXMub3RmOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0EyMTFDODFCQ0ExMDczMDBCMjEwMUYgLyogRm9udFdpdGhGZWF0dXJl
cy50dGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBm
aWxlOyBwYXRoID0gRm9udFdpdGhGZWF0dXJlcy50dGY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yNjMsNiArMjYyLDcgQEAKIAkJMkVFNTJEMTQxODkwQTlGQjAwMTBFRDIxIC8qIFRl
c3RDb250cm9sbGVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gVGVzdENvbnRyb2xsZXJJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJF
RTUyRDE2MTg5MEE5RkIwMDEwRUQyMSAvKiBtYWluSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBuYW1lID0gbWFpbklPUy5tbTsgcGF0aCA9IC4uL2lvcy9tYWluSU9TLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTEwQkUwRjE1QkEwMTE0MDBEMjE2QUMg
LyogV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTm90aWZpY2F0
aW9uUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEyNjhFQjkxRUYw
NkEzQjAwMTk2M0UyIC8qIFVJS2l0VGVzdFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBVSUtpdFRlc3RTUEkuaDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL1VJ
S2l0VGVzdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTQ4QTA1MzFFNkY4
NUI2MDBEM0IzMTYgLyogSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uY3Bw
OyBwYXRoID0gLi4vVGVzdFJ1bm5lclNoYXJlZC9JT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNDhBMDU0MUU2Rjg1QjYwMEQzQjMx
NiAvKiBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oOyBwYXRoID0gLi4vVGVzdFJ1
bm5lclNoYXJlZC9JT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzMTY0QzhFRjE1RDFBREExMDBFRjFGRTAgLyogV2ViTm90aWZpY2F0aW9u
UHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTm90
aWZpY2F0aW9uUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTY3
LDYgKzU2Nyw3IEBACiAJCTJEQjYxODdGMUQ3RDU5ODgwMDk3OEQxOSAvKiBzcGkgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTMxMjY4RUI5MUVGMDZBM0Iw
MDE5NjNFMiAvKiBVSUtpdFRlc3RTUEkuaCAqLywKIAkJCQkyREI2MTg3RDFEN0Q1OEQ0MDA5NzhE
MTkgLyogQ29yZUdyYXBoaWNzVGVzdFNQSS5oICovLAogCQkJCTBGRUJGODVCMUJCNjJBMzcwMDI4
NzIyRCAvKiBJT0tpdFNQSS5oICovLAogCQkJKTsKQEAgLTYzMiw3ICs2MzMsNiBAQAogCQkJCTBG
RUJGODU5MUJCNjFERjIwMDI4NzIyRCAvKiBISURFdmVudEdlbmVyYXRvci5tbSAqLywKIAkJCQky
RUU1MkQxMzE4OTBBOUZCMDAxMEVEMjEgLyogUGxhdGZvcm1XZWJWaWV3SU9TLm1tICovLAogCQkJ
CTJFRTUyRDE0MTg5MEE5RkIwMDEwRUQyMSAvKiBUZXN0Q29udHJvbGxlcklPUy5tbSAqLywKLQkJ
CQkwRkVCRjg1QzFCQjYyRDQ2MDAyODcyMkQgLyogVUlLaXRTUEkuaCAqLywKIAkJCQkwRjczQjU1
QjFCQTg5MDQyMDA0QjNFRjQgLyogVUlTY3JpcHRDb250cm9sbGVySU9TLm1tICovLAogCQkJKTsK
IAkJCXBhdGggPSBpb3M7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RS
dW5uZXJXS1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9j
b2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogI2lmIFBM
QVRGT1JNKElPUykKLSNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEku
aCIKICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CiBAaW50ZXJmYWNlIFdLV2Vi
VmlldyAoKQogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdlbmVy
YXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50
R2VuZXJhdG9yLmgJKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
aW9zL0hJREV2ZW50R2VuZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDcgQEAK
ICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0ICJVSUtp
dFNQSS5oIgorI2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgiCiAKICNpbXBvcnQgPENvcmVHcmFwaGlj
cy9DR0dlb21ldHJ5Lmg+CiAKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2
ZW50R2VuZXJhdG9yLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9z
L0hJREV2ZW50R2VuZXJhdG9yLm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL2lvcy9ISURFdmVudEdlbmVyYXRvci5tbQkod29ya2luZyBjb3B5KQpAQCAtMjcs
NyArMjcsNyBAQAogI2ltcG9ydCAiSElERXZlbnRHZW5lcmF0b3IuaCIKIAogI2ltcG9ydCAiSU9L
aXRTUEkuaCIKLSNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIK
ICNpbXBvcnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPG1hY2gvbWFjaF90aW1l
Lmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbQkocmV2aXNpb24gMjE4MTg2KQor
KysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbXBvcnQgIlRlc3RDb250cm9sbGVyLmgi
CiAjaW1wb3J0ICJUZXN0UnVubmVyV0tXZWJWaWV3LmgiCi0jaW1wb3J0ICJVSUtpdFNQSS5oIgor
I2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1F1YXJ0ekNvcmVTUEku
aD4KICNpbXBvcnQgPFdlYktpdC9XS0ltYWdlQ0cuaD4KICNpbXBvcnQgPFdlYktpdC9XS1ByZWZl
cmVuY2VzUHJpdmF0ZS5oPgpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENv
bnRyb2xsZXJJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3Mv
VGVzdENvbnRyb2xsZXJJT1MubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3
ICszMSw3IEBACiAjaW1wb3J0ICJQbGF0Zm9ybVdlYlZpZXcuaCIKICNpbXBvcnQgIlRlc3RJbnZv
Y2F0aW9uLmgiCiAjaW1wb3J0ICJUZXN0UnVubmVyV0tXZWJWaWV3LmgiCi0jaW1wb3J0ICJVSUtp
dFNQSS5oIgorI2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgiCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0Zv
dW5kYXRpb24uaD4KICNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaD4KQEAgLTUyLDYgKzUyLDcgQEAgdm9pZCBUZXN0Q29udHJv
bGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKAogewogICAgIHNldFVwSU9TTGF5b3V0VGVzdENvbW11
bmljYXRpb24oKTsKICAgICBbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0uaWRsZVRp
bWVyRGlzYWJsZWQgPSBZRVM7CisgICAgW1tVSVNjcmVlbiBtYWluU2NyZWVuXSBfc2V0U2NhbGU6
Mi4wXTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1EZXN0cm95KCkKSW5kZXg6
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEkuaAkocmV2aXNpb24gMjE4MTg2KQorKysg
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEkuaAkobm9uZXhpc3RlbnQpCkBAIC0x
LDgxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2ltcG9ydCA8d3RmL1Bs
YXRmb3JtLmg+Ci0KLSNpZiBQTEFURk9STShJT1MpCi0KLSNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+
Ci0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotCi0jaW1wb3J0IDxVSUtpdC9VSUFwcGxp
Y2F0aW9uX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJS2V5Ym9hcmQuaD4KLSNpbXBvcnQg
PFVJS2l0L1VJVmlld19Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRl
Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSURldmljZV9Qcml2YXRlLmg+Ci0KLUBpbnRlcmZhY2UgVUlL
ZXlib2FyZFByZWRpY3Rpb25WaWV3IDogVUlWaWV3Ci0rIChVSUtleWJvYXJkUHJlZGljdGlvblZp
ZXcgKilhY3RpdmVJbnN0YW5jZTsKLS0gKEJPT0wpaGFzUHJlZGljdGlvbnM7Ci1AZW5kCi0KLSNl
bHNlCi0KLSNpbXBvcnQgIklPS2l0U1BJLmgiCi0KLUBpbnRlcmZhY2UgVUlBcHBsaWNhdGlvbiAo
KQotLSAodm9pZClfZW5xdWV1ZUhJREV2ZW50OihJT0hJREV2ZW50UmVmKWV2ZW50OwotLSAodm9p
ZClfaGFuZGxlSElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnQ7Ci1AZW5kCi0KLUBpbnRlcmZh
Y2UgVUlXaW5kb3cgKCkKLS0gKHVpbnQzMl90KV9jb250ZXh0SWQ7Ci1AZW5kCi0KLUBpbnRlcmZh
Y2UgVUlLZXlib2FyZCA6IFVJVmlldwotKyAodm9pZClyZW1vdmVBbGxEeW5hbWljRGljdGlvbmFy
aWVzOwotQGVuZAotCi1AaW50ZXJmYWNlIFVJVmlldyAoKQotLSAodm9pZClfcmVtb3ZlQWxsQW5p
bWF0aW9uczooQk9PTClpbmNsdWRlU3Vidmlld3M7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgVUlEZXZp
Y2UgKCkKLS0gKHZvaWQpc2V0T3JpZW50YXRpb246KFVJRGV2aWNlT3JpZW50YXRpb24pb3JpZW50
YXRpb24gYW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQ7Ci0gQGVuZAotIAotI2VuZGlmIC8vIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCi0KLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMTAwMDAKLUBpbnRlcmZhY2UgVUlWaWV3ICgpCi0tICh2b2lkKV91cGRhdGVTYWZlQXJl
YUluc2V0czsKLUBlbmQKLSNlbmRpZgotCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKQotCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSUtpdFNQSS5oCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMgLTEg
KzAsMCAjIwotQXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHBy
b3BlcnR5CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xs
ZXJJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3Jp
cHRDb250cm9sbGVySU9TLm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTMz
LDcgKzMzLDcgQEAKICNpbXBvcnQgIlN0cmluZ0Z1bmN0aW9ucy5oIgogI2ltcG9ydCAiVGVzdENv
bnRyb2xsZXIuaCIKICNpbXBvcnQgIlRlc3RSdW5uZXJXS1dlYlZpZXcuaCIKLSNpbXBvcnQgIlVJ
S2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKICNpbXBvcnQgIlVJU2NyaXB0Q29u
dGV4dC5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuaD4KICNpbXBv
cnQgPEphdmFTY3JpcHRDb3JlL09wYXF1ZUpTU3RyaW5nLmg+CkluZGV4OiBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvaW9zL21haW5JT1MubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvaW9zL21haW5JT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAK
IAogI2ltcG9ydCAiSElERXZlbnRHZW5lcmF0b3IuaCIKICNpbXBvcnQgIlRlc3RDb250cm9sbGVy
LmgiCi0jaW1wb3J0ICJVSUtpdFNQSS5oIgorI2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgiCiAjaW1w
b3J0IDxVSUtpdC9VSUtpdC5oPgogCiBzdGF0aWMgaW50IF9hcmdjOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312810</attachid>
            <date>2017-06-13 14:29:18 -0700</date>
            <delta_ts>2017-06-13 15:00:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173319-20170613142917.patch</filename>
            <type>text/plain</type>
            <size>19086</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgJKHJldmlz
aW9uIDIxODE4NikKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEku
aAkod29ya2luZyBjb3B5KQpAQCAtMjEyLDggKzIxMiwxMSBAQCB0eXBlZGVmIGVudW0gewogLSAo
dm9pZCljYW5kaWRhdGVMaXN0U2hvdWxkQmVEaXNtaXNzZWQ6KGlkKWNhbmRpZGF0ZUxpc3Q7CiBA
ZW5kCiAKKyNpZm5kZWYgVUlfS0VZQk9BUkQKKyNkZWZpbmUgVUlfS0VZQk9BUkQgMQogQGludGVy
ZmFjZSBVSUtleWJvYXJkIDogVUlWaWV3IDxVSUtleWJvYXJkSW1wbEdlb21ldHJ5RGVsZWdhdGU+
CiBAZW5kCisjZW5kaWYKIAogQGludGVyZmFjZSBVSUtleWJvYXJkICgpCiArIChDR1NpemUpZGVm
YXVsdFNpemVGb3JJbnRlcmZhY2VPcmllbnRhdGlvbjooVUlJbnRlcmZhY2VPcmllbnRhdGlvbilv
cmllbnRhdGlvbjsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA2LTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVk
YXJkQGFwcGxlLmNvbT4KKworICAgICAgICBDb25maWd1cmUgc2NyZWVuIHNjYWxlIGZvciBydW5u
aW5nIGxheW91dCB0ZXN0cyBvbiBwbHVzIGRldmljZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzMxOQorCisgICAgICAgIFJldmlld2VkIGJ5IFRp
bSBIb3J0b24uCisKKyAgICAgICAgU3VwcG9ydCBmb3IgdGVzdGluZyBvbiBwbHVzIGRldmljZXMu
CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvRHVtcFJlbmRl
clRyZWVMaWJyYXJ5LnhjY29uZmlnOiBEdW1wUmVuZGVyVHJlZQorICAgICAgICBsaWJyYXJ5IG5l
ZWRzIHRvIGxpbmsgd2l0aCBVSUtpdC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW06CisgICAgICAgIChkdW1wUmVuZGVyVHJlZSk6IFNldCBzY3JlZW4gc2Nh
bGUgdG8gMi4wLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVy
SU9TLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXpl
KTogU2V0IHNjcmVlbiBzY2FsZSB0byAyLjAuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9p
b3MvVUlLaXRTUEkuaDogQWRkIF9zZXRTY2FsZSBmb3IgVUlTY3JlZW4uCisKIDIwMTctMDYtMTMg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
VEtdIEJsb2IgZG93bmxvYWQgZG9lc24ndCB3b3JrCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJl
ZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5k
ZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI4Niw2
ICsyODYsNyBAQAogCQkyREEyRTNBNDFFMUJBNTQxMDBBM0JCRDAgLyogRHVtcFJlbmRlclRyZWVT
cGVsbENoZWNrZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBE
dW1wUmVuZGVyVHJlZVNwZWxsQ2hlY2tlci5tbTsgcGF0aCA9IG1hYy9EdW1wUmVuZGVyVHJlZVNw
ZWxsQ2hlY2tlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExMTdCM0ExNUQ5
QTU2QTAwMTYzQkM4IC8qIE1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBNb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsgcGF0
aCA9IG1hYy9Nb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzExMTdCM0IxNUQ5QTU2QTAwMTYzQkM4IC8qIE1vY2tXZWJOb3RpZmljYXRp
b25Qcm92aWRlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IE1v
Y2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5tbTsgcGF0aCA9IG1hYy9Nb2NrV2ViTm90aWZpY2F0
aW9uUHJvdmlkZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMjY4RUJBMUVG
MDZBOTUwMDE5NjNFMiAvKiBVSUtpdFRlc3RTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gVUlLaXRUZXN0U1BJLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL3NwaS9V
SUtpdFRlc3RTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0OEEwNTUxRTZG
OTBGNDAwRDNCMzE2IC8qIElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNw
cDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTQ4QTA1NjFFNkY5MEY0MDBEM0Iz
MTYgLyogSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgcGF0aCA9IC4uL1Rlc3RS
dW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzJBNzBBQUIwMzcwNUUxRjAwQzkxNzgzIC8qIER1bXBSZW5kZXJUcmVl
UHJlZml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IER1bXBSZW5kZXJUcmVl
UHJlZml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MzUsNiArNTM2LDcgQEAK
IAkJMEY2QTBERkYxRDZFMEY4NjAwRjFDOUE4IC8qIGlvcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMzEyNjhFQkExRUYwNkE5NTAwMTk2M0UyIC8qIFVJ
S2l0VGVzdFNQSS5oICovLAogCQkJCTBGMThFNzBDMUQ2QkFDOEMwMDI3RTU0NyAvKiBVSVNjcmlw
dENvbnRyb2xsZXJJT1MubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IGlvczsKSW5kZXg6IFRvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDIxODE4NikK
KysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBj
b3B5KQpAQCAtMTA1LDYgKzEwNSw3IEBACiAjaW1wb3J0ICJEdW1wUmVuZGVyVHJlZUJyb3dzZXJW
aWV3LmgiCiAjaW1wb3J0ICJJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oIgogI2ltcG9ydCAi
VUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8UXVhcnR6Q29y
ZS9RdWFydHpDb3JlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvcmVHcmFwaGljc1NQSS5oPgogI2lt
cG9ydCA8V2ViS2l0L1dBS1dpbmRvdy5oPgpAQCAtMTI0MSw2ICsxMjQyLDcgQEAgdm9pZCBkdW1w
UmVuZGVyVHJlZShpbnQgYXJnYywgY29uc3QgY2hhcgogI2lmIFBMQVRGT1JNKElPUykKICAgICBz
ZXRVcElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uKCk7CiAgICAgW1VJQXBwbGljYXRpb24gc2hh
cmVkQXBwbGljYXRpb25dLmlkbGVUaW1lckRpc2FibGVkID0gWUVTOworICAgIFtbVUlTY3JlZW4g
bWFpblNjcmVlbl0gX3NldFNjYWxlOjIuMF07CiAjZW5kaWYKIAogICAgIHNpZ25hbChTSUdJTEws
ICZ3cml0ZUNyYXNoZWRNZXNzYWdlT25GYXRhbEVycm9yKTsKSW5kZXg6IFRvb2xzL1Rlc3RSdW5u
ZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RSdW5u
ZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCShyZXZpc2lvbiAyMTgxODYpCShmcm9tIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmg6MjE4MTg2KQorKysgVG9vbHMvVGVzdFJ1
bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0IDx3dGYvUGxhdGZvcm0u
aD4KKworI2lmIFBMQVRGT1JNKElPUykKKworI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKworI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25f
UHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZC5oPgorI2ltcG9ydCA8VUlLaXQv
VUlWaWV3X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KKyNp
bXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZhdGUuaD4KKworQGludGVyZmFjZSBVSUtleWJvYXJk
UHJlZGljdGlvblZpZXcgOiBVSVZpZXcKKysgKFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyAqKWFj
dGl2ZUluc3RhbmNlOworLSAoQk9PTCloYXNQcmVkaWN0aW9uczsKK0BlbmQKKworI2Vsc2UKKwor
I2ltcG9ydCAiSU9LaXRTUEkuaCIKKworQGludGVyZmFjZSBVSUFwcGxpY2F0aW9uICgpCistICh2
b2lkKV9lbnF1ZXVlSElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnQ7CistICh2b2lkKV9oYW5k
bGVISURFdmVudDooSU9ISURFdmVudFJlZilldmVudDsKK0BlbmQKKworQGludGVyZmFjZSBVSVdp
bmRvdyAoKQorLSAodWludDMyX3QpX2NvbnRleHRJZDsKK0BlbmQKKworQGludGVyZmFjZSBVSUtl
eWJvYXJkIDogVUlWaWV3CisrICh2b2lkKXJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXM7CitA
ZW5kCisKK0BpbnRlcmZhY2UgVUlWaWV3ICgpCistICh2b2lkKV9yZW1vdmVBbGxBbmltYXRpb25z
OihCT09MKWluY2x1ZGVTdWJ2aWV3czsKK0BlbmQKKworQGludGVyZmFjZSBVSURldmljZSAoKQor
LSAodm9pZClzZXRPcmllbnRhdGlvbjooVUlEZXZpY2VPcmllbnRhdGlvbilvcmllbnRhdGlvbiBh
bmltYXRlZDooQk9PTClhbmltYXRlZDsKKyBAZW5kCisgCisjZW5kaWYgLy8gVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKworI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEx
MDAwMAorQGludGVyZmFjZSBVSVZpZXcgKCkKKy0gKHZvaWQpX3VwZGF0ZVNhZmVBcmVhSW5zZXRz
OworQGVuZAorI2VuZGlmCisKKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCisKClByb3BlcnR5IGNo
YW5nZXMgb246IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmtleXdvcmRzCiMjIC0wLDAgKzEgIyMKK0F1
dGhvciBEYXRlIElkIFJldiBVUkwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgJKHJldmlzaW9uIDIx
ODE4NikKKysrIFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0IDxVSUtpdC9VSVZpZXdfUHJpdmF0
ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQv
VUlEZXZpY2VfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlTY3JlZW5fUHJpdmF0ZS5oPgog
CiBAaW50ZXJmYWNlIFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyA6IFVJVmlldwogKyAoVUlLZXli
b2FyZFByZWRpY3Rpb25WaWV3ICopYWN0aXZlSW5zdGFuY2U7CkBAIC01Nyw3ICs1OCwxMyBAQAog
LSAodWludDMyX3QpX2NvbnRleHRJZDsKIEBlbmQKIAotQGludGVyZmFjZSBVSUtleWJvYXJkIDog
VUlWaWV3CisjaWZuZGVmIFVJX0tFWUJPQVJECisjZGVmaW5lIFVJX0tFWUJPQVJEIDEKK0BpbnRl
cmZhY2UgVUlLZXlib2FyZCA6IFVJVmlldyA8VUlLZXlib2FyZEltcGxHZW9tZXRyeURlbGVnYXRl
PgorQGVuZAorI2VuZGlmCisKK0BpbnRlcmZhY2UgVUlLZXlib2FyZCAoKQogKyAodm9pZClyZW1v
dmVBbGxEeW5hbWljRGljdGlvbmFyaWVzOwogQGVuZAogCkBAIC02OCw2ICs3NSwxMCBAQAogQGlu
dGVyZmFjZSBVSURldmljZSAoKQogLSAodm9pZClzZXRPcmllbnRhdGlvbjooVUlEZXZpY2VPcmll
bnRhdGlvbilvcmllbnRhdGlvbiBhbmltYXRlZDooQk9PTClhbmltYXRlZDsKICBAZW5kCisKK0Bp
bnRlcmZhY2UgVUlTY3JlZW4gKCkKKy0gKHZvaWQpX3NldFNjYWxlOihDR0Zsb2F0KXNjYWxlOwor
QGVuZAogIAogI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKSW5kZXg6IFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5l
ci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtMjE0LDcgKzIxNCw2IEBACiAJCTBGRUJGODU4MUJCNjFERjIw
MDI4NzIyRCAvKiBISURFdmVudEdlbmVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBISURFdmVudEdlbmVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwRkVCRjg1OTFCQjYxREYyMDAyODcyMkQgLyogSElERXZlbnRHZW5lcmF0b3IubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBISURFdmVudEdlbmVyYXRvci5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZFQkY4NUIxQkI2MkEzNzAwMjg3MjJEIC8q
IElPS2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IElPS2l0U1BJLmg7IHBhdGggPSAuLi9UZXN0UnVu
bmVyU2hhcmVkL3NwaS9JT0tpdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkw
RkVCRjg1QzFCQjYyRDQ2MDAyODcyMkQgLyogVUlLaXRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlL
aXRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEzMzI2MDUxQjc1Mzk2NTAw
Rjg5RjYyIC8qIFRlc3RPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRlc3RPcHRpb25zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTIxMUM3MUJDQTEwNzMwMEIyMTAxRiAvKiBG
b250V2l0aEZlYXR1cmVzLm90ZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSBGb250V2l0aEZlYXR1cmVzLm90Zjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBMjExQzgxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRo
RmVhdHVyZXMudHRmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gZmlsZTsgcGF0aCA9IEZvbnRXaXRoRmVhdHVyZXMudHRmOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMjYzLDYgKzI2Miw3IEBACiAJCTJFRTUyRDE0MTg5MEE5RkIwMDEwRUQy
MSAvKiBUZXN0Q29udHJvbGxlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFRlc3RDb250cm9sbGVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyRUU1MkQxNjE4OTBBOUZCMDAxMEVEMjEgLyogbWFpbklPUy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IG1haW5JT1MubW07IHBhdGggPSAuLi9pb3MvbWFp
bklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExMEJFMEYxNUJBMDExNDAw
RDIxNkFDIC8qIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5v
dGlmaWNhdGlvblByb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMjY4
RUI5MUVGMDZBM0IwMDE5NjNFMiAvKiBVSUtpdFRlc3RTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gVUlLaXRUZXN0U1BJLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVk
L3NwaS9VSUtpdFRlc3RTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0OEEw
NTMxRTZGODVCNjAwRDNCMzE2IC8qIElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IElPU0xheW91dFRlc3RDb21tdW5pY2F0
aW9uLmNwcDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmlj
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTQ4QTA1NDFFNkY4NUI2
MDBEM0IzMTYgLyogSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgcGF0aCA9IC4u
L1Rlc3RSdW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2NEM4RUYxNUQxQURBMTAwRUYxRkUwIC8qIFdlYk5vdGlm
aWNhdGlvblByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTU2Nyw2ICs1NjcsNyBAQAogCQkyREI2MTg3RjFEN0Q1OTg4MDA5NzhEMTkgLyogc3BpICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkzMTI2OEVCOTFF
RjA2QTNCMDAxOTYzRTIgLyogVUlLaXRUZXN0U1BJLmggKi8sCiAJCQkJMkRCNjE4N0QxRDdENThE
NDAwOTc4RDE5IC8qIENvcmVHcmFwaGljc1Rlc3RTUEkuaCAqLywKIAkJCQkwRkVCRjg1QjFCQjYy
QTM3MDAyODcyMkQgLyogSU9LaXRTUEkuaCAqLywKIAkJCSk7CkBAIC02MzIsNyArNjMzLDYgQEAK
IAkJCQkwRkVCRjg1OTFCQjYxREYyMDAyODcyMkQgLyogSElERXZlbnRHZW5lcmF0b3IubW0gKi8s
CiAJCQkJMkVFNTJEMTMxODkwQTlGQjAwMTBFRDIxIC8qIFBsYXRmb3JtV2ViVmlld0lPUy5tbSAq
LywKIAkJCQkyRUU1MkQxNDE4OTBBOUZCMDAxMEVEMjEgLyogVGVzdENvbnRyb2xsZXJJT1MubW0g
Ki8sCi0JCQkJMEZFQkY4NUMxQkI2MkQ0NjAwMjg3MjJEIC8qIFVJS2l0U1BJLmggKi8sCiAJCQkJ
MEY3M0I1NUIxQkE4OTA0MjAwNEIzRUY0IC8qIFVJU2NyaXB0Q29udHJvbGxlcklPUy5tbSAqLywK
IAkJCSk7CiAJCQlwYXRoID0gaW9zOwpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2Nv
YS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQkocmV2aXNpb24gMjE4MTg2KQorKysg
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAK
ICNpZiBQTEFURk9STShJT1MpCi0jaW1wb3J0ICJVSUtpdFNQSS5oIgorI2ltcG9ydCAiVUlLaXRU
ZXN0U1BJLmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgogQGludGVyZmFj
ZSBXS1dlYlZpZXcgKCkKIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZl
bnRHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9I
SURFdmVudEdlbmVyYXRvci5oCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL2lvcy9ISURFdmVudEdlbmVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsy
Myw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2ltcG9y
dCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogCiAjaW1wb3J0IDxDb3Jl
R3JhcGhpY3MvQ0dHZW9tZXRyeS5oPgogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lv
cy9ISURFdmVudEdlbmVyYXRvci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9ISURFdmVudEdlbmVyYXRvci5tbQkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0JKHdvcmtpbmcgY29weSkK
QEAgLTI3LDcgKzI3LDcgQEAKICNpbXBvcnQgIkhJREV2ZW50R2VuZXJhdG9yLmgiCiAKICNpbXBv
cnQgIklPS2l0U1BJLmgiCi0jaW1wb3J0ICJVSUtpdFNQSS5oIgorI2ltcG9ydCAiVUlLaXRUZXN0
U1BJLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDxtYWNoL21h
Y2hfdGltZS5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KSW5kZXg6IFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0JKHJldmlzaW9uIDIx
ODE4NikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5t
bQkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiAjaW1wb3J0ICJUZXN0Q29udHJv
bGxlci5oIgogI2ltcG9ydCAiVGVzdFJ1bm5lcldLV2ViVmlldy5oIgotI2ltcG9ydCAiVUlLaXRT
UEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8V2ViQ29yZS9RdWFydHpD
b3JlU1BJLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tJbWFnZUNHLmg+CiAjaW1wb3J0IDxXZWJLaXQv
V0tQcmVmZXJlbmNlc1ByaXZhdGUuaD4KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9z
L1Rlc3RDb250cm9sbGVySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQkod29ya2luZyBjb3B5KQpA
QCAtMzEsNyArMzEsNyBAQAogI2ltcG9ydCAiUGxhdGZvcm1XZWJWaWV3LmgiCiAjaW1wb3J0ICJU
ZXN0SW52b2NhdGlvbi5oIgogI2ltcG9ydCAiVGVzdFJ1bm5lcldLV2ViVmlldy5oIgotI2ltcG9y
dCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8Rm91bmRh
dGlvbi9Gb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgogI2ltcG9ydCA8V2Vi
S2l0L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg+CkBAIC01Miw2ICs1Miw3IEBAIHZvaWQgVGVz
dENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSgKIHsKICAgICBzZXRVcElPU0xheW91dFRl
c3RDb21tdW5pY2F0aW9uKCk7CiAgICAgW1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25d
LmlkbGVUaW1lckRpc2FibGVkID0gWUVTOworICAgIFtbVUlTY3JlZW4gbWFpblNjcmVlbl0gX3Nl
dFNjYWxlOjIuMF07CiB9CiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtRGVzdHJveSgp
CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSUtpdFNQSS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgJKHJldmlzaW9uIDIxODE4
NikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgJKG5vbmV4aXN0ZW50
KQpAQCAtMSw4MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbXBvcnQg
PHd0Zi9QbGF0Zm9ybS5oPgotCi0jaWYgUExBVEZPUk0oSU9TKQotCi0jaW1wb3J0IDxVSUtpdC9V
SUtpdC5oPgotCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLQotI2ltcG9ydCA8VUlLaXQv
VUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUtleWJvYXJkLmg+Ci0j
aW1wb3J0IDxVSUtpdC9VSVZpZXdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3df
UHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgotCi1AaW50ZXJm
YWNlIFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyA6IFVJVmlldwotKyAoVUlLZXlib2FyZFByZWRp
Y3Rpb25WaWV3ICopYWN0aXZlSW5zdGFuY2U7Ci0tIChCT09MKWhhc1ByZWRpY3Rpb25zOwotQGVu
ZAotCi0jZWxzZQotCi0jaW1wb3J0ICJJT0tpdFNQSS5oIgotCi1AaW50ZXJmYWNlIFVJQXBwbGlj
YXRpb24gKCkKLS0gKHZvaWQpX2VucXVldWVISURFdmVudDooSU9ISURFdmVudFJlZilldmVudDsK
LS0gKHZvaWQpX2hhbmRsZUhJREV2ZW50OihJT0hJREV2ZW50UmVmKWV2ZW50OwotQGVuZAotCi1A
aW50ZXJmYWNlIFVJV2luZG93ICgpCi0tICh1aW50MzJfdClfY29udGV4dElkOwotQGVuZAotCi1A
aW50ZXJmYWNlIFVJS2V5Ym9hcmQgOiBVSVZpZXcKLSsgKHZvaWQpcmVtb3ZlQWxsRHluYW1pY0Rp
Y3Rpb25hcmllczsKLUBlbmQKLQotQGludGVyZmFjZSBVSVZpZXcgKCkKLS0gKHZvaWQpX3JlbW92
ZUFsbEFuaW1hdGlvbnM6KEJPT0wpaW5jbHVkZVN1YnZpZXdzOwotQGVuZAotCi1AaW50ZXJmYWNl
IFVJRGV2aWNlICgpCi0tICh2b2lkKXNldE9yaWVudGF0aW9uOihVSURldmljZU9yaWVudGF0aW9u
KW9yaWVudGF0aW9uIGFuaW1hdGVkOihCT09MKWFuaW1hdGVkOwotIEBlbmQKLSAKLSNlbmRpZiAv
LyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotCi0jaWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTEwMDAwCi1AaW50ZXJmYWNlIFVJVmlldyAoKQotLSAodm9pZClfdXBkYXRl
U2FmZUFyZWFJbnNldHM7Ci1AZW5kCi0jZW5kaWYKLQotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykK
LQoKUHJvcGVydHkgY2hhbmdlcyBvbjogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRT
UEkuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0
aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKRGVsZXRlZDogc3ZuOmtleXdvcmRz
CiMjIC0xICswLDAgIyMKLUF1dGhvciBEYXRlIElkIFJldiBVUkwKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBwcm9wZXJ0eQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRD
b250cm9sbGVySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9z
L1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0zMyw3ICszMyw3IEBACiAjaW1wb3J0ICJTdHJpbmdGdW5jdGlvbnMuaCIKICNpbXBvcnQg
IlRlc3RDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJUZXN0UnVubmVyV0tXZWJWaWV3LmgiCi0jaW1w
b3J0ICJVSUtpdFNQSS5oIgorI2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgiCiAjaW1wb3J0ICJVSVNj
cmlwdENvbnRleHQuaCIKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmg+
CiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9PcGFxdWVKU1N0cmluZy5oPgpJbmRleDogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9pb3MvbWFpbklPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJL
aXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsy
Nyw3IEBACiAKICNpbXBvcnQgIkhJREV2ZW50R2VuZXJhdG9yLmgiCiAjaW1wb3J0ICJUZXN0Q29u
dHJvbGxlci5oIgotI2ltcG9ydCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5o
IgogI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KIAogc3RhdGljIGludCBfYXJnYzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312814</attachid>
            <date>2017-06-13 15:00:57 -0700</date>
            <delta_ts>2017-06-13 16:43:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173319-20170613150056.patch</filename>
            <type>text/plain</type>
            <size>19021</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgJKHJldmlz
aW9uIDIxODE4NikKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEku
aAkod29ya2luZyBjb3B5KQpAQCAtMjEyLDggKzIxMiwxMSBAQCB0eXBlZGVmIGVudW0gewogLSAo
dm9pZCljYW5kaWRhdGVMaXN0U2hvdWxkQmVEaXNtaXNzZWQ6KGlkKWNhbmRpZGF0ZUxpc3Q7CiBA
ZW5kCiAKKyNpZm5kZWYgVUlfS0VZQk9BUkQKKyNkZWZpbmUgVUlfS0VZQk9BUkQgMQogQGludGVy
ZmFjZSBVSUtleWJvYXJkIDogVUlWaWV3IDxVSUtleWJvYXJkSW1wbEdlb21ldHJ5RGVsZWdhdGU+
CiBAZW5kCisjZW5kaWYKIAogQGludGVyZmFjZSBVSUtleWJvYXJkICgpCiArIChDR1NpemUpZGVm
YXVsdFNpemVGb3JJbnRlcmZhY2VPcmllbnRhdGlvbjooVUlJbnRlcmZhY2VPcmllbnRhdGlvbilv
cmllbnRhdGlvbjsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA2LTEzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVk
YXJkQGFwcGxlLmNvbT4KKworICAgICAgICBDb25maWd1cmUgc2NyZWVuIHNjYWxlIGZvciBydW5u
aW5nIGxheW91dCB0ZXN0cyBvbiBwbHVzIGRldmljZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzMxOQorCisgICAgICAgIFJldmlld2VkIGJ5IFRp
bSBIb3J0b24uCisKKyAgICAgICAgU3VwcG9ydCBmb3IgdGVzdGluZyBvbiBwbHVzIGRldmljZXMu
CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvRHVtcFJlbmRl
clRyZWVMaWJyYXJ5LnhjY29uZmlnOiBEdW1wUmVuZGVyVHJlZQorICAgICAgICBsaWJyYXJ5IG5l
ZWRzIHRvIGxpbmsgd2l0aCBVSUtpdC4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW06CisgICAgICAgIChkdW1wUmVuZGVyVHJlZSk6IFNldCBzY3JlZW4gc2Nh
bGUgdG8gMi4wLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVy
SU9TLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXpl
KTogU2V0IHNjcmVlbiBzY2FsZSB0byAyLjAuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9p
b3MvVUlLaXRTUEkuaDogQWRkIF9zZXRTY2FsZSBmb3IgVUlTY3JlZW4uCisKIDIwMTctMDYtMTMg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
VEtdIEJsb2IgZG93bmxvYWQgZG9lc24ndCB3b3JrCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJl
ZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5k
ZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI4Niw2
ICsyODYsNyBAQAogCQkyREEyRTNBNDFFMUJBNTQxMDBBM0JCRDAgLyogRHVtcFJlbmRlclRyZWVT
cGVsbENoZWNrZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBE
dW1wUmVuZGVyVHJlZVNwZWxsQ2hlY2tlci5tbTsgcGF0aCA9IG1hYy9EdW1wUmVuZGVyVHJlZVNw
ZWxsQ2hlY2tlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExMTdCM0ExNUQ5
QTU2QTAwMTYzQkM4IC8qIE1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBNb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsgcGF0
aCA9IG1hYy9Nb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzExMTdCM0IxNUQ5QTU2QTAwMTYzQkM4IC8qIE1vY2tXZWJOb3RpZmljYXRp
b25Qcm92aWRlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IE1v
Y2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5tbTsgcGF0aCA9IG1hYy9Nb2NrV2ViTm90aWZpY2F0
aW9uUHJvdmlkZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMjY4RUJBMUVG
MDZBOTUwMDE5NjNFMiAvKiBVSUtpdFRlc3RTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gVUlLaXRUZXN0U1BJLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL3NwaS9V
SUtpdFRlc3RTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0OEEwNTUxRTZG
OTBGNDAwRDNCMzE2IC8qIElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNw
cDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTQ4QTA1NjFFNkY5MEY0MDBEM0Iz
MTYgLyogSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgcGF0aCA9IC4uL1Rlc3RS
dW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzJBNzBBQUIwMzcwNUUxRjAwQzkxNzgzIC8qIER1bXBSZW5kZXJUcmVl
UHJlZml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IER1bXBSZW5kZXJUcmVl
UHJlZml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MzUsNiArNTM2LDcgQEAK
IAkJMEY2QTBERkYxRDZFMEY4NjAwRjFDOUE4IC8qIGlvcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMzEyNjhFQkExRUYwNkE5NTAwMTk2M0UyIC8qIFVJ
S2l0VGVzdFNQSS5oICovLAogCQkJCTBGMThFNzBDMUQ2QkFDOEMwMDI3RTU0NyAvKiBVSVNjcmlw
dENvbnRyb2xsZXJJT1MubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IGlvczsKSW5kZXg6IFRvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDIxODE4NikK
KysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBj
b3B5KQpAQCAtMTA1LDYgKzEwNSw3IEBACiAjaW1wb3J0ICJEdW1wUmVuZGVyVHJlZUJyb3dzZXJW
aWV3LmgiCiAjaW1wb3J0ICJJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oIgogI2ltcG9ydCAi
VUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8UXVhcnR6Q29y
ZS9RdWFydHpDb3JlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvcmVHcmFwaGljc1NQSS5oPgogI2lt
cG9ydCA8V2ViS2l0L1dBS1dpbmRvdy5oPgpAQCAtMTI0MSw2ICsxMjQyLDcgQEAgdm9pZCBkdW1w
UmVuZGVyVHJlZShpbnQgYXJnYywgY29uc3QgY2hhcgogI2lmIFBMQVRGT1JNKElPUykKICAgICBz
ZXRVcElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uKCk7CiAgICAgW1VJQXBwbGljYXRpb24gc2hh
cmVkQXBwbGljYXRpb25dLmlkbGVUaW1lckRpc2FibGVkID0gWUVTOworICAgIFtbVUlTY3JlZW4g
bWFpblNjcmVlbl0gX3NldFNjYWxlOjIuMF07CiAjZW5kaWYKIAogICAgIHNpZ25hbChTSUdJTEws
ICZ3cml0ZUNyYXNoZWRNZXNzYWdlT25GYXRhbEVycm9yKTsKSW5kZXg6IFRvb2xzL1Rlc3RSdW5u
ZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RSdW5u
ZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCShyZXZpc2lvbiAyMTgxODYpCShmcm9tIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmg6MjE4MTg2KQorKysgVG9vbHMvVGVzdFJ1
bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0IDx3dGYvUGxhdGZvcm0u
aD4KKworI2lmIFBMQVRGT1JNKElPUykKKworI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKworI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25f
UHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZC5oPgorI2ltcG9ydCA8VUlLaXQv
VUlWaWV3X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KKyNp
bXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZhdGUuaD4KKworQGludGVyZmFjZSBVSUtleWJvYXJk
UHJlZGljdGlvblZpZXcgOiBVSVZpZXcKKysgKFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyAqKWFj
dGl2ZUluc3RhbmNlOworLSAoQk9PTCloYXNQcmVkaWN0aW9uczsKK0BlbmQKKworI2Vsc2UKKwor
I2ltcG9ydCAiSU9LaXRTUEkuaCIKKworQGludGVyZmFjZSBVSUFwcGxpY2F0aW9uICgpCistICh2
b2lkKV9lbnF1ZXVlSElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnQ7CistICh2b2lkKV9oYW5k
bGVISURFdmVudDooSU9ISURFdmVudFJlZilldmVudDsKK0BlbmQKKworQGludGVyZmFjZSBVSVdp
bmRvdyAoKQorLSAodWludDMyX3QpX2NvbnRleHRJZDsKK0BlbmQKKworQGludGVyZmFjZSBVSUtl
eWJvYXJkIDogVUlWaWV3CisrICh2b2lkKXJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXM7CitA
ZW5kCisKK0BpbnRlcmZhY2UgVUlWaWV3ICgpCistICh2b2lkKV9yZW1vdmVBbGxBbmltYXRpb25z
OihCT09MKWluY2x1ZGVTdWJ2aWV3czsKK0BlbmQKKworQGludGVyZmFjZSBVSURldmljZSAoKQor
LSAodm9pZClzZXRPcmllbnRhdGlvbjooVUlEZXZpY2VPcmllbnRhdGlvbilvcmllbnRhdGlvbiBh
bmltYXRlZDooQk9PTClhbmltYXRlZDsKKyBAZW5kCisgCisjZW5kaWYgLy8gVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKworI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEx
MDAwMAorQGludGVyZmFjZSBVSVZpZXcgKCkKKy0gKHZvaWQpX3VwZGF0ZVNhZmVBcmVhSW5zZXRz
OworQGVuZAorI2VuZGlmCisKKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCisKClByb3BlcnR5IGNo
YW5nZXMgb246IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmtleXdvcmRzCiMjIC0wLDAgKzEgIyMKK0F1
dGhvciBEYXRlIElkIFJldiBVUkwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRl
eDogVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgJKHJldmlzaW9uIDIx
ODE4NikKKysrIFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0IDxVSUtpdC9VSVZpZXdfUHJpdmF0
ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQv
VUlEZXZpY2VfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlTY3JlZW5fUHJpdmF0ZS5oPgog
CiBAaW50ZXJmYWNlIFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyA6IFVJVmlldwogKyAoVUlLZXli
b2FyZFByZWRpY3Rpb25WaWV3ICopYWN0aXZlSW5zdGFuY2U7CkBAIC01Nyw3ICs1OCwxMyBAQAog
LSAodWludDMyX3QpX2NvbnRleHRJZDsKIEBlbmQKIAorI2lmbmRlZiBVSV9LRVlCT0FSRAorI2Rl
ZmluZSBVSV9LRVlCT0FSRCAxCiBAaW50ZXJmYWNlIFVJS2V5Ym9hcmQgOiBVSVZpZXcKK0BlbmQK
KyNlbmRpZgorCitAaW50ZXJmYWNlIFVJS2V5Ym9hcmQgKCkKICsgKHZvaWQpcmVtb3ZlQWxsRHlu
YW1pY0RpY3Rpb25hcmllczsKIEBlbmQKIApAQCAtNjgsNiArNzUsMTAgQEAKIEBpbnRlcmZhY2Ug
VUlEZXZpY2UgKCkKIC0gKHZvaWQpc2V0T3JpZW50YXRpb246KFVJRGV2aWNlT3JpZW50YXRpb24p
b3JpZW50YXRpb24gYW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQ7CiAgQGVuZAorCitAaW50ZXJmYWNl
IFVJU2NyZWVuICgpCistICh2b2lkKV9zZXRTY2FsZTooQ0dGbG9hdClzY2FsZTsKK0BlbmQKICAK
ICNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCkluZGV4OiBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTIxNCw3ICsyMTQsNiBAQAogCQkwRkVCRjg1ODFCQjYxREYyMDAyODcyMkQg
LyogSElERXZlbnRHZW5lcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SElERXZlbnRHZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZFQkY4
NTkxQkI2MURGMjAwMjg3MjJEIC8qIEhJREV2ZW50R2VuZXJhdG9yLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSElERXZlbnRHZW5lcmF0b3IubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRUJGODVCMUJCNjJBMzcwMDI4NzIyRCAvKiBJT0tpdFNQ
SS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBJT0tpdFNQSS5oOyBwYXRoID0gLi4vVGVzdFJ1bm5lclNoYXJl
ZC9zcGkvSU9LaXRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEZFQkY4NUMx
QkI2MkQ0NjAwMjg3MjJEIC8qIFVJS2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVJS2l0U1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMzMyNjA1MUI3NTM5NjUwMEY4OUY2MiAv
KiBUZXN0T3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXN0T3B0aW9ucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQ0EyMTFDNzFCQ0ExMDczMDBCMjEwMUYgLyogRm9udFdpdGhG
ZWF0dXJlcy5vdGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBmaWxlOyBwYXRoID0gRm9udFdpdGhGZWF0dXJlcy5vdGY7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFDQTIxMUM4MUJDQTEwNzMwMEIyMTAxRiAvKiBGb250V2l0aEZlYXR1cmVz
LnR0ZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZp
bGU7IHBhdGggPSBGb250V2l0aEZlYXR1cmVzLnR0Zjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTI2Myw2ICsyNjIsNyBAQAogCQkyRUU1MkQxNDE4OTBBOUZCMDAxMEVEMjEgLyogVGVz
dENvbnRyb2xsZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBUZXN0Q29udHJvbGxlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkVF
NTJEMTYxODkwQTlGQjAwMTBFRDIxIC8qIG1haW5JT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IG5hbWUgPSBtYWluSU9TLm1tOyBwYXRoID0gLi4vaW9zL21haW5JT1MubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMTBCRTBGMTVCQTAxMTQwMEQyMTZBQyAv
KiBXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJOb3RpZmljYXRp
b25Qcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTI2OEVCOTFFRjA2
QTNCMDAxOTYzRTIgLyogVUlLaXRUZXN0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFVJS2l0VGVzdFNQSS5oOyBwYXRoID0gLi4vVGVzdFJ1bm5lclNoYXJlZC9zcGkvVUlL
aXRUZXN0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNDhBMDUzMUU2Rjg1
QjYwMEQzQjMxNiAvKiBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5jcHA7
IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL0lPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0OEEwNTQxRTZGODVCNjAwRDNCMzE2
IC8qIElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmg7IHBhdGggPSAuLi9UZXN0UnVu
bmVyU2hhcmVkL0lPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMxNjRDOEVGMTVEMUFEQTEwMEVGMUZFMCAvKiBXZWJOb3RpZmljYXRpb25Q
cm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01Njcs
NiArNTY3LDcgQEAKIAkJMkRCNjE4N0YxRDdENTk4ODAwOTc4RDE5IC8qIHNwaSAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMzEyNjhFQjkxRUYwNkEzQjAw
MTk2M0UyIC8qIFVJS2l0VGVzdFNQSS5oICovLAogCQkJCTJEQjYxODdEMUQ3RDU4RDQwMDk3OEQx
OSAvKiBDb3JlR3JhcGhpY3NUZXN0U1BJLmggKi8sCiAJCQkJMEZFQkY4NUIxQkI2MkEzNzAwMjg3
MjJEIC8qIElPS2l0U1BJLmggKi8sCiAJCQkpOwpAQCAtNjMyLDcgKzYzMyw2IEBACiAJCQkJMEZF
QkY4NTkxQkI2MURGMjAwMjg3MjJEIC8qIEhJREV2ZW50R2VuZXJhdG9yLm1tICovLAogCQkJCTJF
RTUyRDEzMTg5MEE5RkIwMDEwRUQyMSAvKiBQbGF0Zm9ybVdlYlZpZXdJT1MubW0gKi8sCiAJCQkJ
MkVFNTJEMTQxODkwQTlGQjAwMTBFRDIxIC8qIFRlc3RDb250cm9sbGVySU9TLm1tICovLAotCQkJ
CTBGRUJGODVDMUJCNjJENDYwMDI4NzIyRCAvKiBVSUtpdFNQSS5oICovLAogCQkJCTBGNzNCNTVC
MUJBODkwNDIwMDRCM0VGNCAvKiBVSVNjcmlwdENvbnRyb2xsZXJJT1MubW0gKi8sCiAJCQkpOwog
CQkJcGF0aCA9IGlvczsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1
bm5lcldLV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2Nv
Y29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMzEsNyArMzEsNyBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYgUExB
VEZPUk0oSU9TKQotI2ltcG9ydCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5o
IgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KIEBpbnRlcmZhY2UgV0tXZWJW
aWV3ICgpCiAKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2VuZXJh
dG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRH
ZW5lcmF0b3IuaAkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9p
b3MvSElERXZlbnRHZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBAQAog
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbXBvcnQgIlVJS2l0
U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKIAogI2ltcG9ydCA8Q29yZUdyYXBoaWNz
L0NHR2VvbWV0cnkuaD4KIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZl
bnRHZW5lcmF0b3IubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3Mv
SElERXZlbnRHZW5lcmF0b3IubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvaW9zL0hJREV2ZW50R2VuZXJhdG9yLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3
ICsyNyw3IEBACiAjaW1wb3J0ICJISURFdmVudEdlbmVyYXRvci5oIgogCiAjaW1wb3J0ICJJT0tp
dFNQSS5oIgotI2ltcG9ydCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgog
I2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8bWFjaC9tYWNoX3RpbWUu
aD4KICNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCShyZXZpc2lvbiAyMTgxODYpCisr
KyBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0JKHdvcmtp
bmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2ltcG9ydCAiVGVzdENvbnRyb2xsZXIuaCIK
ICNpbXBvcnQgIlRlc3RSdW5uZXJXS1dlYlZpZXcuaCIKLSNpbXBvcnQgIlVJS2l0U1BJLmgiCisj
aW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKICNpbXBvcnQgPFdlYkNvcmUvUXVhcnR6Q29yZVNQSS5o
PgogI2ltcG9ydCA8V2ViS2l0L1dLSW1hZ2VDRy5oPgogI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVy
ZW5jZXNQcml2YXRlLmg+CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29u
dHJvbGxlcklPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9U
ZXN0Q29udHJvbGxlcklPUy5tbQkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTMxLDcg
KzMxLDcgQEAKICNpbXBvcnQgIlBsYXRmb3JtV2ViVmlldy5oIgogI2ltcG9ydCAiVGVzdEludm9j
YXRpb24uaCIKICNpbXBvcnQgIlRlc3RSdW5uZXJXS1dlYlZpZXcuaCIKLSNpbXBvcnQgIlVJS2l0
U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91
bmRhdGlvbi5oPgogI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KICNpbXBvcnQgPFdlYktpdC9XS1By
ZWZlcmVuY2VzUmVmUHJpdmF0ZS5oPgpAQCAtNTIsNiArNTIsNyBAQCB2b2lkIFRlc3RDb250cm9s
bGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoCiB7CiAgICAgc2V0VXBJT1NMYXlvdXRUZXN0Q29tbXVu
aWNhdGlvbigpOwogICAgIFtVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXS5pZGxlVGlt
ZXJEaXNhYmxlZCA9IFlFUzsKKyAgICBbW1VJU2NyZWVuIG1haW5TY3JlZW5dIF9zZXRTY2FsZToy
LjBdOwogfQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybURlc3Ryb3koKQpJbmRleDog
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEkuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSUtpdFNQSS5oCShyZXZpc2lvbiAyMTgxODYpCisrKyBU
b29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSUtpdFNQSS5oCShub25leGlzdGVudCkKQEAgLTEs
ODEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW1wb3J0IDx3dGYvUGxh
dGZvcm0uaD4KLQotI2lmIFBMQVRGT1JNKElPUykKLQotI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4K
LQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0KLSNpbXBvcnQgPFVJS2l0L1VJQXBwbGlj
YXRpb25fUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZC5oPgotI2ltcG9ydCA8
VUlLaXQvVUlWaWV3X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUu
aD4KLSNpbXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZhdGUuaD4KLQotQGludGVyZmFjZSBVSUtl
eWJvYXJkUHJlZGljdGlvblZpZXcgOiBVSVZpZXcKLSsgKFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmll
dyAqKWFjdGl2ZUluc3RhbmNlOwotLSAoQk9PTCloYXNQcmVkaWN0aW9uczsKLUBlbmQKLQotI2Vs
c2UKLQotI2ltcG9ydCAiSU9LaXRTUEkuaCIKLQotQGludGVyZmFjZSBVSUFwcGxpY2F0aW9uICgp
Ci0tICh2b2lkKV9lbnF1ZXVlSElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnQ7Ci0tICh2b2lk
KV9oYW5kbGVISURFdmVudDooSU9ISURFdmVudFJlZilldmVudDsKLUBlbmQKLQotQGludGVyZmFj
ZSBVSVdpbmRvdyAoKQotLSAodWludDMyX3QpX2NvbnRleHRJZDsKLUBlbmQKLQotQGludGVyZmFj
ZSBVSUtleWJvYXJkIDogVUlWaWV3Ci0rICh2b2lkKXJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJp
ZXM7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgVUlWaWV3ICgpCi0tICh2b2lkKV9yZW1vdmVBbGxBbmlt
YXRpb25zOihCT09MKWluY2x1ZGVTdWJ2aWV3czsKLUBlbmQKLQotQGludGVyZmFjZSBVSURldmlj
ZSAoKQotLSAodm9pZClzZXRPcmllbnRhdGlvbjooVUlEZXZpY2VPcmllbnRhdGlvbilvcmllbnRh
dGlvbiBhbmltYXRlZDooQk9PTClhbmltYXRlZDsKLSBAZW5kCi0gCi0jZW5kaWYgLy8gVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKLQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDExMDAwMAotQGludGVyZmFjZSBVSVZpZXcgKCkKLS0gKHZvaWQpX3VwZGF0ZVNhZmVBcmVh
SW5zZXRzOwotQGVuZAotI2VuZGlmCi0KLSNlbmRpZiAvLyBQTEFURk9STShJT1MpCi0KClByb3Bl
cnR5IGNoYW5nZXMgb246IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkRlbGV0ZWQ6IHN2bjprZXl3b3JkcwojIyAtMSAr
MCwwICMjCi1BdXRob3IgRGF0ZSBJZCBSZXYgVVJMClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
cGVydHkKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxl
cklPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlw
dENvbnRyb2xsZXJJT1MubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzMs
NyArMzMsNyBAQAogI2ltcG9ydCAiU3RyaW5nRnVuY3Rpb25zLmgiCiAjaW1wb3J0ICJUZXN0Q29u
dHJvbGxlci5oIgogI2ltcG9ydCAiVGVzdFJ1bm5lcldLV2ViVmlldy5oIgotI2ltcG9ydCAiVUlL
aXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCAiVUlTY3JpcHRDb250
ZXh0LmgiCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5oPgogI2ltcG9y
dCA8SmF2YVNjcmlwdENvcmUvT3BhcXVlSlNTdHJpbmcuaD4KSW5kZXg6IFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvaW9zL21haW5JT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9pb3MvbWFpbklPUy5tbQkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9pb3MvbWFpbklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAog
CiAjaW1wb3J0ICJISURFdmVudEdlbmVyYXRvci5oIgogI2ltcG9ydCAiVGVzdENvbnRyb2xsZXIu
aCIKLSNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKICNpbXBv
cnQgPFVJS2l0L1VJS2l0Lmg+CiAKIHN0YXRpYyBpbnQgX2FyZ2M7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312827</attachid>
            <date>2017-06-13 16:43:58 -0700</date>
            <delta_ts>2017-06-13 16:56:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173319-20170613164358.patch</filename>
            <type>text/plain</type>
            <size>20335</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxODE4NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA2LTEzICBKb25hdGhh
biBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBDb25maWd1cmUgc2NyZWVu
IHNjYWxlIGZvciBydW5uaW5nIGxheW91dCB0ZXN0cyBvbiBwbHVzIGRldmljZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzMxOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lv
cy9VSUtpdFNQSS5oOiBCb3RoIHRoaXMgYW5kIFVJS2l0VGVzdFNQSS5oIGRlZmluZSBVSUtleWJv
YXJkLiBVc2UKKyAgICAgICAgYSBkZWZpbmUgZ3VhcmQgdG8gcHJldmVudCByZS1kZWZpbml0aW9u
LgorCiAyMDE3LTA2LTEzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBCbG9iIGRvd25sb2FkIGRvZXNuJ3Qgd29yawpJbmRleDogU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAkocmV2aXNpb24gMjE4MTg2
KQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yMTIsOCArMjEyLDExIEBAIHR5cGVkZWYgZW51bSB7CiAtICh2b2lkKWNhbmRp
ZGF0ZUxpc3RTaG91bGRCZURpc21pc3NlZDooaWQpY2FuZGlkYXRlTGlzdDsKIEBlbmQKIAorI2lm
bmRlZiBVSV9LRVlCT0FSRAorI2RlZmluZSBVSV9LRVlCT0FSRCAxCiBAaW50ZXJmYWNlIFVJS2V5
Ym9hcmQgOiBVSVZpZXcgPFVJS2V5Ym9hcmRJbXBsR2VvbWV0cnlEZWxlZ2F0ZT4KIEBlbmQKKyNl
bmRpZgogCiBAaW50ZXJmYWNlIFVJS2V5Ym9hcmQgKCkKICsgKENHU2l6ZSlkZWZhdWx0U2l6ZUZv
ckludGVyZmFjZU9yaWVudGF0aW9uOihVSUludGVyZmFjZU9yaWVudGF0aW9uKW9yaWVudGF0aW9u
OwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwko
cmV2aXNpb24gMjE4MjIxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMTctMDYtMTMgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUu
Y29tPgorCisgICAgICAgIENvbmZpZ3VyZSBzY3JlZW4gc2NhbGUgZm9yIHJ1bm5pbmcgbGF5b3V0
IHRlc3RzIG9uIHBsdXMgZGV2aWNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTczMzE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOiBJbmNsdWRlIFVJS2l0VGVzdFNQSS5oIGluIHByb2plY3QuCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoZHVt
cFJlbmRlclRyZWUpOiBTZXQgc2NyZWVuIHNjYWxlIHRvIDIuMC4KKyAgICAgICAgKiBUZXN0UnVu
bmVyU2hhcmVkL3NwaS9VSUtpdFRlc3RTUEkuaDogQ29waWVkIGZyb20gVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9pb3MvVUlLaXRTUEkuaCwKKyAgICAgICAgYWRkIF9zZXRTY2FsZSBmb3IgVUlTY3Jl
ZW4uCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IEluY2x1ZGUgVUlLaXRUZXN0U1BJLmggaW4gcHJvamVjdC4KKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW06IElt
cG9ydCBVSUtpdFRlc3RTUEkuaCBpbnN0ZWFkIG9mIFVJS2l0U1BJLmguCisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IuaDogRGl0dG8uCisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW06IERpdHRvLgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbTogRGl0dG8uCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW06IERpdHRv
LgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKTogU2V0
IHNjcmVlbiBzY2FsZSB0byAyLjAuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlL
aXRTUEkuaDogTW92ZWQgdG8gVGVzdFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmguCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tOiBJ
bXBvcnQgVUlLaXRUZXN0U1BJLmggaW5zdGVhZCBvZiBVSUtpdFNQSS5oLgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvaW9zL21haW5JT1MubW06IERpdHRvLgorCiAyMDE3LTA2LTEzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgVzNDIFNl
Y3VyZSBDb250ZXh0cyBEcmFmdCBTcGVjaWZpY2F0aW9uCkluZGV4OiBUb29scy9EdW1wUmVuZGVy
VHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBS
ZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI4
Niw2ICsyODYsNyBAQAogCQkyREEyRTNBNDFFMUJBNTQxMDBBM0JCRDAgLyogRHVtcFJlbmRlclRy
ZWVTcGVsbENoZWNrZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUg
PSBEdW1wUmVuZGVyVHJlZVNwZWxsQ2hlY2tlci5tbTsgcGF0aCA9IG1hYy9EdW1wUmVuZGVyVHJl
ZVNwZWxsQ2hlY2tlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzExMTdCM0Ex
NUQ5QTU2QTAwMTYzQkM4IC8qIE1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBNb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsg
cGF0aCA9IG1hYy9Nb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzExMTdCM0IxNUQ5QTU2QTAwMTYzQkM4IC8qIE1vY2tXZWJOb3RpZmlj
YXRpb25Qcm92aWRlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9
IE1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5tbTsgcGF0aCA9IG1hYy9Nb2NrV2ViTm90aWZp
Y2F0aW9uUHJvdmlkZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxMjY4RUJB
MUVGMDZBOTUwMDE5NjNFMiAvKiBVSUtpdFRlc3RTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gVUlLaXRUZXN0U1BJLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL3Nw
aS9VSUtpdFRlc3RTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0OEEwNTUx
RTZGOTBGNDAwRDNCMzE2IC8qIElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9u
LmNwcDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTQ4QTA1NjFFNkY5MEY0MDBE
M0IzMTYgLyogSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgcGF0aCA9IC4uL1Rl
c3RSdW5uZXJTaGFyZWQvSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzJBNzBBQUIwMzcwNUUxRjAwQzkxNzgzIC8qIER1bXBSZW5kZXJU
cmVlUHJlZml4LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IER1bXBSZW5kZXJU
cmVlUHJlZml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MzUsNiArNTM2LDcg
QEAKIAkJMEY2QTBERkYxRDZFMEY4NjAwRjFDOUE4IC8qIGlvcyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMzEyNjhFQkExRUYwNkE5NTAwMTk2M0UyIC8q
IFVJS2l0VGVzdFNQSS5oICovLAogCQkJCTBGMThFNzBDMUQ2QkFDOEMwMDI3RTU0NyAvKiBVSVNj
cmlwdENvbnRyb2xsZXJJT1MubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9IGlvczsKSW5kZXg6IFRv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDIxODE4
NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTA1LDYgKzEwNSw3IEBACiAjaW1wb3J0ICJEdW1wUmVuZGVyVHJlZUJyb3dz
ZXJWaWV3LmgiCiAjaW1wb3J0ICJJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oIgogI2ltcG9y
dCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCA8UXVhcnR6
Q29yZS9RdWFydHpDb3JlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvcmVHcmFwaGljc1NQSS5oPgog
I2ltcG9ydCA8V2ViS2l0L1dBS1dpbmRvdy5oPgpAQCAtMTI0MSw2ICsxMjQyLDcgQEAgdm9pZCBk
dW1wUmVuZGVyVHJlZShpbnQgYXJnYywgY29uc3QgY2hhcgogI2lmIFBMQVRGT1JNKElPUykKICAg
ICBzZXRVcElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uKCk7CiAgICAgW1VJQXBwbGljYXRpb24g
c2hhcmVkQXBwbGljYXRpb25dLmlkbGVUaW1lckRpc2FibGVkID0gWUVTOworICAgIFtbVUlTY3Jl
ZW4gbWFpblNjcmVlbl0gX3NldFNjYWxlOjIuMF07CiAjZW5kaWYKIAogICAgIHNpZ25hbChTSUdJ
TEwsICZ3cml0ZUNyYXNoZWRNZXNzYWdlT25GYXRhbEVycm9yKTsKSW5kZXg6IFRvb2xzL1Rlc3RS
dW5uZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RS
dW5uZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCShyZXZpc2lvbiAyMTgxODYpCShmcm9tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmg6MjE4MTg2KQorKysgVG9vbHMvVGVz
dFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw4MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0IDx3dGYvUGxhdGZv
cm0uaD4KKworI2lmIFBMQVRGT1JNKElPUykKKworI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKwor
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRp
b25fUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZC5oPgorI2ltcG9ydCA8VUlL
aXQvVUlWaWV3X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4K
KyNpbXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZhdGUuaD4KKworQGludGVyZmFjZSBVSUtleWJv
YXJkUHJlZGljdGlvblZpZXcgOiBVSVZpZXcKKysgKFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyAq
KWFjdGl2ZUluc3RhbmNlOworLSAoQk9PTCloYXNQcmVkaWN0aW9uczsKK0BlbmQKKworI2Vsc2UK
KworI2ltcG9ydCAiSU9LaXRTUEkuaCIKKworQGludGVyZmFjZSBVSUFwcGxpY2F0aW9uICgpCist
ICh2b2lkKV9lbnF1ZXVlSElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnQ7CistICh2b2lkKV9o
YW5kbGVISURFdmVudDooSU9ISURFdmVudFJlZilldmVudDsKK0BlbmQKKworQGludGVyZmFjZSBV
SVdpbmRvdyAoKQorLSAodWludDMyX3QpX2NvbnRleHRJZDsKK0BlbmQKKworQGludGVyZmFjZSBV
SUtleWJvYXJkIDogVUlWaWV3CisrICh2b2lkKXJlbW92ZUFsbER5bmFtaWNEaWN0aW9uYXJpZXM7
CitAZW5kCisKK0BpbnRlcmZhY2UgVUlWaWV3ICgpCistICh2b2lkKV9yZW1vdmVBbGxBbmltYXRp
b25zOihCT09MKWluY2x1ZGVTdWJ2aWV3czsKK0BlbmQKKworQGludGVyZmFjZSBVSURldmljZSAo
KQorLSAodm9pZClzZXRPcmllbnRhdGlvbjooVUlEZXZpY2VPcmllbnRhdGlvbilvcmllbnRhdGlv
biBhbmltYXRlZDooQk9PTClhbmltYXRlZDsKKyBAZW5kCisgCisjZW5kaWYgLy8gVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKworI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDExMDAwMAorQGludGVyZmFjZSBVSVZpZXcgKCkKKy0gKHZvaWQpX3VwZGF0ZVNhZmVBcmVhSW5z
ZXRzOworQGVuZAorI2VuZGlmCisKKyNlbmRpZiAvLyBQTEFURk9STShJT1MpCisKClByb3BlcnR5
IGNoYW5nZXMgb246IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmtleXdvcmRzCiMjIC0wLDAgKzEgIyMK
K0F1dGhvciBEYXRlIElkIFJldiBVUkwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJ
bmRleDogVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmgJKHJldmlzaW9u
IDIxODE4NikKKysrIFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0IDxVSUtpdC9VSVZpZXdfUHJp
dmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlL
aXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlTY3JlZW5fUHJpdmF0ZS5o
PgogCiBAaW50ZXJmYWNlIFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyA6IFVJVmlldwogKyAoVUlL
ZXlib2FyZFByZWRpY3Rpb25WaWV3ICopYWN0aXZlSW5zdGFuY2U7CkBAIC01Nyw3ICs1OCwxMyBA
QAogLSAodWludDMyX3QpX2NvbnRleHRJZDsKIEBlbmQKIAorI2lmbmRlZiBVSV9LRVlCT0FSRAor
I2RlZmluZSBVSV9LRVlCT0FSRCAxCiBAaW50ZXJmYWNlIFVJS2V5Ym9hcmQgOiBVSVZpZXcKK0Bl
bmQKKyNlbmRpZgorCitAaW50ZXJmYWNlIFVJS2V5Ym9hcmQgKCkKICsgKHZvaWQpcmVtb3ZlQWxs
RHluYW1pY0RpY3Rpb25hcmllczsKIEBlbmQKIApAQCAtNjgsNiArNzUsMTAgQEAKIEBpbnRlcmZh
Y2UgVUlEZXZpY2UgKCkKIC0gKHZvaWQpc2V0T3JpZW50YXRpb246KFVJRGV2aWNlT3JpZW50YXRp
b24pb3JpZW50YXRpb24gYW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQ7CiAgQGVuZAorCitAaW50ZXJm
YWNlIFVJU2NyZWVuICgpCistICh2b2lkKV9zZXRTY2FsZTooQ0dGbG9hdClzY2FsZTsKK0BlbmQK
ICAKICNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCkluZGV4OiBUb29scy9XZWJL
aXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTIxNCw3ICsyMTQsNiBAQAogCQkwRkVCRjg1ODFCQjYxREYyMDAyODcy
MkQgLyogSElERXZlbnRHZW5lcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSElERXZlbnRHZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZF
QkY4NTkxQkI2MURGMjAwMjg3MjJEIC8qIEhJREV2ZW50R2VuZXJhdG9yLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSElERXZlbnRHZW5lcmF0b3IubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRUJGODVCMUJCNjJBMzcwMDI4NzIyRCAvKiBJT0tp
dFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBJT0tpdFNQSS5oOyBwYXRoID0gLi4vVGVzdFJ1bm5lclNo
YXJlZC9zcGkvSU9LaXRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEZFQkY4
NUMxQkI2MkQ0NjAwMjg3MjJEIC8qIFVJS2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVJS2l0U1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMzMyNjA1MUI3NTM5NjUwMEY4OUY2
MiAvKiBUZXN0T3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXN0T3B0aW9ucy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0EyMTFDNzFCQ0ExMDczMDBCMjEwMUYgLyogRm9udFdp
dGhGZWF0dXJlcy5vdGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBmaWxlOyBwYXRoID0gRm9udFdpdGhGZWF0dXJlcy5vdGY7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDQTIxMUM4MUJDQTEwNzMwMEIyMTAxRiAvKiBGb250V2l0aEZlYXR1
cmVzLnR0ZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IGZpbGU7IHBhdGggPSBGb250V2l0aEZlYXR1cmVzLnR0Zjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTI2Myw2ICsyNjIsNyBAQAogCQkyRUU1MkQxNDE4OTBBOUZCMDAxMEVEMjEgLyog
VGVzdENvbnRyb2xsZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBUZXN0Q29udHJvbGxlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MkVFNTJEMTYxODkwQTlGQjAwMTBFRDIxIC8qIG1haW5JT1MubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBtYWluSU9TLm1tOyBwYXRoID0gLi4vaW9zL21haW5JT1Mu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMTBCRTBGMTVCQTAxMTQwMEQyMTZB
QyAvKiBXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJOb3RpZmlj
YXRpb25Qcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTI2OEVCOTFF
RjA2QTNCMDAxOTYzRTIgLyogVUlLaXRUZXN0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFVJS2l0VGVzdFNQSS5oOyBwYXRoID0gLi4vVGVzdFJ1bm5lclNoYXJlZC9zcGkv
VUlLaXRUZXN0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNDhBMDUzMUU2
Rjg1QjYwMEQzQjMxNiAvKiBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5j
cHA7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL0lPU0xheW91dFRlc3RDb21tdW5pY2F0aW9u
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE0OEEwNTQxRTZGODVCNjAwRDNC
MzE2IC8qIElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmg7IHBhdGggPSAuLi9UZXN0
UnVubmVyU2hhcmVkL0lPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMxNjRDOEVGMTVEMUFEQTEwMEVGMUZFMCAvKiBXZWJOb3RpZmljYXRp
b25Qcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJO
b3RpZmljYXRpb25Qcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01
NjcsNiArNTY3LDcgQEAKIAkJMkRCNjE4N0YxRDdENTk4ODAwOTc4RDE5IC8qIHNwaSAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMzEyNjhFQjkxRUYwNkEz
QjAwMTk2M0UyIC8qIFVJS2l0VGVzdFNQSS5oICovLAogCQkJCTJEQjYxODdEMUQ3RDU4RDQwMDk3
OEQxOSAvKiBDb3JlR3JhcGhpY3NUZXN0U1BJLmggKi8sCiAJCQkJMEZFQkY4NUIxQkI2MkEzNzAw
Mjg3MjJEIC8qIElPS2l0U1BJLmggKi8sCiAJCQkpOwpAQCAtNjMyLDcgKzYzMyw2IEBACiAJCQkJ
MEZFQkY4NTkxQkI2MURGMjAwMjg3MjJEIC8qIEhJREV2ZW50R2VuZXJhdG9yLm1tICovLAogCQkJ
CTJFRTUyRDEzMTg5MEE5RkIwMDEwRUQyMSAvKiBQbGF0Zm9ybVdlYlZpZXdJT1MubW0gKi8sCiAJ
CQkJMkVFNTJEMTQxODkwQTlGQjAwMTBFRDIxIC8qIFRlc3RDb250cm9sbGVySU9TLm1tICovLAot
CQkJCTBGRUJGODVDMUJCNjJENDYwMDI4NzIyRCAvKiBVSUtpdFNQSS5oICovLAogCQkJCTBGNzNC
NTVCMUJBODkwNDIwMDRCM0VGNCAvKiBVSVNjcmlwdENvbnRyb2xsZXJJT1MubW0gKi8sCiAJCQkp
OwogCQkJcGF0aCA9IGlvczsKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVz
dFJ1bm5lcldLV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVy
L2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYg
UExBVEZPUk0oSU9TKQotI2ltcG9ydCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQ
SS5oIgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KIEBpbnRlcmZhY2UgV0tX
ZWJWaWV3ICgpCiAKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2Vu
ZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZl
bnRHZW5lcmF0b3IuaAkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9pb3MvSElERXZlbnRHZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBA
QAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbXBvcnQgIlVJ
S2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKIAogI2ltcG9ydCA8Q29yZUdyYXBo
aWNzL0NHR2VvbWV0cnkuaD4KIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElE
RXZlbnRHZW5lcmF0b3IubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9p
b3MvSElERXZlbnRHZW5lcmF0b3IubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2VuZXJhdG9yLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw3ICsyNyw3IEBACiAjaW1wb3J0ICJISURFdmVudEdlbmVyYXRvci5oIgogCiAjaW1wb3J0ICJJ
T0tpdFNQSS5oIgotI2ltcG9ydCAiVUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5o
IgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8bWFjaC9tYWNoX3Rp
bWUuaD4KICNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CkluZGV4OiBUb29scy9XZWJLaXRUZXN0
UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCShyZXZpc2lvbiAyMTgxODYp
CisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9ybVdlYlZpZXdJT1MubW0JKHdv
cmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2ltcG9ydCAiVGVzdENvbnRyb2xsZXIu
aCIKICNpbXBvcnQgIlRlc3RSdW5uZXJXS1dlYlZpZXcuaCIKLSNpbXBvcnQgIlVJS2l0U1BJLmgi
CisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKICNpbXBvcnQgPFdlYkNvcmUvUXVhcnR6Q29yZVNQ
SS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLSW1hZ2VDRy5oPgogI2ltcG9ydCA8V2ViS2l0L1dLUHJl
ZmVyZW5jZXNQcml2YXRlLmg+CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0
Q29udHJvbGxlcklPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lv
cy9UZXN0Q29udHJvbGxlcklPUy5tbQkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTMx
LDcgKzMxLDcgQEAKICNpbXBvcnQgIlBsYXRmb3JtV2ViVmlldy5oIgogI2ltcG9ydCAiVGVzdElu
dm9jYXRpb24uaCIKICNpbXBvcnQgIlRlc3RSdW5uZXJXS1dlYlZpZXcuaCIKLSNpbXBvcnQgIlVJ
S2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKICNpbXBvcnQgPEZvdW5kYXRpb24v
Rm91bmRhdGlvbi5oPgogI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KICNpbXBvcnQgPFdlYktpdC9X
S1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oPgpAQCAtNTIsNiArNTIsNyBAQCB2b2lkIFRlc3RDb250
cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoCiB7CiAgICAgc2V0VXBJT1NMYXlvdXRUZXN0Q29t
bXVuaWNhdGlvbigpOwogICAgIFtVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXS5pZGxl
VGltZXJEaXNhYmxlZCA9IFlFUzsKKyAgICBbW1VJU2NyZWVuIG1haW5TY3JlZW5dIF9zZXRTY2Fs
ZToyLjBdOwogfQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybURlc3Ryb3koKQpJbmRl
eDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEkuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSUtpdFNQSS5oCShyZXZpc2lvbiAyMTgxODYpCisr
KyBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSUtpdFNQSS5oCShub25leGlzdGVudCkKQEAg
LTEsODEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW1wb3J0IDx3dGYv
UGxhdGZvcm0uaD4KLQotI2lmIFBMQVRGT1JNKElPUykKLQotI2ltcG9ydCA8VUlLaXQvVUlLaXQu
aD4KLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0KLSNpbXBvcnQgPFVJS2l0L1VJQXBw
bGljYXRpb25fUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZC5oPgotI2ltcG9y
dCA8VUlLaXQvVUlWaWV3X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZh
dGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZhdGUuaD4KLQotQGludGVyZmFjZSBV
SUtleWJvYXJkUHJlZGljdGlvblZpZXcgOiBVSVZpZXcKLSsgKFVJS2V5Ym9hcmRQcmVkaWN0aW9u
VmlldyAqKWFjdGl2ZUluc3RhbmNlOwotLSAoQk9PTCloYXNQcmVkaWN0aW9uczsKLUBlbmQKLQot
I2Vsc2UKLQotI2ltcG9ydCAiSU9LaXRTUEkuaCIKLQotQGludGVyZmFjZSBVSUFwcGxpY2F0aW9u
ICgpCi0tICh2b2lkKV9lbnF1ZXVlSElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnQ7Ci0tICh2
b2lkKV9oYW5kbGVISURFdmVudDooSU9ISURFdmVudFJlZilldmVudDsKLUBlbmQKLQotQGludGVy
ZmFjZSBVSVdpbmRvdyAoKQotLSAodWludDMyX3QpX2NvbnRleHRJZDsKLUBlbmQKLQotQGludGVy
ZmFjZSBVSUtleWJvYXJkIDogVUlWaWV3Ci0rICh2b2lkKXJlbW92ZUFsbER5bmFtaWNEaWN0aW9u
YXJpZXM7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgVUlWaWV3ICgpCi0tICh2b2lkKV9yZW1vdmVBbGxB
bmltYXRpb25zOihCT09MKWluY2x1ZGVTdWJ2aWV3czsKLUBlbmQKLQotQGludGVyZmFjZSBVSURl
dmljZSAoKQotLSAodm9pZClzZXRPcmllbnRhdGlvbjooVUlEZXZpY2VPcmllbnRhdGlvbilvcmll
bnRhdGlvbiBhbmltYXRlZDooQk9PTClhbmltYXRlZDsKLSBAZW5kCi0gCi0jZW5kaWYgLy8gVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKLQotI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDExMDAwMAotQGludGVyZmFjZSBVSVZpZXcgKCkKLS0gKHZvaWQpX3VwZGF0ZVNhZmVB
cmVhSW5zZXRzOwotQGVuZAotI2VuZGlmCi0KLSNlbmRpZiAvLyBQTEFURk9STShJT1MpCi0KClBy
b3BlcnR5IGNoYW5nZXMgb246IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2ZQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkRlbGV0ZWQ6IHN2bjprZXl3b3JkcwojIyAt
MSArMCwwICMjCi1BdXRob3IgRGF0ZSBJZCBSZXYgVVJMClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
cHJvcGVydHkKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJv
bGxlcklPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNj
cmlwdENvbnRyb2xsZXJJT1MubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MzMsNyArMzMsNyBAQAogI2ltcG9ydCAiU3RyaW5nRnVuY3Rpb25zLmgiCiAjaW1wb3J0ICJUZXN0
Q29udHJvbGxlci5oIgogI2ltcG9ydCAiVGVzdFJ1bm5lcldLV2ViVmlldy5oIgotI2ltcG9ydCAi
VUlLaXRTUEkuaCIKKyNpbXBvcnQgIlVJS2l0VGVzdFNQSS5oIgogI2ltcG9ydCAiVUlTY3JpcHRD
b250ZXh0LmgiCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5oPgogI2lt
cG9ydCA8SmF2YVNjcmlwdENvcmUvT3BhcXVlSlNTdHJpbmcuaD4KSW5kZXg6IFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvaW9zL21haW5JT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9pb3MvbWFpbklPUy5tbQkocmV2aXNpb24gMjE4MTg2KQorKysgVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvbWFpbklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBA
QAogCiAjaW1wb3J0ICJISURFdmVudEdlbmVyYXRvci5oIgogI2ltcG9ydCAiVGVzdENvbnRyb2xs
ZXIuaCIKLSNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKICNp
bXBvcnQgPFVJS2l0L1VJS2l0Lmg+CiAKIHN0YXRpYyBpbnQgX2FyZ2M7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312830</attachid>
            <date>2017-06-13 16:56:52 -0700</date>
            <delta_ts>2017-06-14 11:15:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173319-20170613165651.patch</filename>
            <type>text/plain</type>
            <size>20507</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxODE4NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA2LTEzICBKb25hdGhh
biBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBDb25maWd1cmUgc2NyZWVu
IHNjYWxlIGZvciBydW5uaW5nIGxheW91dCB0ZXN0cyBvbiBwbHVzIGRldmljZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzMxOQorCisgICAgICAg
IFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1VJ
S2l0U1BJLmg6IEJvdGggdGhpcyBhbmQgVUlLaXRUZXN0U1BJLmggZGVmaW5lIFVJS2V5Ym9hcmQu
IFVzZQorICAgICAgICBhIGRlZmluZSBndWFyZCB0byBwcmV2ZW50IHJlLWRlZmluaXRpb24uCisK
IDIwMTctMDYtMTMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdIEJsb2IgZG93bmxvYWQgZG9lc24ndCB3b3JrCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCShyZXZpc2lvbiAyMTgxODYpCisr
KyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIxMiw4ICsyMTIsMTIgQEAgdHlwZWRlZiBlbnVtIHsKIC0gKHZvaWQpY2FuZGlkYXRl
TGlzdFNob3VsZEJlRGlzbWlzc2VkOihpZCljYW5kaWRhdGVMaXN0OwogQGVuZAogCisvLyBGSVhN
RTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzM0MQorI2lmbmRl
ZiBfV0VCS0lUX1VJS0lUU1BJX1VJS0VZQk9BUkQKKyNkZWZpbmUgX1dFQktJVF9VSUtJVFNQSV9V
SUtFWUJPQVJEIDEKIEBpbnRlcmZhY2UgVUlLZXlib2FyZCA6IFVJVmlldyA8VUlLZXlib2FyZElt
cGxHZW9tZXRyeURlbGVnYXRlPgogQGVuZAorI2VuZGlmCiAKIEBpbnRlcmZhY2UgVUlLZXlib2Fy
ZCAoKQogKyAoQ0dTaXplKWRlZmF1bHRTaXplRm9ySW50ZXJmYWNlT3JpZW50YXRpb246KFVJSW50
ZXJmYWNlT3JpZW50YXRpb24pb3JpZW50YXRpb247CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTgyMjEpCisrKyBUb29scy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBAQAorMjAxNy0wNi0xMyAgSm9u
YXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CisKKyAgICAgICAgQ29uZmlndXJlIHNj
cmVlbiBzY2FsZSBmb3IgcnVubmluZyBsYXlvdXQgdGVzdHMgb24gcGx1cyBkZXZpY2VzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzMzMTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
RHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogSW5jbHVkZSBVSUtpdFRl
c3RTUEkuaCBpbiBwcm9qZWN0LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVu
ZGVyVHJlZS5tbToKKyAgICAgICAgKGR1bXBSZW5kZXJUcmVlKTogU2V0IHNjcmVlbiBzY2FsZSB0
byAyLjAuCisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmg6IENv
cGllZCBmcm9tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgsCisgICAgICAg
IGFkZCBfc2V0U2NhbGUgZm9yIFVJU2NyZWVuLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
V2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBJbmNsdWRlIFVJS2l0
VGVzdFNQSS5oIGluIHByb2plY3QuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9U
ZXN0UnVubmVyV0tXZWJWaWV3Lm1tOiBJbXBvcnQgVUlLaXRUZXN0U1BJLmggaW5zdGVhZCBvZiBV
SUtpdFNQSS5oLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2VuZXJh
dG9yLmg6IERpdHRvLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2Vu
ZXJhdG9yLm1tOiBEaXR0by4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9QbGF0Zm9y
bVdlYlZpZXdJT1MubW06IERpdHRvLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1Rl
c3RDb250cm9sbGVySU9TLm1tOiBEaXR0by4KKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6
OnBsYXRmb3JtSW5pdGlhbGl6ZSk6IFNldCBzY3JlZW4gc2NhbGUgdG8gMi4wLgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmg6IE1vdmVkIHRvIFRlc3RSdW5uZXJTaGFy
ZWQvc3BpL1VJS2l0VGVzdFNQSS5oLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL1VJ
U2NyaXB0Q29udHJvbGxlcklPUy5tbTogSW1wb3J0IFVJS2l0VGVzdFNQSS5oIGluc3RlYWQgb2Yg
VUlLaXRTUEkuaC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tOiBE
aXR0by4KKwogMjAxNy0wNi0xMyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgSW1wbGVtZW50IFczQyBTZWN1cmUgQ29udGV4dHMgRHJhZnQgU3BlY2lmaWNhdGlv
bgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVu
ZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTgxODYpCisrKyBU
b29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yODYsNiArMjg2LDcgQEAKIAkJMkRBMkUzQTQxRTFCQTU0
MTAwQTNCQkQwIC8qIER1bXBSZW5kZXJUcmVlU3BlbGxDaGVja2VyLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gRHVtcFJlbmRlclRyZWVTcGVsbENoZWNrZXIubW07
IHBhdGggPSBtYWMvRHVtcFJlbmRlclRyZWVTcGVsbENoZWNrZXIubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMxMTE3QjNBMTVEOUE1NkEwMDE2M0JDOCAvKiBNb2NrV2ViTm90aWZp
Y2F0aW9uUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTW9ja1dl
Yk5vdGlmaWNhdGlvblByb3ZpZGVyLmg7IHBhdGggPSBtYWMvTW9ja1dlYk5vdGlmaWNhdGlvblBy
b3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMTE3QjNCMTVEOUE1NkEw
MDE2M0JDOCAvKiBNb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBNb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIubW07
IHBhdGggPSBtYWMvTW9ja1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMTI2OEVCQTFFRjA2QTk1MDAxOTYzRTIgLyogVUlLaXRUZXN0U1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFVJS2l0VGVzdFNQSS5oOyBwYXRo
ID0gLi4vVGVzdFJ1bm5lclNoYXJlZC9zcGkvVUlLaXRUZXN0U1BJLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMxNDhBMDU1MUU2RjkwRjQwMEQzQjMxNiAvKiBJT1NMYXlvdXRUZXN0
Q29tbXVuaWNhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBJ
T1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5jcHA7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVk
L0lPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMzE0OEEwNTYxRTZGOTBGNDAwRDNCMzE2IC8qIElPU0xheW91dFRlc3RDb21tdW5pY2F0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IElPU0xheW91dFRlc3RDb21t
dW5pY2F0aW9uLmg7IHBhdGggPSAuLi9UZXN0UnVubmVyU2hhcmVkL0lPU0xheW91dFRlc3RDb21t
dW5pY2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMyQTcwQUFCMDM3MDVF
MUYwMEM5MTc4MyAvKiBEdW1wUmVuZGVyVHJlZVByZWZpeC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBEdW1wUmVuZGVyVHJlZVByZWZpeC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNTM1LDYgKzUzNiw3IEBACiAJCTBGNkEwREZGMUQ2RTBGODYwMEYxQzlBOCAv
KiBpb3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTMx
MjY4RUJBMUVGMDZBOTUwMDE5NjNFMiAvKiBVSUtpdFRlc3RTUEkuaCAqLywKIAkJCQkwRjE4RTcw
QzFENkJBQzhDMDAyN0U1NDcgLyogVUlTY3JpcHRDb250cm9sbGVySU9TLm1tICovLAogCQkJKTsK
IAkJCW5hbWUgPSBpb3M7CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwNSw2ICsxMDUsNyBAQAogI2lt
cG9ydCAiRHVtcFJlbmRlclRyZWVCcm93c2VyVmlldy5oIgogI2ltcG9ydCAiSU9TTGF5b3V0VGVz
dENvbW11bmljYXRpb24uaCIKICNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRl
c3RTUEkuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9Db3JlR3JhcGhpY3NTUEkuaD4KICNpbXBvcnQgPFdlYktpdC9XQUtXaW5kb3cuaD4KQEAg
LTEyNDEsNiArMTI0Miw3IEBAIHZvaWQgZHVtcFJlbmRlclRyZWUoaW50IGFyZ2MsIGNvbnN0IGNo
YXIKICNpZiBQTEFURk9STShJT1MpCiAgICAgc2V0VXBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlv
bigpOwogICAgIFtVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXS5pZGxlVGltZXJEaXNh
YmxlZCA9IFlFUzsKKyAgICBbW1VJU2NyZWVuIG1haW5TY3JlZW5dIF9zZXRTY2FsZToyLjBdOwog
I2VuZGlmCiAKICAgICBzaWduYWwoU0lHSUxMLCAmd3JpdGVDcmFzaGVkTWVzc2FnZU9uRmF0YWxF
cnJvcik7CkluZGV4OiBUb29scy9UZXN0UnVubmVyU2hhcmVkL3NwaS9VSUtpdFRlc3RTUEkuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0UnVubmVyU2hhcmVkL3NwaS9VSUtpdFRlc3RTUEkuaAko
cmV2aXNpb24gMjE4MTg2KQkoZnJvbSBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSUtpdFNQ
SS5oOjIxODE4NikKKysrIFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL1VJS2l0VGVzdFNQSS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2ltcG9ydCA8d3RmL1BsYXRmb3JtLmg+CisKKyNpZiBQTEFURk9STShJT1MpCisKKyNp
bXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisj
aW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9uX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJ
S2V5Ym9hcmQuaD4KKyNpbXBvcnQgPFVJS2l0L1VJVmlld19Qcml2YXRlLmg+CisjaW1wb3J0IDxV
SUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSURldmljZV9Qcml2YXRl
Lmg+CisKK0BpbnRlcmZhY2UgVUlLZXlib2FyZFByZWRpY3Rpb25WaWV3IDogVUlWaWV3CisrIChV
SUtleWJvYXJkUHJlZGljdGlvblZpZXcgKilhY3RpdmVJbnN0YW5jZTsKKy0gKEJPT0wpaGFzUHJl
ZGljdGlvbnM7CitAZW5kCisKKyNlbHNlCisKKyNpbXBvcnQgIklPS2l0U1BJLmgiCisKK0BpbnRl
cmZhY2UgVUlBcHBsaWNhdGlvbiAoKQorLSAodm9pZClfZW5xdWV1ZUhJREV2ZW50OihJT0hJREV2
ZW50UmVmKWV2ZW50OworLSAodm9pZClfaGFuZGxlSElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZl
bnQ7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlXaW5kb3cgKCkKKy0gKHVpbnQzMl90KV9jb250ZXh0
SWQ7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlLZXlib2FyZCA6IFVJVmlldworKyAodm9pZClyZW1v
dmVBbGxEeW5hbWljRGljdGlvbmFyaWVzOworQGVuZAorCitAaW50ZXJmYWNlIFVJVmlldyAoKQor
LSAodm9pZClfcmVtb3ZlQWxsQW5pbWF0aW9uczooQk9PTClpbmNsdWRlU3Vidmlld3M7CitAZW5k
CisKK0BpbnRlcmZhY2UgVUlEZXZpY2UgKCkKKy0gKHZvaWQpc2V0T3JpZW50YXRpb246KFVJRGV2
aWNlT3JpZW50YXRpb24pb3JpZW50YXRpb24gYW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQ7CisgQGVu
ZAorIAorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpZiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKK0BpbnRlcmZhY2UgVUlWaWV3ICgpCist
ICh2b2lkKV91cGRhdGVTYWZlQXJlYUluc2V0czsKK0BlbmQKKyNlbmRpZgorCisjZW5kaWYgLy8g
UExBVEZPUk0oSU9TKQorCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9VSUtpdFNQSS5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAs
MCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2
bjprZXl3b3JkcwojIyAtMCwwICsxICMjCitBdXRob3IgRGF0ZSBJZCBSZXYgVVJMClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3Bp
L1VJS2l0VGVzdFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3Bp
L1VJS2l0VGVzdFNQSS5oCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9UZXN0UnVubmVyU2hh
cmVkL3NwaS9VSUtpdFRlc3RTUEkuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQAog
I2ltcG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJV2luZG93
X1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZhdGUuaD4KKyNpbXBvcnQg
PFVJS2l0L1VJU2NyZWVuX1ByaXZhdGUuaD4KIAogQGludGVyZmFjZSBVSUtleWJvYXJkUHJlZGlj
dGlvblZpZXcgOiBVSVZpZXcKICsgKFVJS2V5Ym9hcmRQcmVkaWN0aW9uVmlldyAqKWFjdGl2ZUlu
c3RhbmNlOwpAQCAtNTcsNyArNTgsMTQgQEAKIC0gKHVpbnQzMl90KV9jb250ZXh0SWQ7CiBAZW5k
CiAKKy8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcz
MzQxCisjaWZuZGVmIF9XRUJLSVRfVUlLSVRTUElfVUlLRVlCT0FSRAorI2RlZmluZSBfV0VCS0lU
X1VJS0lUU1BJX1VJS0VZQk9BUkQgMQogQGludGVyZmFjZSBVSUtleWJvYXJkIDogVUlWaWV3CitA
ZW5kCisjZW5kaWYKKworQGludGVyZmFjZSBVSUtleWJvYXJkICgpCiArICh2b2lkKXJlbW92ZUFs
bER5bmFtaWNEaWN0aW9uYXJpZXM7CiBAZW5kCiAKQEAgLTY4LDYgKzc2LDEwIEBACiBAaW50ZXJm
YWNlIFVJRGV2aWNlICgpCiAtICh2b2lkKXNldE9yaWVudGF0aW9uOihVSURldmljZU9yaWVudGF0
aW9uKW9yaWVudGF0aW9uIGFuaW1hdGVkOihCT09MKWFuaW1hdGVkOwogIEBlbmQKKworQGludGVy
ZmFjZSBVSVNjcmVlbiAoKQorLSAodm9pZClfc2V0U2NhbGU6KENHRmxvYXQpc2NhbGU7CitAZW5k
CiAgCiAjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIApJbmRleDogVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0yMTQsNyArMjE0LDYgQEAKIAkJMEZFQkY4NTgxQkI2MURGMjAwMjg3
MjJEIC8qIEhJREV2ZW50R2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEhJREV2ZW50R2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBG
RUJGODU5MUJCNjFERjIwMDI4NzIyRCAvKiBISURFdmVudEdlbmVyYXRvci5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEhJREV2ZW50R2VuZXJhdG9yLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkVCRjg1QjFCQjYyQTM3MDAyODcyMkQgLyogSU9L
aXRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSU9LaXRTUEkuaDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJT
aGFyZWQvc3BpL0lPS2l0U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGRUJG
ODVDMUJCNjJENDYwMDI4NzIyRCAvKiBVSUtpdFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVSUtpdFNQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTMzMjYwNTFCNzUzOTY1MDBGODlG
NjIgLyogVGVzdE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGVzdE9wdGlvbnMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBMjExQzcxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRX
aXRoRmVhdHVyZXMub3RmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gZmlsZTsgcGF0aCA9IEZvbnRXaXRoRmVhdHVyZXMub3RmOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQ0EyMTFDODFCQ0ExMDczMDBCMjEwMUYgLyogRm9udFdpdGhGZWF0
dXJlcy50dGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBmaWxlOyBwYXRoID0gRm9udFdpdGhGZWF0dXJlcy50dGY7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yNjMsNiArMjYyLDcgQEAKIAkJMkVFNTJEMTQxODkwQTlGQjAwMTBFRDIxIC8q
IFRlc3RDb250cm9sbGVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gVGVzdENvbnRyb2xsZXJJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTJFRTUyRDE2MTg5MEE5RkIwMDEwRUQyMSAvKiBtYWluSU9TLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBuYW1lID0gbWFpbklPUy5tbTsgcGF0aCA9IC4uL2lvcy9tYWluSU9T
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTEwQkUwRjE1QkEwMTE0MDBEMjE2
QUMgLyogV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTm90aWZp
Y2F0aW9uUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzEyNjhFQjkx
RUYwNkEzQjAwMTk2M0UyIC8qIFVJS2l0VGVzdFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBVSUtpdFRlc3RTUEkuaDsgcGF0aCA9IC4uL1Rlc3RSdW5uZXJTaGFyZWQvc3Bp
L1VJS2l0VGVzdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTQ4QTA1MzFF
NkY4NUI2MDBEM0IzMTYgLyogSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24u
Y3BwOyBwYXRoID0gLi4vVGVzdFJ1bm5lclNoYXJlZC9JT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNDhBMDU0MUU2Rjg1QjYwMEQz
QjMxNiAvKiBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oOyBwYXRoID0gLi4vVGVz
dFJ1bm5lclNoYXJlZC9JT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzMTY0QzhFRjE1RDFBREExMDBFRjFGRTAgLyogV2ViTm90aWZpY2F0
aW9uUHJvdmlkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
Tm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
NTY3LDYgKzU2Nyw3IEBACiAJCTJEQjYxODdGMUQ3RDU5ODgwMDk3OEQxOSAvKiBzcGkgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTMxMjY4RUI5MUVGMDZB
M0IwMDE5NjNFMiAvKiBVSUtpdFRlc3RTUEkuaCAqLywKIAkJCQkyREI2MTg3RDFEN0Q1OEQ0MDA5
NzhEMTkgLyogQ29yZUdyYXBoaWNzVGVzdFNQSS5oICovLAogCQkJCTBGRUJGODVCMUJCNjJBMzcw
MDI4NzIyRCAvKiBJT0tpdFNQSS5oICovLAogCQkJKTsKQEAgLTYzMiw3ICs2MzMsNiBAQAogCQkJ
CTBGRUJGODU5MUJCNjFERjIwMDI4NzIyRCAvKiBISURFdmVudEdlbmVyYXRvci5tbSAqLywKIAkJ
CQkyRUU1MkQxMzE4OTBBOUZCMDAxMEVEMjEgLyogUGxhdGZvcm1XZWJWaWV3SU9TLm1tICovLAog
CQkJCTJFRTUyRDE0MTg5MEE5RkIwMDEwRUQyMSAvKiBUZXN0Q29udHJvbGxlcklPUy5tbSAqLywK
LQkJCQkwRkVCRjg1QzFCQjYyRDQ2MDAyODcyMkQgLyogVUlLaXRTUEkuaCAqLywKIAkJCQkwRjcz
QjU1QjFCQTg5MDQyMDA0QjNFRjQgLyogVUlTY3JpcHRDb250cm9sbGVySU9TLm1tICovLAogCQkJ
KTsKIAkJCXBhdGggPSBpb3M7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rl
c3RSdW5uZXJXS1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29s
cy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogI2lm
IFBMQVRGT1JNKElPUykKLSNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RT
UEkuaCIKICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CiBAaW50ZXJmYWNlIFdL
V2ViVmlldyAoKQogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdl
bmVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2
ZW50R2VuZXJhdG9yLmgJKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvaW9zL0hJREV2ZW50R2VuZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDcg
QEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0ICJV
SUtpdFNQSS5oIgorI2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgiCiAKICNpbXBvcnQgPENvcmVHcmFw
aGljcy9DR0dlb21ldHJ5Lmg+CiAKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJ
REV2ZW50R2VuZXJhdG9yLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
aW9zL0hJREV2ZW50R2VuZXJhdG9yLm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9XZWJL
aXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdlbmVyYXRvci5tbQkod29ya2luZyBjb3B5KQpAQCAt
MjcsNyArMjcsNyBAQAogI2ltcG9ydCAiSElERXZlbnRHZW5lcmF0b3IuaCIKIAogI2ltcG9ydCAi
SU9LaXRTUEkuaCIKLSNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEku
aCIKICNpbXBvcnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPG1hY2gvbWFjaF90
aW1lLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgpJbmRleDogVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1BsYXRmb3JtV2ViVmlld0lPUy5tbQkocmV2aXNpb24gMjE4MTg2
KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvUGxhdGZvcm1XZWJWaWV3SU9TLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbXBvcnQgIlRlc3RDb250cm9sbGVy
LmgiCiAjaW1wb3J0ICJUZXN0UnVubmVyV0tXZWJWaWV3LmgiCi0jaW1wb3J0ICJVSUtpdFNQSS5o
IgorI2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1F1YXJ0ekNvcmVT
UEkuaD4KICNpbXBvcnQgPFdlYktpdC9XS0ltYWdlQ0cuaD4KICNpbXBvcnQgPFdlYktpdC9XS1By
ZWZlcmVuY2VzUHJpdmF0ZS5oPgpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVz
dENvbnRyb2xsZXJJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9p
b3MvVGVzdENvbnRyb2xsZXJJT1MubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0z
MSw3ICszMSw3IEBACiAjaW1wb3J0ICJQbGF0Zm9ybVdlYlZpZXcuaCIKICNpbXBvcnQgIlRlc3RJ
bnZvY2F0aW9uLmgiCiAjaW1wb3J0ICJUZXN0UnVubmVyV0tXZWJWaWV3LmgiCi0jaW1wb3J0ICJV
SUtpdFNQSS5oIgorI2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgiCiAjaW1wb3J0IDxGb3VuZGF0aW9u
L0ZvdW5kYXRpb24uaD4KICNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CiAjaW1wb3J0IDxXZWJLaXQv
V0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaD4KQEAgLTUyLDYgKzUyLDcgQEAgdm9pZCBUZXN0Q29u
dHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKAogewogICAgIHNldFVwSU9TTGF5b3V0VGVzdENv
bW11bmljYXRpb24oKTsKICAgICBbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0uaWRs
ZVRpbWVyRGlzYWJsZWQgPSBZRVM7CisgICAgW1tVSVNjcmVlbiBtYWluU2NyZWVuXSBfc2V0U2Nh
bGU6Mi4wXTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1EZXN0cm95KCkKSW5k
ZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJS2l0U1BJLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEkuaAkocmV2aXNpb24gMjE4MTg2KQor
KysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlLaXRTUEkuaAkobm9uZXhpc3RlbnQpCkBA
IC0xLDgxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2ltcG9ydCA8d3Rm
L1BsYXRmb3JtLmg+Ci0KLSNpZiBQTEFURk9STShJT1MpCi0KLSNpbXBvcnQgPFVJS2l0L1VJS2l0
Lmg+Ci0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotCi0jaW1wb3J0IDxVSUtpdC9VSUFw
cGxpY2F0aW9uX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJS2V5Ym9hcmQuaD4KLSNpbXBv
cnQgPFVJS2l0L1VJVmlld19Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2
YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSURldmljZV9Qcml2YXRlLmg+Ci0KLUBpbnRlcmZhY2Ug
VUlLZXlib2FyZFByZWRpY3Rpb25WaWV3IDogVUlWaWV3Ci0rIChVSUtleWJvYXJkUHJlZGljdGlv
blZpZXcgKilhY3RpdmVJbnN0YW5jZTsKLS0gKEJPT0wpaGFzUHJlZGljdGlvbnM7Ci1AZW5kCi0K
LSNlbHNlCi0KLSNpbXBvcnQgIklPS2l0U1BJLmgiCi0KLUBpbnRlcmZhY2UgVUlBcHBsaWNhdGlv
biAoKQotLSAodm9pZClfZW5xdWV1ZUhJREV2ZW50OihJT0hJREV2ZW50UmVmKWV2ZW50OwotLSAo
dm9pZClfaGFuZGxlSElERXZlbnQ6KElPSElERXZlbnRSZWYpZXZlbnQ7Ci1AZW5kCi0KLUBpbnRl
cmZhY2UgVUlXaW5kb3cgKCkKLS0gKHVpbnQzMl90KV9jb250ZXh0SWQ7Ci1AZW5kCi0KLUBpbnRl
cmZhY2UgVUlLZXlib2FyZCA6IFVJVmlldwotKyAodm9pZClyZW1vdmVBbGxEeW5hbWljRGljdGlv
bmFyaWVzOwotQGVuZAotCi1AaW50ZXJmYWNlIFVJVmlldyAoKQotLSAodm9pZClfcmVtb3ZlQWxs
QW5pbWF0aW9uczooQk9PTClpbmNsdWRlU3Vidmlld3M7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgVUlE
ZXZpY2UgKCkKLS0gKHZvaWQpc2V0T3JpZW50YXRpb246KFVJRGV2aWNlT3JpZW50YXRpb24pb3Jp
ZW50YXRpb24gYW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQ7Ci0gQGVuZAotIAotI2VuZGlmIC8vIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCi0KLSNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMTAwMDAKLUBpbnRlcmZhY2UgVUlWaWV3ICgpCi0tICh2b2lkKV91cGRhdGVTYWZl
QXJlYUluc2V0czsKLUBlbmQKLSNlbmRpZgotCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKQotCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSUtpdFNQSS5o
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpEZWxldGVkOiBzdm46a2V5d29yZHMKIyMg
LTEgKzAsMCAjIwotQXV0aG9yIERhdGUgSWQgUmV2IFVSTApcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IHByb3BlcnR5CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRy
b2xsZXJJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlT
Y3JpcHRDb250cm9sbGVySU9TLm1tCShyZXZpc2lvbiAyMTgxODYpCisrKyBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0JKHdvcmtpbmcgY29weSkKQEAg
LTMzLDcgKzMzLDcgQEAKICNpbXBvcnQgIlN0cmluZ0Z1bmN0aW9ucy5oIgogI2ltcG9ydCAiVGVz
dENvbnRyb2xsZXIuaCIKICNpbXBvcnQgIlRlc3RSdW5uZXJXS1dlYlZpZXcuaCIKLSNpbXBvcnQg
IlVJS2l0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFRlc3RTUEkuaCIKICNpbXBvcnQgIlVJU2NyaXB0
Q29udGV4dC5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuaD4KICNp
bXBvcnQgPEphdmFTY3JpcHRDb3JlL09wYXF1ZUpTU3RyaW5nLmg+CkluZGV4OiBUb29scy9XZWJL
aXRUZXN0UnVubmVyL2lvcy9tYWluSU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvaW9zL21haW5JT1MubW0JKHJldmlzaW9uIDIxODE4NikKKysrIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvaW9zL21haW5JT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcg
QEAKIAogI2ltcG9ydCAiSElERXZlbnRHZW5lcmF0b3IuaCIKICNpbXBvcnQgIlRlc3RDb250cm9s
bGVyLmgiCi0jaW1wb3J0ICJVSUtpdFNQSS5oIgorI2ltcG9ydCAiVUlLaXRUZXN0U1BJLmgiCiAj
aW1wb3J0IDxVSUtpdC9VSUtpdC5oPgogCiBzdGF0aWMgaW50IF9hcmdjOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>