<?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>236030</bug_id>
          
          <creation_ts>2022-02-02 10:50:05 -0800</creation_ts>
          <short_desc>ANGLE Metal and ANGLE OpenGL cannot be initialised one after the other</short_desc>
          <delta_ts>2022-03-01 09:47:15 -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>WebGL</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=237313</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>
          
          <blocked>228904</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>geofflang</cc>
    
    <cc>gman</cc>
    
    <cc>jonahr</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>kpiddington</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1836527</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-02 10:50:05 -0800</bug_when>
    <thetext>ANGLE Metal and ANGLE OpenGL cannot be initialised one after the other

This is especially problematic for A8 class SOCs, where we cannot use Metal for WebGL2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836565</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-02 11:53:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/88393654&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836603</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-02-02 13:10:25 -0800</bug_when>
    <thetext>Is this a recent regression in ANGLE compared to the state of things in Bug 228904?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836630</commentid>
    <comment_count>3</comment_count>
    <who name="Jonah RD">jonahr</who>
    <bug_when>2022-02-02 14:05:35 -0800</bug_when>
    <thetext>Can you provide some more details?
Does this mean initializing two ANGLE displays, one after the other, with different backends? Does it work in either order?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836809</commentid>
    <comment_count>4</comment_count>
      <attachid>450748</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-03 01:36:26 -0800</bug_when>
    <thetext>Created attachment 450748
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836845</commentid>
    <comment_count>5</comment_count>
      <attachid>450755</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-03 03:16:19 -0800</bug_when>
    <thetext>Created attachment 450755
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837062</commentid>
    <comment_count>6</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-03 13:01:41 -0800</bug_when>
    <thetext>(In reply to Jonah RD from comment #3)
&gt; Can you provide some more details?
&gt; Does this mean initializing two ANGLE displays, one after the other, with
&gt; different backends? Does it work in either order?


Initializing first WebGL1 with Metal.
Then trying to initialize WebGL2 with OpenGL.

The backend is a property of EGLDisplay

ANGLE does not differentiate EGLDisplays per backend.
Only per &quot;power preference&quot;.

Hence if we have initialised EGL_DEFAULT_DISPLAY with Metal, it will stay initialised as Metal, even if we ask OpenGL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837064</commentid>
    <comment_count>7</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-03 13:03:47 -0800</bug_when>
    <thetext>&gt; Does it work in either order?
No.
Ask Metal -&gt; Get Metal
Ask OpenGL -&gt; Get Metal

Ask OpenGL -&gt; Get OpenGL
Ask Metal -&gt; Get OpenGL

The only difference is that A8 doesn&apos;t support WebGL2 with Metal.
So those fail if WebGL1 is asked first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837068</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-03 13:08:02 -0800</bug_when>
    <thetext>Committed r289071 (246777@main): &lt;https://commits.webkit.org/246777@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450755.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837213</commentid>
    <comment_count>9</comment_count>
      <attachid>450755</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-02-03 18:41:04 -0800</bug_when>
    <thetext>Comment on attachment 450755
Patch

I don&apos;t understand all the implications of this patch. Will it prevent dual-GPU MacBook Pros from using the discrete GPU?

Are ANGLE changes needed / desired to make switching between the Metal and OpenGL backends more seamless?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837306</commentid>
    <comment_count>10</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-02-04 01:00:03 -0800</bug_when>
    <thetext>(In reply to Kenneth Russell from comment #9)
&gt; Comment on attachment 450755 [details]
&gt; Patch
&gt; 
&gt; I don&apos;t understand all the implications of this patch. Will it prevent
&gt; dual-GPU MacBook Pros from using the discrete GPU?

It will not prevent dual-GPU MacBook Pros from using the discrete GPU, as I understand.

Previously ANGLE used (NativeDisplay) as the key to store the EGLDisplay.

We had to invent new NativeDisplays for power preference contexts, so that we would get power preference specific native displays.

You proposed to change the EGL_GetPlatformDisplayEXT semantics.

I said the semantics should be to key on all passed in attributes that affect the display behaviour.

You proceeded to change the EGL_GetPlatformDisplayEXT implementation to key just on the power preference attribute.

This change trusts that ANGLE keys on power preference.

This change knows that ANGLE DOES NOT key on OpenGL vs Metal backend.

Note: this particular bug would have existed prior to the semantics change, so I&apos;m not saying that the semantics change would have broken anything. It just did not fix all the bugs in this class of bugs.


https://chromium-review.googlesource.com/c/angle/angle/+/3231986
&gt;&gt; Geoff

&gt; Kimmo Kinnunen
&gt; Patchset 6
&gt; Oct 21

&gt; &gt; I can explain this history here and the decision:

&gt; Thank you, makes sense.

&gt;&gt;I think every parameter is too much to key on, many are small tweaks

&gt; I don&apos;t think anything passed as the display attributes is optional. I think omitting any of the attributes that WebKit passes causes similar bugs in WebKit that we have with the power preference.
&gt; Not saying this patch should block on it..


&gt; Are ANGLE changes needed / desired to make switching between the Metal and
&gt; OpenGL backends more seamless?

EGL_GetPlatformDisplayEXT should key on all passed in attributes that affect the display behaviour.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838424</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-02-07 16:36:41 -0800</bug_when>
    <thetext>Thanks for the detailed history and reminder.

Apologies if I or we didn&apos;t quite understand all the implications of earlier changes and decisions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839222</commentid>
    <comment_count>12</comment_count>
    <who name="Jonah RD">jonahr</who>
    <bug_when>2022-02-09 09:34:30 -0800</bug_when>
    <thetext>The ANGLE-side fix is ready to be downstreamed: https://chromium-review.googlesource.com/c/angle/angle/+/3440780</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846958</commentid>
    <comment_count>13</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-01 02:09:35 -0800</bug_when>
    <thetext>(In reply to Jonah RD from comment #12)
&gt; The ANGLE-side fix is ready to be downstreamed:
&gt; https://chromium-review.googlesource.com/c/angle/angle/+/3440780

Thanks for spending the time. Bug 236030 is tracking the webkit side work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846959</commentid>
    <comment_count>14</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-01 02:09:39 -0800</bug_when>
    <thetext>(In reply to Jonah RD from comment #12)
&gt; The ANGLE-side fix is ready to be downstreamed:
&gt; https://chromium-review.googlesource.com/c/angle/angle/+/3440780

Thanks for spending the time. Bug 236030 is tracking the webkit side work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847068</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-03-01 09:47:15 -0800</bug_when>
    <thetext>Looks like Bug 237313 tracks it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450748</attachid>
            <date>2022-02-03 01:36:26 -0800</date>
            <delta_ts>2022-02-03 03:16:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236030-20220203113625.patch</filename>
            <type>text/plain</type>
            <size>9746</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4OTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjMxMjEzM2QwZTBhM2U3
ZmE5NDYzN2IyNzc5ZWZjZmIzODZlNTI1ZS4uYWExYTRjYjg2OTVmZTU1MDMxNDA5MjRkNjMzMjE1
NjBhMzcwNzUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIyLTAyLTAzICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQU5HTEUgTWV0YWwg
YW5kIEFOR0xFIE9wZW5HTCBjYW5ub3QgYmUgaW5pdGlhbGlzZWQgb25lIGFmdGVyIHRoZSBvdGhl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MDMw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDog
d2ViZ2wvcGVuZGluZy9jb25mb3JtYW5jZTIvbWlzYy93ZWJnbDItYWZ0ZXItd2ViZ2wxLWJ1Zy5o
dG1sCisgICAgICAgIFJlbW92ZSB0aGUgcG93ZXItcHJlZmVyZW5jZSBzcGVjaWZpYyBuYXRpdmUg
ZGlzcGxheXMuCisgICAgICAgIEFkZCBhIG5hdGl2ZSBkaXNwbGF5IGZvciBvcGVuZ2wsIGFuZCB1
c2UgdGhlIGRlZmF1bHQKKyAgICAgICAgb25lIGZvciBNZXRhbC4KKworICAgICAgICBBZnRlciB0
aGUgcmVjZW50IEFOR0xFIHJvbGwsIEFOR0xFIHVzZXMgKG5hdGl2ZSBkaXNwbGF5LCBwb3dlciBw
cmVmZXJlbmNlKQorICAgICAgICBhcyB0aGUga2V5IHRvIGxvb2sgdXAgRUdMRGlzcGxheXMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xF
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnJlbGVhc2VU
aHJlYWRSZXNvdXJjZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBo
aWNzQ29udGV4dEdMQU5HTEUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9H
cmFwaGljc0NvbnRleHRHTENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6aW5pdGlhbGl6ZUVH
TERpc3BsYXkpOgorCiAyMDIyLTAyLTAxICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggYXQgY29tLmFwcGxlLldlYktpdDogV2ViS2l0OjpSZW1v
dGVMYXllckJhY2tpbmdTdG9yZTo6ZGlzcGxheQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xF
LmNwcAppbmRleCA2ZWM2ZTU3NTVmNTUwYTU1MDEzNzExYTQxN2FiMTdiNTViYTEwYjAwLi5lZGE3
MjY1NTRmOWU4ZWMzMTg0NjRlY2MyZWE2OGRhMGYyODYwYTIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0Nv
bnRleHRHTEFOR0xFLmNwcApAQCAtMTQ0LDggKzE0NCw3IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6cmVsZWFzZVRocmVhZFJlc291cmNlcyhSZWxlYXNlVGhyZWFkUmVzb3VyY2VCZWhh
dmlvCiAgICAgICAgIGNvbnN0ZXhwciBFR0xOYXRpdmVEaXNwbGF5VHlwZSBuYXRpdmVEaXNwbGF5
c1tdID0gewogICAgICAgICAgICAgZGVmYXVsdERpc3BsYXksCiAjaWYgUExBVEZPUk0oQ09DT0Ep
Ci0gICAgICAgICAgICBsb3dQb3dlckRpc3BsYXksCi0gICAgICAgICAgICBoaWdoUGVyZm9ybWFu
Y2VEaXNwbGF5CisgICAgICAgICAgICBkZWZhdWx0T3BlbkdMRGlzcGxheSwKICNlbmRpZgogICAg
ICAgICB9OwogICAgICAgICBmb3IgKGF1dG8gbmF0aXZlRGlzcGxheSA6IG5hdGl2ZURpc3BsYXlz
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9H
cmFwaGljc0NvbnRleHRHTEFOR0xFLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKaW5kZXggZjhjMDk4YmFkNTczNjc0NTY0
NmJjNWJkYThlOTYxNmM0NDdiNzY3YS4uNTg1MDBjMjgzMDRlOTEyYjZiOGVhZDRhNTZmOTg5MjEy
NGQ1N2ZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5n
bGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaApAQCAtMzU3LDggKzM1Nyw4
IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0ZXhwciBzdGF0aWMgRUdMTmF0aXZlRGlzcGxheVR5cGUg
ZGVmYXVsdERpc3BsYXkgPSBFR0xfREVGQVVMVF9ESVNQTEFZOwogI2lmIFBMQVRGT1JNKENPQ09B
KQotICAgIGNvbnN0ZXhwciBzdGF0aWMgRUdMTmF0aXZlRGlzcGxheVR5cGUgbG93UG93ZXJEaXNw
bGF5ID0gRUdMX0NBU1QoRUdMTmF0aXZlRGlzcGxheVR5cGUsIC0xKTsKLSAgICBjb25zdGV4cHIg
c3RhdGljIEVHTE5hdGl2ZURpc3BsYXlUeXBlIGhpZ2hQZXJmb3JtYW5jZURpc3BsYXkgPSBFR0xf
Q0FTVChFR0xOYXRpdmVEaXNwbGF5VHlwZSwgLTIpOworICAgIGNvbnN0ZXhwciBzdGF0aWMgRUdM
TmF0aXZlRGlzcGxheVR5cGUgZGVmYXVsdE9wZW5HTERpc3BsYXkgPSBFR0xfQ0FTVChFR0xOYXRp
dmVEaXNwbGF5VHlwZSwgLTEpOworICAgIHN0YXRpY19hc3NlcnQoZGVmYXVsdERpc3BsYXkgIT0g
ZGVmYXVsdE9wZW5HTERpc3BsYXkpOwogI2VuZGlmCiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdM
Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGlj
c0NvbnRleHRHTENvY29hLm1tCmluZGV4IDMyYTE0MzYwOGY1OTAzMTUxNmM1OTE3Y2VhZTdmZmQw
MzlmZDRlZjAuLjBjZDBhMjRmZGI3MmMzN2JjZDI1YzAwMGM1NDYyYzYxYzIwNWY3NTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29u
dGV4dEdMQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQpAQCAtMTU5LDEzICsxNTksMTMgQEAgc3RhdGlj
IEVHTERpc3BsYXkgaW5pdGlhbGl6ZUVHTERpc3BsYXkoY29uc3QgR3JhcGhpY3NDb250ZXh0R0xB
dHRyaWJ1dGVzJiBhdHRycykKICAgICAgICAgaWYgKHBvd2VyUHJlZmVyZW5jZSA9PSBHcmFwaGlj
c0NvbnRleHRHTEF0dHJpYnV0ZXM6OlBvd2VyUHJlZmVyZW5jZTo6TG93UG93ZXIpIHsKICAgICAg
ICAgICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfUE9XRVJfUFJFRkVSRU5DRV9BTkdM
RSk7CiAgICAgICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX0xPV19QT1dFUl9B
TkdMRSk7Ci0gICAgICAgICAgICBuYXRpdmVEaXNwbGF5ID0gR3JhcGhpY3NDb250ZXh0R0xBTkdM
RTo6bG93UG93ZXJEaXNwbGF5OwogICAgICAgICB9IGVsc2UgaWYgKHBvd2VyUHJlZmVyZW5jZSA9
PSBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXM6OlBvd2VyUHJlZmVyZW5jZTo6SGlnaFBlcmZv
cm1hbmNlKSB7CiAgICAgICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BPV0VS
X1BSRUZFUkVOQ0VfQU5HTEUpOwogICAgICAgICAgICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBwZW5k
KEVHTF9ISUdIX1BPV0VSX0FOR0xFKTsKLSAgICAgICAgICAgIG5hdGl2ZURpc3BsYXkgPSBHcmFw
aGljc0NvbnRleHRHTEFOR0xFOjpoaWdoUGVyZm9ybWFuY2VEaXNwbGF5OwogICAgICAgICB9Ci0g
ICAgfQorICAgIH0gZWxzZQorICAgICAgICBuYXRpdmVEaXNwbGF5ID0gR3JhcGhpY3NDb250ZXh0
R0xBTkdMRTo6ZGVmYXVsdE9wZW5HTERpc3BsYXk7CisKICAgICBkaXNwbGF5QXR0cmlidXRlcy5h
cHBlbmQoRUdMX05PTkUpOwogICAgIGRpc3BsYXkgPSBFR0xfR2V0UGxhdGZvcm1EaXNwbGF5RVhU
KEVHTF9QTEFURk9STV9BTkdMRV9BTkdMRSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4obmF0aXZl
RGlzcGxheSksIGRpc3BsYXlBdHRyaWJ1dGVzLmRhdGEoKSk7CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1MWI0NjU5YWMy
YTFlODIxYTZjMWZiZGFlYWFkNTExNTQ5ZmI0MTdhLi45YWE3ZTE5NDMwMTE1YTQyYzg5ZGJhNzIz
NzZlMDg0N2MzNmNlNDE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDItMDMgIEtpbW1v
IEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBBTkdMRSBNZXRhbCBh
bmQgQU5HTEUgT3BlbkdMIGNhbm5vdCBiZSBpbml0aWFsaXNlZCBvbmUgYWZ0ZXIgdGhlIG90aGVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYwMzAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYmds
L3BlbmRpbmcvY29uZm9ybWFuY2UyL21pc2Mvd2ViZ2wyLWFmdGVyLXdlYmdsMS1idWctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9wZW5kaW5nL2NvbmZvcm1hbmNlMi9taXNj
L3dlYmdsMi1hZnRlci13ZWJnbDEtYnVnLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jl
c291cmNlcy9wZW5kaW5nX3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UyL21pc2Mvd2ViZ2wy
LWFmdGVyLXdlYmdsMS1idWcuaHRtbDogQWRkZWQuCisKIDIwMjItMDItMDIgIFBhdHJpY2sgR3Jp
ZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgV1BUOiBJbXBvcnQgV2ViQXNz
ZW1ibHkgQ1NQIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9wZW5kaW5nL2Nv
bmZvcm1hbmNlMi9taXNjL3dlYmdsMi1hZnRlci13ZWJnbDEtYnVnLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3dlYmdsL3BlbmRpbmcvY29uZm9ybWFuY2UyL21pc2Mvd2ViZ2wyLWFmdGVyLXdl
YmdsMS1idWctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0MDBmODIwNzMwZTliM2I1ZGU5MGQ5
YThiOTllNzI2ZDQyZGQyYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9w
ZW5kaW5nL2NvbmZvcm1hbmNlMi9taXNjL3dlYmdsMi1hZnRlci13ZWJnbDEtYnVnLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDQgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAu
Li8uLi8uLi9yZXNvdXJjZXMvcGVuZGluZ193ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlMi9n
bHNsMy9mbG9hdC1jb25zdGFudC1leHByZXNzaW9ucy5odG1sP3dlYmdsVmVyc2lvbj0yCitbIFBB
U1MgXSBBbGwgdGVzdHMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9wZW5k
aW5nL2NvbmZvcm1hbmNlMi9taXNjL3dlYmdsMi1hZnRlci13ZWJnbDEtYnVnLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9wZW5kaW5nL2NvbmZvcm1hbmNlMi9taXNjL3dlYmdsMi1hZnRlci13ZWJn
bDEtYnVnLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWJkNmRjNmRkNDk5NWNlZWJmZmZhOTdlOTU0MDNkMTRm
MTdmMjdjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3BlbmRpbmcvY29u
Zm9ybWFuY2UyL21pc2Mvd2ViZ2wyLWFmdGVyLXdlYmdsMS1idWcuaHRtbApAQCAtMCwwICsxLDE3
IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ1blNpbmdseT10
cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igd2ViZ2wyLWFmdGVyLXdlYmdsMS1i
dWcuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0
LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi8uLi9yZXNvdXJjZXMvcGVuZGlu
Z193ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlMi9taXNjL3dlYmdsMi1hZnRlci13ZWJnbDEt
YnVnLmh0bWw/d2ViZ2xWZXJzaW9uPTIiPi4uLy4uLy4uL3Jlc291cmNlcy9wZW5kaW5nX3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UyL21pc2Mvd2ViZ2wyLWFmdGVyLXdlYmdsMS1idWcuaHRt
bD93ZWJnbFZlcnNpb249MjwvYT4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL3BlbmRpbmdfd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvbWlz
Yy93ZWJnbDItYWZ0ZXItd2ViZ2wxLWJ1Zy5odG1sP3dlYmdsVmVyc2lvbj0yIiB3aWR0aD0iODAw
IiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvcGVuZGluZ193ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlMi9taXNjL3dlYmdsMi1hZnRl
ci13ZWJnbDEtYnVnLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvcGVuZGluZ193
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlMi9taXNjL3dlYmdsMi1hZnRlci13ZWJnbDEtYnVn
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzUyNTIyYzYyYjYwYTY1ZGEzNTliNDFlZjg5YzAwNGVkMzc3NmM4
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy9wZW5kaW5n
X3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UyL21pc2Mvd2ViZ2wyLWFmdGVyLXdlYmdsMS1i
dWcuaHRtbApAQCAtMCwwICsxLDY3IEBACis8IS0tCitDb3B5cmlnaHQgKGMpIDIwMjIgVGhlIEto
cm9ub3MgR3JvdXAgSW5jLgorVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkg
YW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKK2ZvdW5kIGluIHRoZSBMSUNFTlNFLnR4
dCBmaWxlLgorLS0+CisKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzxtZXRhIG5hbWU9IndlYmtpdC10ZXN0LXJ1bm5lci1vcHRpb25zIiBj
b250ZW50PSJydW5TaW5nbHk9dHJ1ZSI+Cis8dGl0bGU+V2ViR0wgY29uZm9ybWFuY2UgdGVzdCBm
b3IgV2ViR0wxIGFuZCBXZWJHTDIgY29udGV4dCBzZXF1ZW50aWFsbHk8L3RpdGxlPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi93ZWJnbF90ZXN0X2ZpbGVzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3dlYmdsX3Rlc3Rf
ZmlsZXMvanMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3dlYmdsX3Rlc3RfZmlsZXMvanMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzMSIgc3R5bGU9IndpZHRoOiA1MHB4OyBoZWln
aHQ6IDUwcHg7Ij4gPC9jYW52YXM+Cis8Y2FudmFzIGlkPSJjYW52YXMyIiBzdHlsZT0id2lkdGg6
IDUwcHg7IGhlaWdodDogNTBweDsiPiA8L2NhbnZhcz4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7
CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBXZWJHTDIgY29udGV4dCBpbnN0
YW50aWF0ZWQgYWZ0ZXIgV2ViR0wxIGNvbnRleHQgd29ya3MuIik7CisKK2RlYnVnKCIiKTsKKwor
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgYXNzZXJ0TXNnKHdpbmRvdy5XZWJHTDJSZW5kZXJpbmdD
b250ZXh0LAorICAgICAgICAgICAgIldlYkdMMlJlbmRlcmluZ0NvbnRleHQgc2hvdWxkIGJlIGEg
bWVtYmVyIG9mIHdpbmRvdyIpOworICBhc3NlcnRNc2coJ1dlYkdMMlJlbmRlcmluZ0NvbnRleHQn
IGluIHdpbmRvdywKKyAgICAgICAgICAgICJXZWJHTDJSZW5kZXJpbmdDb250ZXh0IHNob3VsZCBi
ZSAnaW4nIHdpbmRvdyIpOworCisgIGNvbnN0IHd0dSA9IFdlYkdMVGVzdFV0aWxzOworICBsZXQg
Y2FudmFzMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMxIik7CisgIGxldCBnbDEg
PSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhczEsIG51bGwsIDEpOworICBpZiAoIWdsMSkgewor
ICAgIHRlc3RGYWlsZWQoIkNvdWxkIG5vdCBmZXRjaCBXZWJHTCAxLjAgY29udGV4dCIpOworICAg
IHJldHVybjsKKyAgfQorICB0ZXN0UGFzc2VkKCJGZXRjaGVkIFdlYkdMIDEuMCBjb250ZXh0IHN1
Y2Nlc3NmdWxseSIpOworICBkZWJ1ZygiQ2hlY2tpbmcgV2ViR0wxIGNvbnRleHQgdHlwZSIpOwor
ICBhc3NlcnRNc2coZ2wxIGluc3RhbmNlb2YgV2ViR0xSZW5kZXJpbmdDb250ZXh0LAorICAgICAg
ICAgICAgImNvbnRleHQgdHlwZSBzaG91bGQgYmUgV2ViR0xSZW5kZXJpbmdDb250ZXh0Iik7CisK
KyAgbGV0IGNhbnZhczIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMiIpOworICBs
ZXQgZ2wyID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMyLCBudWxsLCAyKTsKKyAgaWYgKCFn
bDIpIHsKKyAgICB0ZXN0RmFpbGVkKCJDb3VsZCBub3QgZmV0Y2ggV2ViR0wgMi4wIGNvbnRleHQi
KTsKKyAgICByZXR1cm47CisgIH0KKyAgdGVzdFBhc3NlZCgiRmV0Y2hlZCBXZWJHTDIgY29udGV4
dCBzdWNjZXNzZnVsbHkiKTsKKworICBkZWJ1ZygiQ2hlY2tpbmcgV2ViR0wyIGNvbnRleHQgdHlw
ZSIpOworICBhc3NlcnRNc2coZ2wyIGluc3RhbmNlb2YgV2ViR0wyUmVuZGVyaW5nQ29udGV4dCwK
KyAgICAgICAgICAgICJjb250ZXh0IHR5cGUgc2hvdWxkIGJlIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQiKTsKK30KKworcnVuVGVzdCgpOworZGVidWcoIiIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3dlYmdsX3Rlc3Rf
ZmlsZXMvanMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450755</attachid>
            <date>2022-02-03 03:16:19 -0800</date>
            <delta_ts>2022-02-03 13:08:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236030-20220203131617.patch</filename>
            <type>text/plain</type>
            <size>9744</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4OTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjMxMjEzM2QwZTBhM2U3
ZmE5NDYzN2IyNzc5ZWZjZmIzODZlNTI1ZS4uMDJlNzkyOWU1Yjg3NDVkMjJmYjMzYWMwYTc1MDQ0
YWY2ODIwOWI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAyLTAzICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQU5HTEUgTWV0YWwg
YW5kIEFOR0xFIE9wZW5HTCBjYW5ub3QgYmUgaW5pdGlhbGlzZWQgb25lIGFmdGVyIHRoZSBvdGhl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MDMw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDog
d2ViZ2wvcGVuZGluZy9jb25mb3JtYW5jZTIvbWlzYy93ZWJnbDItYWZ0ZXItd2ViZ2wxLWJ1Zy5o
dG1sCisKKyAgICAgICAgUmVtb3ZlIHRoZSBwb3dlci1wcmVmZXJlbmNlIHNwZWNpZmljIG5hdGl2
ZSBkaXNwbGF5cy4KKyAgICAgICAgQWRkIGEgbmF0aXZlIGRpc3BsYXkgZm9yIG9wZW5nbCwgYW5k
IHVzZSB0aGUgZGVmYXVsdAorICAgICAgICBvbmUgZm9yIE1ldGFsLgorCisgICAgICAgIEFmdGVy
IHRoZSByZWNlbnQgQU5HTEUgcm9sbCwgQU5HTEUgdXNlcyAobmF0aXZlIGRpc3BsYXksIHBvd2Vy
IHByZWZlcmVuY2UpCisgICAgICAgIGFzIHRoZSBrZXkgdG8gbG9vayB1cCBFR0xEaXNwbGF5cy4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5H
TEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVsZWFz
ZVRocmVhZFJlc291cmNlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3Jh
cGhpY3NDb250ZXh0R0xBTkdMRS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjppbml0aWFsaXpl
RUdMRGlzcGxheSk6CisKIDIwMjItMDItMDEgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFw
cGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBhdCBjb20uYXBwbGUuV2ViS2l0OiBXZWJLaXQ6OlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5H
TEUuY3BwCmluZGV4IDZlYzZlNTc1NWY1NTBhNTUwMTM3MTFhNDE3YWIxN2I1NWJhMTBiMDAuLmVk
YTcyNjU1NGY5ZThlYzMxODQ2NGVjYzJlYTY4ZGEwZjI4NjBhMjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNz
Q29udGV4dEdMQU5HTEUuY3BwCkBAIC0xNDQsOCArMTQ0LDcgQEAgYm9vbCBHcmFwaGljc0NvbnRl
eHRHTEFOR0xFOjpyZWxlYXNlVGhyZWFkUmVzb3VyY2VzKFJlbGVhc2VUaHJlYWRSZXNvdXJjZUJl
aGF2aW8KICAgICAgICAgY29uc3RleHByIEVHTE5hdGl2ZURpc3BsYXlUeXBlIG5hdGl2ZURpc3Bs
YXlzW10gPSB7CiAgICAgICAgICAgICBkZWZhdWx0RGlzcGxheSwKICNpZiBQTEFURk9STShDT0NP
QSkKLSAgICAgICAgICAgIGxvd1Bvd2VyRGlzcGxheSwKLSAgICAgICAgICAgIGhpZ2hQZXJmb3Jt
YW5jZURpc3BsYXkKKyAgICAgICAgICAgIGRlZmF1bHRPcGVuR0xEaXNwbGF5LAogI2VuZGlmCiAg
ICAgICAgIH07CiAgICAgICAgIGZvciAoYXV0byBuYXRpdmVEaXNwbGF5IDogbmF0aXZlRGlzcGxh
eXMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xl
L0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaAppbmRleCBmOGMwOThiYWQ1NzM2NzQ1
NjQ2YmM1YmRhOGU5NjE2YzQ0N2I3NjdhLi41ODUwMGMyODMwNGU5MTJiNmI4ZWFkNGE1NmY5ODky
MTI0ZDU3ZmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
bmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oCkBAIC0zNTcsOCArMzU3
LDggQEAgcHVibGljOgogCiAgICAgY29uc3RleHByIHN0YXRpYyBFR0xOYXRpdmVEaXNwbGF5VHlw
ZSBkZWZhdWx0RGlzcGxheSA9IEVHTF9ERUZBVUxUX0RJU1BMQVk7CiAjaWYgUExBVEZPUk0oQ09D
T0EpCi0gICAgY29uc3RleHByIHN0YXRpYyBFR0xOYXRpdmVEaXNwbGF5VHlwZSBsb3dQb3dlckRp
c3BsYXkgPSBFR0xfQ0FTVChFR0xOYXRpdmVEaXNwbGF5VHlwZSwgLTEpOwotICAgIGNvbnN0ZXhw
ciBzdGF0aWMgRUdMTmF0aXZlRGlzcGxheVR5cGUgaGlnaFBlcmZvcm1hbmNlRGlzcGxheSA9IEVH
TF9DQVNUKEVHTE5hdGl2ZURpc3BsYXlUeXBlLCAtMik7CisgICAgY29uc3RleHByIHN0YXRpYyBF
R0xOYXRpdmVEaXNwbGF5VHlwZSBkZWZhdWx0T3BlbkdMRGlzcGxheSA9IEVHTF9DQVNUKEVHTE5h
dGl2ZURpc3BsYXlUeXBlLCAtMSk7CisgICAgc3RhdGljX2Fzc2VydChkZWZhdWx0RGlzcGxheSAh
PSBkZWZhdWx0T3BlbkdMRGlzcGxheSk7CiAjZW5kaWYKIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0
R0xDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBo
aWNzQ29udGV4dEdMQ29jb2EubW0KaW5kZXggMzJhMTQzNjA4ZjU5MDMxNTE2YzU5MTdjZWFlN2Zm
ZDAzOWZkNGVmMC4uMGNkMGEyNGZkYjcyYzM3YmNkMjVjMDAwYzU0NjJjNjFjMjA1Zjc1MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3ND
b250ZXh0R0xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9HcmFwaGljc0NvbnRleHRHTENvY29hLm1tCkBAIC0xNTksMTMgKzE1OSwxMyBAQCBzdGF0
aWMgRUdMRGlzcGxheSBpbml0aWFsaXplRUdMRGlzcGxheShjb25zdCBHcmFwaGljc0NvbnRleHRH
TEF0dHJpYnV0ZXMmIGF0dHJzKQogICAgICAgICBpZiAocG93ZXJQcmVmZXJlbmNlID09IEdyYXBo
aWNzQ29udGV4dEdMQXR0cmlidXRlczo6UG93ZXJQcmVmZXJlbmNlOjpMb3dQb3dlcikgewogICAg
ICAgICAgICAgZGlzcGxheUF0dHJpYnV0ZXMuYXBwZW5kKEVHTF9QT1dFUl9QUkVGRVJFTkNFX0FO
R0xFKTsKICAgICAgICAgICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfTE9XX1BPV0VS
X0FOR0xFKTsKLSAgICAgICAgICAgIG5hdGl2ZURpc3BsYXkgPSBHcmFwaGljc0NvbnRleHRHTEFO
R0xFOjpsb3dQb3dlckRpc3BsYXk7CiAgICAgICAgIH0gZWxzZSBpZiAocG93ZXJQcmVmZXJlbmNl
ID09IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlczo6UG93ZXJQcmVmZXJlbmNlOjpIaWdoUGVy
Zm9ybWFuY2UpIHsKICAgICAgICAgICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfUE9X
RVJfUFJFRkVSRU5DRV9BTkdMRSk7CiAgICAgICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBl
bmQoRUdMX0hJR0hfUE9XRVJfQU5HTEUpOwotICAgICAgICAgICAgbmF0aXZlRGlzcGxheSA9IEdy
YXBoaWNzQ29udGV4dEdMQU5HTEU6OmhpZ2hQZXJmb3JtYW5jZURpc3BsYXk7CiAgICAgICAgIH0K
LSAgICB9CisgICAgfSBlbHNlCisgICAgICAgIG5hdGl2ZURpc3BsYXkgPSBHcmFwaGljc0NvbnRl
eHRHTEFOR0xFOjpkZWZhdWx0T3BlbkdMRGlzcGxheTsKKwogICAgIGRpc3BsYXlBdHRyaWJ1dGVz
LmFwcGVuZChFR0xfTk9ORSk7CiAgICAgZGlzcGxheSA9IEVHTF9HZXRQbGF0Zm9ybURpc3BsYXlF
WFQoRUdMX1BMQVRGT1JNX0FOR0xFX0FOR0xFLCByZWludGVycHJldF9jYXN0PHZvaWQqPihuYXRp
dmVEaXNwbGF5KSwgZGlzcGxheUF0dHJpYnV0ZXMuZGF0YSgpKTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUxYjQ2NTlh
YzJhMWU4MjFhNmMxZmJkYWVhYWQ1MTE1NDlmYjQxN2EuLjlhYTdlMTk0MzAxMTVhNDJjODlkYmE3
MjM3NmUwODQ3YzM2Y2U0MTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMi0wMi0wMyAgS2lt
bW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIEFOR0xFIE1ldGFs
IGFuZCBBTkdMRSBPcGVuR0wgY2Fubm90IGJlIGluaXRpYWxpc2VkIG9uZSBhZnRlciB0aGUgb3Ro
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjAz
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Vi
Z2wvcGVuZGluZy9jb25mb3JtYW5jZTIvbWlzYy93ZWJnbDItYWZ0ZXItd2ViZ2wxLWJ1Zy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3BlbmRpbmcvY29uZm9ybWFuY2UyL21p
c2Mvd2ViZ2wyLWFmdGVyLXdlYmdsMS1idWcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wv
cmVzb3VyY2VzL3BlbmRpbmdfd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvbWlzYy93ZWJn
bDItYWZ0ZXItd2ViZ2wxLWJ1Zy5odG1sOiBBZGRlZC4KKwogMjAyMi0wMi0wMiAgUGF0cmljayBH
cmlmZmlzICA8cGdyaWZmaXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBXUFQ6IEltcG9ydCBXZWJB
c3NlbWJseSBDU1AgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3BlbmRpbmcv
Y29uZm9ybWFuY2UyL21pc2Mvd2ViZ2wyLWFmdGVyLXdlYmdsMS1idWctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2ViZ2wvcGVuZGluZy9jb25mb3JtYW5jZTIvbWlzYy93ZWJnbDItYWZ0ZXIt
d2ViZ2wxLWJ1Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmEyNGUzOTAzMGM0ZDYxNmI0NjI4
MjFmZTYyZmZlZDdmODg0NWZjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3BlbmRpbmcvY29uZm9ybWFuY2UyL21pc2Mvd2ViZ2wyLWFmdGVyLXdlYmdsMS1idWctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6
IC4uLy4uLy4uL3Jlc291cmNlcy9wZW5kaW5nX3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uy
L21pc2Mvd2ViZ2wyLWFmdGVyLXdlYmdsMS1idWcuaHRtbD93ZWJnbFZlcnNpb249MgorWyBQQVNT
IF0gQWxsIHRlc3RzIHBhc3NlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcGVuZGlu
Zy9jb25mb3JtYW5jZTIvbWlzYy93ZWJnbDItYWZ0ZXItd2ViZ2wxLWJ1Zy5odG1sIGIvTGF5b3V0
VGVzdHMvd2ViZ2wvcGVuZGluZy9jb25mb3JtYW5jZTIvbWlzYy93ZWJnbDItYWZ0ZXItd2ViZ2wx
LWJ1Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiZDZkYzZkZDQ5OTVjZWViZmZmYTk3ZTk1NDAzZDE0ZjE3
ZjI3Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9wZW5kaW5nL2NvbmZv
cm1hbmNlMi9taXNjL3dlYmdsMi1hZnRlci13ZWJnbDEtYnVnLmh0bWwKQEAgLTAsMCArMSwxNyBA
QAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydW5TaW5nbHk9dHJ1
ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5X
ZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHdlYmdsMi1hZnRlci13ZWJnbDEtYnVn
Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1o
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMg
dGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNT
IG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vLi4vcmVzb3VyY2VzL3BlbmRpbmdf
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvbWlzYy93ZWJnbDItYWZ0ZXItd2ViZ2wxLWJ1
Zy5odG1sP3dlYmdsVmVyc2lvbj0yIj4uLi8uLi8uLi9yZXNvdXJjZXMvcGVuZGluZ193ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlMi9taXNjL3dlYmdsMi1hZnRlci13ZWJnbDEtYnVnLmh0bWw/
d2ViZ2xWZXJzaW9uPTI8L2E+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9wZW5kaW5nX3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UyL21pc2Mv
d2ViZ2wyLWFmdGVyLXdlYmdsMS1idWcuaHRtbD93ZWJnbFZlcnNpb249MiIgd2lkdGg9IjgwMCIg
aGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3BlbmRpbmdfd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvbWlzYy93ZWJnbDItYWZ0ZXIt
d2ViZ2wxLWJ1Zy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3BlbmRpbmdfd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvbWlzYy93ZWJnbDItYWZ0ZXItd2ViZ2wxLWJ1Zy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM1MjUyMmM2MmI2MGE2NWRhMzU5YjQxZWY4OWMwMDRlZDM3NzZjOGYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvcGVuZGluZ193
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlMi9taXNjL3dlYmdsMi1hZnRlci13ZWJnbDEtYnVn
Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCEtLQorQ29weXJpZ2h0IChjKSAyMDIyIFRoZSBLaHJv
bm9zIEdyb3VwIEluYy4KK1VzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFu
IE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCitmb3VuZCBpbiB0aGUgTElDRU5TRS50eHQg
ZmlsZS4KKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8bWV0YSBuYW1lPSJ3ZWJraXQtdGVzdC1ydW5uZXItb3B0aW9ucyIgY29u
dGVudD0icnVuU2luZ2x5PXRydWUiPgorPHRpdGxlPldlYkdMIGNvbmZvcm1hbmNlIHRlc3QgZm9y
IFdlYkdMMSBhbmQgV2ViR0wyIGNvbnRleHQgc2VxdWVudGlhbGx5PC90aXRsZT4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vd2ViZ2xfdGVzdF9maWxlcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi93ZWJnbF90ZXN0X2Zp
bGVzL2pzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi93
ZWJnbF90ZXN0X2ZpbGVzL2pzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhczEiIHN0eWxlPSJ3aWR0aDogNTBweDsgaGVpZ2h0
OiA1MHB4OyI+IDwvY2FudmFzPgorPGNhbnZhcyBpZD0iY2FudmFzMiIgc3R5bGU9IndpZHRoOiA1
MHB4OyBoZWlnaHQ6IDUwcHg7Ij4gPC9jYW52YXM+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwor
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgV2ViR0wyIGNvbnRleHQgaW5zdGFu
dGlhdGVkIGFmdGVyIFdlYkdMMSBjb250ZXh0IHdvcmtzLiIpOworCitkZWJ1ZygiIik7CisKK2Z1
bmN0aW9uIHJ1blRlc3QoKSB7CisgIGFzc2VydE1zZyh3aW5kb3cuV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dCwKKyAgICAgICAgICAgICJXZWJHTDJSZW5kZXJpbmdDb250ZXh0IHNob3VsZCBiZSBhIG1l
bWJlciBvZiB3aW5kb3ciKTsKKyAgYXNzZXJ0TXNnKCdXZWJHTDJSZW5kZXJpbmdDb250ZXh0JyBp
biB3aW5kb3csCisgICAgICAgICAgICAiV2ViR0wyUmVuZGVyaW5nQ29udGV4dCBzaG91bGQgYmUg
J2luJyB3aW5kb3ciKTsKKworICBjb25zdCB3dHUgPSBXZWJHTFRlc3RVdGlsczsKKyAgbGV0IGNh
bnZhczEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzMSIpOworICBsZXQgZ2wxID0g
d3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMxLCBudWxsLCAxKTsKKyAgaWYgKCFnbDEpIHsKKyAg
ICB0ZXN0RmFpbGVkKCJDb3VsZCBub3QgZmV0Y2ggV2ViR0wgMS4wIGNvbnRleHQiKTsKKyAgICBy
ZXR1cm47CisgIH0KKyAgdGVzdFBhc3NlZCgiRmV0Y2hlZCBXZWJHTCAxLjAgY29udGV4dCBzdWNj
ZXNzZnVsbHkiKTsKKyAgZGVidWcoIkNoZWNraW5nIFdlYkdMMSBjb250ZXh0IHR5cGUiKTsKKyAg
YXNzZXJ0TXNnKGdsMSBpbnN0YW5jZW9mIFdlYkdMUmVuZGVyaW5nQ29udGV4dCwKKyAgICAgICAg
ICAgICJjb250ZXh0IHR5cGUgc2hvdWxkIGJlIFdlYkdMUmVuZGVyaW5nQ29udGV4dCIpOworCisg
IGxldCBjYW52YXMyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhczIiKTsKKyAgbGV0
IGdsMiA9IHd0dS5jcmVhdGUzRENvbnRleHQoY2FudmFzMiwgbnVsbCwgMik7CisgIGlmICghZ2wy
KSB7CisgICAgdGVzdEZhaWxlZCgiQ291bGQgbm90IGZldGNoIFdlYkdMIDIuMCBjb250ZXh0Iik7
CisgICAgcmV0dXJuOworICB9CisgIHRlc3RQYXNzZWQoIkZldGNoZWQgV2ViR0wyIGNvbnRleHQg
c3VjY2Vzc2Z1bGx5Iik7CisKKyAgZGVidWcoIkNoZWNraW5nIFdlYkdMMiBjb250ZXh0IHR5cGUi
KTsKKyAgYXNzZXJ0TXNnKGdsMiBpbnN0YW5jZW9mIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQsCisg
ICAgICAgICAgICAiY29udGV4dCB0eXBlIHNob3VsZCBiZSBXZWJHTDJSZW5kZXJpbmdDb250ZXh0
Iik7Cit9CisKK3J1blRlc3QoKTsKK2RlYnVnKCIiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi93ZWJnbF90ZXN0X2Zp
bGVzL2pzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>