<?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>202993</bug_id>
          
          <creation_ts>2019-10-15 10:08:42 -0700</creation_ts>
          <short_desc>Add the timeout-factor parameter in browserperfdash-benchmark</short_desc>
          <delta_ts>2022-11-29 14:46:46 -0800</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>REOPENED</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=248498</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="Pablo Saavedra">psaavedra</reporter>
          <assigned_to name="Pablo Saavedra">psaavedra</assigned_to>
          <cc>clopez</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1580147</commentid>
    <comment_count>0</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-15 10:08:42 -0700</bug_when>
    <thetext>The timeout-factor is useful to run the tests in slower devices where the default timeout value defined in the .plan files is not high enough to let the tests end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580148</commentid>
    <comment_count>1</comment_count>
      <attachid>380997</attachid>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-15 10:12:18 -0700</bug_when>
    <thetext>Created attachment 380997
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580466</commentid>
    <comment_count>2</comment_count>
      <attachid>381058</attachid>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-16 00:06:26 -0700</bug_when>
    <thetext>Created attachment 381058
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581385</commentid>
    <comment_count>3</comment_count>
      <attachid>381058</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-10-18 06:24:56 -0700</bug_when>
    <thetext>Comment on attachment 381058
patch

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

&gt; Tools/Scripts/webkitpy/browserperfdash/browserperfdash_runner.py:58
&gt; +    parser.add_argument(&apos;--timeout-factor&apos;, dest=&apos;timeoutFactorOverride&apos;, type=int, help=&apos;Timeout factor useful to run test in slower devices. e.g. 10&apos;)

As a user reading the help, I would find the explanation about what timeout-factor is a bit confusing. I would write instead something like:
&quot;Multiply the test timeout by the given factor, useful to run tests in slower devices, e.g.: 10&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581386</commentid>
    <comment_count>4</comment_count>
      <attachid>381298</attachid>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-18 06:32:46 -0700</bug_when>
    <thetext>Created attachment 381298
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581391</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-10-18 07:14:03 -0700</bug_when>
    <thetext>I wonder if it would make sense to also add this parameter to Tools/Scripts/run-benchmark? I guess that if you are running the tests manually one by one with run-benchmark on a slow device it may be useful as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581571</commentid>
    <comment_count>6</comment_count>
      <attachid>381298</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-18 15:42:44 -0700</bug_when>
    <thetext>Comment on attachment 381298
patch

The right fix is to create a new plan file for those slower devices.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581693</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-10-19 08:11:58 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #6)
&gt; Comment on attachment 381298 [details]
&gt; patch
&gt; 
&gt; The right fix is to create a new plan file for those slower devices.

I don&apos;t think that is the right fix.

On our bots we run all the plans, by passing the argument &quot;--allplans&quot; to the tool.

Duplicating each one of the plans to add different timeouts parameters is totally incompatible with using &quot;--allplans&quot; since you will be running twice the same tests just with different timeout parameters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581732</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-19 14:11:01 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #7)
&gt; (In reply to Ryosuke Niwa from comment #6)
&gt; &gt; Comment on attachment 381298 [details]
&gt; &gt; patch
&gt; &gt; 
&gt; &gt; The right fix is to create a new plan file for those slower devices.
&gt; 
&gt; I don&apos;t think that is the right fix.
&gt; 
&gt; On our bots we run all the plans, by passing the argument &quot;--allplans&quot; to
&gt; the tool.

The design of run-benchmark is to use --plan and specify a plan file for each platform, device, etc... configuration with customized parameters.

&gt; Duplicating each one of the plans to add different timeouts parameters is
&gt; totally incompatible with using &quot;--allplans&quot; since you will be running twice
&gt; the same tests just with different timeout parameters.

It looks like --allplans https://trac.webkit.org/changeset/197505 added this option but that was probably a mistake in the first place. This is not the way run-benchmark is supposed to be used in the first place so it&apos;s natural that a fix would require even more code change that&apos;s incompatible with the design of the script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581734</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-19 14:12:14 -0700</bug_when>
    <thetext>The only acceptable alternative solution here (other than creating &amp; specifying individual plan files), in my view, is to add --timeout option which overrides the default timeout of each plan.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581879</commentid>
    <comment_count>10</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-21 10:37:11 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #9)
&gt; The only acceptable alternative solution here (other than creating &amp;
&gt; specifying individual plan files), in my view, is to add --timeout option
&gt; which overrides the default timeout of each plan.

I&apos;d like to still keep the timeout-factor but if there  is no other choice and you are ok with the --timeout, then I could modify the bug to do this in your suggested way</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581902</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-10-21 11:14:37 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #9)
&gt; The only acceptable alternative solution here (other than creating &amp;
&gt; specifying individual plan files), in my view, is to add --timeout option
&gt; which overrides the default timeout of each plan.

Would it be acceptable to keep --timeout-factor only for the browserperfdash-benchmark runner like the current patch does? It doesn&apos;t expose --timeout-factor to the run-benchmark script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582105</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-21 16:01:16 -0700</bug_when>
    <thetext>It would be not acceptable to introduce this concept into webkitpy.benchmark_runner classes. If you can figure out a way to do that, I don&apos;t really care because this is mostly a maintenance cost issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582180</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-10-21 18:01:44 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #12)
&gt; It would be not acceptable to introduce this concept into
&gt; webkitpy.benchmark_runner classes. If you can figure out a way to do that, I
&gt; don&apos;t really care because this is mostly a maintenance cost issue.

Ok. Then I guess that a possibility is that in the script browserperfdash-runner we create a new class (for example: BrowserperfdashRunner) that inherits from the BenchmarkRunner class and use there this timeout-factor option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582468</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-22 11:49:45 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #13)
&gt; (In reply to Ryosuke Niwa from comment #12)
&gt; &gt; It would be not acceptable to introduce this concept into
&gt; &gt; webkitpy.benchmark_runner classes. If you can figure out a way to do that, I
&gt; &gt; don&apos;t really care because this is mostly a maintenance cost issue.
&gt; 
&gt; Ok. Then I guess that a possibility is that in the script
&gt; browserperfdash-runner we create a new class (for example:
&gt; BrowserperfdashRunner) that inherits from the BenchmarkRunner class and use
&gt; there this timeout-factor option.

I don&apos;t think that satisfies the goal of not increasing the maintenance cost of webkitpy.benchmark_runner class. If you did subclass, then the future refactoring will have to be constrained by the existence of this flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582754</commentid>
    <comment_count>15</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-10-23 00:11:35 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #14)
&gt; (In reply to Carlos Alberto Lopez Perez from comment #13)
&gt; &gt; (In reply to Ryosuke Niwa from comment #12)
&gt; &gt; &gt; It would be not acceptable to introduce this concept into
&gt; &gt; &gt; webkitpy.benchmark_runner classes. If you can figure out a way to do that, I
&gt; &gt; &gt; don&apos;t really care because this is mostly a maintenance cost issue.
&gt; &gt; 
&gt; &gt; Ok. Then I guess that a possibility is that in the script
&gt; &gt; browserperfdash-runner we create a new class (for example:
&gt; &gt; BrowserperfdashRunner) that inherits from the BenchmarkRunner class and use
&gt; &gt; there this timeout-factor option.
&gt; 
&gt; I don&apos;t think that satisfies the goal of not increasing the maintenance cost
&gt; of webkitpy.benchmark_runner class. If you did subclass, then the future
&gt; refactoring will have to be constrained by the existence of this flag.

Just to be in the same page. What you suggest is change the proposed `--timeout-factor` in favour of an &apos;--timeout`, right?

What I don&apos;t see is the point of how this satisfies much better the goal of not increasing the maintenance cost ... because basically implies the same changes in the code (the same changes in the constructor methods, similar addition in the ArgParser ...). Did I miss something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582770</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-23 01:43:33 -0700</bug_when>
    <thetext>(In reply to Pablo Saavedra from comment #15)
&gt; (In reply to Ryosuke Niwa from comment #14)
&gt; &gt; (In reply to Carlos Alberto Lopez Perez from comment #13)
&gt; &gt; &gt; (In reply to Ryosuke Niwa from comment #12)
&gt; &gt; &gt;
&gt; &gt; &gt; Ok. Then I guess that a possibility is that in the script
&gt; &gt; &gt; browserperfdash-runner we create a new class (for example:
&gt; &gt; &gt; BrowserperfdashRunner) that inherits from the BenchmarkRunner class and use
&gt; &gt; &gt; there this timeout-factor option.
&gt; &gt; 
&gt; &gt; I don&apos;t think that satisfies the goal of not increasing the maintenance cost
&gt; &gt; of webkitpy.benchmark_runner class. If you did subclass, then the future
&gt; &gt; refactoring will have to be constrained by the existence of this flag.
&gt; 
&gt; Just to be in the same page. What you suggest is change the proposed
&gt; `--timeout-factor` in favour of an &apos;--timeout`, right?
&gt; 
&gt; What I don&apos;t see is the point of how this satisfies much better the goal of
&gt; not increasing the maintenance cost ... because basically implies the same
&gt; changes in the code (the same changes in the constructor methods, similar
&gt; addition in the ArgParser ...). Did I miss something?

Because --timeout is something I can see ourselves using in our port, and it&apos;s an option supported by run-webkit-tests and run-perf-tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582792</commentid>
    <comment_count>17</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-10-23 04:38:45 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #16)
&gt; (In reply to Pablo Saavedra from comment #15)
&gt; &gt; (In reply to Ryosuke Niwa from comment #14)
&gt; &gt; &gt; (In reply to Carlos Alberto Lopez Perez from comment #13)
&gt; &gt; &gt; &gt; (In reply to Ryosuke Niwa from comment #12)
&gt; &gt; &gt; &gt;
&gt; &gt; &gt; &gt; Ok. Then I guess that a possibility is that in the script
&gt; &gt; &gt; &gt; browserperfdash-runner we create a new class (for example:
&gt; &gt; &gt; &gt; BrowserperfdashRunner) that inherits from the BenchmarkRunner class and use
&gt; &gt; &gt; &gt; there this timeout-factor option.
&gt; &gt; &gt; 
&gt; &gt; &gt; I don&apos;t think that satisfies the goal of not increasing the maintenance cost
&gt; &gt; &gt; of webkitpy.benchmark_runner class. If you did subclass, then the future
&gt; &gt; &gt; refactoring will have to be constrained by the existence of this flag.
&gt; &gt; 
&gt; &gt; Just to be in the same page. What you suggest is change the proposed
&gt; &gt; `--timeout-factor` in favour of an &apos;--timeout`, right?
&gt; &gt; 
&gt; &gt; What I don&apos;t see is the point of how this satisfies much better the goal of
&gt; &gt; not increasing the maintenance cost ... because basically implies the same
&gt; &gt; changes in the code (the same changes in the constructor methods, similar
&gt; &gt; addition in the ArgParser ...). Did I miss something?
&gt; 
&gt; Because --timeout is something I can see ourselves using in our port, and
&gt; it&apos;s an option supported by run-webkit-tests and run-perf-tests.

Currently the run-benchmark script has already options that are not supported by run-webkit-tests and run-perf-tests (and that are also useful to only one port) like:

  --device-id DEVICE_ID
                        Undocumented option for mobile device testing.


Its even an &quot;Undocumented option&quot;. And that is fine for us.

So I hope this is not about what you find useful on your port and what not, because that argument doesn&apos;t look like a great way of collaborating on a project like WebKit that is all about ports.


Speaking about the the two options:

--timeout: i can see how this is useful for the run-benchmark script for engineers running manually tests and wanting to run them with a bigger timeout than the plan, and I agree it can be a good idea to add it to the script

--timeout-factor: for the browserperfdash-benchmark script it is definitively more useful than the &quot;--timeout&quot; factor. Because this script is not intended to be ran manually, but as part of a CI, where it runs all the plans. So it allows the device to have a multiplier for the plan timeout instead of hardcoding a value. With a timeout-factor of 4, the kraken plan would have 300*4=1200 and the jetstream2 would have 1200*4=4800. However, if we have to hardcode a 4800 value as timeout, that means kraken would have also 4800. Which means that jetstream2 would run with a multiplier of 4 and kraken with one of 16. :\

We can understand that the timeout-factor can be not all that useful for run-benchmark for your use-case (for us it definitively would be), so we have offered to add it only to the browserperfdash-benchmark script. Even by creating a new class to avoid touching the run-benchmark code.

The proposed code to add to run-benchmark for timeout-factor (basically the patch in this bug) is just 2 added lines and an option, so I don&apos;t see how that can be a real concern regarding maintenance.

In any case, if you still think that it will be a maintenance cost that deservers this discussion, then the only way forward I see is that we subclass, and we carry on with the maintenance burden. If you want to re-factor, you can do that ignoring browserperdash-runner, we will try follow-up with any fix on our side after that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583020</commentid>
    <comment_count>18</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-23 14:21:37 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #17)&gt; 
&gt; So I hope this is not about what you find useful on your port and what not,
&gt; because that argument doesn&apos;t look like a great way of collaborating on a
&gt; project like WebKit that is all about ports.

I find it extremely frustrating that you seem to always on implementing the very first &amp; best solution you come up with instead of listening to the main maintainer of the relevant codebase. This is highly problematic and contrary to the way we normally operate.

If the main maintainer of the code r-es a patch and suggests an alternative, then the usual path forward is to work with the said reviewer to come up with an acceptable solution.

&gt; --timeout-factor: for the browserperfdash-benchmark script it is
&gt; definitively more useful than the &quot;--timeout&quot; factor. Because this script is
&gt; not intended to be ran manually, but as part of a CI, where it runs all the
&gt; plans. So it allows the device to have a multiplier for the plan timeout
&gt; instead of hardcoding a value. With a timeout-factor of 4, the kraken plan
&gt; would have 300*4=1200 and the jetstream2 would have 1200*4=4800. However, if
&gt; we have to hardcode a 4800 value as timeout, that means kraken would have
&gt; also 4800. Which means that jetstream2 would run with a multiplier of 4 and
&gt; kraken with one of 16.

I worked fully time on the perf bots &amp; maintainable for four years, and my experience is that no device will be faster or slower at a constant rate across multitude of benchmarks. For example, MotionMark&apos;s performance would radically depend on GPU performance whereas Speedometer doesn&apos;t depend on GPU perf at all.

The performance characteristics of Speedometer and JetStream are also radically different with regards to the number of CPU cores. When there are more cores, JetStream tends to scale &amp; its runtime tends to shrink. Speedometer is primarily single core benchmark and it would not exhibit such a speed or reduction in its runtime. Furthermore, benchmarks like MotionMark has a fixed runtime regardless of how slow a device is.

&gt; We can understand that the timeout-factor can be not all that useful for
&gt; run-benchmark for your use-case (for us it definitively would be), so we
&gt; have offered to add it only to the browserperfdash-benchmark script. Even by
&gt; creating a new class to avoid touching the run-benchmark code.

I fundamentally object to your premise that this is a useful option even in bot environment.

&gt; In any case, if you still think that it will be a maintenance cost that
&gt; deservers this discussion, then the only way forward I see is that we
&gt; subclass, and we carry on with the maintenance burden. If you want to
&gt; re-factor, you can do that ignoring browserperdash-runner, we will try
&gt; follow-up with any fix on our side after that.

This is not an acceptable path forward in my view.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583027</commentid>
    <comment_count>19</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-10-23 14:26:55 -0700</bug_when>
    <thetext>Let me also clarify. run-bencharmk is one of the most mission critical script for Apple&apos;s WebKit team. 

Any code change to it must be vetted very thoroughly because any brokerage or amendment can totally ruin our effort to defend the performance of WebKit and the rest of the operating systems Apple is working on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583782</commentid>
    <comment_count>20</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-10-25 06:02:25 -0700</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #18)
&gt; (In reply to Carlos Alberto Lopez Perez from comment #17)&gt; 
&gt; &gt; So I hope this is not about what you find useful on your port and what not,
&gt; &gt; because that argument doesn&apos;t look like a great way of collaborating on a
&gt; &gt; project like WebKit that is all about ports.
&gt; 
&gt; I find it extremely frustrating that you seem to always on implementing the
&gt; very first &amp; best solution you come up with instead of listening to the main
&gt; maintainer of the relevant codebase. This is highly problematic and contrary
&gt; to the way we normally operate.
&gt; 

I&apos;m also kind of frustrated with this.

And I don&apos;t know why you seem to think that I&apos;m not listening what you propose.
I have listened carefully to your arguments and to the alternatives proposed.

And I still think the best technical solution for the use case we want to solve is the --timeout-factor and not the other alternatives proposed.


&gt; &gt; --timeout-factor: for the browserperfdash-benchmark script it is
&gt; &gt; definitively more useful than the &quot;--timeout&quot; factor. Because this script is
&gt; &gt; not intended to be ran manually, but as part of a CI, where it runs all the
&gt; &gt; plans. So it allows the device to have a multiplier for the plan timeout
&gt; &gt; instead of hardcoding a value. With a timeout-factor of 4, the kraken plan
&gt; &gt; would have 300*4=1200 and the jetstream2 would have 1200*4=4800. However, if
&gt; &gt; we have to hardcode a 4800 value as timeout, that means kraken would have
&gt; &gt; also 4800. Which means that jetstream2 would run with a multiplier of 4 and
&gt; &gt; kraken with one of 16.
&gt; 
&gt; I worked fully time on the perf bots &amp; maintainable for four years, and my
&gt; experience is that no device will be faster or slower at a constant rate
&gt; across multitude of benchmarks. For example, MotionMark&apos;s performance would
&gt; radically depend on GPU performance whereas Speedometer doesn&apos;t depend on
&gt; GPU perf at all.
&gt; 
&gt; The performance characteristics of Speedometer and JetStream are also
&gt; radically different with regards to the number of CPU cores. When there are
&gt; more cores, JetStream tends to scale &amp; its runtime tends to shrink.
&gt; Speedometer is primarily single core benchmark and it would not exhibit such
&gt; a speed or reduction in its runtime. 

I agree with the idea that comparing the runtime (or performance values) of different benchmarks on different machines is not as simple as multiplying for a constant.

However we are talking about timeouts, and the timeout value of a test it is not some scientific constant that needs to be carefully obtained.
It is an approximation of the maximum time that seems reasonable to wait for a test to finish.
And that time is usually highly dependent on the computing power of the machine doing the test.
So multiplying that timeout value for a constant when the machine is slower seems like another reasonable approximation to me.


&gt; Furthermore, benchmarks like MotionMark
&gt; has a fixed runtime regardless of how slow a device is.
&gt; 

You have a good point here: --timeout-factor is a bad idea if the test has a fixed runtime.
Maybe the plan file could include a new &quot;timeout_type&quot; key indicating if the timeout is fixed or depends on the computing power ? That way --timeout-factor would only apply when the runtime is not fixed.

&gt; &gt; We can understand that the timeout-factor can be not all that useful for
&gt; &gt; run-benchmark for your use-case (for us it definitively would be), so we
&gt; &gt; have offered to add it only to the browserperfdash-benchmark script. Even by
&gt; &gt; creating a new class to avoid touching the run-benchmark code.
&gt; 
&gt; I fundamentally object to your premise that this is a useful option even in
&gt; bot environment.
&gt; 

??

&gt; &gt; In any case, if you still think that it will be a maintenance cost that
&gt; &gt; deservers this discussion, then the only way forward I see is that we
&gt; &gt; subclass, and we carry on with the maintenance burden. If you want to
&gt; &gt; re-factor, you can do that ignoring browserperdash-runner, we will try
&gt; &gt; follow-up with any fix on our side after that.
&gt; 
&gt; This is not an acceptable path forward in my view.

Ok, I&apos;m giving up with trying to convince you that --timeout-factor is a good idea.

Perhaps going with --timeout may also work for our use case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601250</commentid>
    <comment_count>21</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2019-12-23 08:12:15 -0800</bug_when>
    <thetext>Set as resolved by mistake</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601251</commentid>
    <comment_count>22</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-23 08:12:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/58161884&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380997</attachid>
            <date>2019-10-15 10:12:18 -0700</date>
            <delta_ts>2019-10-16 00:06:22 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-202993-20191015191217.patch</filename>
            <type>text/plain</type>
            <size>7687</size>
            <attacher name="Pablo Saavedra">psaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTM5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWQzNWQwNzcwYTQ2ZjRhNTBmMTc5MTFhMTBmYThiMmU0
ODY2ZTg4OC4uMTg4MzkzOGE3ZWU0NjBjMTc1N2UwZDg4YWNhZGEyODhiM2NjZTNiMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIw
IEBACisyMDE5LTEwLTE1ICBQYWJsbyBTYWF2ZWRyYSAgPHBzYWF2ZWRyYUBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCB0aGUgdGltZW91dC1mYWN0b3IgcGFyYW1ldGVyIGluIGJyb3dzZXJwZXJm
ZGFzaC1iZW5jaG1hcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwMjk5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5u
ZXIucHk6CisgICAgICAgIChCZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJzZXJ2ZXJfYmVuY2htYXJrX3J1bm5l
ci5weToKKyAgICAgICAgKFdlYlNlcnZlckJlbmNobWFya1J1bm5lci5fX2luaXRfXyk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gvYnJvd3NlcnBlcmZkYXNoX3J1
bm5lci5weToKKyAgICAgICAgKHBhcnNlX2FyZ3MpOgorICAgICAgICAoQnJvd3NlclBlcmZEYXNo
UnVubmVyLnJ1bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gv
YnJvd3NlcnBlcmZkYXNoX3VuaXR0ZXN0LnB5OgorICAgICAgICAoRmFrZUJlbmNobWFya1J1bm5l
ci5fX2luaXRfXyk6CisKIDIwMTktMTAtMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBQYXNzIENPUlMtZW5hYmxlZCBzY2hlbWVzIHRocm91
Z2ggV2ViUHJvY2VzcyBpbnN0ZWFkIG9mIGhhdmluZyB0aGVtIE5ldHdvcmtQcm9jZXNzLWdsb2Jh
bApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jl
bmNobWFya19ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvYmVuY2htYXJrX3J1bm5lci5weQppbmRleCBkNzJjNTI5N2Y0NWVmNTgzNmNkNzEzNGJlY2Mx
OTIzYjE0NGMzZGY5Li42MDBiYmU1N2I4NWFlMDYxNWUyM2FhMmY4ZjNmMGMwNjQ1NGQxY2JhIDEw
MDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2ht
YXJrX3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvYmVuY2htYXJrX3J1bm5lci5weQpAQCAtMjMsNyArMjMsNyBAQCBfbG9nID0gbG9nZ2luZy5n
ZXRMb2dnZXIoX19uYW1lX18pCiBjbGFzcyBCZW5jaG1hcmtSdW5uZXIob2JqZWN0KToKICAgICBu
YW1lID0gJ2JlbmNobWFya19ydW5uZXInCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhbl9m
aWxlLCBsb2NhbF9jb3B5LCBjb3VudF9vdmVycmlkZSwgYnVpbGRfZGlyLCBvdXRwdXRfZmlsZSwg
cGxhdGZvcm0sIGJyb3dzZXIsIGJyb3dzZXJfcGF0aCwgc2NhbGVfdW5pdD1UcnVlLCBzaG93X2l0
ZXJhdGlvbl92YWx1ZXM9RmFsc2UsIGRldmljZV9pZD1Ob25lLCBkaWFnbm9zZV9kaXI9Tm9uZSk6
CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYW5fZmlsZSwgbG9jYWxfY29weSwgdGltZW91dF9m
YWN0b3IsIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwg
YnJvd3NlciwgYnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3Zh
bHVlcz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUsIGRpYWdub3NlX2Rpcj1Ob25lKToKICAgICAgICAg
dHJ5OgogICAgICAgICAgICAgcGxhbl9maWxlID0gc2VsZi5fZmluZF9wbGFuX2ZpbGUocGxhbl9m
aWxlKQogICAgICAgICAgICAgd2l0aCBvcGVuKHBsYW5fZmlsZSwgJ3InKSBhcyBmcDoKQEAgLTM1
LDYgKzM1LDggQEAgY2xhc3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuX3BsYW5bJ2xvY2FsX2NvcHknXSA9IGxvY2FsX2NvcHkKICAgICAgICAgICAg
ICAgICBpZiBjb3VudF9vdmVycmlkZToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGxhblsn
Y291bnQnXSA9IGNvdW50X292ZXJyaWRlCisgICAgICAgICAgICAgICAgaWYgdGltZW91dF9mYWN0
b3I6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BsYW5bJ3RpbWVvdXQnXSA9IHNlbGYuX3Bs
YW5bJ3RpbWVvdXQnXSAqIHRpbWVvdXRfZmFjdG9yCiAgICAgICAgICAgICAgICAgc2VsZi5fYnJv
d3Nlcl9kcml2ZXIgPSBCcm93c2VyRHJpdmVyRmFjdG9yeS5jcmVhdGUocGxhdGZvcm0sIGJyb3dz
ZXIpCiAgICAgICAgICAgICAgICAgc2VsZi5fYnJvd3Nlcl9wYXRoID0gYnJvd3Nlcl9wYXRoCiAg
ICAgICAgICAgICAgICAgc2VsZi5fYnVpbGRfZGlyID0gb3MucGF0aC5hYnNwYXRoKGJ1aWxkX2Rp
cikgaWYgYnVpbGRfZGlyIGVsc2UgTm9uZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9iZW5jaG1hcmtfcnVubmVyL3dlYnNlcnZlcl9iZW5jaG1hcmtfcnVubmVyLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3dlYnNlcnZlcl9iZW5jaG1hcmtf
cnVubmVyLnB5CmluZGV4IDIwMzczMGZlNjU4ODc1MTg0MWMyMzc2YWMwNjk5OWNlMzcwNWU5N2Iu
LmI2M2U3MDAyYzg1ZWVmMmQ1MjIxNDY1NjMxOTA3N2YzMWY0YmZiMjUgMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJzZXJ2ZXJfYmVuY2htYXJr
X3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
d2Vic2VydmVyX2JlbmNobWFya19ydW5uZXIucHkKQEAgLTE1LDEwICsxNSwxMCBAQCBfbG9nID0g
bG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiBjbGFzcyBXZWJTZXJ2ZXJCZW5jaG1hcmtSdW5u
ZXIoQmVuY2htYXJrUnVubmVyKToKICAgICBuYW1lID0gJ3dlYnNlcnZlcicKIAotICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWls
ZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRoLCBzY2Fs
ZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3ZhbHVlcz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUs
IGRpYWdub3NlX2Rpcj1Ob25lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhbl9maWxlLCBs
b2NhbF9jb3B5LCB0aW1lb3V0X2ZhY3RvciwgY291bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0
cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBicm93c2VyX3BhdGgsIHNjYWxlX3VuaXQ9VHJ1
ZSwgc2hvd19pdGVyYXRpb25fdmFsdWVzPUZhbHNlLCBkZXZpY2VfaWQ9Tm9uZSwgZGlhZ25vc2Vf
ZGlyPU5vbmUpOgogICAgICAgICBzZWxmLl9odHRwX3NlcnZlcl9kcml2ZXIgPSBIVFRQU2VydmVy
RHJpdmVyRmFjdG9yeS5jcmVhdGUocGxhdGZvcm0pCiAgICAgICAgIHNlbGYuX2h0dHBfc2VydmVy
X2RyaXZlci5zZXRfZGV2aWNlX2lkKGRldmljZV9pZCkKLSAgICAgICAgc3VwZXIoV2ViU2VydmVy
QmVuY2htYXJrUnVubmVyLCBzZWxmKS5fX2luaXRfXyhwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNv
dW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3Nlciwg
YnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0LCBzaG93X2l0ZXJhdGlvbl92YWx1ZXMsIGRldmljZV9p
ZCwgZGlhZ25vc2VfZGlyKQorICAgICAgICBzdXBlcihXZWJTZXJ2ZXJCZW5jaG1hcmtSdW5uZXIs
IHNlbGYpLl9faW5pdF9fKHBsYW5fZmlsZSwgbG9jYWxfY29weSwgdGltZW91dF9mYWN0b3IsIGNv
dW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3Nlciwg
YnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0LCBzaG93X2l0ZXJhdGlvbl92YWx1ZXMsIGRldmljZV9p
ZCwgZGlhZ25vc2VfZGlyKQogCiAgICAgZGVmIF9nZXRfcmVzdWx0KHNlbGYsIHRlc3RfdXJsKToK
ICAgICAgICAgcmVzdWx0ID0gc2VsZi5fYnJvd3Nlcl9kcml2ZXIuYWRkX2FkZGl0aW9uYWxfcmVz
dWx0cyh0ZXN0X3VybCwgc2VsZi5faHR0cF9zZXJ2ZXJfZHJpdmVyLmZldGNoX3Jlc3VsdCgpKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gvYnJvd3Nl
cnBlcmZkYXNoX3J1bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYnJvd3NlcnBlcmZk
YXNoL2Jyb3dzZXJwZXJmZGFzaF9ydW5uZXIucHkKaW5kZXggOTk0MzEyZDIxZDM3NDI5NTI0M2I2
YWJjMWYxZjA3OWYzMjM3M2I4NC4uYzgyNmE5MjExMWZmZDZjYzdjYjJmOTI1MjhhMjhlMzdiMTQ2
OTA4YyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gv
YnJvd3NlcnBlcmZkYXNoX3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jy
b3dzZXJwZXJmZGFzaC9icm93c2VycGVyZmRhc2hfcnVubmVyLnB5CkBAIC01NSw2ICs1NSw3IEBA
IGRlZiBwYXJzZV9hcmdzKCk6CiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1kcml2ZXInLCBk
ZWZhdWx0PVdlYlNlcnZlckJlbmNobWFya1J1bm5lci5uYW1lLCBjaG9pY2VzPWJlbmNobWFya19y
dW5uZXJfc3ViY2xhc3Nlcy5rZXlzKCksIGhlbHA9J1VzZSB0aGUgc3BlY2lmaWVkIGJlbmNobWFy
ayBkcml2ZXIuIERlZmF1bHRzIHRvICVzLicgJSBXZWJTZXJ2ZXJCZW5jaG1hcmtSdW5uZXIubmFt
ZSkKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxvY2FsLWNvcHknLCBkZXN0PSdsb2NhbENv
cHknLCBoZWxwPSdQYXRoIHRvIGEgbG9jYWwgY29weSBvZiB0aGUgYmVuY2htYXJrLiBlLmcuIFBl
cmZvcm1hbmNlVGVzdHMvU3VuU3BpZGVyLycpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1j
b3VudCcsIGRlc3Q9J2NvdW50T3ZlcnJpZGUnLCB0eXBlPWludCwgaGVscD0nTnVtYmVyIG9mIHRp
bWVzIHRvIHJ1biB0aGUgYmVuY2htYXJrLiBlLmcuIDUnKQorICAgIHBhcnNlci5hZGRfYXJndW1l
bnQoJy0tdGltZW91dC1mYWN0b3InLCBkZXN0PSd0aW1lb3V0RmFjdG9yT3ZlcnJpZGUnLCB0eXBl
PWludCwgaGVscD0nVGltZW91dCBmYWN0b3IgdXNlZnVsIHRvIHJ1biB0ZXN0IGluIHNsb3dlciBk
ZXZpY2VzLiBlLmcuIDEwJykKICAgICBtdXR1YWxfZ3JvdXAgPSBwYXJzZXIuYWRkX211dHVhbGx5
X2V4Y2x1c2l2ZV9ncm91cChyZXF1aXJlZD1UcnVlKQogICAgIG11dHVhbF9ncm91cC5hZGRfYXJn
dW1lbnQoJy0tcGxhbicsIGRlc3Q9J3BsYW4nLCBoZWxwPSdCZW5jaG1hcmsgcGxhbiB0byBydW4u
IGUuZy4gc3BlZWRvbWV0ZXIsIGpldHN0cmVhbScpCiAgICAgbXV0dWFsX2dyb3VwLmFkZF9hcmd1
bWVudCgnLS1hbGxwbGFucycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGhlbHA9J1J1biBhbGwgYXZh
aWxhYmxlIGJlbmNobWFyayBwbGFucyBzZXF1ZW50aWFsbHknKQpAQCAtMTY1LDcgKzE2Niw3IEBA
IGNsYXNzIEJyb3dzZXJQZXJmRGFzaFJ1bm5lcihvYmplY3QpOgogICAgICAgICAgICAgICAgICMg
UnVuIHRlc3QgYW5kIHNhdmUgdGVzdCBpbmZvCiAgICAgICAgICAgICAgICAgd2l0aCB0ZW1wZmls
ZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0ZW1wX3Jlc3VsdF9maWxlOgogICAgICAgICAgICAg
ICAgICAgICBiZW5jaG1hcmtfcnVubmVyX2NsYXNzID0gYmVuY2htYXJrX3J1bm5lcl9zdWJjbGFz
c2VzW3NlbGYuX2FyZ3MuZHJpdmVyXQotICAgICAgICAgICAgICAgICAgICBydW5uZXIgPSBiZW5j
aG1hcmtfcnVubmVyX2NsYXNzKHBsYW4sIHNlbGYuX2FyZ3MubG9jYWxDb3B5LCBzZWxmLl9hcmdz
LmNvdW50T3ZlcnJpZGUsIHNlbGYuX2FyZ3MuYnVpbGREaXIsIHRlbXBfcmVzdWx0X2ZpbGUubmFt
ZSwgc2VsZi5fYXJncy5wbGF0Zm9ybSwgc2VsZi5fYXJncy5icm93c2VyLCBOb25lKQorICAgICAg
ICAgICAgICAgICAgICBydW5uZXIgPSBiZW5jaG1hcmtfcnVubmVyX2NsYXNzKHBsYW4sIHNlbGYu
X2FyZ3MubG9jYWxDb3B5LCBzZWxmLl9hcmdzLnRpbWVvdXRGYWN0b3JPdmVycmlkZSwgc2VsZi5f
YXJncy5jb3VudE92ZXJyaWRlLCBzZWxmLl9hcmdzLmJ1aWxkRGlyLCB0ZW1wX3Jlc3VsdF9maWxl
Lm5hbWUsIHNlbGYuX2FyZ3MucGxhdGZvcm0sIHNlbGYuX2FyZ3MuYnJvd3NlciwgTm9uZSkKICAg
ICAgICAgICAgICAgICAgICAgcnVubmVyLmV4ZWN1dGUoKQogICAgICAgICAgICAgICAgICAgICBf
bG9nLmluZm8oJ0ZpbmlzaGVkIGJlbmNobWFyayBwbGFuOiB7cGxhbl9uYW1lfScuZm9ybWF0KHBs
YW5fbmFtZT1wbGFuKSkKICAgICAgICAgICAgICAgICAgICAgIyBGaWxsIHRlc3QgaW5mbyBmb3Ig
dXBsb2FkCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jyb3dzZXJwZXJmZGFz
aC9icm93c2VycGVyZmRhc2hfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jy
b3dzZXJwZXJmZGFzaC9icm93c2VycGVyZmRhc2hfdW5pdHRlc3QucHkKaW5kZXggZDhjYmYwMDli
ODEyZDQ0MWI2NjE2YmZiZmZkMDQxOTQ4OWRjYjk4Yy4uOWFkZDE1YWMyNTM0MTgxOGJlNTAyZDBi
YWUwNDUxYzY0NjZmY2I2NiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9icm93
c2VycGVyZmRhc2gvYnJvd3NlcnBlcmZkYXNoX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvYnJvd3NlcnBlcmZkYXNoL2Jyb3dzZXJwZXJmZGFzaF91bml0dGVzdC5weQpA
QCAtNDAsOCArNDAsOCBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiBjbGFz
cyBGYWtlQmVuY2htYXJrUnVubmVyKEJlbmNobWFya1J1bm5lcik6CiAgICAgbmFtZSA9ICdmYWtl
JwogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291bnRf
b3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBicm93
c2VyX3BhdGgpOgotICAgICAgICBzdXBlcihGYWtlQmVuY2htYXJrUnVubmVyLCBzZWxmKS5fX2lu
aXRfXyhwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91
dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRoKQorICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIHRpbWVvdXRfZmFjdG9yLCBjb3VudF9v
dmVycmlkZSwgYnVpbGRfZGlyLCBvdXRwdXRfZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIsIGJyb3dz
ZXJfcGF0aCk6CisgICAgICAgIHN1cGVyKEZha2VCZW5jaG1hcmtSdW5uZXIsIHNlbGYpLl9faW5p
dF9fKHBsYW5fZmlsZSwgbG9jYWxfY29weSwgdGltZW91dF9mYWN0b3IsIGNvdW50X292ZXJyaWRl
LCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRo
KQogCiAgICAgZGVmIGV4ZWN1dGUoc2VsZik6CiAgICAgICAgIHJldHVybiBUcnVlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381058</attachid>
            <date>2019-10-16 00:06:26 -0700</date>
            <delta_ts>2019-10-18 06:32:42 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-202993-20191016090624.patch</filename>
            <type>text/plain</type>
            <size>8306</size>
            <attacher name="Pablo Saavedra">psaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTM5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWQzNWQwNzcwYTQ2ZjRhNTBmMTc5MTFhMTBmYThiMmU0
ODY2ZTg4OC4uMTg4MzkzOGE3ZWU0NjBjMTc1N2UwZDg4YWNhZGEyODhiM2NjZTNiMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIw
IEBACisyMDE5LTEwLTE1ICBQYWJsbyBTYWF2ZWRyYSAgPHBzYWF2ZWRyYUBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCB0aGUgdGltZW91dC1mYWN0b3IgcGFyYW1ldGVyIGluIGJyb3dzZXJwZXJm
ZGFzaC1iZW5jaG1hcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwMjk5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5u
ZXIucHk6CisgICAgICAgIChCZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJzZXJ2ZXJfYmVuY2htYXJrX3J1bm5l
ci5weToKKyAgICAgICAgKFdlYlNlcnZlckJlbmNobWFya1J1bm5lci5fX2luaXRfXyk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gvYnJvd3NlcnBlcmZkYXNoX3J1
bm5lci5weToKKyAgICAgICAgKHBhcnNlX2FyZ3MpOgorICAgICAgICAoQnJvd3NlclBlcmZEYXNo
UnVubmVyLnJ1bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gv
YnJvd3NlcnBlcmZkYXNoX3VuaXR0ZXN0LnB5OgorICAgICAgICAoRmFrZUJlbmNobWFya1J1bm5l
ci5fX2luaXRfXyk6CisKIDIwMTktMTAtMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBQYXNzIENPUlMtZW5hYmxlZCBzY2hlbWVzIHRocm91
Z2ggV2ViUHJvY2VzcyBpbnN0ZWFkIG9mIGhhdmluZyB0aGVtIE5ldHdvcmtQcm9jZXNzLWdsb2Jh
bApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jl
bmNobWFya19ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvYmVuY2htYXJrX3J1bm5lci5weQppbmRleCBkNzJjNTI5N2Y0NWVmNTgzNmNkNzEzNGJlY2Mx
OTIzYjE0NGMzZGY5Li42MDBiYmU1N2I4NWFlMDYxNWUyM2FhMmY4ZjNmMGMwNjQ1NGQxY2JhIDEw
MDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2ht
YXJrX3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvYmVuY2htYXJrX3J1bm5lci5weQpAQCAtMjMsNyArMjMsNyBAQCBfbG9nID0gbG9nZ2luZy5n
ZXRMb2dnZXIoX19uYW1lX18pCiBjbGFzcyBCZW5jaG1hcmtSdW5uZXIob2JqZWN0KToKICAgICBu
YW1lID0gJ2JlbmNobWFya19ydW5uZXInCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhbl9m
aWxlLCBsb2NhbF9jb3B5LCBjb3VudF9vdmVycmlkZSwgYnVpbGRfZGlyLCBvdXRwdXRfZmlsZSwg
cGxhdGZvcm0sIGJyb3dzZXIsIGJyb3dzZXJfcGF0aCwgc2NhbGVfdW5pdD1UcnVlLCBzaG93X2l0
ZXJhdGlvbl92YWx1ZXM9RmFsc2UsIGRldmljZV9pZD1Ob25lLCBkaWFnbm9zZV9kaXI9Tm9uZSk6
CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYW5fZmlsZSwgbG9jYWxfY29weSwgdGltZW91dF9m
YWN0b3IsIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwg
YnJvd3NlciwgYnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3Zh
bHVlcz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUsIGRpYWdub3NlX2Rpcj1Ob25lKToKICAgICAgICAg
dHJ5OgogICAgICAgICAgICAgcGxhbl9maWxlID0gc2VsZi5fZmluZF9wbGFuX2ZpbGUocGxhbl9m
aWxlKQogICAgICAgICAgICAgd2l0aCBvcGVuKHBsYW5fZmlsZSwgJ3InKSBhcyBmcDoKQEAgLTM1
LDYgKzM1LDggQEAgY2xhc3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuX3BsYW5bJ2xvY2FsX2NvcHknXSA9IGxvY2FsX2NvcHkKICAgICAgICAgICAg
ICAgICBpZiBjb3VudF9vdmVycmlkZToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGxhblsn
Y291bnQnXSA9IGNvdW50X292ZXJyaWRlCisgICAgICAgICAgICAgICAgaWYgdGltZW91dF9mYWN0
b3I6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BsYW5bJ3RpbWVvdXQnXSA9IHNlbGYuX3Bs
YW5bJ3RpbWVvdXQnXSAqIHRpbWVvdXRfZmFjdG9yCiAgICAgICAgICAgICAgICAgc2VsZi5fYnJv
d3Nlcl9kcml2ZXIgPSBCcm93c2VyRHJpdmVyRmFjdG9yeS5jcmVhdGUocGxhdGZvcm0sIGJyb3dz
ZXIpCiAgICAgICAgICAgICAgICAgc2VsZi5fYnJvd3Nlcl9wYXRoID0gYnJvd3Nlcl9wYXRoCiAg
ICAgICAgICAgICAgICAgc2VsZi5fYnVpbGRfZGlyID0gb3MucGF0aC5hYnNwYXRoKGJ1aWxkX2Rp
cikgaWYgYnVpbGRfZGlyIGVsc2UgTm9uZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9iZW5jaG1hcmtfcnVubmVyL3dlYnNlcnZlcl9iZW5jaG1hcmtfcnVubmVyLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3dlYnNlcnZlcl9iZW5jaG1hcmtf
cnVubmVyLnB5CmluZGV4IDIwMzczMGZlNjU4ODc1MTg0MWMyMzc2YWMwNjk5OWNlMzcwNWU5N2Iu
LmI2M2U3MDAyYzg1ZWVmMmQ1MjIxNDY1NjMxOTA3N2YzMWY0YmZiMjUgMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJzZXJ2ZXJfYmVuY2htYXJr
X3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
d2Vic2VydmVyX2JlbmNobWFya19ydW5uZXIucHkKQEAgLTE1LDEwICsxNSwxMCBAQCBfbG9nID0g
bG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiBjbGFzcyBXZWJTZXJ2ZXJCZW5jaG1hcmtSdW5u
ZXIoQmVuY2htYXJrUnVubmVyKToKICAgICBuYW1lID0gJ3dlYnNlcnZlcicKIAotICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWls
ZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRoLCBzY2Fs
ZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3ZhbHVlcz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUs
IGRpYWdub3NlX2Rpcj1Ob25lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhbl9maWxlLCBs
b2NhbF9jb3B5LCB0aW1lb3V0X2ZhY3RvciwgY291bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0
cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBicm93c2VyX3BhdGgsIHNjYWxlX3VuaXQ9VHJ1
ZSwgc2hvd19pdGVyYXRpb25fdmFsdWVzPUZhbHNlLCBkZXZpY2VfaWQ9Tm9uZSwgZGlhZ25vc2Vf
ZGlyPU5vbmUpOgogICAgICAgICBzZWxmLl9odHRwX3NlcnZlcl9kcml2ZXIgPSBIVFRQU2VydmVy
RHJpdmVyRmFjdG9yeS5jcmVhdGUocGxhdGZvcm0pCiAgICAgICAgIHNlbGYuX2h0dHBfc2VydmVy
X2RyaXZlci5zZXRfZGV2aWNlX2lkKGRldmljZV9pZCkKLSAgICAgICAgc3VwZXIoV2ViU2VydmVy
QmVuY2htYXJrUnVubmVyLCBzZWxmKS5fX2luaXRfXyhwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNv
dW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3Nlciwg
YnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0LCBzaG93X2l0ZXJhdGlvbl92YWx1ZXMsIGRldmljZV9p
ZCwgZGlhZ25vc2VfZGlyKQorICAgICAgICBzdXBlcihXZWJTZXJ2ZXJCZW5jaG1hcmtSdW5uZXIs
IHNlbGYpLl9faW5pdF9fKHBsYW5fZmlsZSwgbG9jYWxfY29weSwgdGltZW91dF9mYWN0b3IsIGNv
dW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3Nlciwg
YnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0LCBzaG93X2l0ZXJhdGlvbl92YWx1ZXMsIGRldmljZV9p
ZCwgZGlhZ25vc2VfZGlyKQogCiAgICAgZGVmIF9nZXRfcmVzdWx0KHNlbGYsIHRlc3RfdXJsKToK
ICAgICAgICAgcmVzdWx0ID0gc2VsZi5fYnJvd3Nlcl9kcml2ZXIuYWRkX2FkZGl0aW9uYWxfcmVz
dWx0cyh0ZXN0X3VybCwgc2VsZi5faHR0cF9zZXJ2ZXJfZHJpdmVyLmZldGNoX3Jlc3VsdCgpKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gvYnJvd3Nl
cnBlcmZkYXNoX3J1bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYnJvd3NlcnBlcmZk
YXNoL2Jyb3dzZXJwZXJmZGFzaF9ydW5uZXIucHkKaW5kZXggOTk0MzEyZDIxZDM3NDI5NTI0M2I2
YWJjMWYxZjA3OWYzMjM3M2I4NC4uYzgyNmE5MjExMWZmZDZjYzdjYjJmOTI1MjhhMjhlMzdiMTQ2
OTA4YyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gv
YnJvd3NlcnBlcmZkYXNoX3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jy
b3dzZXJwZXJmZGFzaC9icm93c2VycGVyZmRhc2hfcnVubmVyLnB5CkBAIC01NSw2ICs1NSw3IEBA
IGRlZiBwYXJzZV9hcmdzKCk6CiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1kcml2ZXInLCBk
ZWZhdWx0PVdlYlNlcnZlckJlbmNobWFya1J1bm5lci5uYW1lLCBjaG9pY2VzPWJlbmNobWFya19y
dW5uZXJfc3ViY2xhc3Nlcy5rZXlzKCksIGhlbHA9J1VzZSB0aGUgc3BlY2lmaWVkIGJlbmNobWFy
ayBkcml2ZXIuIERlZmF1bHRzIHRvICVzLicgJSBXZWJTZXJ2ZXJCZW5jaG1hcmtSdW5uZXIubmFt
ZSkKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxvY2FsLWNvcHknLCBkZXN0PSdsb2NhbENv
cHknLCBoZWxwPSdQYXRoIHRvIGEgbG9jYWwgY29weSBvZiB0aGUgYmVuY2htYXJrLiBlLmcuIFBl
cmZvcm1hbmNlVGVzdHMvU3VuU3BpZGVyLycpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1j
b3VudCcsIGRlc3Q9J2NvdW50T3ZlcnJpZGUnLCB0eXBlPWludCwgaGVscD0nTnVtYmVyIG9mIHRp
bWVzIHRvIHJ1biB0aGUgYmVuY2htYXJrLiBlLmcuIDUnKQorICAgIHBhcnNlci5hZGRfYXJndW1l
bnQoJy0tdGltZW91dC1mYWN0b3InLCBkZXN0PSd0aW1lb3V0RmFjdG9yT3ZlcnJpZGUnLCB0eXBl
PWludCwgaGVscD0nVGltZW91dCBmYWN0b3IgdXNlZnVsIHRvIHJ1biB0ZXN0IGluIHNsb3dlciBk
ZXZpY2VzLiBlLmcuIDEwJykKICAgICBtdXR1YWxfZ3JvdXAgPSBwYXJzZXIuYWRkX211dHVhbGx5
X2V4Y2x1c2l2ZV9ncm91cChyZXF1aXJlZD1UcnVlKQogICAgIG11dHVhbF9ncm91cC5hZGRfYXJn
dW1lbnQoJy0tcGxhbicsIGRlc3Q9J3BsYW4nLCBoZWxwPSdCZW5jaG1hcmsgcGxhbiB0byBydW4u
IGUuZy4gc3BlZWRvbWV0ZXIsIGpldHN0cmVhbScpCiAgICAgbXV0dWFsX2dyb3VwLmFkZF9hcmd1
bWVudCgnLS1hbGxwbGFucycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGhlbHA9J1J1biBhbGwgYXZh
aWxhYmxlIGJlbmNobWFyayBwbGFucyBzZXF1ZW50aWFsbHknKQpAQCAtMTY1LDcgKzE2Niw3IEBA
IGNsYXNzIEJyb3dzZXJQZXJmRGFzaFJ1bm5lcihvYmplY3QpOgogICAgICAgICAgICAgICAgICMg
UnVuIHRlc3QgYW5kIHNhdmUgdGVzdCBpbmZvCiAgICAgICAgICAgICAgICAgd2l0aCB0ZW1wZmls
ZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0ZW1wX3Jlc3VsdF9maWxlOgogICAgICAgICAgICAg
ICAgICAgICBiZW5jaG1hcmtfcnVubmVyX2NsYXNzID0gYmVuY2htYXJrX3J1bm5lcl9zdWJjbGFz
c2VzW3NlbGYuX2FyZ3MuZHJpdmVyXQotICAgICAgICAgICAgICAgICAgICBydW5uZXIgPSBiZW5j
aG1hcmtfcnVubmVyX2NsYXNzKHBsYW4sIHNlbGYuX2FyZ3MubG9jYWxDb3B5LCBzZWxmLl9hcmdz
LmNvdW50T3ZlcnJpZGUsIHNlbGYuX2FyZ3MuYnVpbGREaXIsIHRlbXBfcmVzdWx0X2ZpbGUubmFt
ZSwgc2VsZi5fYXJncy5wbGF0Zm9ybSwgc2VsZi5fYXJncy5icm93c2VyLCBOb25lKQorICAgICAg
ICAgICAgICAgICAgICBydW5uZXIgPSBiZW5jaG1hcmtfcnVubmVyX2NsYXNzKHBsYW4sIHNlbGYu
X2FyZ3MubG9jYWxDb3B5LCBzZWxmLl9hcmdzLnRpbWVvdXRGYWN0b3JPdmVycmlkZSwgc2VsZi5f
YXJncy5jb3VudE92ZXJyaWRlLCBzZWxmLl9hcmdzLmJ1aWxkRGlyLCB0ZW1wX3Jlc3VsdF9maWxl
Lm5hbWUsIHNlbGYuX2FyZ3MucGxhdGZvcm0sIHNlbGYuX2FyZ3MuYnJvd3NlciwgTm9uZSkKICAg
ICAgICAgICAgICAgICAgICAgcnVubmVyLmV4ZWN1dGUoKQogICAgICAgICAgICAgICAgICAgICBf
bG9nLmluZm8oJ0ZpbmlzaGVkIGJlbmNobWFyayBwbGFuOiB7cGxhbl9uYW1lfScuZm9ybWF0KHBs
YW5fbmFtZT1wbGFuKSkKICAgICAgICAgICAgICAgICAgICAgIyBGaWxsIHRlc3QgaW5mbyBmb3Ig
dXBsb2FkCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jyb3dzZXJwZXJmZGFz
aC9icm93c2VycGVyZmRhc2hfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jy
b3dzZXJwZXJmZGFzaC9icm93c2VycGVyZmRhc2hfdW5pdHRlc3QucHkKaW5kZXggZDhjYmYwMDli
ODEyZDQ0MWI2NjE2YmZiZmZkMDQxOTQ4OWRjYjk4Yy4uZjk3ZDg0ZTcxMjdjOWNhZjFkZTQ4YWVm
ZjNlOTg0M2M0YzFjOWUzZSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9icm93
c2VycGVyZmRhc2gvYnJvd3NlcnBlcmZkYXNoX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvYnJvd3NlcnBlcmZkYXNoL2Jyb3dzZXJwZXJmZGFzaF91bml0dGVzdC5weQpA
QCAtNDAsOCArNDAsOCBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiBjbGFz
cyBGYWtlQmVuY2htYXJrUnVubmVyKEJlbmNobWFya1J1bm5lcik6CiAgICAgbmFtZSA9ICdmYWtl
JwogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291bnRf
b3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBicm93
c2VyX3BhdGgpOgotICAgICAgICBzdXBlcihGYWtlQmVuY2htYXJrUnVubmVyLCBzZWxmKS5fX2lu
aXRfXyhwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91
dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRoKQorICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIHRpbWVvdXRfZmFjdG9yLCBjb3VudF9v
dmVycmlkZSwgYnVpbGRfZGlyLCBvdXRwdXRfZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIsIGJyb3dz
ZXJfcGF0aCk6CisgICAgICAgIHN1cGVyKEZha2VCZW5jaG1hcmtSdW5uZXIsIHNlbGYpLl9faW5p
dF9fKHBsYW5fZmlsZSwgbG9jYWxfY29weSwgdGltZW91dF9mYWN0b3IsIGNvdW50X292ZXJyaWRl
LCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRo
KQogCiAgICAgZGVmIGV4ZWN1dGUoc2VsZik6CiAgICAgICAgIHJldHVybiBUcnVlCkBAIC02MCw1
ICs2MCw1IEBAIGNsYXNzIEJyb3dzZXJQZXJmRGFzaFJ1bm5lclRlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAjIFRoaXMgdGVzdHMgdGhhdCBjb25zdHJ1Y3RpbmcgdGhlIGJlbmNobWFy
a19ydW5uZXIgb2JqZWN0IHNwZWNpZnlpbmcgdGhlIG1pbmltdW0gcmVxdWlyZWQgcGFyYW1hdGVy
cyBpcyBvay4KICAgICAgICAgcGxhbl9saXN0ID0gQmVuY2htYXJrUnVubmVyLmF2YWlsYWJsZV9w
bGFucygpCiAgICAgICAgIGJ1aWxkX2RpciA9IG9zLnBhdGguYWJzcGF0aChvcy5jdXJkaXIpCi0g
ICAgICAgIHJ1bm5lciA9IEZha2VCZW5jaG1hcmtSdW5uZXIocGxhbl9saXN0WzBdLCBGYWxzZSwg
MSwgYnVpbGRfZGlyLCAiL3RtcC90ZXN0T3V0cHV0LnR4dCIsIGRlZmF1bHRfcGxhdGZvcm0oKSwg
ZGVmYXVsdF9icm93c2VyKCksIE5vbmUpCisgICAgICAgIHJ1bm5lciA9IEZha2VCZW5jaG1hcmtS
dW5uZXIocGxhbl9saXN0WzBdLCBGYWxzZSwgMSwgMSwgYnVpbGRfZGlyLCAiL3RtcC90ZXN0T3V0
cHV0LnR4dCIsIGRlZmF1bHRfcGxhdGZvcm0oKSwgZGVmYXVsdF9icm93c2VyKCksIE5vbmUpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShydW5uZXIuZXhlY3V0ZSgpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381298</attachid>
            <date>2019-10-18 06:32:46 -0700</date>
            <delta_ts>2019-10-18 15:42:44 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-202993-20191018153244.patch</filename>
            <type>text/plain</type>
            <size>8282</size>
            <attacher name="Pablo Saavedra">psaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTg1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDcyZjgxNzY2MzFlY2VmMTYyMjQ4ZDNhOGNjYjcyNjIx
M2VkNGM1Yi4uZDNjNDkxOWJjYmMyYzhmMzU0NDMyYWJlMzAzOThkMmNkNjkwMTg0OSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIw
IEBACisyMDE5LTEwLTE1ICBQYWJsbyBTYWF2ZWRyYSAgPHBzYWF2ZWRyYUBpZ2FsaWEuY29tPgor
CisgICAgICAgIEFkZCB0aGUgdGltZW91dC1mYWN0b3IgcGFyYW1ldGVyIGluIGJyb3dzZXJwZXJm
ZGFzaC1iZW5jaG1hcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwMjk5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5u
ZXIucHk6CisgICAgICAgIChCZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJzZXJ2ZXJfYmVuY2htYXJrX3J1bm5l
ci5weToKKyAgICAgICAgKFdlYlNlcnZlckJlbmNobWFya1J1bm5lci5fX2luaXRfXyk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gvYnJvd3NlcnBlcmZkYXNoX3J1
bm5lci5weToKKyAgICAgICAgKHBhcnNlX2FyZ3MpOgorICAgICAgICAoQnJvd3NlclBlcmZEYXNo
UnVubmVyLnJ1bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gv
YnJvd3NlcnBlcmZkYXNoX3VuaXR0ZXN0LnB5OgorICAgICAgICAoRmFrZUJlbmNobWFya1J1bm5l
ci5fX2luaXRfXyk6CisKIDIwMTktMTAtMTUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNp
YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWRkIHVzZXIgbWVzc2FnZXMgQVBJ
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVu
Y2htYXJrX3J1bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9iZW5jaG1hcmtfcnVubmVyLnB5CmluZGV4IGQ3MmM1Mjk3ZjQ1ZWY1ODM2Y2Q3MTM0YmVjYzE5
MjNiMTQ0YzNkZjkuLjYwMGJiZTU3Yjg1YWUwNjE1ZTIzYWEyZjhmM2YwYzA2NDU0ZDFjYmEgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1h
cmtfcnVubmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9iZW5jaG1hcmtfcnVubmVyLnB5CkBAIC0yMyw3ICsyMyw3IEBAIF9sb2cgPSBsb2dnaW5nLmdl
dExvZ2dlcihfX25hbWVfXykKIGNsYXNzIEJlbmNobWFya1J1bm5lcihvYmplY3QpOgogICAgIG5h
bWUgPSAnYmVuY2htYXJrX3J1bm5lcicKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2Zp
bGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBw
bGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRl
cmF0aW9uX3ZhbHVlcz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUsIGRpYWdub3NlX2Rpcj1Ob25lKToK
KyAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhbl9maWxlLCBsb2NhbF9jb3B5LCB0aW1lb3V0X2Zh
Y3RvciwgY291bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBi
cm93c2VyLCBicm93c2VyX3BhdGgsIHNjYWxlX3VuaXQ9VHJ1ZSwgc2hvd19pdGVyYXRpb25fdmFs
dWVzPUZhbHNlLCBkZXZpY2VfaWQ9Tm9uZSwgZGlhZ25vc2VfZGlyPU5vbmUpOgogICAgICAgICB0
cnk6CiAgICAgICAgICAgICBwbGFuX2ZpbGUgPSBzZWxmLl9maW5kX3BsYW5fZmlsZShwbGFuX2Zp
bGUpCiAgICAgICAgICAgICB3aXRoIG9wZW4ocGxhbl9maWxlLCAncicpIGFzIGZwOgpAQCAtMzUs
NiArMzUsOCBAQCBjbGFzcyBCZW5jaG1hcmtSdW5uZXIob2JqZWN0KToKICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5fcGxhblsnbG9jYWxfY29weSddID0gbG9jYWxfY29weQogICAgICAgICAgICAg
ICAgIGlmIGNvdW50X292ZXJyaWRlOgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9wbGFuWydj
b3VudCddID0gY291bnRfb3ZlcnJpZGUKKyAgICAgICAgICAgICAgICBpZiB0aW1lb3V0X2ZhY3Rv
cjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGxhblsndGltZW91dCddID0gc2VsZi5fcGxh
blsndGltZW91dCddICogdGltZW91dF9mYWN0b3IKICAgICAgICAgICAgICAgICBzZWxmLl9icm93
c2VyX2RyaXZlciA9IEJyb3dzZXJEcml2ZXJGYWN0b3J5LmNyZWF0ZShwbGF0Zm9ybSwgYnJvd3Nl
cikKICAgICAgICAgICAgICAgICBzZWxmLl9icm93c2VyX3BhdGggPSBicm93c2VyX3BhdGgKICAg
ICAgICAgICAgICAgICBzZWxmLl9idWlsZF9kaXIgPSBvcy5wYXRoLmFic3BhdGgoYnVpbGRfZGly
KSBpZiBidWlsZF9kaXIgZWxzZSBOb25lCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvd2Vic2VydmVyX2JlbmNobWFya19ydW5uZXIucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvd2Vic2VydmVyX2JlbmNobWFya19y
dW5uZXIucHkKaW5kZXggMjAzNzMwZmU2NTg4NzUxODQxYzIzNzZhYzA2OTk5Y2UzNzA1ZTk3Yi4u
YjYzZTcwMDJjODVlZWYyZDUyMjE0NjU2MzE5MDc3ZjMxZjRiZmIyNSAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3dlYnNlcnZlcl9iZW5jaG1hcmtf
cnVubmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93
ZWJzZXJ2ZXJfYmVuY2htYXJrX3J1bm5lci5weQpAQCAtMTUsMTAgKzE1LDEwIEBAIF9sb2cgPSBs
b2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIGNsYXNzIFdlYlNlcnZlckJlbmNobWFya1J1bm5l
cihCZW5jaG1hcmtSdW5uZXIpOgogICAgIG5hbWUgPSAnd2Vic2VydmVyJwogCi0gICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291bnRfb3ZlcnJpZGUsIGJ1aWxk
X2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBicm93c2VyX3BhdGgsIHNjYWxl
X3VuaXQ9VHJ1ZSwgc2hvd19pdGVyYXRpb25fdmFsdWVzPUZhbHNlLCBkZXZpY2VfaWQ9Tm9uZSwg
ZGlhZ25vc2VfZGlyPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxv
Y2FsX2NvcHksIHRpbWVvdXRfZmFjdG9yLCBjb3VudF9vdmVycmlkZSwgYnVpbGRfZGlyLCBvdXRw
dXRfZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIsIGJyb3dzZXJfcGF0aCwgc2NhbGVfdW5pdD1UcnVl
LCBzaG93X2l0ZXJhdGlvbl92YWx1ZXM9RmFsc2UsIGRldmljZV9pZD1Ob25lLCBkaWFnbm9zZV9k
aXI9Tm9uZSk6CiAgICAgICAgIHNlbGYuX2h0dHBfc2VydmVyX2RyaXZlciA9IEhUVFBTZXJ2ZXJE
cml2ZXJGYWN0b3J5LmNyZWF0ZShwbGF0Zm9ybSkKICAgICAgICAgc2VsZi5faHR0cF9zZXJ2ZXJf
ZHJpdmVyLnNldF9kZXZpY2VfaWQoZGV2aWNlX2lkKQotICAgICAgICBzdXBlcihXZWJTZXJ2ZXJC
ZW5jaG1hcmtSdW5uZXIsIHNlbGYpLl9faW5pdF9fKHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291
bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBi
cm93c2VyX3BhdGgsIHNjYWxlX3VuaXQsIHNob3dfaXRlcmF0aW9uX3ZhbHVlcywgZGV2aWNlX2lk
LCBkaWFnbm9zZV9kaXIpCisgICAgICAgIHN1cGVyKFdlYlNlcnZlckJlbmNobWFya1J1bm5lciwg
c2VsZikuX19pbml0X18ocGxhbl9maWxlLCBsb2NhbF9jb3B5LCB0aW1lb3V0X2ZhY3RvciwgY291
bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBi
cm93c2VyX3BhdGgsIHNjYWxlX3VuaXQsIHNob3dfaXRlcmF0aW9uX3ZhbHVlcywgZGV2aWNlX2lk
LCBkaWFnbm9zZV9kaXIpCiAKICAgICBkZWYgX2dldF9yZXN1bHQoc2VsZiwgdGVzdF91cmwpOgog
ICAgICAgICByZXN1bHQgPSBzZWxmLl9icm93c2VyX2RyaXZlci5hZGRfYWRkaXRpb25hbF9yZXN1
bHRzKHRlc3RfdXJsLCBzZWxmLl9odHRwX3NlcnZlcl9kcml2ZXIuZmV0Y2hfcmVzdWx0KCkpCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jyb3dzZXJwZXJmZGFzaC9icm93c2Vy
cGVyZmRhc2hfcnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRh
c2gvYnJvd3NlcnBlcmZkYXNoX3J1bm5lci5weQppbmRleCA5OTQzMTJkMjFkMzc0Mjk1MjQzYjZh
YmMxZjFmMDc5ZjMyMzczYjg0Li5kMWUwMjNmY2ExNmY1ZWU5ZjEyMDI2ZTE5MWRmZTI4YWMyN2Vi
ZmFkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jyb3dzZXJwZXJmZGFzaC9i
cm93c2VycGVyZmRhc2hfcnVubmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYnJv
d3NlcnBlcmZkYXNoL2Jyb3dzZXJwZXJmZGFzaF9ydW5uZXIucHkKQEAgLTU1LDYgKzU1LDcgQEAg
ZGVmIHBhcnNlX2FyZ3MoKToKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRyaXZlcicsIGRl
ZmF1bHQ9V2ViU2VydmVyQmVuY2htYXJrUnVubmVyLm5hbWUsIGNob2ljZXM9YmVuY2htYXJrX3J1
bm5lcl9zdWJjbGFzc2VzLmtleXMoKSwgaGVscD0nVXNlIHRoZSBzcGVjaWZpZWQgYmVuY2htYXJr
IGRyaXZlci4gRGVmYXVsdHMgdG8gJXMuJyAlIFdlYlNlcnZlckJlbmNobWFya1J1bm5lci5uYW1l
KQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbG9jYWwtY29weScsIGRlc3Q9J2xvY2FsQ29w
eScsIGhlbHA9J1BhdGggdG8gYSBsb2NhbCBjb3B5IG9mIHRoZSBiZW5jaG1hcmsuIGUuZy4gUGVy
Zm9ybWFuY2VUZXN0cy9TdW5TcGlkZXIvJykKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWNv
dW50JywgZGVzdD0nY291bnRPdmVycmlkZScsIHR5cGU9aW50LCBoZWxwPSdOdW1iZXIgb2YgdGlt
ZXMgdG8gcnVuIHRoZSBiZW5jaG1hcmsuIGUuZy4gNScpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS10aW1lb3V0LWZhY3RvcicsIGRlc3Q9J3RpbWVvdXRGYWN0b3JPdmVycmlkZScsIHR5cGU9
aW50LCBoZWxwPSdNdWx0aXBseSB0aGUgdGVzdCB0aW1lb3V0IGJ5IHRoZSBnaXZlbiBmYWN0b3Is
IHVzZWZ1bCB0byBydW4gdGVzdHMgaW4gc2xvd2VyIGRldmljZXMsIGUuZy46IDEwJykKICAgICBt
dXR1YWxfZ3JvdXAgPSBwYXJzZXIuYWRkX211dHVhbGx5X2V4Y2x1c2l2ZV9ncm91cChyZXF1aXJl
ZD1UcnVlKQogICAgIG11dHVhbF9ncm91cC5hZGRfYXJndW1lbnQoJy0tcGxhbicsIGRlc3Q9J3Bs
YW4nLCBoZWxwPSdCZW5jaG1hcmsgcGxhbiB0byBydW4uIGUuZy4gc3BlZWRvbWV0ZXIsIGpldHN0
cmVhbScpCiAgICAgbXV0dWFsX2dyb3VwLmFkZF9hcmd1bWVudCgnLS1hbGxwbGFucycsIGFjdGlv
bj0nc3RvcmVfdHJ1ZScsIGhlbHA9J1J1biBhbGwgYXZhaWxhYmxlIGJlbmNobWFyayBwbGFucyBz
ZXF1ZW50aWFsbHknKQpAQCAtMTY1LDcgKzE2Niw3IEBAIGNsYXNzIEJyb3dzZXJQZXJmRGFzaFJ1
bm5lcihvYmplY3QpOgogICAgICAgICAgICAgICAgICMgUnVuIHRlc3QgYW5kIHNhdmUgdGVzdCBp
bmZvCiAgICAgICAgICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBh
cyB0ZW1wX3Jlc3VsdF9maWxlOgogICAgICAgICAgICAgICAgICAgICBiZW5jaG1hcmtfcnVubmVy
X2NsYXNzID0gYmVuY2htYXJrX3J1bm5lcl9zdWJjbGFzc2VzW3NlbGYuX2FyZ3MuZHJpdmVyXQot
ICAgICAgICAgICAgICAgICAgICBydW5uZXIgPSBiZW5jaG1hcmtfcnVubmVyX2NsYXNzKHBsYW4s
IHNlbGYuX2FyZ3MubG9jYWxDb3B5LCBzZWxmLl9hcmdzLmNvdW50T3ZlcnJpZGUsIHNlbGYuX2Fy
Z3MuYnVpbGREaXIsIHRlbXBfcmVzdWx0X2ZpbGUubmFtZSwgc2VsZi5fYXJncy5wbGF0Zm9ybSwg
c2VsZi5fYXJncy5icm93c2VyLCBOb25lKQorICAgICAgICAgICAgICAgICAgICBydW5uZXIgPSBi
ZW5jaG1hcmtfcnVubmVyX2NsYXNzKHBsYW4sIHNlbGYuX2FyZ3MubG9jYWxDb3B5LCBzZWxmLl9h
cmdzLnRpbWVvdXRGYWN0b3JPdmVycmlkZSwgc2VsZi5fYXJncy5jb3VudE92ZXJyaWRlLCBzZWxm
Ll9hcmdzLmJ1aWxkRGlyLCB0ZW1wX3Jlc3VsdF9maWxlLm5hbWUsIHNlbGYuX2FyZ3MucGxhdGZv
cm0sIHNlbGYuX2FyZ3MuYnJvd3NlciwgTm9uZSkKICAgICAgICAgICAgICAgICAgICAgcnVubmVy
LmV4ZWN1dGUoKQogICAgICAgICAgICAgICAgICAgICBfbG9nLmluZm8oJ0ZpbmlzaGVkIGJlbmNo
bWFyayBwbGFuOiB7cGxhbl9uYW1lfScuZm9ybWF0KHBsYW5fbmFtZT1wbGFuKSkKICAgICAgICAg
ICAgICAgICAgICAgIyBGaWxsIHRlc3QgaW5mbyBmb3IgdXBsb2FkCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2Jyb3dzZXJwZXJmZGFzaC9icm93c2VycGVyZmRhc2hfdW5pdHRl
c3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jyb3dzZXJwZXJmZGFzaC9icm93c2VycGVy
ZmRhc2hfdW5pdHRlc3QucHkKaW5kZXggZDhjYmYwMDliODEyZDQ0MWI2NjE2YmZiZmZkMDQxOTQ4
OWRjYjk4Yy4uZjk3ZDg0ZTcxMjdjOWNhZjFkZTQ4YWVmZjNlOTg0M2M0YzFjOWUzZSAxMDA3NTUK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gvYnJvd3NlcnBlcmZk
YXNoX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYnJvd3NlcnBlcmZk
YXNoL2Jyb3dzZXJwZXJmZGFzaF91bml0dGVzdC5weQpAQCAtNDAsOCArNDAsOCBAQCBfbG9nID0g
bG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiBjbGFzcyBGYWtlQmVuY2htYXJrUnVubmVyKEJl
bmNobWFya1J1bm5lcik6CiAgICAgbmFtZSA9ICdmYWtlJwogCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0
cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBicm93c2VyX3BhdGgpOgotICAgICAgICBzdXBl
cihGYWtlQmVuY2htYXJrUnVubmVyLCBzZWxmKS5fX2luaXRfXyhwbGFuX2ZpbGUsIGxvY2FsX2Nv
cHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJv
d3NlciwgYnJvd3Nlcl9wYXRoKQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxv
Y2FsX2NvcHksIHRpbWVvdXRfZmFjdG9yLCBjb3VudF9vdmVycmlkZSwgYnVpbGRfZGlyLCBvdXRw
dXRfZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIsIGJyb3dzZXJfcGF0aCk6CisgICAgICAgIHN1cGVy
KEZha2VCZW5jaG1hcmtSdW5uZXIsIHNlbGYpLl9faW5pdF9fKHBsYW5fZmlsZSwgbG9jYWxfY29w
eSwgdGltZW91dF9mYWN0b3IsIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxl
LCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRoKQogCiAgICAgZGVmIGV4ZWN1dGUoc2Vs
Zik6CiAgICAgICAgIHJldHVybiBUcnVlCkBAIC02MCw1ICs2MCw1IEBAIGNsYXNzIEJyb3dzZXJQ
ZXJmRGFzaFJ1bm5lclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAjIFRoaXMgdGVz
dHMgdGhhdCBjb25zdHJ1Y3RpbmcgdGhlIGJlbmNobWFya19ydW5uZXIgb2JqZWN0IHNwZWNpZnlp
bmcgdGhlIG1pbmltdW0gcmVxdWlyZWQgcGFyYW1hdGVycyBpcyBvay4KICAgICAgICAgcGxhbl9s
aXN0ID0gQmVuY2htYXJrUnVubmVyLmF2YWlsYWJsZV9wbGFucygpCiAgICAgICAgIGJ1aWxkX2Rp
ciA9IG9zLnBhdGguYWJzcGF0aChvcy5jdXJkaXIpCi0gICAgICAgIHJ1bm5lciA9IEZha2VCZW5j
aG1hcmtSdW5uZXIocGxhbl9saXN0WzBdLCBGYWxzZSwgMSwgYnVpbGRfZGlyLCAiL3RtcC90ZXN0
T3V0cHV0LnR4dCIsIGRlZmF1bHRfcGxhdGZvcm0oKSwgZGVmYXVsdF9icm93c2VyKCksIE5vbmUp
CisgICAgICAgIHJ1bm5lciA9IEZha2VCZW5jaG1hcmtSdW5uZXIocGxhbl9saXN0WzBdLCBGYWxz
ZSwgMSwgMSwgYnVpbGRfZGlyLCAiL3RtcC90ZXN0T3V0cHV0LnR4dCIsIGRlZmF1bHRfcGxhdGZv
cm0oKSwgZGVmYXVsdF9icm93c2VyKCksIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShy
dW5uZXIuZXhlY3V0ZSgpKQo=
</data>
<flag name="review"
          id="397056"
          type_id="1"
          status="-"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>