<?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>237313</bug_id>
          
          <creation_ts>2022-03-01 02:09:01 -0800</creation_ts>
          <short_desc>GraphicsContextGLCocoa manages EGL native displays manually</short_desc>
          <delta_ts>2022-03-09 00:38:09 -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=236030</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>236487</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1846957</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-01 02:09:01 -0800</bug_when>
    <thetext>GraphicsContextGLCocoa manages EGL native displays manually

bug 236030

&gt; &gt; EGL_GetPlatformDisplayEXT should key on all passed in attributes that affect the display behaviour.

&gt; The ANGLE-side fix is ready to be downstreamed: https://chromium-review.googlesource.com/c/angle/angle/+/3440780


Note: there are WK1 behavior where we need to iterate all the existing native displays and release thread on them.
If we move away from manual native display handling, we must cache all the known displays for this use-case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848680</commentid>
    <comment_count>1</comment_count>
      <attachid>453961</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-07 04:16:31 -0800</bug_when>
    <thetext>Created attachment 453961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848682</commentid>
    <comment_count>2</comment_count>
      <attachid>453962</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-07 04:24:44 -0800</bug_when>
    <thetext>Created attachment 453962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848917</commentid>
    <comment_count>3</comment_count>
      <attachid>453962</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-03-07 13:08:35 -0800</bug_when>
    <thetext>Comment on attachment 453962
Patch

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

&gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:64
&gt; +static HashSet&lt;GCGLDisplay&gt;&amp; usedDisplays()

Is any locking needed around this data structure? In WK1 mode GraphicsContextGLANGLE is used from multiple threads, though exclusively by construction. Slight concern that other ports may start using this in an unsafe manner - for example, for OffscreenCanvas on web workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849120</commentid>
    <comment_count>4</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-07 23:37:01 -0800</bug_when>
    <thetext>Thanks for looking!

(In reply to Kenneth Russell from comment #3)
&gt; Comment on attachment 453962 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=453962&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:64
&gt; &gt; +static HashSet&lt;GCGLDisplay&gt;&amp; usedDisplays()
&gt; 
&gt; Is any locking needed around this data structure? In WK1 mode
&gt; GraphicsContextGLANGLE is used from multiple threads, though exclusively by
&gt; construction. 

WK1 is protected by Web thread lock. I&apos;ve added comments for that in other cases, but declined here due to below..

&gt; Slight concern that other ports may start using this in an
&gt; unsafe manner - for example, for OffscreenCanvas on web workers.

It would be concerning, if ANGLE was multithreaded. Currently I think the verdict still is that ANGLE is single threaded, and as such the it would be more confusing than reassuring if ANGLE-using code would contain locking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849166</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-08 02:09:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/89957264&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849213</commentid>
    <comment_count>6</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-08 05:25:02 -0800</bug_when>
    <thetext>&gt; &gt; Slight concern that other ports may start using this in an
&gt; &gt; unsafe manner - for example, for OffscreenCanvas on web workers.

BTW: previous patch that guarded offscreencanvas use with a lock in WebGLRenderingContextBase.cpp assumed that maybe GTK is interested in running OffscreenCanvas on top of WebGL on real OpenGL. And perhaps future GPUP WebGL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849385</commentid>
    <comment_count>7</comment_count>
      <attachid>453962</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-03-08 13:08:55 -0800</bug_when>
    <thetext>Comment on attachment 453962
Patch

OK. We do hope to have full multithreading support in ANGLE&apos;s Metal backend in the not too distant future. In the meantime this looks fine. r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849552</commentid>
    <comment_count>8</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-08 23:51:14 -0800</bug_when>
    <thetext>(In reply to Kenneth Russell from comment #7)
&gt; Comment on attachment 453962 [details]
&gt; Patch
&gt; 
&gt; OK. We do hope to have full multithreading support in ANGLE&apos;s Metal backend
&gt; in the not too distant future. In the meantime this looks fine. r+

Sure, but ANGLE frontend isn&apos;t thread-safe either. Like GetANGLEPlatformDisplayMap() just returning a static that is then mutated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849567</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-09 00:38:05 -0800</bug_when>
    <thetext>Committed r291035 (248209@main): &lt;https://commits.webkit.org/248209@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453962.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453961</attachid>
            <date>2022-03-07 04:16:31 -0800</date>
            <delta_ts>2022-03-07 04:36:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237313-20220307141630.patch</filename>
            <type>text/plain</type>
            <size>7993</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjM0Zjg2NWEzNWQxMzUx
OTgyM2RmNGFkY2EyY2IxNDhjZWNjOTNhZi4uZjA5NTk1MmEwNjNmZTkzYWZkMjdiMGRlODBiMGQy
MjQ5N2UwMWI4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTAzLTA3ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR3JhcGhpY3NDb250
ZXh0R0xDb2NvYSBtYW5hZ2VzIEVHTCBuYXRpdmUgZGlzcGxheXMgbWFudWFsbHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzMxMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFOR0xFIG5vdyBrZXlzIHRo
ZSBNZXRhbCBFR0xfREVGQVVMVF9ESVNQTEFZIG9uIHRoZSBFR0xfUExBVEZPUk1fQU5HTEVfVFlQ
RV9BTkdMRS4KKyAgICAgICAgVGhpcyBtZWFucyB0aGF0IHdlIGRvIG5vdCBuZWVkIHRvIHVzZSB0
aGUgZGVmYXVsdCBhIG5hdGl2ZSBkaXNwbGF5IGZvciBNZXRhbCBhbmQgYW4KKyAgICAgICAgaW52
ZW50ZWQgbmF0aXZlIGRpc3BsYXkgZm9yIE9wZW5HTC4KKworICAgICAgICBObyBuZXcgdGVzdHMs
IHJlZmFjdG9yLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlc0dM
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xB
TkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpwbGF0
Zm9ybUluaXRpYWxpemUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBTkdM
RTo6cmVsZWFzZVRocmVhZFJlc291cmNlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpp
bml0aWFsaXplRUdMRGlzcGxheSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRH
TENvY29hOjpwbGF0Zm9ybUluaXRpYWxpemUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXI6OnBsYXRmb3JtSW5pdGlh
bGl6ZSk6CisKIDIwMjItMDMtMDMgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWJHTCBjb250ZXh0IGNvdW50IGlzIG5vdCBsaW1pdGVkIGZvciBHUFUg
cHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NUeXBlc0dMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c1R5cGVzR0wuaAppbmRleCAwMDM5NjBkN2RlNDY5OTI4NWZjMDkwZTU3MzVhM2JmZTkyM2RlNGJi
Li45NjllMzk1NDllNGQxMTczYzBkODkwOGRjMjNiMDYyMGIzZTE5NGJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzR0wuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc1R5cGVzR0wuaApAQCAtNjcs
MTAgKzY3LDYgQEAgdXNpbmcgR0NHTENvbnRleHQgPSB2b2lkKjsKIHR5cGVkZWYgdW5zaWduZWQg
R0x1aW50OwogI2VuZGlmCiAKLXVzaW5nIEdDR0xOYXRpdmVEaXNwbGF5VHlwZSA9IGludDsKLQot
aW5saW5lIGNvbnN0ZXhwciBHQ0dMTmF0aXZlRGlzcGxheVR5cGUgZ2NHTERlZmF1bHREaXNwbGF5
ID0gMDsKLQogaW5saW5lIGNvbnN0ZXhwciBzaXplX3QgZ2NHTFNwYW5EeW5hbWljRXh0ZW50ID0g
c3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKTsKIAogdGVtcGxhdGU8dHlwZW5hbWUg
VCwgc2l6ZV90IEV4dGVudCA9IGdjR0xTcGFuRHluYW1pY0V4dGVudD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5H
TEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3ND
b250ZXh0R0xBTkdMRS5jcHAKaW5kZXggODcyMTI1NDFjNjA2OGMwYWNlMmMyOTA1Nzc5ODIzMjEz
MTFlZWQwNS4uZTFlNmM2MjQzNzFkMGM5ZDRjOWMwN2RkMDI3YzY5NjVmNjg4YjJkNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250
ZXh0R0xBTkdMRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5n
bGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKQEAgLTU3LDYgKzU3LDExIEBAIHN0YXRpYyBj
b25zdCBjaGFyKiBwYWNrZWREZXB0aFN0ZW5jaWxFeHRlbnNpb25OYW1lID0gIkdMX09FU19wYWNr
ZWRfZGVwdGhfc3RlbmNpCiAKIHN0YXRpYyBTZWNvbmRzIG1heEZyYW1lRHVyYXRpb24gPSA1X3M7
CiAKKy8vIExpc3Qgb2YgZGlzcGxheXMgZXZlciBpbnN0YW50aWF0ZWQgZnJvbSBFR0wuIFdoZW4g
dGVybWluYXRpbmcgYWxsIEVHTCByZXNvdXJjZXMsIHdlIG5lZWQgdG8KKy8vIHRlcm1pbmF0ZSBh
bGwgZGlzcGxheXMuIEhvd2V2ZXIsIHdlIGNhbm5vdCBhc2sgRUdMIGFsbCB0aGUgZGlzcGxheXMg
aXQgaGFzIGNyZWF0ZWQuCisvLyBXZSBtdXN0IGtub3cgYWxsIHRoZSBkaXNwbGF5cyB2aWEgdGhp
cyBzZXQuCitzdGF0aWMgSGFzaFNldDxHQ0dMRGlzcGxheT4gbV91c2VkRGlzcGxheXM7CisKICNp
ZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCiBzdGF0aWMgdm9pZCB3aXBl
QWxwaGFDaGFubmVsRnJvbVBpeGVscyhpbnQgd2lkdGgsIGludCBoZWlnaHQsIHVuc2lnbmVkIGNo
YXIqIHBpeGVscykKIHsKQEAgLTg5LDYgKzk0LDkgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTEFO
R0xFOjpwbGF0Zm9ybUluaXRpYWxpemVDb250ZXh0KCkKIAogYm9vbCBHcmFwaGljc0NvbnRleHRH
TEFOR0xFOjpwbGF0Zm9ybUluaXRpYWxpemUoKQogeworICAgIC8vIFRPRE86IHdoZW4gfkdyYXBo
aWNzQ29udGV4dEdMQU5HTEUoKSBpcyBtb3ZlZCB0byB0aGlzIGZpbGUsIGFkZCB0aGUgZGlzcGxh
eSB0byB1c2VkIGRpc3BsYXlzIHRoZXJlLgorICAgIEFTU0VSVChtX2Rpc3BsYXlPYmopOworICAg
IG1fdXNlZERpc3BsYXlzLmFkZChtX2Rpc3BsYXkpOwogICAgIHJldHVybiB0cnVlOwogfQogCkBA
IC0xNjIsMTcgKzE3MCw5IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVsZWFzZVRo
cmVhZFJlc291cmNlcyhSZWxlYXNlVGhyZWFkUmVzb3VyY2VCZWhhdmlvCiAgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gQWxsIHJlc291cmNlcyBtdXN0IGhhdmUgYmVlbiBkZXN0
cm95ZWQuCiAgICAgICAgICAgICBFR0xfTWFrZUN1cnJlbnQoY3VycmVudERpc3BsYXksIEVHTF9O
T19TVVJGQUNFLCBFR0xfTk9fU1VSRkFDRSwgRUdMX05PX0NPTlRFWFQpOwogICAgICAgICB9Ci0g
ICAgICAgIGNvbnN0IEVHTE5hdGl2ZURpc3BsYXlUeXBlIG5hdGl2ZURpc3BsYXlzW10gPSB7Ci0g
ICAgICAgICAgICByZWludGVycHJldF9jYXN0PEVHTE5hdGl2ZURpc3BsYXlUeXBlPihkZWZhdWx0
RGlzcGxheSksCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgICAgICAgICByZWludGVycHJldF9j
YXN0PEVHTE5hdGl2ZURpc3BsYXlUeXBlPihkZWZhdWx0T3BlbkdMRGlzcGxheSksCi0jZW5kaWYK
LSAgICAgICAgfTsKLSAgICAgICAgZm9yIChhdXRvIG5hdGl2ZURpc3BsYXkgOiBuYXRpdmVEaXNw
bGF5cykgewotICAgICAgICAgICAgRUdMRGlzcGxheSBkaXNwbGF5ID0gRUdMX0dldERpc3BsYXko
bmF0aXZlRGlzcGxheSk7Ci0gICAgICAgICAgICBpZiAoZGlzcGxheSAhPSBFR0xfTk9fRElTUExB
WSkKLSAgICAgICAgICAgICAgICBFR0xfVGVybWluYXRlKGRpc3BsYXkpOwotICAgICAgICB9Cisg
ICAgICAgIGZvciAoYXV0byBkaXNwbGF5IDogbV91c2VkRGlzcGxheXMpCisgICAgICAgICAgICBF
R0xfVGVybWluYXRlKGRpc3BsYXkpOworICAgICAgICBtX3VzZWREaXNwbGF5cy5jbGVhcigpOwog
ICAgIH0KICAgICAvLyBDYWxsZWQgd2hlbiB3ZSBkbyBub3Qga25vdyBpZiB3ZSB3aWxsIGV2ZXIg
c2VlIGFub3RoZXIgY2FsbCBmcm9tIHRoaXMgdGhyZWFkIGFnYWluLgogICAgIC8vIFVuc2V0IHRo
ZSBFR0wgY3VycmVudCBjb250ZXh0IGJ5IHJlbGVhc2luZyB3aG9sZSBFR0wgdGhyZWFkIHN0YXRl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3Jh
cGhpY3NDb250ZXh0R0xBTkdMRS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oCmluZGV4IGRjMGMxMzFlNDE4YzU1NWFiMGNi
Y2E3ZDAxZWRlMWFiMjdiM2FiMzMuLmU2YzhlM2RhZTVlMDIxOWEzZTVkNTJlNmU2M2UxOTZjNzk5
MjAwMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xl
L0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKQEAgLTM1OCwxMiArMzU4LDYg
QEAgcHVibGljOgogICAgIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IHJlYWRSZW5kZXJpbmdS
ZXN1bHRzRm9yUGFpbnRpbmcoKTsKICAgICBzdGQ6Om9wdGlvbmFsPFBpeGVsQnVmZmVyPiByZWFk
Q29tcG9zaXRlZFJlc3VsdHNGb3JQYWludGluZygpOwogCi0gICAgY29uc3RleHByIHN0YXRpYyBH
Q0dMTmF0aXZlRGlzcGxheVR5cGUgZGVmYXVsdERpc3BsYXkgPSBnY0dMRGVmYXVsdERpc3BsYXk7
Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgY29uc3RleHByIHN0YXRpYyBHQ0dMTmF0aXZlRGlz
cGxheVR5cGUgZGVmYXVsdE9wZW5HTERpc3BsYXkgPSBzdGF0aWNfY2FzdDxHQ0dMTmF0aXZlRGlz
cGxheVR5cGU+KC0xKTsKLSAgICBzdGF0aWNfYXNzZXJ0KGRlZmF1bHREaXNwbGF5ICE9IGRlZmF1
bHRPcGVuR0xEaXNwbGF5KTsKLSNlbmRpZgotCiBwcm90ZWN0ZWQ6CiAgICAgR3JhcGhpY3NDb250
ZXh0R0xBTkdMRShHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTENv
Y29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3ND
b250ZXh0R0xDb2NvYS5tbQppbmRleCA3YmZlODVkNWYwNjUxN2QzOTQ3MWQzM2Y3YjlmN2E4MDAx
ZGE5NGJkLi5hMDllY2VjZWI3MjY0MTU5ODIxMzU1MGU5N2RjZDEwZWY1MzE5YTJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRl
eHRHTENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW0KQEAgLTE0MCw3ICsxNDAsNiBAQCBzdGF0aWMgRUdM
RGlzcGxheSBpbml0aWFsaXplRUdMRGlzcGxheShjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJp
YnV0ZXMmIGF0dHJzKQogICAgIH0KIAogICAgIExPRyhXZWJHTCwgIkF0dGVtcHRpbmcgdG8gdXNl
IEFOR0xFJ3MgJXMgYmFja2VuZC4iLCBhdHRycy51c2VNZXRhbCA/ICJNZXRhbCIgOiAiT3BlbkdM
Iik7Ci0gICAgRUdMTmF0aXZlRGlzcGxheVR5cGUgbmF0aXZlRGlzcGxheSA9IEdyYXBoaWNzQ29u
dGV4dEdMQU5HTEU6OmRlZmF1bHREaXNwbGF5OwogICAgIGlmIChhdHRycy51c2VNZXRhbCkgewog
ICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BMQVRGT1JNX0FOR0xFX1RZUEVf
QU5HTEUpOwogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BMQVRGT1JNX0FO
R0xFX1RZUEVfTUVUQUxfQU5HTEUpOwpAQCAtMTU0LDExICsxNTMsMTAgQEAgc3RhdGljIEVHTERp
c3BsYXkgaW5pdGlhbGl6ZUVHTERpc3BsYXkoY29uc3QgR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1
dGVzJiBhdHRycykKICAgICAgICAgICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfUE9X
RVJfUFJFRkVSRU5DRV9BTkdMRSk7CiAgICAgICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBl
bmQoRUdMX0hJR0hfUE9XRVJfQU5HTEUpOwogICAgICAgICB9Ci0gICAgfSBlbHNlCi0gICAgICAg
IG5hdGl2ZURpc3BsYXkgPSBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpkZWZhdWx0T3BlbkdMRGlz
cGxheTsKKyAgICB9CiAKICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX05PTkUpOwot
ICAgIGRpc3BsYXkgPSBFR0xfR2V0UGxhdGZvcm1EaXNwbGF5RVhUKEVHTF9QTEFURk9STV9BTkdM
RV9BTkdMRSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4obmF0aXZlRGlzcGxheSksIGRpc3BsYXlB
dHRyaWJ1dGVzLmRhdGEoKSk7CisgICAgZGlzcGxheSA9IEVHTF9HZXRQbGF0Zm9ybURpc3BsYXlF
WFQoRUdMX1BMQVRGT1JNX0FOR0xFX0FOR0xFLCBFR0xfREVGQVVMVF9ESVNQTEFZLCBkaXNwbGF5
QXR0cmlidXRlcy5kYXRhKCkpOwogCiAgICAgaWYgKEVHTF9Jbml0aWFsaXplKGRpc3BsYXksICZt
YWpvclZlcnNpb24sICZtaW5vclZlcnNpb24pID09IEVHTF9GQUxTRSkgewogICAgICAgICBMT0co
V2ViR0wsICJFR0xEaXNwbGF5IEluaXRpYWxpemF0aW9uIGZhaWxlZC4iKTsKQEAgLTQyMiw3ICs0
MjAsNyBAQCBib29sIEdyYXBoaWNzQ29udGV4dEdMQ29jb2E6OnBsYXRmb3JtSW5pdGlhbGl6ZSgp
CiAgICAgaWYgKCFhdHRyaWJ1dGVzLnVzZU1ldGFsICYmIGF0dHJpYnV0ZXMuZWZmZWN0aXZlUG93
ZXJQcmVmZXJlbmNlKCkgPT0gR3JhcGhpY3NDb250ZXh0R0xQb3dlclByZWZlcmVuY2U6OkhpZ2hQ
ZXJmb3JtYW5jZSkKICAgICAgICAgbV9zd2l0Y2hlc0dQVU9uRGlzcGxheVJlY29uZmlndXJhdGlv
biA9IHRydWU7CiAjZW5kaWYKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gR3JhcGhpY3ND
b250ZXh0R0xBTkdMRTo6cGxhdGZvcm1Jbml0aWFsaXplKCk7CiB9CiAKIEdyYXBoaWNzQ29udGV4
dEdMQU5HTEU6On5HcmFwaGljc0NvbnRleHRHTEFOR0xFKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVN
YXBwZXJBTkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
R3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEUuY3BwCmluZGV4IGEyZDcxZDFlOTc2
OGFhZWU1MWJkZTMxZTIxOTY0MWZkNjZjYjBjODIuLmY0NjA3ZDdkNmFjZDg5NGRlOTE1NzQ0MDM4
MDY4NDcxZWQ4ZWQ1ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdM
VGV4dHVyZU1hcHBlckFOR0xFLmNwcApAQCAtMjMzLDcgKzIzMyw3IEBAIGJvb2wgR3JhcGhpY3ND
b250ZXh0R0xUZXh0dXJlTWFwcGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoKQogICAgIH0KIAogICAg
IEdMX0NsZWFyQ29sb3IoMCwgMCwgMCwgMCk7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJu
IEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpOwogfQogCiAjaWYg
VVNFKE5JQ09TSUEpCg==
</data>
<flag name="commit-queue"
          id="481502"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453962</attachid>
            <date>2022-03-07 04:24:44 -0800</date>
            <delta_ts>2022-03-09 00:38:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237313-20220307142443.patch</filename>
            <type>text/plain</type>
            <size>8531</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjM0Zjg2NWEzNWQxMzUx
OTgyM2RmNGFkY2EyY2IxNDhjZWNjOTNhZi4uOTc3NDI3NjRiOGRmMjdlODlhMGFhZDVmMjNmMGFm
YzNkODg1YTdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIyLTAzLTA3ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR3JhcGhpY3NDb250
ZXh0R0xDb2NvYSBtYW5hZ2VzIEVHTCBuYXRpdmUgZGlzcGxheXMgbWFudWFsbHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzMxMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFOR0xFIG5vdyBrZXlzIHRo
ZSBNZXRhbCBFR0xfREVGQVVMVF9ESVNQTEFZIG9uIHRoZSBFR0xfUExBVEZPUk1fQU5HTEVfVFlQ
RV9BTkdMRS4KKyAgICAgICAgVGhpcyBtZWFucyB0aGF0IHdlIGRvIG5vdCBuZWVkIHRvIHVzZSB0
aGUgZGVmYXVsdCBhIG5hdGl2ZSBkaXNwbGF5IGZvciBNZXRhbCBhbmQgYW4KKyAgICAgICAgaW52
ZW50ZWQgbmF0aXZlIGRpc3BsYXkgZm9yIE9wZW5HTC4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzVHlwZXNHTC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Fu
Z2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0R0xBTkdMRTo6cGxhdGZvcm1Jbml0aWFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnJlbGVhc2VUaHJlYWRSZXNvdXJjZXMpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTENvY29hLm1t
OgorICAgICAgICAoV2ViQ29yZTo6aW5pdGlhbGl6ZUVHTERpc3BsYXkpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0R0xDb2NvYTo6cGxhdGZvcm1Jbml0aWFsaXplKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFw
cGVyQU5HTEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xUZXh0dXJl
TWFwcGVyOjpwbGF0Zm9ybUluaXRpYWxpemUpOgorCiAyMDIyLTAzLTAzICBLaW1tbyBLaW5udW5l
biAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViR0wgY29udGV4dCBjb3VudCBp
cyBub3QgbGltaXRlZCBmb3IgR1BVIHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzVHlwZXNHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NUeXBlc0dMLmgKaW5kZXggMDAzOTYwZDdkZTQ2OTkyODVm
YzA5MGU1NzM1YTNiZmU5MjNkZTRiYi4uOTY5ZTM5NTQ5ZTRkMTE3M2MwZDg5MDhkYzIzYjA2MjBi
M2UxOTRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NUeXBlc0dMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NUeXBlc0dMLmgKQEAgLTY3LDEwICs2Nyw2IEBAIHVzaW5nIEdDR0xDb250ZXh0ID0gdm9p
ZCo7CiB0eXBlZGVmIHVuc2lnbmVkIEdMdWludDsKICNlbmRpZgogCi11c2luZyBHQ0dMTmF0aXZl
RGlzcGxheVR5cGUgPSBpbnQ7Ci0KLWlubGluZSBjb25zdGV4cHIgR0NHTE5hdGl2ZURpc3BsYXlU
eXBlIGdjR0xEZWZhdWx0RGlzcGxheSA9IDA7Ci0KIGlubGluZSBjb25zdGV4cHIgc2l6ZV90IGdj
R0xTcGFuRHluYW1pY0V4dGVudCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCk7
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBFeHRlbnQgPSBnY0dMU3BhbkR5bmFtaWNF
eHRlbnQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmds
ZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCmluZGV4IDg3MjEyNTQxYzYw
NjhjMGFjZTJjMjkwNTc3OTgyMzIxMzExZWVkMDUuLmEzNWNkMjFmODNiOWI4MjQ3MDlhOGEyZWRm
Yzk1ZDU2ZjExNzY5MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCkBAIC0z
Nyw2ICszNyw3IEBACiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVu
dGVkLmgiCiAjaW5jbHVkZSAiUGl4ZWxCdWZmZXIuaCIKKyNpbmNsdWRlICJSdW50aW1lQXBwbGlj
YXRpb25DaGVja3MuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8Y3N0cmluZz4K
ICNpbmNsdWRlIDx3dGYvU2Vjb25kcy5oPgpAQCAtNTcsNiArNTgsMTUgQEAgc3RhdGljIGNvbnN0
IGNoYXIqIHBhY2tlZERlcHRoU3RlbmNpbEV4dGVuc2lvbk5hbWUgPSAiR0xfT0VTX3BhY2tlZF9k
ZXB0aF9zdGVuY2kKIAogc3RhdGljIFNlY29uZHMgbWF4RnJhbWVEdXJhdGlvbiA9IDVfczsKIAor
Ly8gTGlzdCBvZiBkaXNwbGF5cyBldmVyIGluc3RhbnRpYXRlZCBmcm9tIEVHTC4gV2hlbiB0ZXJt
aW5hdGluZyBhbGwgRUdMIHJlc291cmNlcywgd2UgbmVlZCB0bworLy8gdGVybWluYXRlIGFsbCBk
aXNwbGF5cy4gSG93ZXZlciwgd2UgY2Fubm90IGFzayBFR0wgYWxsIHRoZSBkaXNwbGF5cyBpdCBo
YXMgY3JlYXRlZC4KKy8vIFdlIG11c3Qga25vdyBhbGwgdGhlIGRpc3BsYXlzIHZpYSB0aGlzIHNl
dC4KK3N0YXRpYyBIYXNoU2V0PEdDR0xEaXNwbGF5PiYgdXNlZERpc3BsYXlzKCkKK3sKKyAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaFNldDxHQ0dMRGlzcGxheT4+IHNfdXNlZERpc3BsYXlz
OworICAgIHJldHVybiBzX3VzZWREaXNwbGF5czsKK30KKwogI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKIHN0YXRpYyB2b2lkIHdpcGVBbHBoYUNoYW5uZWxGcm9tUGl4
ZWxzKGludCB3aWR0aCwgaW50IGhlaWdodCwgdW5zaWduZWQgY2hhciogcGl4ZWxzKQogewpAQCAt
ODksNiArOTksMTQgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpwbGF0Zm9ybUluaXRp
YWxpemVDb250ZXh0KCkKIAogYm9vbCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpwbGF0Zm9ybUlu
aXRpYWxpemUoKQogeworICAgIC8vIEVHTCByZXNvdXJjZXMgYXJlIG9ubHkgZXZlciByZWxlYXNl
ZCBpZiB3ZSBydW4gaW4gcHJvY2VzcyBtb2RlIHdoZXJlIEVHTCBpcyB1c2VkIG9uIGhvc3QgYXBw
IHRocmVhZHMsIGUuZy4gV0sxCisgICAgLy8gbW9kZS4KKyAgICBzdGF0aWMgYm9vbCB0cmFja3NV
c2VkRGlzcGxheXMgPSAhKGlzSW5XZWJQcm9jZXNzKCkgfHwgaXNJbkdQVVByb2Nlc3MoKSk7Cisg
ICAgaWYgKHRyYWNrc1VzZWREaXNwbGF5cykgeworICAgICAgICAvLyBUT0RPOiBNb3ZlIHRvIH5H
cmFwaGljc0NvbnRleHRHTEFOR0xFKCkgd2hlbiB0aGUgZnVuY3Rpb24gaXMgbW92ZWQgdG8gdGhp
cyBmaWxlLgorICAgICAgICBBU1NFUlQobV9kaXNwbGF5T2JqKTsKKyAgICAgICAgdXNlZERpc3Bs
YXlzKCkuYWRkKG1fZGlzcGxheU9iaik7CisgICAgfQogICAgIHJldHVybiB0cnVlOwogfQogCkBA
IC0xNjIsMTcgKzE4MCw5IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cmVsZWFzZVRo
cmVhZFJlc291cmNlcyhSZWxlYXNlVGhyZWFkUmVzb3VyY2VCZWhhdmlvCiAgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gQWxsIHJlc291cmNlcyBtdXN0IGhhdmUgYmVlbiBkZXN0
cm95ZWQuCiAgICAgICAgICAgICBFR0xfTWFrZUN1cnJlbnQoY3VycmVudERpc3BsYXksIEVHTF9O
T19TVVJGQUNFLCBFR0xfTk9fU1VSRkFDRSwgRUdMX05PX0NPTlRFWFQpOwogICAgICAgICB9Ci0g
ICAgICAgIGNvbnN0IEVHTE5hdGl2ZURpc3BsYXlUeXBlIG5hdGl2ZURpc3BsYXlzW10gPSB7Ci0g
ICAgICAgICAgICByZWludGVycHJldF9jYXN0PEVHTE5hdGl2ZURpc3BsYXlUeXBlPihkZWZhdWx0
RGlzcGxheSksCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgICAgICAgICByZWludGVycHJldF9j
YXN0PEVHTE5hdGl2ZURpc3BsYXlUeXBlPihkZWZhdWx0T3BlbkdMRGlzcGxheSksCi0jZW5kaWYK
LSAgICAgICAgfTsKLSAgICAgICAgZm9yIChhdXRvIG5hdGl2ZURpc3BsYXkgOiBuYXRpdmVEaXNw
bGF5cykgewotICAgICAgICAgICAgRUdMRGlzcGxheSBkaXNwbGF5ID0gRUdMX0dldERpc3BsYXko
bmF0aXZlRGlzcGxheSk7Ci0gICAgICAgICAgICBpZiAoZGlzcGxheSAhPSBFR0xfTk9fRElTUExB
WSkKLSAgICAgICAgICAgICAgICBFR0xfVGVybWluYXRlKGRpc3BsYXkpOwotICAgICAgICB9Cisg
ICAgICAgIGZvciAoYXV0byBkaXNwbGF5IDogdXNlZERpc3BsYXlzKCkpCisgICAgICAgICAgICBF
R0xfVGVybWluYXRlKGRpc3BsYXkpOworICAgICAgICB1c2VkRGlzcGxheXMoKS5jbGVhcigpOwog
ICAgIH0KICAgICAvLyBDYWxsZWQgd2hlbiB3ZSBkbyBub3Qga25vdyBpZiB3ZSB3aWxsIGV2ZXIg
c2VlIGFub3RoZXIgY2FsbCBmcm9tIHRoaXMgdGhyZWFkIGFnYWluLgogICAgIC8vIFVuc2V0IHRo
ZSBFR0wgY3VycmVudCBjb250ZXh0IGJ5IHJlbGVhc2luZyB3aG9sZSBFR0wgdGhyZWFkIHN0YXRl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3Jh
cGhpY3NDb250ZXh0R0xBTkdMRS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oCmluZGV4IGRjMGMxMzFlNDE4YzU1NWFiMGNi
Y2E3ZDAxZWRlMWFiMjdiM2FiMzMuLmU2YzhlM2RhZTVlMDIxOWEzZTVkNTJlNmU2M2UxOTZjNzk5
MjAwMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xl
L0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKQEAgLTM1OCwxMiArMzU4LDYg
QEAgcHVibGljOgogICAgIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+IHJlYWRSZW5kZXJpbmdS
ZXN1bHRzRm9yUGFpbnRpbmcoKTsKICAgICBzdGQ6Om9wdGlvbmFsPFBpeGVsQnVmZmVyPiByZWFk
Q29tcG9zaXRlZFJlc3VsdHNGb3JQYWludGluZygpOwogCi0gICAgY29uc3RleHByIHN0YXRpYyBH
Q0dMTmF0aXZlRGlzcGxheVR5cGUgZGVmYXVsdERpc3BsYXkgPSBnY0dMRGVmYXVsdERpc3BsYXk7
Ci0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgY29uc3RleHByIHN0YXRpYyBHQ0dMTmF0aXZlRGlz
cGxheVR5cGUgZGVmYXVsdE9wZW5HTERpc3BsYXkgPSBzdGF0aWNfY2FzdDxHQ0dMTmF0aXZlRGlz
cGxheVR5cGU+KC0xKTsKLSAgICBzdGF0aWNfYXNzZXJ0KGRlZmF1bHREaXNwbGF5ICE9IGRlZmF1
bHRPcGVuR0xEaXNwbGF5KTsKLSNlbmRpZgotCiBwcm90ZWN0ZWQ6CiAgICAgR3JhcGhpY3NDb250
ZXh0R0xBTkdMRShHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTENv
Y29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3ND
b250ZXh0R0xDb2NvYS5tbQppbmRleCA3YmZlODVkNWYwNjUxN2QzOTQ3MWQzM2Y3YjlmN2E4MDAx
ZGE5NGJkLi42MzM2Yjc3YzEzYjk3OWZiMjNiYjc0ZjY2ZTMzZGJjYWJlN2MyNjVkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRl
eHRHTENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW0KQEAgLTE0MCw3ICsxNDAsNiBAQCBzdGF0aWMgRUdM
RGlzcGxheSBpbml0aWFsaXplRUdMRGlzcGxheShjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJp
YnV0ZXMmIGF0dHJzKQogICAgIH0KIAogICAgIExPRyhXZWJHTCwgIkF0dGVtcHRpbmcgdG8gdXNl
IEFOR0xFJ3MgJXMgYmFja2VuZC4iLCBhdHRycy51c2VNZXRhbCA/ICJNZXRhbCIgOiAiT3BlbkdM
Iik7Ci0gICAgRUdMTmF0aXZlRGlzcGxheVR5cGUgbmF0aXZlRGlzcGxheSA9IEdyYXBoaWNzQ29u
dGV4dEdMQU5HTEU6OmRlZmF1bHREaXNwbGF5OwogICAgIGlmIChhdHRycy51c2VNZXRhbCkgewog
ICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BMQVRGT1JNX0FOR0xFX1RZUEVf
QU5HTEUpOwogICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX1BMQVRGT1JNX0FO
R0xFX1RZUEVfTUVUQUxfQU5HTEUpOwpAQCAtMTU0LDExICsxNTMsMTAgQEAgc3RhdGljIEVHTERp
c3BsYXkgaW5pdGlhbGl6ZUVHTERpc3BsYXkoY29uc3QgR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1
dGVzJiBhdHRycykKICAgICAgICAgICAgIGRpc3BsYXlBdHRyaWJ1dGVzLmFwcGVuZChFR0xfUE9X
RVJfUFJFRkVSRU5DRV9BTkdMRSk7CiAgICAgICAgICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBl
bmQoRUdMX0hJR0hfUE9XRVJfQU5HTEUpOwogICAgICAgICB9Ci0gICAgfSBlbHNlCi0gICAgICAg
IG5hdGl2ZURpc3BsYXkgPSBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpkZWZhdWx0T3BlbkdMRGlz
cGxheTsKKyAgICB9CiAKICAgICBkaXNwbGF5QXR0cmlidXRlcy5hcHBlbmQoRUdMX05PTkUpOwot
ICAgIGRpc3BsYXkgPSBFR0xfR2V0UGxhdGZvcm1EaXNwbGF5RVhUKEVHTF9QTEFURk9STV9BTkdM
RV9BTkdMRSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4obmF0aXZlRGlzcGxheSksIGRpc3BsYXlB
dHRyaWJ1dGVzLmRhdGEoKSk7CisgICAgZGlzcGxheSA9IEVHTF9HZXRQbGF0Zm9ybURpc3BsYXlF
WFQoRUdMX1BMQVRGT1JNX0FOR0xFX0FOR0xFLCByZWludGVycHJldF9jYXN0PHZvaWQqPihFR0xf
REVGQVVMVF9ESVNQTEFZKSwgZGlzcGxheUF0dHJpYnV0ZXMuZGF0YSgpKTsKIAogICAgIGlmIChF
R0xfSW5pdGlhbGl6ZShkaXNwbGF5LCAmbWFqb3JWZXJzaW9uLCAmbWlub3JWZXJzaW9uKSA9PSBF
R0xfRkFMU0UpIHsKICAgICAgICAgTE9HKFdlYkdMLCAiRUdMRGlzcGxheSBJbml0aWFsaXphdGlv
biBmYWlsZWQuIik7CkBAIC00MjIsNyArNDIwLDcgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTENv
Y29hOjpwbGF0Zm9ybUluaXRpYWxpemUoKQogICAgIGlmICghYXR0cmlidXRlcy51c2VNZXRhbCAm
JiBhdHRyaWJ1dGVzLmVmZmVjdGl2ZVBvd2VyUHJlZmVyZW5jZSgpID09IEdyYXBoaWNzQ29udGV4
dEdMUG93ZXJQcmVmZXJlbmNlOjpIaWdoUGVyZm9ybWFuY2UpCiAgICAgICAgIG1fc3dpdGNoZXNH
UFVPbkRpc3BsYXlSZWNvbmZpZ3VyYXRpb24gPSB0cnVlOwogI2VuZGlmCi0gICAgcmV0dXJuIHRy
dWU7CisgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnBsYXRmb3JtSW5pdGlhbGl6
ZSgpOwogfQogCiBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjp+R3JhcGhpY3NDb250ZXh0R0xBTkdM
RSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
R3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFO
R0xFLmNwcAppbmRleCBhMmQ3MWQxZTk3NjhhYWVlNTFiZGUzMWUyMTk2NDFmZDY2Y2IwYzgyLi5m
NDYwN2Q3ZDZhY2Q4OTRkZTkxNTc0NDAzODA2ODQ3MWVkOGVkNTg5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0
dXJlTWFwcGVyQU5HTEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAKQEAgLTIzMyw3
ICsyMzMsNyBAQCBib29sIEdyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlcjo6cGxhdGZvcm1J
bml0aWFsaXplKCkKICAgICB9CiAKICAgICBHTF9DbGVhckNvbG9yKDAsIDAsIDAsIDApOwotICAg
IHJldHVybiB0cnVlOworICAgIHJldHVybiBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpwbGF0Zm9y
bUluaXRpYWxpemUoKTsKIH0KIAogI2lmIFVTRShOSUNPU0lBKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>