<?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>232433</bug_id>
          
          <creation_ts>2021-10-28 05:08:33 -0700</creation_ts>
          <short_desc>Web Inspector: Add script to update CSSDocumentation.js</short_desc>
          <delta_ts>2021-11-09 08:58:44 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>226883</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Razvan Caliman">rcaliman</reporter>
          <assigned_to name="Razvan Caliman">rcaliman</assigned_to>
          <cc>ap</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>pangle</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1809634</commentid>
    <comment_count>0</comment_count>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-10-28 05:08:33 -0700</bug_when>
    <thetext>Download latest CSS data from upstream[1] data source and update the file at `Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation.js`


[1] https://github.com/microsoft/vscode-custom-data/blob/main/web-data/data/browsers.css-data.json</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809635</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-28 05:09:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/84753008&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809636</commentid>
    <comment_count>2</comment_count>
      <attachid>442692</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-10-28 05:19:59 -0700</bug_when>
    <thetext>Created attachment 442692
Patch

Add script and README with instructions how to run and where the CSS data comes from</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809640</commentid>
    <comment_count>3</comment_count>
      <attachid>442695</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-10-28 05:36:32 -0700</bug_when>
    <thetext>Created attachment 442695
Patch

Resolve Changelog conflict</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809661</commentid>
    <comment_count>4</comment_count>
      <attachid>442695</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-10-28 07:42:03 -0700</bug_when>
    <thetext>Comment on attachment 442695
Patch

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

&gt; Source/WebInspectorUI/Scripts/update-CSSDocumentation.js:1
&gt; +#!/usr/bin/env node

Can this be written in a language commonly used in WebKit tools, such as Python? Extending the number of tools and languages we need to support is very different desirable, we even talked about rewriting the large number of Ruby scripts used in JSC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809670</commentid>
    <comment_count>5</comment_count>
      <attachid>442695</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-10-28 08:07:17 -0700</bug_when>
    <thetext>Comment on attachment 442695
Patch

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

&gt;&gt; Source/WebInspectorUI/Scripts/update-CSSDocumentation.js:1
&gt;&gt; +#!/usr/bin/env node
&gt; 
&gt; Can this be written in a language commonly used in WebKit tools, such as Python? Extending the number of tools and languages we need to support is very different desirable, we even talked about rewriting the large number of Ruby scripts used in JSC.

Python is not my strong point, but this script is simple enough. Rewriting shouldn&apos;t be a problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809692</commentid>
    <comment_count>6</comment_count>
      <attachid>442695</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-10-28 09:10:56 -0700</bug_when>
    <thetext>Comment on attachment 442695
Patch

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

+1 for using python for this script. Also, since this isn&apos;t a build script, can we move it to Tools/Scripts/ so its on most folks path along with the other scripts, like `update-webkit-localizable-strings` et. al.?

I also left a few notes in Bug 231566 that I believe are issues with this version of the generator as is. They might not be an issue after rewriting in Python, though.

&gt; Source/WebInspectorUI/UserInterface/External/CSSDocumentation/README:1
&gt; +# How to update CSSDocumentation.js

I believe other generated source files will often have this information in a comment at the top of the generate file to make it easier to identify what script to run to regenerate the file as well as provide a warning not to manually update the file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811655</commentid>
    <comment_count>7</comment_count>
      <attachid>443240</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-11-03 14:33:40 -0700</bug_when>
    <thetext>Created attachment 443240
[fast-cq] Patch 2.0

Rewrite script to Python. Address code review feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812142</commentid>
    <comment_count>8</comment_count>
      <attachid>443404</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-11-05 09:25:41 -0700</bug_when>
    <thetext>Created attachment 443404
[fast-cq] Patch 2.1

Add newline at end of generated script. Remove unnecessary semicolons</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812151</commentid>
    <comment_count>9</comment_count>
      <attachid>443404</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-11-05 09:45:33 -0700</bug_when>
    <thetext>Comment on attachment 443404
[fast-cq] Patch 2.1

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

&gt; Tools/Scripts/update-css-documentation:36
&gt; +VSCODE_CSS_DATA_JSON_URL = &apos;https://raw.githubusercontent.com/microsoft/vscode-custom-data/main/web-data/data/browsers.css-data.json&apos;

IMO we should use double quotes around strings like we do in other parts of the code base, but I do realize that this rule is not consistent throughout other python scripts in the project. It appears currently the type of type of quotation mark is inconsistent throughout (e.g. Lines 39 and 40 use different quotation marks). It would be great if this were consistent.

&gt; Tools/Scripts/update-css-documentation:37
&gt; +ROOT_DIR = (pathlib.Path(__file__).parent / &quot;..&quot; / &quot;..&quot;).resolve()

I found `Path` to be one of the things that was clearer to import with `from pathlib import Path` so that I could drop the `pathlib` part of creating a new Path throughout. Up to you tho.

&gt; Tools/Scripts/update-css-documentation:46
&gt; +    print(&apos;Download failed \n {0}&apos;.format(err))

NIT: Unnecessary space around newline character.

&gt; Tools/Scripts/update-css-documentation:53
&gt; +    print(&apos;Parsing failed \n {0}&apos;.format(err))

Ditto :46

&gt; Tools/Scripts/update-css-documentation:67
&gt; +        url = references[0].get(&apos;url&apos;)

Since our UI explicitly says that these URLs will take the user to MDN, it&apos;s probably a good idea for us to confirm that the reference&apos;s `name` is `MDN Reference` or the `url` is actually for MDN in case more links start going to other places some day.

&gt; Tools/Scripts/update-css-documentation:71
&gt; +    if (name.startswith(&apos;-moz-&apos;) or name.startswith(&apos;-ms-&apos;) or name.startswith(&apos;-o-&apos;)):
&gt; +        continue

Could we flip this around to instead just skip properties starting with `-` unless it also starts with `-webkit-` in case we&apos;ve missed a vendor prefix here? (Unlikely, but would be less brittle to do a check that a prefixed property is WebKit&apos;s instead of listing all the other vendor prefixes.)

&gt; Tools/Scripts/update-css-documentation:99
&gt; +    print(&apos;Writing failed \n {0}&apos;.format(err))

Ditto :46</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812153</commentid>
    <comment_count>10</comment_count>
      <attachid>443404</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-11-05 09:47:17 -0700</bug_when>
    <thetext>Comment on attachment 443404
[fast-cq] Patch 2.1

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

&gt; Tools/ChangeLog:13
&gt; +        * Scripts/update-css-documentation: Added.

May I suggest `update-inspector-css-documentation` just to be clearer about what the script is for without having to open the script and read the header comments?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812180</commentid>
    <comment_count>11</comment_count>
      <attachid>443404</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-11-05 10:42:25 -0700</bug_when>
    <thetext>Comment on attachment 443404
[fast-cq] Patch 2.1

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

&gt;&gt; Tools/ChangeLog:13
&gt;&gt; +        * Scripts/update-css-documentation: Added.
&gt; 
&gt; May I suggest `update-inspector-css-documentation` just to be clearer about what the script is for without having to open the script and read the header comments?

also, this should be in `Source/WebInspectorUI/Scripts` since this is really just for Web Inspector

&gt; Tools/Scripts/update-css-documentation:40
&gt; +PREAMBLE = &quot;// This file is generated by update-css-documentation. Do not edit.\n&quot;

I&apos;d just inline this

&gt;&gt; Tools/Scripts/update-css-documentation:71
&gt;&gt; +        continue
&gt; 
&gt; Could we flip this around to instead just skip properties starting with `-` unless it also starts with `-webkit-` in case we&apos;ve missed a vendor prefix here? (Unlikely, but would be less brittle to do a check that a prefixed property is WebKit&apos;s instead of listing all the other vendor prefixes.)

we might wanna also include stuff like `-apple-` or any things from other WebKit ports too tho, so maybe we should just match the behavior of `WI.CSSProperty` (and ideally include a comment in both places that links to the other)

&gt; Tools/Scripts/update-css-documentation:79
&gt; +    if description:

Style: we should either always or never have `(` `)` around the condition

&gt; Tools/Scripts/update-css-documentation:89
&gt; +    json_string = json.dumps(properties, indent=4, sort_keys=True)

why not inline this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812205</commentid>
    <comment_count>12</comment_count>
      <attachid>443404</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2021-11-05 12:17:44 -0700</bug_when>
    <thetext>Comment on attachment 443404
[fast-cq] Patch 2.1

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

&gt; Tools/Scripts/update-css-documentation:69
&gt; +    # Skip properties with prefixes other than -webkit-

Normal WebKit style is that comments are sentences and should end with periods. Applies to all the comments in this script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812206</commentid>
    <comment_count>13</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2021-11-05 12:17:52 -0700</bug_when>
    <thetext>Neat!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812618</commentid>
    <comment_count>14</comment_count>
      <attachid>443404</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-11-08 08:31:20 -0800</bug_when>
    <thetext>Comment on attachment 443404
[fast-cq] Patch 2.1

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

&gt;&gt;&gt; Tools/ChangeLog:13
&gt;&gt;&gt; +        * Scripts/update-css-documentation: Added.
&gt;&gt; 
&gt;&gt; May I suggest `update-inspector-css-documentation` just to be clearer about what the script is for without having to open the script and read the header comments?
&gt; 
&gt; also, this should be in `Source/WebInspectorUI/Scripts` since this is really just for Web Inspector

Renamed to `update-inspector-css-documentation` and moved to `Source/WebInspectorUI/Scripts`.

A previous review comment asked to move it to `Tools/Scripts` for convenience, but I agree it&apos;s contextual to `Source/WebInspectorUI` and should probably live here.

&gt;&gt; Tools/Scripts/update-css-documentation:36
&gt;&gt; +VSCODE_CSS_DATA_JSON_URL = &apos;https://raw.githubusercontent.com/microsoft/vscode-custom-data/main/web-data/data/browsers.css-data.json&apos;
&gt; 
&gt; IMO we should use double quotes around strings like we do in other parts of the code base, but I do realize that this rule is not consistent throughout other python scripts in the project. It appears currently the type of type of quotation mark is inconsistent throughout (e.g. Lines 39 and 40 use different quotation marks). It would be great if this were consistent.

Updated to use double quotes everywhere.

Indeed, the style in scripts is inconsistent. I think I resorted to use the single-quote style because that&apos;s how the official Python documentation is written.

&gt;&gt; Tools/Scripts/update-css-documentation:37
&gt;&gt; +ROOT_DIR = (pathlib.Path(__file__).parent / &quot;..&quot; / &quot;..&quot;).resolve()
&gt; 
&gt; I found `Path` to be one of the things that was clearer to import with `from pathlib import Path` so that I could drop the `pathlib` part of creating a new Path throughout. Up to you tho.

Done!

&gt;&gt; Tools/Scripts/update-css-documentation:40
&gt;&gt; +PREAMBLE = &quot;// This file is generated by update-css-documentation. Do not edit.\n&quot;
&gt; 
&gt; I&apos;d just inline this

Done!

&gt;&gt; Tools/Scripts/update-css-documentation:46
&gt;&gt; +    print(&apos;Download failed \n {0}&apos;.format(err))
&gt; 
&gt; NIT: Unnecessary space around newline character.

Done!

&gt;&gt; Tools/Scripts/update-css-documentation:53
&gt;&gt; +    print(&apos;Parsing failed \n {0}&apos;.format(err))
&gt; 
&gt; Ditto :46

Done!

&gt;&gt; Tools/Scripts/update-css-documentation:67
&gt;&gt; +        url = references[0].get(&apos;url&apos;)
&gt; 
&gt; Since our UI explicitly says that these URLs will take the user to MDN, it&apos;s probably a good idea for us to confirm that the reference&apos;s `name` is `MDN Reference` or the `url` is actually for MDN in case more links start going to other places some day.

I&apos;ll add a check for the hostname and throw a warning if it differs.
If URLs change, checking the diff before landing the generated file should draw human attention too.

&gt;&gt; Tools/Scripts/update-css-documentation:69
&gt;&gt; +    # Skip properties with prefixes other than -webkit-
&gt; 
&gt; Normal WebKit style is that comments are sentences and should end with periods. Applies to all the comments in this script.

Done!

&gt;&gt;&gt; Tools/Scripts/update-css-documentation:71
&gt;&gt;&gt; +        continue
&gt;&gt; 
&gt;&gt; Could we flip this around to instead just skip properties starting with `-` unless it also starts with `-webkit-` in case we&apos;ve missed a vendor prefix here? (Unlikely, but would be less brittle to do a check that a prefixed property is WebKit&apos;s instead of listing all the other vendor prefixes.)
&gt; 
&gt; we might wanna also include stuff like `-apple-` or any things from other WebKit ports too tho, so maybe we should just match the behavior of `WI.CSSProperty` (and ideally include a comment in both places that links to the other)

Ok! I&apos;ll reuse the allowlist of prefixes defined in `WI.CSSManager.canonicalNameForPropertyNamex(name)`: -webkit-|-khtml-|-apple-

&gt;&gt; Tools/Scripts/update-css-documentation:79
&gt;&gt; +    if description:
&gt; 
&gt; Style: we should either always or never have `(` `)` around the condition

Done! Always use parentheses.

&gt;&gt; Tools/Scripts/update-css-documentation:89
&gt;&gt; +    json_string = json.dumps(properties, indent=4, sort_keys=True)
&gt; 
&gt; why not inline this?

Done!

&gt;&gt; Tools/Scripts/update-css-documentation:99
&gt;&gt; +    print(&apos;Writing failed \n {0}&apos;.format(err))
&gt; 
&gt; Ditto :46

Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812620</commentid>
    <comment_count>15</comment_count>
      <attachid>443550</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-11-08 08:34:53 -0800</bug_when>
    <thetext>Created attachment 443550
[fast-cq] Patch 2.2

Address review feedback. Rename and move script to Source/WebInspectorUI/Scripts/update-inspector-css-documentation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812753</commentid>
    <comment_count>16</comment_count>
      <attachid>443550</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-11-08 12:16:09 -0800</bug_when>
    <thetext>Comment on attachment 443550
[fast-cq] Patch 2.2

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

r=me

Have we thought at all about what process we want to have in place for making sure this gets regularly updated?  Perhaps we can file bugs alongside the &quot;create new protocol version&quot; bugs that we already have to make sure that we at least update this script every time we save a protocol version too?

&gt; Source/WebInspectorUI/Scripts/update-inspector-css-documentation:68
&gt; +    if (url and not url.startswith(&quot;https://developer.mozilla.org&quot;)):

What about if there&apos;s a MDN link as the second reference?  Maybe we should iterate over `references` until we find a MDN link and then `break` after the first one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813166</commentid>
    <comment_count>17</comment_count>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-11-09 08:54:36 -0800</bug_when>
    <thetext>(In reply to Devin Rousso from comment #16)
&gt; Comment on attachment 443550 [details]
&gt; [fast-cq] Patch 2.2
&gt; 
&gt; r=me

Thanks for R+!

&gt; Have we thought at all about what process we want to have in place for
&gt; making sure this gets regularly updated?  Perhaps we can file bugs alongside
&gt; the &quot;create new protocol version&quot; bugs that we already have to make sure
&gt; that we at least update this script every time we save a protocol version
&gt; too?

Filed &lt;rdar://85204111&gt; as a task to do at the appropriate time.

&gt; &gt; Source/WebInspectorUI/Scripts/update-inspector-css-documentation:68
&gt; &gt; +    if (url and not url.startswith(&quot;https://developer.mozilla.org&quot;)):
&gt; 
&gt; What about if there&apos;s a MDN link as the second reference?  Maybe we should
&gt; iterate over `references` until we find a MDN link and then `break` after
&gt; the first one?

We already catch any non-MDN URL and drop it with a warning to avoid pointing to unexpected URLs. 

Inspecting the generated file diff should alert us if something about URLs changed. We&apos;ll adapt the script accordingly when and if that happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813172</commentid>
    <comment_count>18</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-09 08:58:42 -0800</bug_when>
    <thetext>Committed r285502 (244026@main): &lt;https://commits.webkit.org/244026@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443550.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442692</attachid>
            <date>2021-10-28 05:19:59 -0700</date>
            <delta_ts>2021-10-28 05:36:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232433-20211028141958.patch</filename>
            <type>text/plain</type>
            <size>4956</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGRmZmZlMDEzMGM0NzExZTExNmU5MDU3ZTA4OWVj
YmEzZjMzMDFkMTQuLmZiNDdmMmVlNzc1OGQwNDU3NzMwYTAxMmI4ODZlZjc3MTI1MTEwNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTEwLTI4ICBSYXp2
YW4gQ2FsaW1hbiAgPHJjYWxpbWFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBBZGQgc2NyaXB0IHRvIHVwZGF0ZSBDU1NEb2N1bWVudGF0aW9uLmpzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI0MzMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLUNTU0Rv
Y3VtZW50YXRpb24uanM6IEFkZGVkLgorICAgICAgICAoZG93bmxvYWQpOgorICAgICAgICAoYXN5
bmMgbWFpbik6CisKKzIwMjEtMTAtMjggIFJhenZhbiBDYWxpbWFuICA8cmNhbGltYW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBzY3JpcHQgdG8gdXBkYXRlIENTU0Rv
Y3VtZW50YXRpb24uanMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMjQzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQ3NTMwMDg+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgc2NyaXB0IHRv
IGF1dG9tYXRpY2FsbHkgdXBkYXRlIHRoZSBjb250ZXh0dWFsIENTUyBkb2N1bWVudGF0aW9uIGRh
dGEgc291cmNlIGF0CisgICAgICAgIGBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9FeHRlcm5hbC9DU1NEb2N1bWVudGF0aW9uL0NTU0RvY3VtZW50YXRpb24uanNgCisgICAgICAg
IHdpdGggdGhlIGxhdGVzdCBpbmZvcm1hdGlvbiBmcm9tIHRoZSB1cHN0cmVhbSBkYXRhIHNvdXJj
ZS4KKworICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLUNTU0RvY3VtZW50YXRpb24uanM6IEFkZGVk
LgorICAgICAgICAoZG93bmxvYWQpOgorICAgICAgICAoYXN5bmMgbWFpbik6CisgICAgICAgICog
VXNlckludGVyZmFjZS9FeHRlcm5hbC9DU1NEb2N1bWVudGF0aW9uL1JFQURNRTogQWRkZWQuCisK
IDIwMjEtMTAtMjEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAg
IFtjc3MtdmFsdWVzLTRdIFN1cHBvcnQgc21hbGwgKHN2KiksIGxhcmdlIChsdiopIGFuZCBkeW5h
bWljIChkdiopIHZpZXdwb3J0IHVuaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvU2NyaXB0cy91cGRhdGUtQ1NTRG9jdW1lbnRhdGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9TY3JpcHRzL3VwZGF0ZS1DU1NEb2N1bWVudGF0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllZDhi
MWM5MzA3ZWU2YzgzMmEwYTk4MTFkMTRiOTcxNTVjNTI2ODAKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy91cGRhdGUtQ1NTRG9jdW1lbnRhdGlvbi5qcwpA
QCAtMCwwICsxLDg1IEBACisjIS91c3IvYmluL2VudiBub2RlCisKKyJ1c2Ugc3RyaWN0IjsKKwor
dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKK3ZhciBmcyA9IHJlcXVpcmUoImZzIik7Cit2
YXIgcGF0aCA9IHJlcXVpcmUoInBhdGgiKTsKKworY29uc3QgVlNDT0RFX0NTU19EQVRBX0pTT05f
VVJMID0gImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9taWNyb3NvZnQvdnNjb2Rl
LWN1c3RvbS1kYXRhL21haW4vd2ViLWRhdGEvZGF0YS9icm93c2Vycy5jc3MtZGF0YS5qc29uIjsK
K2NvbnN0IE9VVFBVVF9QQVRIID0gIi4uL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvQ1NTRG9jdW1l
bnRhdGlvbiI7Citjb25zdCBPVVRQVVRfRklMRU5BTUUgPSAiQ1NTRG9jdW1lbnRhdGlvbi5qcyI7
CisKK2Z1bmN0aW9uIGRvd25sb2FkKFVSTCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVz
b2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGxldCByYXdEYXRhID0gIiI7CisgICAgICAgIGxl
dCByZXF1ZXN0ID0gaHR0cHMuZ2V0KFVSTCwgKHJlc3BvbnNlKSA9PiB7CisgICAgICAgICAgICBy
ZXNwb25zZS5vbigiZGF0YSIsIChkYXRhKSA9PiB7IHJhd0RhdGEgKz0gZGF0YS50b1N0cmluZygp
OyB9KTsKKyAgICAgICAgICAgIHJlc3BvbnNlLm9uKCJlbmQiLCAoKSA9PiByZXNvbHZlKHJhd0Rh
dGEpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcmVxdWVzdC5vbigiZXJyb3IiLCAoZXJyKSA9
PiB7CisgICAgICAgICAgICByZWplY3QoZXJyLm1lc3NhZ2UpOworICAgICAgICB9KTsKKyAgICB9
KTsKK30KKworYXN5bmMgZnVuY3Rpb24gbWFpbigpIHsKKyAgICBsZXQgY29udGVudDsKKyAgICB0
cnkgeworICAgICAgICBjb25zb2xlLmxvZyhgRG93bmxvYWRpbmc6ICR7VlNDT0RFX0NTU19EQVRB
X0pTT05fVVJMfWApOworICAgICAgICBjb250ZW50ID0gYXdhaXQgZG93bmxvYWQoVlNDT0RFX0NT
U19EQVRBX0pTT05fVVJMKTsKKyAgICB9IGNhdGNoIChlcnIpIHsKKyAgICAgICAgY29uc29sZS5s
b2coIkRvd25sb2FkIGZhaWxlZCIpOworICAgICAgICBjb25zb2xlLmVycm9yKGVycik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb25zb2xlLmxvZygiUGFyc2luZyIpOworICAgIGxl
dCBkYXRhID0gSlNPTi5wYXJzZShjb250ZW50KTsKKyAgICBsZXQgcHJvcGVydGllcyA9IHt9Owor
CisgICAgLy8gU29ydCBhcnJheSBvZiBwcm9wZXJ0eSBvYmplY3RzIGJ5IENTUyBwcm9wZXJ0eSBu
YW1lLCB2ZW5kb3ItcHJlZml4ZWQgZmlyc3QKKyAgICBkYXRhLnByb3BlcnRpZXMuc29ydCgocHJv
cGVydHlBLCBwcm9wZXJ0eUIpID0+IHsgcmV0dXJuIHByb3BlcnR5QS5uYW1lLmxvY2FsZUNvbXBh
cmUocHJvcGVydHlCLm5hbWUpOyB9KTsKKworICAgIGNvbnNvbGUubG9nKCJFeHRyYWN0aW5nIENT
UyBwcm9wZXJ0eSBkYXRhIik7CisgICAgZm9yIChsZXQgcHJvcGVydHkgb2YgZGF0YS5wcm9wZXJ0
aWVzKSB7CisgICAgICAgIGxldCB7bmFtZSwgc3ludGF4LCBkZXNjcmlwdGlvbn0gPSBwcm9wZXJ0
eTsKKyAgICAgICAgbGV0IHVybCA9IHByb3BlcnR5Py5yZWZlcmVuY2VzPy5bMF0/LnVybDsKKwor
ICAgICAgICAvLyBTa2lwIHByb3BlcnRpZXMgd2l0aCBwcmVmaXhlcyBvdGhlciB0aGFuIC13ZWJr
aXQtCisgICAgICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgoIi1tb3otIikgfHwgbmFtZS5zdGFydHNX
aXRoKCItbXMtIikgfHwgbmFtZS5zdGFydHNXaXRoKCItby0iKSkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworCisgICAgICAgIC8vIFNraXAgcHJvcGVydGllcyBsYWNraW5nIGFueSBtZWFuaW5nZnVs
IGNvbnRlbnQKKyAgICAgICAgaWYgKCFkZXNjcmlwdGlvbiAmJiAhc3ludGF4KQorICAgICAgICAg
ICAgY29udGludWU7CisKKyAgICAgICAgcHJvcGVydGllc1tuYW1lXSA9IHt9OworCisgICAgICAg
IGlmIChkZXNjcmlwdGlvbikKKyAgICAgICAgICAgIHByb3BlcnRpZXNbbmFtZV0uZGVzY3JpcHRp
b24gPSBkZXNjcmlwdGlvbjsKKworICAgICAgICBpZiAoc3ludGF4KQorICAgICAgICAgICAgcHJv
cGVydGllc1tuYW1lXS5zeW50YXggPSBzeW50YXg7CisKKyAgICAgICAgaWYgKHVybCkKKyAgICAg
ICAgICAgIHByb3BlcnRpZXNbbmFtZV0udXJsID0gdXJsOworICAgIH0KKworICAgIGxldCBmaWxl
Q29udGVudHMgPSBgQ1NTRG9jdW1lbnRhdGlvbiA9ICR7SlNPTi5zdHJpbmdpZnkocHJvcGVydGll
cywgbnVsbCwgNCl9YDsKKyAgICBsZXQgZmlsZVBhdGggPSBwYXRoLmpvaW4oX19kaXJuYW1lLCBP
VVRQVVRfUEFUSCwgT1VUUFVUX0ZJTEVOQU1FKTsKKworICAgIHRyeSB7CisgICAgICAgIGNvbnNv
bGUubG9nKGBXcml0aW5nIGZpbGU6ICR7cGF0aC5yZXNvbHZlKGZpbGVQYXRoKX1gKTsKKyAgICAg
ICAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgZmlsZUNvbnRlbnRzKTsKKyAgICB9IGNhdGNo
IChlcnIpIHsKKyAgICAgICAgY29uc29sZS5sb2coIldyaXRpbmcgZmFpbGVkIik7CisgICAgICAg
IGNvbnNvbGUuZXJyb3IoZXJyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNvbnNv
bGUubG9nKCJTdWNjZXNzISIpOworfQorCittYWluKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9DU1NEb2N1bWVudGF0aW9uL1JFQURN
RSBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NTU0RvY3Vt
ZW50YXRpb24vUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhZjZiMmQyY2Y0ODg1NTA1OWZjNzg0MjkzNTc3
MzRjOThmMzZkYTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9FeHRlcm5hbC9DU1NEb2N1bWVudGF0aW9uL1JFQURNRQpAQCAtMCwwICsxLDEx
IEBACisjIEhvdyB0byB1cGRhdGUgQ1NTRG9jdW1lbnRhdGlvbi5qcworCitSdW4gdGhlIHNjcmlw
dCBhdDoKK2BgYAorU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvdXBkYXRlLUNTU0RvY3Vt
ZW50YXRpb24uanMKK2BgYAorCisjIENTUyBkYXRhIHNvdXJjZQorCitWU0NvZGUgY3VzdG9tIGRh
dGEgcmVwb3NpdG9yeToKK2h0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdnNjb2RlLWN1c3Rv
bS1kYXRhL2Jsb2IvbWFpbi93ZWItZGF0YS9kYXRhL2Jyb3dzZXJzLmNzcy1kYXRhLmpzb24K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442695</attachid>
            <date>2021-10-28 05:36:32 -0700</date>
            <delta_ts>2021-11-03 14:33:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232433-20211028143630.patch</filename>
            <type>text/plain</type>
            <size>4620</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDk0Mzk2MzBhMzIxODEyNzBlZTY5NDNkYjk1ZTYz
MWZmYWEwZWZlNTMuLjMwYTkwZTk5ZGQwNDIzYTRhNjczMmYxOTUyMzc3ZTcyZjQ4OTM1OWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTEwLTI4ICBSYXp2
YW4gQ2FsaW1hbiAgPHJjYWxpbWFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBBZGQgc2NyaXB0IHRvIHVwZGF0ZSBDU1NEb2N1bWVudGF0aW9uLmpzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI0MzMKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzg0NzUzMDA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIHNjcmlwdCB0byBhdXRvbWF0aWNhbGx5IHVwZGF0ZSB0aGUgY29u
dGV4dHVhbCBDU1MgZG9jdW1lbnRhdGlvbiBkYXRhIHNvdXJjZSBhdAorICAgICAgICBgU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvQ1NTRG9jdW1lbnRhdGlvbi9D
U1NEb2N1bWVudGF0aW9uLmpzYAorICAgICAgICB3aXRoIHRoZSBsYXRlc3QgaW5mb3JtYXRpb24g
ZnJvbSB0aGUgdXBzdHJlYW0gZGF0YSBzb3VyY2UuCisKKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0
ZS1DU1NEb2N1bWVudGF0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKGRvd25sb2FkKToKKyAgICAg
ICAgKGFzeW5jIG1haW4pOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvQ1NTRG9j
dW1lbnRhdGlvbi9SRUFETUU6IEFkZGVkLgorCiAyMDIxLTEwLTI3ICBCSiBCdXJnICA8YmJ1cmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGV4dGVuc2lvbiBpZnJhbWVzIGxl
YWsgd2hlbiBkaXNhYmxpbmcgYW4gZXh0ZW5zaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvU2NyaXB0cy91cGRhdGUtQ1NTRG9jdW1lbnRhdGlvbi5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9TY3JpcHRzL3VwZGF0ZS1DU1NEb2N1bWVudGF0aW9uLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjllZDhiMWM5MzA3ZWU2YzgzMmEwYTk4MTFkMTRiOTcxNTVjNTI2ODAKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvU2NyaXB0cy91cGRhdGUtQ1NTRG9jdW1lbnRhdGlv
bi5qcwpAQCAtMCwwICsxLDg1IEBACisjIS91c3IvYmluL2VudiBub2RlCisKKyJ1c2Ugc3RyaWN0
IjsKKwordmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKK3ZhciBmcyA9IHJlcXVpcmUoImZz
Iik7Cit2YXIgcGF0aCA9IHJlcXVpcmUoInBhdGgiKTsKKworY29uc3QgVlNDT0RFX0NTU19EQVRB
X0pTT05fVVJMID0gImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9taWNyb3NvZnQv
dnNjb2RlLWN1c3RvbS1kYXRhL21haW4vd2ViLWRhdGEvZGF0YS9icm93c2Vycy5jc3MtZGF0YS5q
c29uIjsKK2NvbnN0IE9VVFBVVF9QQVRIID0gIi4uL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvQ1NT
RG9jdW1lbnRhdGlvbiI7Citjb25zdCBPVVRQVVRfRklMRU5BTUUgPSAiQ1NTRG9jdW1lbnRhdGlv
bi5qcyI7CisKK2Z1bmN0aW9uIGRvd25sb2FkKFVSTCkgeworICAgIHJldHVybiBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGxldCByYXdEYXRhID0gIiI7CisgICAg
ICAgIGxldCByZXF1ZXN0ID0gaHR0cHMuZ2V0KFVSTCwgKHJlc3BvbnNlKSA9PiB7CisgICAgICAg
ICAgICByZXNwb25zZS5vbigiZGF0YSIsIChkYXRhKSA9PiB7IHJhd0RhdGEgKz0gZGF0YS50b1N0
cmluZygpOyB9KTsKKyAgICAgICAgICAgIHJlc3BvbnNlLm9uKCJlbmQiLCAoKSA9PiByZXNvbHZl
KHJhd0RhdGEpKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcmVxdWVzdC5vbigiZXJyb3IiLCAo
ZXJyKSA9PiB7CisgICAgICAgICAgICByZWplY3QoZXJyLm1lc3NhZ2UpOworICAgICAgICB9KTsK
KyAgICB9KTsKK30KKworYXN5bmMgZnVuY3Rpb24gbWFpbigpIHsKKyAgICBsZXQgY29udGVudDsK
KyAgICB0cnkgeworICAgICAgICBjb25zb2xlLmxvZyhgRG93bmxvYWRpbmc6ICR7VlNDT0RFX0NT
U19EQVRBX0pTT05fVVJMfWApOworICAgICAgICBjb250ZW50ID0gYXdhaXQgZG93bmxvYWQoVlND
T0RFX0NTU19EQVRBX0pTT05fVVJMKTsKKyAgICB9IGNhdGNoIChlcnIpIHsKKyAgICAgICAgY29u
c29sZS5sb2coIkRvd25sb2FkIGZhaWxlZCIpOworICAgICAgICBjb25zb2xlLmVycm9yKGVycik7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb25zb2xlLmxvZygiUGFyc2luZyIpOwor
ICAgIGxldCBkYXRhID0gSlNPTi5wYXJzZShjb250ZW50KTsKKyAgICBsZXQgcHJvcGVydGllcyA9
IHt9OworCisgICAgLy8gU29ydCBhcnJheSBvZiBwcm9wZXJ0eSBvYmplY3RzIGJ5IENTUyBwcm9w
ZXJ0eSBuYW1lLCB2ZW5kb3ItcHJlZml4ZWQgZmlyc3QKKyAgICBkYXRhLnByb3BlcnRpZXMuc29y
dCgocHJvcGVydHlBLCBwcm9wZXJ0eUIpID0+IHsgcmV0dXJuIHByb3BlcnR5QS5uYW1lLmxvY2Fs
ZUNvbXBhcmUocHJvcGVydHlCLm5hbWUpOyB9KTsKKworICAgIGNvbnNvbGUubG9nKCJFeHRyYWN0
aW5nIENTUyBwcm9wZXJ0eSBkYXRhIik7CisgICAgZm9yIChsZXQgcHJvcGVydHkgb2YgZGF0YS5w
cm9wZXJ0aWVzKSB7CisgICAgICAgIGxldCB7bmFtZSwgc3ludGF4LCBkZXNjcmlwdGlvbn0gPSBw
cm9wZXJ0eTsKKyAgICAgICAgbGV0IHVybCA9IHByb3BlcnR5Py5yZWZlcmVuY2VzPy5bMF0/LnVy
bDsKKworICAgICAgICAvLyBTa2lwIHByb3BlcnRpZXMgd2l0aCBwcmVmaXhlcyBvdGhlciB0aGFu
IC13ZWJraXQtCisgICAgICAgIGlmIChuYW1lLnN0YXJ0c1dpdGgoIi1tb3otIikgfHwgbmFtZS5z
dGFydHNXaXRoKCItbXMtIikgfHwgbmFtZS5zdGFydHNXaXRoKCItby0iKSkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgIC8vIFNraXAgcHJvcGVydGllcyBsYWNraW5nIGFueSBtZWFu
aW5nZnVsIGNvbnRlbnQKKyAgICAgICAgaWYgKCFkZXNjcmlwdGlvbiAmJiAhc3ludGF4KQorICAg
ICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgcHJvcGVydGllc1tuYW1lXSA9IHt9OworCisg
ICAgICAgIGlmIChkZXNjcmlwdGlvbikKKyAgICAgICAgICAgIHByb3BlcnRpZXNbbmFtZV0uZGVz
Y3JpcHRpb24gPSBkZXNjcmlwdGlvbjsKKworICAgICAgICBpZiAoc3ludGF4KQorICAgICAgICAg
ICAgcHJvcGVydGllc1tuYW1lXS5zeW50YXggPSBzeW50YXg7CisKKyAgICAgICAgaWYgKHVybCkK
KyAgICAgICAgICAgIHByb3BlcnRpZXNbbmFtZV0udXJsID0gdXJsOworICAgIH0KKworICAgIGxl
dCBmaWxlQ29udGVudHMgPSBgQ1NTRG9jdW1lbnRhdGlvbiA9ICR7SlNPTi5zdHJpbmdpZnkocHJv
cGVydGllcywgbnVsbCwgNCl9YDsKKyAgICBsZXQgZmlsZVBhdGggPSBwYXRoLmpvaW4oX19kaXJu
YW1lLCBPVVRQVVRfUEFUSCwgT1VUUFVUX0ZJTEVOQU1FKTsKKworICAgIHRyeSB7CisgICAgICAg
IGNvbnNvbGUubG9nKGBXcml0aW5nIGZpbGU6ICR7cGF0aC5yZXNvbHZlKGZpbGVQYXRoKX1gKTsK
KyAgICAgICAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgZmlsZUNvbnRlbnRzKTsKKyAgICB9
IGNhdGNoIChlcnIpIHsKKyAgICAgICAgY29uc29sZS5sb2coIldyaXRpbmcgZmFpbGVkIik7Cisg
ICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGNvbnNvbGUubG9nKCJTdWNjZXNzISIpOworfQorCittYWluKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9DU1NEb2N1bWVudGF0aW9u
L1JFQURNRSBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NT
U0RvY3VtZW50YXRpb24vUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhZjZiMmQyY2Y0ODg1NTA1OWZjNzg0
MjkzNTc3MzRjOThmMzZkYTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9DU1NEb2N1bWVudGF0aW9uL1JFQURNRQpAQCAtMCww
ICsxLDExIEBACisjIEhvdyB0byB1cGRhdGUgQ1NTRG9jdW1lbnRhdGlvbi5qcworCitSdW4gdGhl
IHNjcmlwdCBhdDoKK2BgYAorU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvdXBkYXRlLUNT
U0RvY3VtZW50YXRpb24uanMKK2BgYAorCisjIENTUyBkYXRhIHNvdXJjZQorCitWU0NvZGUgY3Vz
dG9tIGRhdGEgcmVwb3NpdG9yeToKK2h0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvdnNjb2Rl
LWN1c3RvbS1kYXRhL2Jsb2IvbWFpbi93ZWItZGF0YS9kYXRhL2Jyb3dzZXJzLmNzcy1kYXRhLmpz
b24K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443240</attachid>
            <date>2021-11-03 14:33:40 -0700</date>
            <delta_ts>2021-11-05 09:25:37 -0700</delta_ts>
            <desc>[fast-cq] Patch 2.0</desc>
            <filename>bug-232433-20211103223339.patch</filename>
            <type>text/plain</type>
            <size>4994</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjODlm
NGYzZmY2MzE2MjNkMzk5ZWVmM2ZkYzhiZGJkYmMwNDQ0MTQ5Li5hMjkzZTc1ZjI0ZGM3M2ZjNjRk
YjRjMmEzMGEyYzcyZGMyMzgzMmM1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTEtMDMgIFJhenZhbiBDYWxp
bWFuICA8cmNhbGltYW5AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBz
Y3JpcHQgdG8gdXBkYXRlIENTU0RvY3VtZW50YXRpb24uanMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjQzMworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vODQ3NTMwMDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgc2NyaXB0IHRvIHVwZGF0ZSB0aGUgY29udGV4dHVhbCBDU1MgZG9jdW1lbnRh
dGlvbiBkYXRhIHNvdXJjZSBhdAorICAgICAgICBgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRXh0ZXJuYWwvQ1NTRG9jdW1lbnRhdGlvbi9DU1NEb2N1bWVudGF0aW9uLmpzYAor
ICAgICAgICB3aXRoIHRoZSBsYXRlc3QgaW5mb3JtYXRpb24gZnJvbSB0aGUgdXBzdHJlYW0gZGF0
YSBzb3VyY2UuCisKKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS1jc3MtZG9jdW1lbnRhdGlvbjog
QWRkZWQuCisKIDIwMjEtMTEtMDMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBfcGFzdGVib2FyZFdpdGhOYW1lIHNob3VsZCBiZSB0aHJlYWQtc2FmZQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtY3NzLWRvY3VtZW50YXRpb24gYi9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS1jc3MtZG9jdW1lbnRhdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTZhZmUzZTUzZWRhZGMx
ZWZlMTljM2Q2MzlhMmQzMDBkODc4ZDUxCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0
cy91cGRhdGUtY3NzLWRvY3VtZW50YXRpb24KQEAgLTAsMCArMSwxMDIgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworIyBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisjIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisjIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyMgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
CisjIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisjIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjIFRo
aXMgc2NyaXB0IGdlbmVyYXRlcyB0aGUgZmlsZSB3aXRoIENTUyBkb2N1bWVudGF0aW9uIHNob3du
IGluIFdlYiBJbnNwZWN0b3I6CisjIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0V4dGVybmFsL0NTU0RvY3VtZW50YXRpb24vQ1NTRG9jdW1lbnRhdGlvbi5qcworIworIyBUaGUg
ZGF0YSBjb21lcyBmcm9tIHRoZSBWU0NvZGUgY3VzdG9tIGRhdGEgcmVwb3NpdG9yeToKKyMgaHR0
cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC92c2NvZGUtY3VzdG9tLWRhdGEvYmxvYi9tYWluL3dl
Yi1kYXRhL2RhdGEvYnJvd3NlcnMuY3NzLWRhdGEuanNvbgorCitpbXBvcnQganNvbgoraW1wb3J0
IHBhdGhsaWIKK2ltcG9ydCB1cmxsaWIucmVxdWVzdAoraW1wb3J0IHVybGxpYi5lcnJvcgorCitW
U0NPREVfQ1NTX0RBVEFfSlNPTl9VUkwgPSAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQu
Y29tL21pY3Jvc29mdC92c2NvZGUtY3VzdG9tLWRhdGEvbWFpbi93ZWItZGF0YS9kYXRhL2Jyb3dz
ZXJzLmNzcy1kYXRhLmpzb24nOworUk9PVF9ESVIgPSAocGF0aGxpYi5QYXRoKF9fZmlsZV9fKS5w
YXJlbnQgLyAiLi4iIC8gIi4uIikucmVzb2x2ZSgpCitPVVRQVVRfRElSID0gJ1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NTU0RvY3VtZW50YXRpb24nOworT1VU
UFVUX0ZJTEVOQU1FID0gJ0NTU0RvY3VtZW50YXRpb24uanMnOworUFJFQU1CTEUgPSAiLy8gVGhp
cyBmaWxlIGlzIGdlbmVyYXRlZCBieSB1cGRhdGUtY3NzLWRvY3VtZW50YXRpb24uIERvIG5vdCBl
ZGl0LlxuIgorCit0cnk6CisgICAgcHJpbnQoZidEb3dubG9hZGluZzoge1ZTQ09ERV9DU1NfREFU
QV9KU09OX1VSTH0nKQorICAgIHJlc3BvbnNlID0gdXJsbGliLnJlcXVlc3QudXJsb3BlbihWU0NP
REVfQ1NTX0RBVEFfSlNPTl9VUkwpCitleGNlcHQgdXJsbGliLmVycm9yLlVSTEVycm9yIGFzIGVy
cjoKKyAgICBwcmludCgnRG93bmxvYWQgZmFpbGVkIFxuIHswfScuZm9ybWF0KGVycikpCisgICAg
ZXhpdCgpCisKK3RyeToKKyAgICBwcmludCgnUGFyc2luZycpCisgICAgZGF0YSA9IGpzb24ubG9h
ZChyZXNwb25zZSkKK2V4Y2VwdCBqc29uLkpTT05EZWNvZGVFcnJvciBhcyBlcnI6CisgICAgcHJp
bnQoJ1BhcnNpbmcgZmFpbGVkIFxuIHswfScuZm9ybWF0KGVycikpCisgICAgZXhpdCgpCisKK3By
aW50KCdFeHRyYWN0aW5nIENTUyBwcm9wZXJ0eSBkYXRhJykKKworcHJvcGVydGllcyA9IHt9Citm
b3IgcHJvcCBpbiBkYXRhWydwcm9wZXJ0aWVzJ106CisgICAgbmFtZSA9IHByb3AuZ2V0KCduYW1l
Jyk7CisgICAgZGVzY3JpcHRpb24gPSBwcm9wLmdldCgnZGVzY3JpcHRpb24nKQorICAgIHN5bnRh
eCA9IHByb3AuZ2V0KCdzeW50YXgnKQorICAgIHJlZmVyZW5jZXMgPSBwcm9wLmdldCgncmVmZXJl
bmNlcycpCisgICAgdXJsID0gJycKKworICAgIGlmIChyZWZlcmVuY2VzKToKKyAgICAgICAgdXJs
ID0gcmVmZXJlbmNlc1swXS5nZXQoJ3VybCcpOworCisgICAgIyBTa2lwIHByb3BlcnRpZXMgd2l0
aCBwcmVmaXhlcyBvdGhlciB0aGFuIC13ZWJraXQtCisgICAgaWYgKG5hbWUuc3RhcnRzd2l0aCgn
LW1vei0nKSBvciBuYW1lLnN0YXJ0c3dpdGgoJy1tcy0nKSBvciBuYW1lLnN0YXJ0c3dpdGgoJy1v
LScpKToKKyAgICAgICAgY29udGludWU7CisKKyAgICAjIFNraXAgcHJvcGVydGllcyBsYWNraW5n
IGFueSBtZWFuaW5nZnVsIGNvbnRlbnQKKyAgICBpZiAobm90IGRlc2NyaXB0aW9uIGFuZCBub3Qg
c3ludGF4KToKKyAgICAgICAgY29udGludWU7CisKKyAgICBwcm9wZXJ0aWVzW25hbWVdID0ge30K
KworICAgIGlmIGRlc2NyaXB0aW9uOgorICAgICAgICBwcm9wZXJ0aWVzW25hbWVdWydkZXNjcmlw
dGlvbiddID0gZGVzY3JpcHRpb24KKworICAgIGlmIHN5bnRheDoKKyAgICAgICAgcHJvcGVydGll
c1tuYW1lXVsnc3ludGF4J10gPSBzeW50YXgKKworICAgIGlmIHVybDoKKyAgICAgICAgcHJvcGVy
dGllc1tuYW1lXVsndXJsJ10gPSB1cmwKKwordHJ5OgorICAgIGpzb25fc3RyaW5nID0ganNvbi5k
dW1wcyhwcm9wZXJ0aWVzLCBpbmRlbnQ9NCwgc29ydF9rZXlzPVRydWUpCisgICAgZmlsZV9wYXRo
ID0gcGF0aGxpYi5QYXRoKFJPT1RfRElSLCBPVVRQVVRfRElSLCBPVVRQVVRfRklMRU5BTUUpLnJl
c29sdmUoKQorICAgIHByaW50KGYnV3JpdGluZyBmaWxlOiB7ZmlsZV9wYXRofScpCisgICAgZmls
ZSA9IG9wZW4oZmlsZV9wYXRoLCAndycpCisgICAgZmlsZS53cml0ZShQUkVBTUJMRSkKKyAgICBm
aWxlLndyaXRlKCdDU1NEb2N1bWVudGF0aW9uID0gJykKKyAgICBmaWxlLndyaXRlKGpzb25fc3Ry
aW5nKQorICAgIGZpbGUud3JpdGUoJzsnKQorICAgIGZpbGUuY2xvc2UoKQorZXhjZXB0IE9TRXJy
b3IgYXMgZXJyOgorICAgIHByaW50KCdXcml0aW5nIGZhaWxlZCBcbiB7MH0nLmZvcm1hdChlcnIp
KQorICAgIGV4aXQoKQorCitwcmludCgnU3VjY2VzcyEnKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443404</attachid>
            <date>2021-11-05 09:25:41 -0700</date>
            <delta_ts>2021-11-08 08:34:48 -0800</delta_ts>
            <desc>[fast-cq] Patch 2.1</desc>
            <filename>bug-232433-20211105172540.patch</filename>
            <type>text/plain</type>
            <size>4989</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjODlm
NGYzZmY2MzE2MjNkMzk5ZWVmM2ZkYzhiZGJkYmMwNDQ0MTQ5Li5hMjkzZTc1ZjI0ZGM3M2ZjNjRk
YjRjMmEzMGEyYzcyZGMyMzgzMmM1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTEtMDMgIFJhenZhbiBDYWxp
bWFuICA8cmNhbGltYW5AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBz
Y3JpcHQgdG8gdXBkYXRlIENTU0RvY3VtZW50YXRpb24uanMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjQzMworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vODQ3NTMwMDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgc2NyaXB0IHRvIHVwZGF0ZSB0aGUgY29udGV4dHVhbCBDU1MgZG9jdW1lbnRh
dGlvbiBkYXRhIHNvdXJjZSBhdAorICAgICAgICBgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRXh0ZXJuYWwvQ1NTRG9jdW1lbnRhdGlvbi9DU1NEb2N1bWVudGF0aW9uLmpzYAor
ICAgICAgICB3aXRoIHRoZSBsYXRlc3QgaW5mb3JtYXRpb24gZnJvbSB0aGUgdXBzdHJlYW0gZGF0
YSBzb3VyY2UuCisKKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS1jc3MtZG9jdW1lbnRhdGlvbjog
QWRkZWQuCisKIDIwMjEtMTEtMDMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBfcGFzdGVib2FyZFdpdGhOYW1lIHNob3VsZCBiZSB0aHJlYWQtc2FmZQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtY3NzLWRvY3VtZW50YXRpb24gYi9Ub29scy9TY3Jp
cHRzL3VwZGF0ZS1jc3MtZG9jdW1lbnRhdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzY3Mzg4NTBkZmU3ZDkw
OWRmNTJiODM3OWEzNDdkMjdhNTc2YTE4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0
cy91cGRhdGUtY3NzLWRvY3VtZW50YXRpb24KQEAgLTAsMCArMSwxMDIgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbjMKKworIyBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisjIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisjIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyMgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
CisjIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisjIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjIFRo
aXMgc2NyaXB0IGdlbmVyYXRlcyB0aGUgZmlsZSB3aXRoIENTUyBkb2N1bWVudGF0aW9uIHNob3du
IGluIFdlYiBJbnNwZWN0b3I6CisjIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0V4dGVybmFsL0NTU0RvY3VtZW50YXRpb24vQ1NTRG9jdW1lbnRhdGlvbi5qcworIworIyBUaGUg
ZGF0YSBjb21lcyBmcm9tIHRoZSBWU0NvZGUgY3VzdG9tIGRhdGEgcmVwb3NpdG9yeToKKyMgaHR0
cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC92c2NvZGUtY3VzdG9tLWRhdGEvYmxvYi9tYWluL3dl
Yi1kYXRhL2RhdGEvYnJvd3NlcnMuY3NzLWRhdGEuanNvbgorCitpbXBvcnQganNvbgoraW1wb3J0
IHBhdGhsaWIKK2ltcG9ydCB1cmxsaWIucmVxdWVzdAoraW1wb3J0IHVybGxpYi5lcnJvcgorCitW
U0NPREVfQ1NTX0RBVEFfSlNPTl9VUkwgPSAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQu
Y29tL21pY3Jvc29mdC92c2NvZGUtY3VzdG9tLWRhdGEvbWFpbi93ZWItZGF0YS9kYXRhL2Jyb3dz
ZXJzLmNzcy1kYXRhLmpzb24nCitST09UX0RJUiA9IChwYXRobGliLlBhdGgoX19maWxlX18pLnBh
cmVudCAvICIuLiIgLyAiLi4iKS5yZXNvbHZlKCkKK09VVFBVVF9ESVIgPSAnU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRXh0ZXJuYWwvQ1NTRG9jdW1lbnRhdGlvbicKK09VVFBV
VF9GSUxFTkFNRSA9ICdDU1NEb2N1bWVudGF0aW9uLmpzJworUFJFQU1CTEUgPSAiLy8gVGhpcyBm
aWxlIGlzIGdlbmVyYXRlZCBieSB1cGRhdGUtY3NzLWRvY3VtZW50YXRpb24uIERvIG5vdCBlZGl0
LlxuIgorCit0cnk6CisgICAgcHJpbnQoZidEb3dubG9hZGluZzoge1ZTQ09ERV9DU1NfREFUQV9K
U09OX1VSTH0nKQorICAgIHJlc3BvbnNlID0gdXJsbGliLnJlcXVlc3QudXJsb3BlbihWU0NPREVf
Q1NTX0RBVEFfSlNPTl9VUkwpCitleGNlcHQgdXJsbGliLmVycm9yLlVSTEVycm9yIGFzIGVycjoK
KyAgICBwcmludCgnRG93bmxvYWQgZmFpbGVkIFxuIHswfScuZm9ybWF0KGVycikpCisgICAgZXhp
dCgpCisKK3RyeToKKyAgICBwcmludCgnUGFyc2luZycpCisgICAgZGF0YSA9IGpzb24ubG9hZChy
ZXNwb25zZSkKK2V4Y2VwdCBqc29uLkpTT05EZWNvZGVFcnJvciBhcyBlcnI6CisgICAgcHJpbnQo
J1BhcnNpbmcgZmFpbGVkIFxuIHswfScuZm9ybWF0KGVycikpCisgICAgZXhpdCgpCisKK3ByaW50
KCdFeHRyYWN0aW5nIENTUyBwcm9wZXJ0eSBkYXRhJykKKworcHJvcGVydGllcyA9IHt9Citmb3Ig
cHJvcCBpbiBkYXRhWydwcm9wZXJ0aWVzJ106CisgICAgbmFtZSA9IHByb3AuZ2V0KCduYW1lJykK
KyAgICBkZXNjcmlwdGlvbiA9IHByb3AuZ2V0KCdkZXNjcmlwdGlvbicpCisgICAgc3ludGF4ID0g
cHJvcC5nZXQoJ3N5bnRheCcpCisgICAgcmVmZXJlbmNlcyA9IHByb3AuZ2V0KCdyZWZlcmVuY2Vz
JykKKyAgICB1cmwgPSAnJworCisgICAgaWYgKHJlZmVyZW5jZXMpOgorICAgICAgICB1cmwgPSBy
ZWZlcmVuY2VzWzBdLmdldCgndXJsJykKKworICAgICMgU2tpcCBwcm9wZXJ0aWVzIHdpdGggcHJl
Zml4ZXMgb3RoZXIgdGhhbiAtd2Via2l0LQorICAgIGlmIChuYW1lLnN0YXJ0c3dpdGgoJy1tb3ot
Jykgb3IgbmFtZS5zdGFydHN3aXRoKCctbXMtJykgb3IgbmFtZS5zdGFydHN3aXRoKCctby0nKSk6
CisgICAgICAgIGNvbnRpbnVlCisKKyAgICAjIFNraXAgcHJvcGVydGllcyBsYWNraW5nIGFueSBt
ZWFuaW5nZnVsIGNvbnRlbnQKKyAgICBpZiAobm90IGRlc2NyaXB0aW9uIGFuZCBub3Qgc3ludGF4
KToKKyAgICAgICAgY29udGludWUKKworICAgIHByb3BlcnRpZXNbbmFtZV0gPSB7fQorCisgICAg
aWYgZGVzY3JpcHRpb246CisgICAgICAgIHByb3BlcnRpZXNbbmFtZV1bJ2Rlc2NyaXB0aW9uJ10g
PSBkZXNjcmlwdGlvbgorCisgICAgaWYgc3ludGF4OgorICAgICAgICBwcm9wZXJ0aWVzW25hbWVd
WydzeW50YXgnXSA9IHN5bnRheAorCisgICAgaWYgdXJsOgorICAgICAgICBwcm9wZXJ0aWVzW25h
bWVdWyd1cmwnXSA9IHVybAorCit0cnk6CisgICAganNvbl9zdHJpbmcgPSBqc29uLmR1bXBzKHBy
b3BlcnRpZXMsIGluZGVudD00LCBzb3J0X2tleXM9VHJ1ZSkKKyAgICBmaWxlX3BhdGggPSBwYXRo
bGliLlBhdGgoUk9PVF9ESVIsIE9VVFBVVF9ESVIsIE9VVFBVVF9GSUxFTkFNRSkucmVzb2x2ZSgp
CisgICAgcHJpbnQoZidXcml0aW5nIGZpbGU6IHtmaWxlX3BhdGh9JykKKyAgICBmaWxlID0gb3Bl
bihmaWxlX3BhdGgsICd3JykKKyAgICBmaWxlLndyaXRlKFBSRUFNQkxFKQorICAgIGZpbGUud3Jp
dGUoJ0NTU0RvY3VtZW50YXRpb24gPSAnKQorICAgIGZpbGUud3JpdGUoanNvbl9zdHJpbmcpCisg
ICAgZmlsZS53cml0ZSgnO1xuJykKKyAgICBmaWxlLmNsb3NlKCkKK2V4Y2VwdCBPU0Vycm9yIGFz
IGVycjoKKyAgICBwcmludCgnV3JpdGluZyBmYWlsZWQgXG4gezB9Jy5mb3JtYXQoZXJyKSkKKyAg
ICBleGl0KCkKKworcHJpbnQoJ1N1Y2Nlc3MhJykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443550</attachid>
            <date>2021-11-08 08:34:53 -0800</date>
            <delta_ts>2021-11-09 08:58:43 -0800</delta_ts>
            <desc>[fast-cq] Patch 2.2</desc>
            <filename>bug-232433-20211108173452.patch</filename>
            <type>text/plain</type>
            <size>6439</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDQyMGZmYWJlNjkyZDQ3ZDNmZmFmMWY3YjAzNTY2
MzI3YmMwNDU1ZGUuLjVhNTExNTZiOTc1YTliNjMxNTI3NzI4N2Y3MDliMDgzNThhYmYwMTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTExLTA4ICBSYXp2
YW4gQ2FsaW1hbiAgPHJjYWxpbWFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBBZGQgc2NyaXB0IHRvIHVwZGF0ZSBDU1NEb2N1bWVudGF0aW9uLmpzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI0MzMKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzg0NzUzMDA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogU2NyaXB0cy91cGRhdGUtaW5zcGVjdG9yLWNzcy1kb2N1bWVudGF0aW9u
OiBBZGRlZC4KKworICAgICAgICBBZGQgYSBzY3JpcHQgdG8gdXBkYXRlIHRoZSBjb250ZXh0dWFs
IENTUyBkb2N1bWVudGF0aW9uIGRhdGEgc291cmNlIGF0CisgICAgICAgIGBTb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9FeHRlcm5hbC9DU1NEb2N1bWVudGF0aW9uL0NTU0RvY3Vt
ZW50YXRpb24uanNgCisgICAgICAgIHdpdGggdGhlIGxhdGVzdCBpbmZvcm1hdGlvbiBmcm9tIHRo
ZSB1cHN0cmVhbSBkYXRhIHNvdXJjZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvQ1NTTWFuYWdlci5qczoKKyAgICAgICAgKFdJLkNTU01hbmFnZXIucHJvdG90eXBlLmNh
bm9uaWNhbE5hbWVGb3JQcm9wZXJ0eU5hbWUpOgorCisgICAgICAgIEFkZCBhIGNvbW1lbnQgdG8g
a2VlcCB0aGUgbGlzdCBvZiBhY2NlcHRlZCBwcmVmaXhlcyBpbiBzeW5jIHdpdGggdGhlIG9uZSBm
cm9tIHRoZSBzY3JpcHQuCisKIDIwMjEtMTEtMDMgIE5pa2l0YSBWYXNpbHlldiAgPG52YXNpbHll
dkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRGlzcGxheSBzd2F0Y2ggcG9w
b3ZlcnMgYmVsb3cgdGhlIHN3YXRjaCBieSBkZWZhdWx0LCBub3Qgb24gdGhlIGxlZnQgc2lkZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1NjcmlwdHMvdXBkYXRlLWluc3BlY3Rv
ci1jc3MtZG9jdW1lbnRhdGlvbiBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9TY3JpcHRzL3VwZGF0
ZS1pbnNwZWN0b3ItY3NzLWRvY3VtZW50YXRpb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMThmNzc0ZTUzZTYxMTEw
MzZiZmY2ODM3N2M1NTNlNjJlZDk5Njc2NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9TY3JpcHRzL3VwZGF0ZS1pbnNwZWN0b3ItY3NzLWRvY3VtZW50YXRpb24KQEAg
LTAsMCArMSwxMDQgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMKKworIyBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisjIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisjIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisjIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTCisjIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorCisjIFRoaXMgc2NyaXB0IGdlbmVyYXRlcyB0aGUgZmlsZSB3
aXRoIENTUyBkb2N1bWVudGF0aW9uIHNob3duIGluIFdlYiBJbnNwZWN0b3I6CisjIFNvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0V4dGVybmFsL0NTU0RvY3VtZW50YXRpb24vQ1NT
RG9jdW1lbnRhdGlvbi5qcworIworIyBUaGUgZGF0YSBjb21lcyBmcm9tIHRoZSBWU0NvZGUgY3Vz
dG9tIGRhdGEgcmVwb3NpdG9yeToKKyMgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC92c2Nv
ZGUtY3VzdG9tLWRhdGEvYmxvYi9tYWluL3dlYi1kYXRhL2RhdGEvYnJvd3NlcnMuY3NzLWRhdGEu
anNvbgorCitpbXBvcnQganNvbgoraW1wb3J0IHVybGxpYi5yZXF1ZXN0CitpbXBvcnQgdXJsbGli
LmVycm9yCitmcm9tIHBhdGhsaWIgaW1wb3J0IFBhdGgKKworVlNDT0RFX0NTU19EQVRBX0pTT05f
VVJMID0gImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9taWNyb3NvZnQvdnNjb2Rl
LWN1c3RvbS1kYXRhL21haW4vd2ViLWRhdGEvZGF0YS9icm93c2Vycy5jc3MtZGF0YS5qc29uIgor
Uk9PVF9ESVIgPSAoUGF0aChfX2ZpbGVfXykucGFyZW50IC8gIi4uIiAvICIuLiIgLyAiLi4iKS5y
ZXNvbHZlKCkKK09VVFBVVF9ESVIgPSAiU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvRXh0ZXJuYWwvQ1NTRG9jdW1lbnRhdGlvbiIKK09VVFBVVF9GSUxFTkFNRSA9ICJDU1NEb2N1
bWVudGF0aW9uLmpzIgorCit0cnk6CisgICAgcHJpbnQoZiJEb3dubG9hZGluZzoge1ZTQ09ERV9D
U1NfREFUQV9KU09OX1VSTH0iKQorICAgIHJlc3BvbnNlID0gdXJsbGliLnJlcXVlc3QudXJsb3Bl
bihWU0NPREVfQ1NTX0RBVEFfSlNPTl9VUkwpCitleGNlcHQgdXJsbGliLmVycm9yLlVSTEVycm9y
IGFzIGVycjoKKyAgICBwcmludCgiRG93bmxvYWQgZmFpbGVkXG57MH0iLmZvcm1hdChlcnIpKQor
ICAgIGV4aXQoKQorCit0cnk6CisgICAgcHJpbnQoIlBhcnNpbmciKQorICAgIGRhdGEgPSBqc29u
LmxvYWQocmVzcG9uc2UpCitleGNlcHQganNvbi5KU09ORGVjb2RlRXJyb3IgYXMgZXJyOgorICAg
IHByaW50KCJQYXJzaW5nIGZhaWxlZFxuezB9Ii5mb3JtYXQoZXJyKSkKKyAgICBleGl0KCkKKwor
cHJpbnQoIkV4dHJhY3RpbmcgQ1NTIHByb3BlcnR5IGRhdGEiKQorCitwcm9wZXJ0aWVzID0ge30K
K2ZvciBwcm9wIGluIGRhdGFbInByb3BlcnRpZXMiXToKKyAgICBuYW1lID0gcHJvcC5nZXQoIm5h
bWUiKQorICAgIGRlc2NyaXB0aW9uID0gcHJvcC5nZXQoImRlc2NyaXB0aW9uIikKKyAgICBzeW50
YXggPSBwcm9wLmdldCgic3ludGF4IikKKyAgICByZWZlcmVuY2VzID0gcHJvcC5nZXQoInJlZmVy
ZW5jZXMiKQorICAgIHVybCA9ICIiCisKKyAgICBpZiAocmVmZXJlbmNlcyk6CisgICAgICAgIHVy
bCA9IHJlZmVyZW5jZXNbMF0uZ2V0KCJ1cmwiKQorCisgICAgaWYgKHVybCBhbmQgbm90IHVybC5z
dGFydHN3aXRoKCJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIpKToKKyAgICAgICAgcHJp
bnQoZiJXQVJOSU5HOiBTa2lwcGluZyB1bmV4cGVjdGVkIE1ETiByZWZlcmVuY2UgVVJMOiB7dXJs
fSIpCisgICAgICAgIHVybCA9ICIiCisKKyAgICAjIFNraXAgcHJvcGVydGllcyB3aXRoIHVuc3Vw
cG9ydGVkIHByZWZpeGVzLiBLZWVwIGluIHN5bmMgd2l0aCBwcmVmaXggbGlzdCBmcm9tIFdJLkNT
U01hbmFnZXIuY2Fub25pY2FsTmFtZUZvclByb3BlcnR5TmFtZSgpLgorICAgIGlmIChuYW1lLnN0
YXJ0c3dpdGgoIi0iKSBhbmQgbm90IG5hbWUuc3RhcnRzd2l0aCgoIi13ZWJraXQtIiwgIi1raHRt
bC0iLCAiLWFwcGxlLSIpKSk6CisgICAgICAgIGNvbnRpbnVlCisKKyAgICAjIFNraXAgcHJvcGVy
dGllcyBsYWNraW5nIGFueSBtZWFuaW5nZnVsIGNvbnRlbnQuCisgICAgaWYgKG5vdCBkZXNjcmlw
dGlvbiBhbmQgbm90IHN5bnRheCk6CisgICAgICAgIGNvbnRpbnVlCisKKyAgICBwcm9wZXJ0aWVz
W25hbWVdID0ge30KKworICAgIGlmIChkZXNjcmlwdGlvbik6CisgICAgICAgIHByb3BlcnRpZXNb
bmFtZV1bImRlc2NyaXB0aW9uIl0gPSBkZXNjcmlwdGlvbgorCisgICAgaWYgKHN5bnRheCk6Cisg
ICAgICAgIHByb3BlcnRpZXNbbmFtZV1bInN5bnRheCJdID0gc3ludGF4CisKKyAgICBpZiAodXJs
KToKKyAgICAgICAgcHJvcGVydGllc1tuYW1lXVsidXJsIl0gPSB1cmwKKwordHJ5OgorICAgIGZp
bGVfcGF0aCA9IFBhdGgoUk9PVF9ESVIsIE9VVFBVVF9ESVIsIE9VVFBVVF9GSUxFTkFNRSkucmVz
b2x2ZSgpCisgICAgcHJpbnQoZiJXcml0aW5nIGZpbGU6IHtmaWxlX3BhdGh9IikKKyAgICBmaWxl
ID0gb3BlbihmaWxlX3BhdGgsICJ3IikKKyAgICBmaWxlLndyaXRlKCIvLyBETyBOT1QgRURJVCBU
SElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHRoZSBzY3JpcHQ6IFNv
dXJjZS9XZWJJbnNwZWN0b3JVSS9TY3JpcHRzL3VwZGF0ZS1pbnNwZWN0b3ItY3NzLWRvY3VtZW50
YXRpb24uXG4iKQorICAgIGZpbGUud3JpdGUoIkNTU0RvY3VtZW50YXRpb24gPSAiKQorICAgIGZp
bGUud3JpdGUoanNvbi5kdW1wcyhwcm9wZXJ0aWVzLCBpbmRlbnQ9NCwgc29ydF9rZXlzPVRydWUp
KQorICAgIGZpbGUud3JpdGUoIjtcbiIpCisgICAgZmlsZS5jbG9zZSgpCitleGNlcHQgT1NFcnJv
ciBhcyBlcnI6CisgICAgcHJpbnQoIldyaXRpbmcgZmFpbGVkXG57MH0iLmZvcm1hdChlcnIpKQor
ICAgIGV4aXQoKQorCitwcmludCgiU3VjY2VzcyEiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NTTWFuYWdlci5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NTU01hbmFnZXIuanMK
aW5kZXggMGU1NTA0YjdkYTUwZWQzMGFlODQ4ZWY4OGYyNGUyY2ZiY2MyM2U2Zi4uNGEzYTdhNDc2
ZTk0YmYwNTEyYTk3YTViZjJiZWFlN2JmMzM0ZjQwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NTTWFuYWdlci5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9DU1NNYW5hZ2Vy
LmpzCkBAIC0yODMsNiArMjgzLDcgQEAgV0kuQ1NTTWFuYWdlciA9IGNsYXNzIENTU01hbmFnZXIg
ZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgaWYgKCFuYW1lIHx8IG5hbWUubGVuZ3RoIDwgOCB8
fCBuYW1lLmNoYXJBdCgwKSAhPT0gIi0iKQogICAgICAgICAgICAgcmV0dXJuIG5hbWU7CiAKKyAg
ICAgICAgLy8gS2VlcCBpbiBzeW5jIHdpdGggcHJlZml4IGxpc3QgZnJvbSBTb3VyY2UvV2ViSW5z
cGVjdG9yVUkvU2NyaXB0cy91cGRhdGUtaW5zcGVjdG9yLWNzcy1kb2N1bWVudGF0aW9uCiAgICAg
ICAgIHZhciBtYXRjaCA9IG5hbWUubWF0Y2goL14oPzotd2Via2l0LXwta2h0bWwtfC1hcHBsZS0p
KC4rKS8pOwogICAgICAgICBpZiAoIW1hdGNoKQogICAgICAgICAgICAgcmV0dXJuIG5hbWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>