<?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>214150</bug_id>
          
          <creation_ts>2020-07-09 10:47:17 -0700</creation_ts>
          <short_desc>[GStreamer][1.18] mediastreamsrc element hits assert in gst -core</short_desc>
          <delta_ts>2020-07-21 02:04:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Xabier Rodríguez Calvar">calvaris</assigned_to>
          <cc>calvaris</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1670176</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-09 10:47:17 -0700</bug_when>
    <thetext>Because of these commits in -core:
https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/a90220cce1f4bbe9380c46b9f5458b90b0178a7c
https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/e79def14a5c47ef7c3660e17fd183d25dc82ae3f

(WebKitWebProcess:64): GStreamer-CRITICAL **: 10:34:54.644: The created element should be floating, this is probably caused by faulty bindings

Thanks to GRefPtrs passed to WebKitMediaStreamTrackObserver and WebKitMediaStreamObserver...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670183</commentid>
    <comment_count>1</comment_count>
      <attachid>403892</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-09 11:19:33 -0700</bug_when>
    <thetext>Created attachment 403892
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670197</commentid>
    <comment_count>2</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-07-09 11:46:08 -0700</bug_when>
    <thetext>informal r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670367</commentid>
    <comment_count>3</comment_count>
      <attachid>403892</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2020-07-09 22:36:05 -0700</bug_when>
    <thetext>Comment on attachment 403892
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Switch stream and track observers back to refcounted raw GstElement pointers. The magic of
&gt; +        GRefPtr is doing more harm than good here.

You state you have a problem but you don&apos;t say which one. I guess you have two extra refs, right? Your problem is that you&apos;re explicitly reffing the object when you&apos;re implicitly creating the observers. GRefPtr constructor (which is implicitly called) already ref_sinks the object you&apos;re passing, hence, you either ref and adopt or you don&apos;t ref and let the implicit GRefPtr constructor do the ref for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670386</commentid>
    <comment_count>4</comment_count>
      <attachid>403892</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-10 01:02:28 -0700</bug_when>
    <thetext>Comment on attachment 403892
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        GRefPtr is doing more harm than good here.
&gt; 
&gt; You state you have a problem but you don&apos;t say which one. I guess you have two extra refs, right? Your problem is that you&apos;re explicitly reffing the object when you&apos;re implicitly creating the observers. GRefPtr constructor (which is implicitly called) already ref_sinks the object you&apos;re passing, hence, you either ref and adopt or you don&apos;t ref and let the implicit GRefPtr constructor do the ref for you.

Of course I tried that already, and it doesn&apos;t work. I still get the critical warning, for which the backtrace is not very useful anyway. The problem is that we end up calling gst_object_ref_sink() from `template &lt;&gt; GstElement* refGPtr&lt;GstElement&gt;(GstElement* ptr)` called from the src element constructor. I don&apos;t think we can use a GRefPtr like this, here. If you disagree, I&apos;m happy to let you take ownership of this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671021</commentid>
    <comment_count>5</comment_count>
      <attachid>403892</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2020-07-13 07:25:44 -0700</bug_when>
    <thetext>Comment on attachment 403892
Patch

For what I studied the issue the whole concept of the observers keeping a referenced to the element is a bad idea because the finalize method will never be called. The moment we create the media stream src the are reffing ourselves in the Constructed method twice and keeping an returning an object that was refcount 3 (without taking into account other leaks involving GRefPtr). This means that when you return create an object and unref it just afterwards, it won&apos;t be destroyed (unless I am missing anything). I did a lousy review at the original bug and didn&apos;t realize about this. This needs to be addressed here. I&apos;m sorry for that.

Then we need to consider that with the unpatched code, we&apos;re implicitly calling the GRefPtr constructor.

Besides, current code with the smart pointers is adding a another extra reference as the ref is bumped again the second time the GRefPtr constructor is run but not the first. The first is ref_sinking the reference, not increasing it, but the second does, so with the current unpatched code we are returning an object with ref count 4.

As I said the first implicit GRefPtr constructor call is ref_sinking the reference so in the end of the Constructed method, the element has a sinked referenced that is causing the warning. The problem is that this warning is just the tip of the iceberg.

For me, the best solution of this problem would be using weak refs to keep the element in the observer, but there is no smart pointer for that and it would just be an aesthetic improvement over the solution I&apos;ll just propose.

Considering that the life of the observers is 1-1 with the life of the source, we can just keep a plain GstElement* inside the observer and forget the smart ptr and gobject reffing at all. In the Constructed method, we pass self down and we keep a GstElement*.

Another thing is that from what I see of how the observers are being passed to the callers, they are always passed as reference (l-value), not as a pointer, so I think we we could even keep the objects in the struct. The problem of keeping the objects in the struct is that you have the chicken/egg problem when constructing so either you add a method to the observer to set the GstElement* calling it in the Constructed method or you leave it as it is.

Independently of leaving the observers as unique_ptrs or not, there is another problem with this object and it is that I don&apos;t think the destructors of be objects inside the struct are being called, since this is allocated with C, right? I think this needs to be checked as well and ensure the destructor is called as it happens for example in the case of the decryptors.

I think we opened quite a can of worms not related to your patch here!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673381</commentid>
    <comment_count>6</comment_count>
      <attachid>404797</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2020-07-20 22:42:46 -0700</bug_when>
    <thetext>Created attachment 404797
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673402</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-21 02:03:05 -0700</bug_when>
    <thetext>Committed r264648: &lt;https://trac.webkit.org/changeset/264648&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404797.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673403</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-21 02:04:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/65872930&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403892</attachid>
            <date>2020-07-09 11:19:33 -0700</date>
            <delta_ts>2020-07-20 22:42:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214150-20200709111931.patch</filename>
            <type>text/plain</type>
            <size>5331</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQwYzIyZDJlNWU1NmQy
ZWEzYzc3Y2U5ZjM2YTUzOGI5YjEwZWU3MC4uYzMyNWFiN2FiOWNmN2UzMGYxNjVhMTZmOGE5ODYy
YzUwOGQ2NjAzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA3LTA5ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XVsxLjE4XSBtZWRpYXN0cmVhbXNyYyBlbGVtZW50IGhpdHMgYXNzZXJ0IGluIGdzdCAtY29yZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MTUwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3dpdGNoIHN0
cmVhbSBhbmQgdHJhY2sgb2JzZXJ2ZXJzIGJhY2sgdG8gcmVmY291bnRlZCByYXcgR3N0RWxlbWVu
dCBwb2ludGVycy4gVGhlIG1hZ2ljIG9mCisgICAgICAgIEdSZWZQdHIgaXMgZG9pbmcgbW9yZSBo
YXJtIHRoYW4gZ29vZCBoZXJlLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0
cmVhbWVyL0dTdHJlYW1lck1lZGlhU3RyZWFtU291cmNlLmNwcDoKKyAgICAgICAgKFdlYktpdE1l
ZGlhU3RyZWFtVHJhY2tPYnNlcnZlcjo6V2ViS2l0TWVkaWFTdHJlYW1UcmFja09ic2VydmVyKToK
KyAgICAgICAgKFdlYktpdE1lZGlhU3RyZWFtVHJhY2tPYnNlcnZlcjo6fldlYktpdE1lZGlhU3Ry
ZWFtVHJhY2tPYnNlcnZlcik6CisgICAgICAgIChXZWJLaXRNZWRpYVN0cmVhbU9ic2VydmVyOjpX
ZWJLaXRNZWRpYVN0cmVhbU9ic2VydmVyKToKKyAgICAgICAgKFdlYktpdE1lZGlhU3RyZWFtT2Jz
ZXJ2ZXI6On5XZWJLaXRNZWRpYVN0cmVhbU9ic2VydmVyKToKKyAgICAgICAgKHdlYmtpdE1lZGlh
U3RyZWFtU3JjRmluYWxpemUpOiBDaGFpbi11cCB0byBwYXJlbnQgY2xhc3MnIGZpbmFsaXplIHZm
dW5jLgorCiAyMDIwLTA3LTA5ICBDbGFyayBXYW5nICA8Y2xhcmtfd2FuZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgU2V0IFJlc3RyaWN0aW9ucyBmb3IgY2hhbm5lbENvdW50LCBjaGFubmVsQ291bnRN
b2RlIGZvciBQYW5uZXJOb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlh
U3RyZWFtU291cmNlLmNwcAppbmRleCAwNGMyNTE4MzdjMTBlM2UyYjRmNjg2NWQ3Njc3ZTM4ZmRl
ZGJkN2NkLi5iMDEyMTQ5NDg5MzU3YmNkOGI4Y2NkYWFhZjdjZTNiNGQxYTM4YjdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVh
bWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2dzdHJlYW1lci9HU3RyZWFtZXJNZWRpYVN0cmVhbVNvdXJjZS5jcHAKQEAgLTEw
MiwxNSArMTAyLDI1IEBAIGNsYXNzIFdlYktpdE1lZGlhU3RyZWFtVHJhY2tPYnNlcnZlcgogICAg
ICwgcHVibGljIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVvU2FtcGxlT2JzZXJ2ZXIgewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHZpcnR1YWwgfldlYktpdE1l
ZGlhU3RyZWFtVHJhY2tPYnNlcnZlcigpIHsgfTsKLSAgICBXZWJLaXRNZWRpYVN0cmVhbVRyYWNr
T2JzZXJ2ZXIoR1JlZlB0cjxHc3RFbGVtZW50PiYmIHNyYykKLSAgICAgICAgOiBtX3NyYyhXVEZN
b3ZlKHNyYykpIHsgfQorICAgIFdlYktpdE1lZGlhU3RyZWFtVHJhY2tPYnNlcnZlcihHc3RFbGVt
ZW50KiBzcmMpCisgICAgICAgIDogbV9zcmMoc3JjKSB7IH0KKworICAgIH5XZWJLaXRNZWRpYVN0
cmVhbVRyYWNrT2JzZXJ2ZXIoKQorICAgIHsKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxNiwg
MCkKKyAgICAgICAgZ3N0X2NsZWFyX29iamVjdCgmbV9zcmMpOworI2Vsc2UKKyAgICAgICAgZ3N0
X29iamVjdF91bnJlZihtX3NyYyk7CisgICAgICAgIG1fc3JjID0gbnVsbHB0cjsKKyNlbmRpZgor
ICAgIH0KKwogICAgIHZvaWQgdHJhY2tTdGFydGVkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikg
ZmluYWwgeyB9OwogCiAgICAgdm9pZCB0cmFja0VuZGVkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRl
JiB0cmFjaykgZmluYWwKICAgICB7CiAgICAgICAgIGlmIChtX3NyYykKLSAgICAgICAgICAgIHdl
YmtpdE1lZGlhU3RyZWFtU3JjVHJhY2tFbmRlZChXRUJLSVRfTUVESUFfU1RSRUFNX1NSQyhtX3Ny
Yy5nZXQoKSksIHRyYWNrKTsKKyAgICAgICAgICAgIHdlYmtpdE1lZGlhU3RyZWFtU3JjVHJhY2tF
bmRlZChXRUJLSVRfTUVESUFfU1RSRUFNX1NSQyhtX3NyYyksIHRyYWNrKTsKICAgICB9CiAKICAg
ICB2b2lkIHRyYWNrRW5hYmxlZENoYW5nZWQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHRyYWNr
KSBmaW5hbApAQCAtMTI4LDcgKzEzOCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybjsK
IAogICAgICAgICBhdXRvKiBnc3RTYW1wbGUgPSBzdGF0aWNfY2FzdDxNZWRpYVNhbXBsZUdTdHJl
YW1lcio+KCZzYW1wbGUpLT5wbGF0Zm9ybVNhbXBsZSgpLnNhbXBsZS5nc3RTYW1wbGU7Ci0gICAg
ICAgIHdlYmtpdE1lZGlhU3RyZWFtU3JjUHVzaFZpZGVvU2FtcGxlKFdFQktJVF9NRURJQV9TVFJF
QU1fU1JDKG1fc3JjLmdldCgpKSwgZ3N0U2FtcGxlKTsKKyAgICAgICAgd2Via2l0TWVkaWFTdHJl
YW1TcmNQdXNoVmlkZW9TYW1wbGUoV0VCS0lUX01FRElBX1NUUkVBTV9TUkMobV9zcmMpLCBnc3RT
YW1wbGUpOwogICAgIH0KIAogICAgIHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1l
ZGlhVGltZSYsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiBhdWRpb0RhdGEsIGNvbnN0IEF1ZGlv
U3RyZWFtRGVzY3JpcHRpb24mLCBzaXplX3QpIGZpbmFsCkBAIC0xMzcsNDIgKzE0Nyw1MSBAQCBw
dWJsaWM6CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgYXV0byBkYXRhID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgR1N0cmVhbWVyQXVkaW9EYXRhJj4oYXVkaW9EYXRhKTsKLSAgICAgICAgd2Vi
a2l0TWVkaWFTdHJlYW1TcmNQdXNoQXVkaW9TYW1wbGUoV0VCS0lUX01FRElBX1NUUkVBTV9TUkMo
bV9zcmMuZ2V0KCkpLCBkYXRhLmdldFNhbXBsZSgpKTsKKyAgICAgICAgd2Via2l0TWVkaWFTdHJl
YW1TcmNQdXNoQXVkaW9TYW1wbGUoV0VCS0lUX01FRElBX1NUUkVBTV9TUkMobV9zcmMpLCBkYXRh
LmdldFNhbXBsZSgpKTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgR1JlZlB0cjxHc3RFbGVtZW50
PiBtX3NyYzsKKyAgICBHc3RFbGVtZW50KiBtX3NyYzsKICAgICBib29sIG1fZW5hYmxlZCB7IHRy
dWUgfTsKIH07CiAKIGNsYXNzIFdlYktpdE1lZGlhU3RyZWFtT2JzZXJ2ZXIgOiBwdWJsaWMgTWVk
aWFTdHJlYW1Qcml2YXRlOjpPYnNlcnZlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6Ci0gICAgdmlydHVhbCB+V2ViS2l0TWVkaWFTdHJlYW1PYnNlcnZlcigpIHsgfTsK
LSAgICBXZWJLaXRNZWRpYVN0cmVhbU9ic2VydmVyKEdSZWZQdHI8R3N0RWxlbWVudD4mJiBzcmMp
Ci0gICAgICAgIDogbV9zcmMoV1RGTW92ZShzcmMpKSB7IH0KKyAgICBXZWJLaXRNZWRpYVN0cmVh
bU9ic2VydmVyKEdzdEVsZW1lbnQqIHNyYykKKyAgICAgICAgOiBtX3NyYyhzcmMpIHsgfQorCisg
ICAgfldlYktpdE1lZGlhU3RyZWFtT2JzZXJ2ZXIoKQorICAgIHsKKyNpZiBHU1RfQ0hFQ0tfVkVS
U0lPTigxLCAxNiwgMCkKKyAgICAgICAgZ3N0X2NsZWFyX29iamVjdCgmbV9zcmMpOworI2Vsc2UK
KyAgICAgICAgZ3N0X29iamVjdF91bnJlZihtX3NyYyk7CisgICAgICAgIG1fc3JjID0gbnVsbHB0
cjsKKyNlbmRpZgorICAgIH0KIAogICAgIHZvaWQgY2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpIGZp
bmFsCiAgICAgewogICAgICAgICBpZiAobV9zcmMpCi0gICAgICAgICAgICBHU1RfREVCVUdfT0JK
RUNUKG1fc3JjLmdldCgpLCAicmVuZWdvdGlhdGlvbiBzaG91bGQgaGFwcGVuIik7CisgICAgICAg
ICAgICBHU1RfREVCVUdfT0JKRUNUKG1fc3JjLCAicmVuZWdvdGlhdGlvbiBzaG91bGQgaGFwcGVu
Iik7CiAgICAgfQogICAgIHZvaWQgYWN0aXZlU3RhdHVzQ2hhbmdlZCgpIGZpbmFsIHsgfQogCiAg
ICAgdm9pZCBkaWRBZGRUcmFjayhNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYgdHJhY2spIGZpbmFs
CiAgICAgewogICAgICAgICBpZiAobV9zcmMpCi0gICAgICAgICAgICB3ZWJraXRNZWRpYVN0cmVh
bVNyY0FkZFRyYWNrKFdFQktJVF9NRURJQV9TVFJFQU1fU1JDKG1fc3JjLmdldCgpKSwgJnRyYWNr
LCBmYWxzZSk7CisgICAgICAgICAgICB3ZWJraXRNZWRpYVN0cmVhbVNyY0FkZFRyYWNrKFdFQktJ
VF9NRURJQV9TVFJFQU1fU1JDKG1fc3JjKSwgJnRyYWNrLCBmYWxzZSk7CiAgICAgfQogCiAgICAg
dm9pZCBkaWRSZW1vdmVUcmFjayhNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYgdHJhY2spIGZpbmFs
CiAgICAgewogICAgICAgICBpZiAobV9zcmMpCi0gICAgICAgICAgICB3ZWJraXRNZWRpYVN0cmVh
bVNyY1JlbW92ZVRyYWNrQnlUeXBlKFdFQktJVF9NRURJQV9TVFJFQU1fU1JDKG1fc3JjLmdldCgp
KSwgdHJhY2sudHlwZSgpKTsKKyAgICAgICAgICAgIHdlYmtpdE1lZGlhU3RyZWFtU3JjUmVtb3Zl
VHJhY2tCeVR5cGUoV0VCS0lUX01FRElBX1NUUkVBTV9TUkMobV9zcmMpLCB0cmFjay50eXBlKCkp
OwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IG1fc3JjOworICAg
IEdzdEVsZW1lbnQqIG1fc3JjOwogfTsKIAogY2xhc3MgSW50ZXJuYWxTb3VyY2UgewpAQCAtMzc5
LDYgKzM5OCw4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdE1lZGlhU3RyZWFtU3JjRmluYWxpemUoR09i
amVjdCogb2JqZWN0KQogICAgICAgICBwcml2LT5zdHJlYW0gPSBudWxscHRyOwogICAgIH0KICAg
ICBHU1RfT0JKRUNUX1VOTE9DSyhzZWxmKTsKKworICAgIEdTVF9DQUxMX1BBUkVOVChHX09CSkVD
VF9DTEFTUywgZmluYWxpemUsIChvYmplY3QpKTsKIH0KIAogc3RhdGljIEdzdFN0YXRlQ2hhbmdl
UmV0dXJuIHdlYmtpdE1lZGlhU3RyZWFtU3JjQ2hhbmdlU3RhdGUoR3N0RWxlbWVudCogZWxlbWVu
dCwgR3N0U3RhdGVDaGFuZ2UgdHJhbnNpdGlvbikK
</data>
<flag name="review"
          id="419288"
          type_id="1"
          status="-"
          setter="calvaris"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404797</attachid>
            <date>2020-07-20 22:42:46 -0700</date>
            <delta_ts>2020-07-21 02:03:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.patch</filename>
            <type>text/plain</type>
            <size>9199</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwYWJjZTc2NDZiOWYuLjgxYjBmODYzOGQ0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBA
CisyMDIwLTA3LTIxICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW0dTdHJlYW1lcl1bMS4xOF0gbWVkaWFzdHJlYW1zcmMgZWxlbWVudCBo
aXRzIGFzc2VydCBpbiBnc3QgLWNvcmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNDE1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFzIHJlc3VsdCBvZiB0aGlzIGJ1ZworICAgICAgICBmYXN0L21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtLXJlbW92ZVRyYWNrLXdoaWxlLXBsYXlpbmcuaHRtbCBiZWdpbnMK
KyAgICAgICAgdG8gY3Jhc2ggaW4gZGVidWcgbW9kZSBpbiBhbiBhc3NlcnRpb24uIFdoZW4gYSB0
cmFjayBpcyByZW1vdmVkCisgICAgICAgIHRoZSBvYnNlcnZlciBpcyBub3QgcmVtb3ZlZCBhbmQg
d2hlbiBpdCBkaWVzIHRoZXJlIGFyZSBudWxsCisgICAgICAgIG9iamVjdHMgaW4gdGhlIG9ic2Vy
dmVyIHdlYWsgaGFzaCBzZXQuIFN0aWxsLCBpZiB5b3UgZG8gYSBxdWljaworICAgICAgICBwYXRj
aCB0byByZW1vdmUgdGhlIG9ic2VydmVyLCB0aGluZ3MgY2FuIHN0aWxsIGNyYXNoIGFzIHRyYWNr
CisgICAgICAgIHJlbW92YWwgaXMgcmFjeSBhbmQgaW4gcmVsZWFzZSB0aGVyZScgb3RoZXIgY3Jh
c2guIEFsbCB0aGlzIG5lZWRzCisgICAgICAgIHRvIGJlIHRhY2xrZWQgYXMgYSBnZW5lcmFsIGFw
cHJvYWNoIHRvIGZpeCB0cmFjayByZW1vdmFsLgorCisgICAgICAgICogcGxhdGZvcm0vZ2xpYi9U
ZXN0RXhwZWN0YXRpb25zOiBBZGRlZAorICAgICAgICBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLXJlbW92ZVRyYWNrLXdoaWxlLXBsYXlpbmcuaHRtbCBhcworICAgICAgICBQYXNzIENyYXNo
IGZvciByZWxlYXNlIGFuZCBjcmFzaCBmb3IgZGVidWcuCisKIDIwMjAtMDctMTggIEFsZXhleSBT
aHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFJlZGVmaW5pbmcgYSBw
cm9wZXJ0eSBzaG91bGQgbm90IGNoYW5nZSBpdHMgaW5zZXJ0aW9uIGluZGV4IChPYmplY3Qua2V5
cyBvcmRlcikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCA4MjY3ZDUyY2IyZWIuLjdhNjRkNjA0Y2E5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2ds
aWIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTgyLDYgKzE4Miw4IEBAIHdlYmtpdC5vcmcvYi83OTIw
MyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZWNvbm5lY3Rpb25zdGF0ZWNo
YW5nZS1lCiB3ZWJraXQub3JnL2IvNzkyMDMgIGZhc3QvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
LXJlcGxhY2VUcmFjay5odG1sIFsgRmFpbHVyZSBDcmFzaCBdCiB3ZWJraXQub3JnL2IvMTg3NjAz
IGZhc3QvbWVkaWFzdHJlYW0vbWVkaWEtc3RyZWFtLXRyYWNrLXNvdXJjZS1mYWlsdXJlLmh0bWwg
WyBUaW1lb3V0IEZhaWx1cmUgUGFzcyBdCiB3ZWJraXQub3JnL2IvMTkxODg2IHdlYmtpdC5vcmcv
Yi8yMTA4MDAgZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS12aWRlby1lbGVtZW50LXJlbW92
ZS10cmFjay5odG1sIFsgRmFpbHVyZSBDcmFzaCBdCit3ZWJraXQub3JnL2IvMTkxODg2IHdlYmtp
dC5vcmcvYi8yMTA4MDAgWyBSZWxlYXNlIF0gZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1y
ZW1vdmVUcmFjay13aGlsZS1wbGF5aW5nLmh0bWwgWyBQYXNzIENyYXNoIF0KK3dlYmtpdC5vcmcv
Yi8xOTE4ODYgd2Via2l0Lm9yZy9iLzIxMDgwMCBbIERlYnVnIF0gZmFzdC9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbS1yZW1vdmVUcmFjay13aGlsZS1wbGF5aW5nLmh0bWwgWyBDcmFzaCBdCiB3ZWJr
aXQub3JnL2IvMTk5NDQwIGZhc3QvbWVkaWFzdHJlYW0vbWVkaWFzdHJlYW10cmFjay12aWRlby1j
bG9uZS5odG1sIFsgQ3Jhc2ggUGFzcyBdCiB3ZWJraXQub3JnL2IvMjEwMzM3IGZhc3QvbWVkaWFz
dHJlYW0vbWVkaWFzdHJlYW10cmFjay1hdWRpby1jbG9uZS5odG1sIFsgRmFpbHVyZSBQYXNzIF0K
IHdlYmtpdC5vcmcvYi8yMTAzODUgZmFzdC9tZWRpYXN0cmVhbS9zdHJlYW0tc3dpdGNoLmh0bWwg
WyBDcmFzaCBUaW1lb3V0IF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzMzdjZDRhNGM4YzYuLjcwYmIzYTkxY2Zm
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA3LTIxICBYYWJpZXIgUm9kcmln
dWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dTdHJlYW1lcl1b
MS4xOF0gbWVkaWFzdHJlYW1zcmMgZWxlbWVudCBoaXRzIGFzc2VydCBpbiBnc3QgLWNvcmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDE1MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgdHJh
Y2sgcG9pbnRlcnMgZnJvbSBvYnNlcnZlcnMgY2F1c2UgdGhlIG9iamVjdCB3YXMKKyAgICAgICAg
c2VsZi1yZWZlcmVuY2luZyBhIGNvdXBsZSBvZiB0aW1lcy4gT2JzZXJ2ZXJzIGFyZSAxLTEgd2l0
aCB0aGUKKyAgICAgICAgc291cmNlIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8ga2VlcCBhbiBvd25l
ZCByZWZlcmVuY2UgYW5kIHRoZXJlIGlzCisgICAgICAgIG5vIGRhbmdlciBvZiBpbmNvcnJlY3Qg
ZGVyZWZlcmVuY2luZy4KKworICAgICAgICBUdXJuZWQgZmluYWxpemUgaW50byBkaXNwb3NlIGFz
IHRoZSB3b3JrIGlzIGRvaW5nIGlzIG1vcmUgcmVtb3ZpbmcKKyAgICAgICAgdGhlIHJlZmVyZW5j
ZXMgd2l0aCBvdGhlciBvYmplY3RzLCB3aGljaCB3aGF0IHRoZSBkaXNwb3NlIGlzCisgICAgICAg
IGFib3V0LiBDYWxsZWQgdGhlIHBhcmVudCBvbiB0aGF0LCB3aGljaCBhcyBtaXNzaW5nIGFzIHdl
bGwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVy
TWVkaWFTdHJlYW1Tb3VyY2UuY3BwOgorICAgICAgICAoV2ViS2l0TWVkaWFTdHJlYW1UcmFja09i
c2VydmVyOjpXZWJLaXRNZWRpYVN0cmVhbVRyYWNrT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0
TWVkaWFTdHJlYW1PYnNlcnZlcjo6V2ViS2l0TWVkaWFTdHJlYW1PYnNlcnZlcik6CisgICAgICAg
ICh3ZWJraXRNZWRpYVN0cmVhbVNyY0NvbnN0cnVjdGVkKToKKyAgICAgICAgKHdlYmtpdE1lZGlh
U3RyZWFtU3JjRGlzcG9zZSk6CisgICAgICAgICh3ZWJraXRfbWVkaWFfc3RyZWFtX3NyY19jbGFz
c19pbml0KToKKwogMjAyMC0wNy0xOCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4IGJ1aWxkIHdhcm5pbmdzIGluIHRoZSBX
ZWJYUiBiYWNrZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1lZGlhU3RyZWFt
U291cmNlLmNwcAppbmRleCAwNGMyNTE4MzdjMTAuLjA1NTdjODFlMDg0NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVhbWVyL0dTdHJlYW1lck1l
ZGlhU3RyZWFtU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9nc3RyZWFtZXIvR1N0cmVhbWVyTWVkaWFTdHJlYW1Tb3VyY2UuY3BwCkBAIC0xMDMsMTQg
KzEwMywxNCBAQCBjbGFzcyBXZWJLaXRNZWRpYVN0cmVhbVRyYWNrT2JzZXJ2ZXIKICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJLaXRNZWRpYVN0
cmVhbVRyYWNrT2JzZXJ2ZXIoKSB7IH07Ci0gICAgV2ViS2l0TWVkaWFTdHJlYW1UcmFja09ic2Vy
dmVyKEdSZWZQdHI8R3N0RWxlbWVudD4mJiBzcmMpCi0gICAgICAgIDogbV9zcmMoV1RGTW92ZShz
cmMpKSB7IH0KKyAgICBXZWJLaXRNZWRpYVN0cmVhbVRyYWNrT2JzZXJ2ZXIoR3N0RWxlbWVudCog
c3JjKQorICAgICAgICA6IG1fc3JjKHNyYykgeyB9CiAgICAgdm9pZCB0cmFja1N0YXJ0ZWQoTWVk
aWFTdHJlYW1UcmFja1ByaXZhdGUmKSBmaW5hbCB7IH07CiAKICAgICB2b2lkIHRyYWNrRW5kZWQo
TWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHRyYWNrKSBmaW5hbAogICAgIHsKICAgICAgICAgaWYg
KG1fc3JjKQotICAgICAgICAgICAgd2Via2l0TWVkaWFTdHJlYW1TcmNUcmFja0VuZGVkKFdFQktJ
VF9NRURJQV9TVFJFQU1fU1JDKG1fc3JjLmdldCgpKSwgdHJhY2spOworICAgICAgICAgICAgd2Vi
a2l0TWVkaWFTdHJlYW1TcmNUcmFja0VuZGVkKFdFQktJVF9NRURJQV9TVFJFQU1fU1JDKG1fc3Jj
KSwgdHJhY2spOwogICAgIH0KIAogICAgIHZvaWQgdHJhY2tFbmFibGVkQ2hhbmdlZChNZWRpYVN0
cmVhbVRyYWNrUHJpdmF0ZSYgdHJhY2spIGZpbmFsCkBAIC0xMjgsNyArMTI4LDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGF1dG8qIGdzdFNhbXBsZSA9IHN0YXRp
Y19jYXN0PE1lZGlhU2FtcGxlR1N0cmVhbWVyKj4oJnNhbXBsZSktPnBsYXRmb3JtU2FtcGxlKCku
c2FtcGxlLmdzdFNhbXBsZTsKLSAgICAgICAgd2Via2l0TWVkaWFTdHJlYW1TcmNQdXNoVmlkZW9T
YW1wbGUoV0VCS0lUX01FRElBX1NUUkVBTV9TUkMobV9zcmMuZ2V0KCkpLCBnc3RTYW1wbGUpOwor
ICAgICAgICB3ZWJraXRNZWRpYVN0cmVhbVNyY1B1c2hWaWRlb1NhbXBsZShXRUJLSVRfTUVESUFf
U1RSRUFNX1NSQyhtX3NyYyksIGdzdFNhbXBsZSk7CiAgICAgfQogCiAgICAgdm9pZCBhdWRpb1Nh
bXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEm
IGF1ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCkgZmluYWwK
QEAgLTEzNywxMSArMTM3LDExIEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICBhdXRvIGRhdGEgPSBzdGF0aWNfY2FzdDxjb25zdCBHU3RyZWFtZXJBdWRpb0RhdGEmPihh
dWRpb0RhdGEpOwotICAgICAgICB3ZWJraXRNZWRpYVN0cmVhbVNyY1B1c2hBdWRpb1NhbXBsZShX
RUJLSVRfTUVESUFfU1RSRUFNX1NSQyhtX3NyYy5nZXQoKSksIGRhdGEuZ2V0U2FtcGxlKCkpOwor
ICAgICAgICB3ZWJraXRNZWRpYVN0cmVhbVNyY1B1c2hBdWRpb1NhbXBsZShXRUJLSVRfTUVESUFf
U1RSRUFNX1NSQyhtX3NyYyksIGRhdGEuZ2V0U2FtcGxlKCkpOwogICAgIH0KIAogcHJpdmF0ZToK
LSAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+IG1fc3JjOworICAgIEdzdEVsZW1lbnQqIG1fc3JjOwog
ICAgIGJvb2wgbV9lbmFibGVkIHsgdHJ1ZSB9OwogfTsKIApAQCAtMTQ5LDMwICsxNDksMzAgQEAg
Y2xhc3MgV2ViS2l0TWVkaWFTdHJlYW1PYnNlcnZlciA6IHB1YmxpYyBNZWRpYVN0cmVhbVByaXZh
dGU6Ok9ic2VydmVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5XZWJLaXRNZWRpYVN0cmVhbU9ic2VydmVyKCkgeyB9OwotICAgIFdlYktpdE1l
ZGlhU3RyZWFtT2JzZXJ2ZXIoR1JlZlB0cjxHc3RFbGVtZW50PiYmIHNyYykKLSAgICAgICAgOiBt
X3NyYyhXVEZNb3ZlKHNyYykpIHsgfQorICAgIFdlYktpdE1lZGlhU3RyZWFtT2JzZXJ2ZXIoR3N0
RWxlbWVudCogc3JjKQorICAgICAgICA6IG1fc3JjKHNyYykgeyB9CiAKICAgICB2b2lkIGNoYXJh
Y3RlcmlzdGljc0NoYW5nZWQoKSBmaW5hbAogICAgIHsKICAgICAgICAgaWYgKG1fc3JjKQotICAg
ICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChtX3NyYy5nZXQoKSwgInJlbmVnb3RpYXRpb24gc2hv
dWxkIGhhcHBlbiIpOworICAgICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChtX3NyYywgInJlbmVn
b3RpYXRpb24gc2hvdWxkIGhhcHBlbiIpOwogICAgIH0KICAgICB2b2lkIGFjdGl2ZVN0YXR1c0No
YW5nZWQoKSBmaW5hbCB7IH0KIAogICAgIHZvaWQgZGlkQWRkVHJhY2soTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUmIHRyYWNrKSBmaW5hbAogICAgIHsKICAgICAgICAgaWYgKG1fc3JjKQotICAgICAg
ICAgICAgd2Via2l0TWVkaWFTdHJlYW1TcmNBZGRUcmFjayhXRUJLSVRfTUVESUFfU1RSRUFNX1NS
QyhtX3NyYy5nZXQoKSksICZ0cmFjaywgZmFsc2UpOworICAgICAgICAgICAgd2Via2l0TWVkaWFT
dHJlYW1TcmNBZGRUcmFjayhXRUJLSVRfTUVESUFfU1RSRUFNX1NSQyhtX3NyYyksICZ0cmFjaywg
ZmFsc2UpOwogICAgIH0KIAogICAgIHZvaWQgZGlkUmVtb3ZlVHJhY2soTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUmIHRyYWNrKSBmaW5hbAogICAgIHsKICAgICAgICAgaWYgKG1fc3JjKQotICAgICAg
ICAgICAgd2Via2l0TWVkaWFTdHJlYW1TcmNSZW1vdmVUcmFja0J5VHlwZShXRUJLSVRfTUVESUFf
U1RSRUFNX1NSQyhtX3NyYy5nZXQoKSksIHRyYWNrLnR5cGUoKSk7CisgICAgICAgICAgICB3ZWJr
aXRNZWRpYVN0cmVhbVNyY1JlbW92ZVRyYWNrQnlUeXBlKFdFQktJVF9NRURJQV9TVFJFQU1fU1JD
KG1fc3JjKSwgdHJhY2sudHlwZSgpKTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgR1JlZlB0cjxH
c3RFbGVtZW50PiBtX3NyYzsKKyAgICBHc3RFbGVtZW50KiBtX3NyYzsKIH07CiAKIGNsYXNzIElu
dGVybmFsU291cmNlIHsKQEAgLTM0Myw5ICszNDMsMTMgQEAgc3RhdGljIHZvaWQgd2Via2l0TWVk
aWFTdHJlYW1TcmNDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiAgICAgV2ViS2l0TWVkaWFT
dHJlYW1TcmMqIHNlbGYgPSBXRUJLSVRfTUVESUFfU1RSRUFNX1NSQyhvYmplY3QpOwogICAgIGF1
dG8qIHByaXYgPSBzZWxmLT5wcml2OwogCi0gICAgcHJpdi0+bWVkaWFTdHJlYW1UcmFja09ic2Vy
dmVyID0gbWFrZVVuaXF1ZTxXZWJLaXRNZWRpYVN0cmVhbVRyYWNrT2JzZXJ2ZXI+KEdTVF9FTEVN
RU5UX0NBU1QoZ3N0X29iamVjdF9yZWYoc2VsZikpKTsKLSAgICBwcml2LT5tZWRpYVN0cmVhbU9i
c2VydmVyID0gbWFrZVVuaXF1ZTxXZWJLaXRNZWRpYVN0cmVhbU9ic2VydmVyPihHU1RfRUxFTUVO
VF9DQVNUKGdzdF9vYmplY3RfcmVmKHNlbGYpKSk7CisgICAgcHJpdi0+bWVkaWFTdHJlYW1UcmFj
a09ic2VydmVyID0gbWFrZVVuaXF1ZTxXZWJLaXRNZWRpYVN0cmVhbVRyYWNrT2JzZXJ2ZXI+KEdT
VF9FTEVNRU5UX0NBU1Qoc2VsZikpOworICAgIHByaXYtPm1lZGlhU3RyZWFtT2JzZXJ2ZXIgPSBt
YWtlVW5pcXVlPFdlYktpdE1lZGlhU3RyZWFtT2JzZXJ2ZXI+KEdTVF9FTEVNRU5UX0NBU1Qoc2Vs
ZikpOwogICAgIHByaXYtPmZsb3dDb21iaW5lciA9IEdVbmlxdWVQdHI8R3N0Rmxvd0NvbWJpbmVy
Pihnc3RfZmxvd19jb21iaW5lcl9uZXcoKSk7CisKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MTUwCisgICAgQVNTRVJUKEdTVF9PQkpFQ1RfUkVGQ09V
TlQoc2VsZikgPT0gMSk7CisgICAgQVNTRVJUKGdfb2JqZWN0X2lzX2Zsb2F0aW5nKHNlbGYpKTsK
IH0KIAogc3RhdGljIHZvaWQgc3RvcE9ic2VydmluZ1RyYWNrcyhXZWJLaXRNZWRpYVN0cmVhbVNy
Yyogc2VsZikKQEAgLTM2Niw3ICszNzAsNyBAQCBzdGF0aWMgdm9pZCBzdG9wT2JzZXJ2aW5nVHJh
Y2tzKFdlYktpdE1lZGlhU3RyZWFtU3JjKiBzZWxmKQogICAgIEdTVF9PQkpFQ1RfVU5MT0NLKHNl
bGYpOwogfQogCi1zdGF0aWMgdm9pZCB3ZWJraXRNZWRpYVN0cmVhbVNyY0ZpbmFsaXplKEdPYmpl
Y3QqIG9iamVjdCkKK3N0YXRpYyB2b2lkIHdlYmtpdE1lZGlhU3RyZWFtU3JjRGlzcG9zZShHT2Jq
ZWN0KiBvYmplY3QpCiB7CiAgICAgV2ViS2l0TWVkaWFTdHJlYW1TcmMqIHNlbGYgPSBXRUJLSVRf
TUVESUFfU1RSRUFNX1NSQyhvYmplY3QpOwogCkBAIC0zNzgsNyArMzgyLDEwIEBAIHN0YXRpYyB2
b2lkIHdlYmtpdE1lZGlhU3RyZWFtU3JjRmluYWxpemUoR09iamVjdCogb2JqZWN0KQogICAgICAg
ICBwcml2LT5zdHJlYW0tPnJlbW92ZU9ic2VydmVyKCpwcml2LT5tZWRpYVN0cmVhbU9ic2VydmVy
KTsKICAgICAgICAgcHJpdi0+c3RyZWFtID0gbnVsbHB0cjsKICAgICB9CisgICAgcHJpdi0+dHJh
Y2sgPSBudWxscHRyOwogICAgIEdTVF9PQkpFQ1RfVU5MT0NLKHNlbGYpOworCisgICAgR1NUX0NB
TExfUEFSRU5UKEdfT0JKRUNUX0NMQVNTLCBkaXNwb3NlLCAob2JqZWN0KSk7CiB9CiAKIHN0YXRp
YyBHc3RTdGF0ZUNoYW5nZVJldHVybiB3ZWJraXRNZWRpYVN0cmVhbVNyY0NoYW5nZVN0YXRlKEdz
dEVsZW1lbnQqIGVsZW1lbnQsIEdzdFN0YXRlQ2hhbmdlIHRyYW5zaXRpb24pCkBAIC00MDQsNyAr
NDExLDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X21lZGlhX3N0cmVhbV9zcmNfY2xhc3NfaW5pdChX
ZWJLaXRNZWRpYVN0cmVhbVNyY0NsYXNzKiBrbGFzcykKICAgICBHc3RFbGVtZW50Q2xhc3MqIGdz
dEVsZW1lbnRDbGFzcyA9IEdTVF9FTEVNRU5UX0NMQVNTKGtsYXNzKTsKIAogICAgIGdvYmplY3RD
bGFzcy0+Y29uc3RydWN0ZWQgPSB3ZWJraXRNZWRpYVN0cmVhbVNyY0NvbnN0cnVjdGVkOwotICAg
IGdvYmplY3RDbGFzcy0+ZmluYWxpemUgPSB3ZWJraXRNZWRpYVN0cmVhbVNyY0ZpbmFsaXplOwor
ICAgIGdvYmplY3RDbGFzcy0+ZGlzcG9zZSA9IHdlYmtpdE1lZGlhU3RyZWFtU3JjRGlzcG9zZTsK
ICAgICBnb2JqZWN0Q2xhc3MtPmdldF9wcm9wZXJ0eSA9IHdlYmtpdE1lZGlhU3RyZWFtU3JjR2V0
UHJvcGVydHk7CiAgICAgZ29iamVjdENsYXNzLT5zZXRfcHJvcGVydHkgPSB3ZWJraXRNZWRpYVN0
cmVhbVNyY1NldFByb3BlcnR5OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>