<?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>211844</bug_id>
          
          <creation_ts>2020-05-13 08:58:56 -0700</creation_ts>
          <short_desc>JSDOMWindowBase m_windowCloseWatchpoints must be Ref&lt;&gt;</short_desc>
          <delta_ts>2020-05-13 19:16: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>Bindings</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="xc.o.c.1180@gmail.com">xc.o.c.1180</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1652246</commentid>
    <comment_count>0</comment_count>
      <attachid>399266</attachid>
    <who name="xc.o.c.1180@gmail.com">xc.o.c.1180</who>
    <bug_when>2020-05-13 08:58:56 -0700</bug_when>
    <thetext>Created attachment 399266
patch

JSC WatchpointSet is reference counted, however m_windowCloseWatchpoints is just a member variable.

ProxyableAccessCase holds on it, when JSDOMWindowBase is destroyed, m_additionalSet holds a dangling pointer.

By the way, WatchpointSet constructor should be private.

I can not build latest WebKit, please clean up the patch, add other stuffs, then commit it.


Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652341</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-13 12:40:24 -0700</bug_when>
    <thetext>(In reply to xc.o.c.1180@gmail.com from comment #0)
&gt; Created attachment 399266 [details]
&gt; patch
&gt; 
&gt; JSC WatchpointSet is reference counted, however m_windowCloseWatchpoints is
&gt; just a member variable.
&gt; 
&gt; ProxyableAccessCase holds on it, when JSDOMWindowBase is destroyed,
&gt; m_additionalSet holds a dangling pointer.
&gt; 
&gt; By the way, WatchpointSet constructor should be private.
&gt; 
&gt; I can not build latest WebKit, please clean up the patch, add other stuffs,
&gt; then commit it.
&gt; 
&gt; 
&gt; Thanks.

We are unable to approve / commit patches without test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652356</commentid>
    <comment_count>2</comment_count>
    <who name="xc.o.c.1180@gmail.com">xc.o.c.1180</who>
    <bug_when>2020-05-13 13:26:28 -0700</bug_when>
    <thetext>Test case is not practical, it depends on memory access.

First, JSDOMWindowBase must be destroyed before ProxyableAccessCase which holds its m_windowCloseWatchpoints, this step is possible.

Second, since WatchpointSet is reference counted, the memory which has m_windowCloseWatchpoints&apos;s reference counter must be 1, otherwise, ProxyableAccessCase does not destroy its m_additionalSet (JSDOMWindowBase&apos;s m_windowCloseWatchpoints) when itself is deleted. This step is not practical in test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652385</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-05-13 14:00:23 -0700</bug_when>
    <thetext>(In reply to xc.o.c.1180@gmail.com from comment #2)
&gt; Test case is not practical, it depends on memory access.
&gt; 
&gt; First, JSDOMWindowBase must be destroyed before ProxyableAccessCase which
&gt; holds its m_windowCloseWatchpoints, this step is possible.

I think this is possible while I don&apos;t come up with the test case.

&gt; 
&gt; Second, since WatchpointSet is reference counted, the memory which has
&gt; m_windowCloseWatchpoints&apos;s reference counter must be 1, otherwise,
&gt; ProxyableAccessCase does not destroy its m_additionalSet (JSDOMWindowBase&apos;s
&gt; m_windowCloseWatchpoints) when itself is deleted. This step is not practical
&gt; in test case.

The initial m_refCount of RefCounted object is 1. And when wrapping this with Ref&lt;&gt; initially at construction, we do not increment it because of this (this is called &quot;adopt&quot;. See adoptRef).
So this does not matter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652452</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-05-13 17:29:56 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #3)
&gt; (In reply to xc.o.c.1180@gmail.com from comment #2)
&gt; &gt; Test case is not practical, it depends on memory access.
&gt; &gt; 
&gt; &gt; First, JSDOMWindowBase must be destroyed before ProxyableAccessCase which
&gt; &gt; holds its m_windowCloseWatchpoints, this step is possible.
&gt; 
&gt; I think this is possible while I don&apos;t come up with the test case.

After looking into this deeply, I think this does not matter. ProxyableAccessCase has Structure, and this Structure will point to JSDOMWindow. So, as long as ProxyableAccessCase is alive, JSDOMWindow is also alive.

But anyway, using RefCounted object without RefCount-creation is not good. I&apos;ll fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652453</commentid>
    <comment_count>5</comment_count>
      <attachid>399319</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-05-13 17:30:49 -0700</bug_when>
    <thetext>Created attachment 399319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652454</commentid>
    <comment_count>6</comment_count>
      <attachid>399319</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-05-13 17:39:06 -0700</bug_when>
    <thetext>Comment on attachment 399319
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652484</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-13 19:15:37 -0700</bug_when>
    <thetext>Committed r261668: &lt;https://trac.webkit.org/changeset/261668&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399319.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652485</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-13 19:16:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/63210610&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>399266</attachid>
            <date>2020-05-13 08:58:56 -0700</date>
            <delta_ts>2020-05-13 08:58:56 -0700</delta_ts>
            <desc>patch</desc>
            <filename>file_211844.txt</filename>
            <type>text/plain</type>
            <size>2080</size>
            <attacher name="xc.o.c.1180@gmail.com">xc.o.c.1180</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTRE9NV2luZG93QmFzZS5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBKU0RPTVdpbmRvd0Jh
c2UuY3BwCShyZXZpc2lvbiAyNjE2MTYpDQorKysgSlNET01XaW5kb3dCYXNlLmNwcAkod29ya2lu
ZyBjb3B5KQ0KQEAgLTkwLDcgKzkwLDcgQEANCiANCiBKU0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2lu
ZG93QmFzZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBSZWZQdHI8RE9NV2luZG93PiYm
IHdpbmRvdywgSlNXaW5kb3dQcm94eSogcHJveHkpDQogICAgIDogSlNET01HbG9iYWxPYmplY3Qo
dm0sIHN0cnVjdHVyZSwgcHJveHktPndvcmxkKCksICZzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxl
KQ0KLSAgICAsIG1fd2luZG93Q2xvc2VXYXRjaHBvaW50cygod2luZG93ICYmIHdpbmRvdy0+ZnJh
bWUoKSkgPyBJc1dhdGNoZWQgOiBJc0ludmFsaWRhdGVkKQ0KKyAgICAsIG1fd2luZG93Q2xvc2VX
YXRjaHBvaW50cyhXYXRjaHBvaW50U2V0OjpjcmVhdGUoKHdpbmRvdyAmJiB3aW5kb3ctPmZyYW1l
KCkpID8gSXNXYXRjaGVkIDogSXNJbnZhbGlkYXRlZCkpDQogICAgICwgbV93cmFwcGVkKFdURk1v
dmUod2luZG93KSkNCiAgICAgLCBtX3Byb3h5KHByb3h5KQ0KIHsNCkBAIC0yOTYsNyArMjk2LDcg
QEANCiAgICAgICAgIGlmICghd3JhcHBlcikNCiAgICAgICAgICAgICBjb250aW51ZTsNCiAgICAg
ICAgIEpTRE9NV2luZG93QmFzZSoganNXaW5kb3cgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jh
c2UqPih3cmFwcGVyKTsNCi0gICAgICAgIGpzV2luZG93LT5tX3dpbmRvd0Nsb3NlV2F0Y2hwb2lu
dHMuZmlyZUFsbCh2bSwgIkZyYW1lIGNsZWFyZWQiKTsNCisgICAgICAgIGpzV2luZG93LT5tX3dp
bmRvd0Nsb3NlV2F0Y2hwb2ludHMtPmZpcmVBbGwodm0sICJGcmFtZSBjbGVhcmVkIik7DQogICAg
IH0NCiB9DQogDQpJbmRleDogSlNET01XaW5kb3dCYXNlLmgNCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBKU0RP
TVdpbmRvd0Jhc2UuaAkocmV2aXNpb24gMjYxNjE2KQ0KKysrIEpTRE9NV2luZG93QmFzZS5oCSh3
b3JraW5nIGNvcHkpDQpAQCAtODksNyArODksNyBAQA0KICAgICBKU0RPTVdpbmRvd0Jhc2UoSlND
OjpWTSYsIEpTQzo6U3RydWN0dXJlKiwgUmVmUHRyPERPTVdpbmRvdz4mJiwgSlNXaW5kb3dQcm94
eSopOw0KICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mLCBKU1dpbmRvd1Byb3h5Kik7
DQogDQotICAgIEpTQzo6V2F0Y2hwb2ludFNldCBtX3dpbmRvd0Nsb3NlV2F0Y2hwb2ludHM7DQor
ICAgIFJlZjxKU0M6OldhdGNocG9pbnRTZXQ+IG1fd2luZG93Q2xvc2VXYXRjaHBvaW50czsNCiAN
CiBwcml2YXRlOg0KICAgICB1c2luZyBSZXNwb25zZUNhbGxiYWNrID0gV1RGOjpGdW5jdGlvbjx2
b2lkKGNvbnN0IGNoYXIqLCBzaXplX3QpPjsNCkluZGV4OiBKU0RPTVdpbmRvd0N1c3RvbS5jcHAN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBKU0RPTVdpbmRvd0N1c3RvbS5jcHAJKHJldmlzaW9uIDI2MTYxNikN
CisrKyBKU0RPTVdpbmRvd0N1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0xOTQsNyArMTk0
LDcgQEANCiANCiAgICAgLy8gRklYTUU6IHRoaXMgbmVlZHMgbW9yZSBleHBsYW5hdGlvbi4NCiAg
ICAgLy8gKFBhcnRpY3VsYXJseSwgaXMgaXQgY29ycmVjdCB0aGF0IHRoaXMgZXhpc3RzIGhlcmUg
YnV0IG5vdCBpbiBnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4PykNCi0gICAgc2xvdC5zZXRXYXRj
aHBvaW50U2V0KHRoaXNPYmplY3QtPm1fd2luZG93Q2xvc2VXYXRjaHBvaW50cyk7DQorICAgIHNs
b3Quc2V0V2F0Y2hwb2ludFNldCh0aGlzT2JqZWN0LT5tX3dpbmRvd0Nsb3NlV2F0Y2hwb2ludHMu
cHRyKCkpOw0KIA0KICAgICAvLyAoMikgUmVndWxhciBvd24gcHJvcGVydGllcy4NCiAgICAgUHJv
cGVydHlTbG90IHNsb3RDb3B5ID0gc2xvdDsNCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399319</attachid>
            <date>2020-05-13 17:30:49 -0700</date>
            <delta_ts>2020-05-13 19:15:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211844-20200513173048.patch</filename>
            <type>text/plain</type>
            <size>10931</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NTVjZjRiZjVhZjZhODEyOTBjNzMzZDgwZjI5YzI4YTg4M2RlMzVmLi5jNzYyZjljM2FhYWVhNjZh
ODQzODE4MjBjMGM5YTIzNDJmZGJjMTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAyMC0wNS0xMyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIEpTRE9NV2luZG93QmFzZSBtX3dpbmRvd0Nsb3NlV2F0Y2hwb2ludHMgbXVz
dCBiZSBSZWY8PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjExODQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBieXRlY29kZS9XYXRjaHBvaW50LmNwcDoKKyAgICAgICAgKEpTQzo6SW5saW5lV2F0Y2hw
b2ludFNldDo6aW5mbGF0ZVNsb3cpOgorICAgICAgICAqIGJ5dGVjb2RlL1dhdGNocG9pbnQuaDoK
KyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNH
bG9iYWxPYmplY3Q6OkpTR2xvYmFsT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVy
ZS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6ZW5zdXJlUHJvcGVydHlSZXBsYWNlbWVu
dFdhdGNocG9pbnRTZXQpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGUuY3BwOgorICAg
ICAgICAoSlNDOjpTeW1ib2xUYWJsZUVudHJ5OjpwcmVwYXJlVG9XYXRjaCk6CisgICAgICAgICog
cnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZNOjplbnN1cmVXYXRjaHBvaW50U2V0Rm9y
SW1wdXJlUHJvcGVydHkpOgorCiAyMDIwLTA1LTEzICBDYWlvIExpbWEgIDx0aWNhaW9saW1hQGdt
YWlsLmNvbT4KIAogICAgICAgICBNYWtpbmcgMzItYml0cyBKSVQgYnVpbGQgd2l0aG91dCBVbmlm
aWVkIEJ1aWxkIHN5c3RlbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDllYjRhNjYwMTQwMDNiNDZlZTMzNDY2NGI1
MTZjZjA3ZGQyZGE2ZGYuLjUyYTI3ZGM3ZDdjZWI4MjYxOTY1MGYxMzAyMGU1ZDc3NTFmMTI1Zjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMC0wNS0xMyAgWXVzdWtlIFN1enVraSAg
PHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEpTRE9NV2luZG93QmFzZSBtX3dpbmRvd0Ns
b3NlV2F0Y2hwb2ludHMgbXVzdCBiZSBSZWY8PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExODQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSlNET01XaW5kb3dCYXNlOjptX3dpbmRvd0Nsb3NlV2F0Y2hw
b2ludHMgaXMgV2F0Y2hwb2ludFNldCwgbm90IFJlZjxXYXRjaHBvaW50U2V0Pi4gQW5kIGl0IGlz
IHBhc3NlZCB0byBKU0MgSUMgbGF5ZXIgdmlhIFByb3BlcnR5U2xvdDo6c2V0V2F0Y2hwb2ludCgu
Li4pLgorICAgICAgICBBbmQgUHJveHlhYmxlQWNjZXNzQ2FzZSBjYW4gaG9sZCBpdCBhcyBgUmVm
UHRyPFdhdGNocG9pbnRTZXQ+IG1fYWRkaXRpb25hbFNldDtgLCB0aGlzIGlzIHdyb25nLgorCisg
ICAgICAgIFRoaXMgcGF0Y2ggaGlkZXMgV2F0Y2hwb2ludFNldCBjb25zdHJ1Y3RvciBiZWhpbmQg
YHByb3RlY3RlZGAgdG8gZGlzYWxsb3cgbm9uIFJlZjw+IFdhdGNocG9pbnRTZXQgY29uc3RydWN0
aW9uLiBXZSBtYWRlIGl0IGBwcm90ZWN0ZWRgIHNpbmNlIEluZmVycmVkVmFsdWVXYXRjaHBvaW50
U2V0CisgICAgICAgIGluaGVyaXRzIFdhdGNocG9pbnRTZXQgYW5kIHVzZXMgdGhpcyBjb25zdHJ1
Y3Rvci4KKworICAgICAgICBQb3NzaWJseSwgdGhpcyBkb2VzIG5vdCBtYXR0ZXI6IFByb3h5YWJs
ZUFjY2Vzc0Nhc2Uga2VlcHMgU3RydWN0dXJlLCB3aGljaCBwb2ludHMgdG8gSlNET01XaW5kb3dC
YXNlLiBTbywgaXQgd291bGQgbm90IGhhcHBlbiB0aGF0IFByb3h5YWJsZUFjY2Vzc0Nhc2UgaGFz
IGEgd3JvbmcgcG9pbnRlcgorICAgICAgICB0byBXYXRjaHBvaW50U2V0IHNpbmNlIEpTRE9NV2lu
ZG93QmFzZSBpcyBrZXB0IGFsaXZlIGFueXdheS4gQnV0IGF2b2lkIHVzaW5nIFJlZkNvdW50ZWQg
b2JqZWN0cyB3aXRob3V0IFJlZkNvdW50IGFsbG9jYXRpb24gaXMgYmV0dGVyIHNpbmNlIHRoaXMg
Y2FuIGNhdXNlIGJ1Z3MgZWFzaWx5LgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5k
b3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6SlNET01XaW5k
b3dCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6ZmlyZUZyYW1lQ2xl
YXJlZFdhdGNocG9pbnRzRm9yV2luZG93KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0Jhc2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlTbG90KToKKwog
MjAyMC0wNS0xMyAgQW5kcmVzIEdvbnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGFzc2VydCBpbiB7V2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXIgYXR0YWNobWVudFZpZXddLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1dhdGNocG9pbnQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1dhdGNocG9pbnQuY3BwCmluZGV4IGMyMGRlOWI1YzY5MDI2ZjQ3NGFiMjY2ZmQ2MDU4M2I1
MDQ2ODYzNWUuLjYxMzIxMmY1ZWI3NDFkYWIwZjU3NjhjNTQ0NGNlMzM1ZTBlMjE2MTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9XYXRjaHBvaW50LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvV2F0Y2hwb2ludC5jcHAKQEAgLTE4Myw3
ICsxODMsNyBAQCBXYXRjaHBvaW50U2V0KiBJbmxpbmVXYXRjaHBvaW50U2V0OjppbmZsYXRlU2xv
dygpCiB7CiAgICAgQVNTRVJUKGlzVGhpbigpKTsKICAgICBBU1NFUlQoIWlzQ29tcGlsYXRpb25U
aHJlYWQoKSk7Ci0gICAgV2F0Y2hwb2ludFNldCogZmF0ID0gYWRvcHRSZWYobmV3IFdhdGNocG9p
bnRTZXQoZGVjb2RlU3RhdGUobV9kYXRhKSkpLmxlYWtSZWYoKTsKKyAgICBXYXRjaHBvaW50U2V0
KiBmYXQgPSAmV2F0Y2hwb2ludFNldDo6Y3JlYXRlKGRlY29kZVN0YXRlKG1fZGF0YSkpLmxlYWtS
ZWYoKTsKICAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOwogICAgIG1fZGF0YSA9IGJpdHdpc2Vf
Y2FzdDx1aW50cHRyX3Q+KGZhdCk7CiAgICAgcmV0dXJuIGZhdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9XYXRjaHBvaW50LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvV2F0Y2hwb2ludC5oCmluZGV4IDc3YzZkZmMyZjA4ZDY4ZGNkMDIxNzMz
MjgwMzFmYWJmNDFmNTBhMDUuLjZjMDU3ZmQ1NWRlYzJlMzgwNTdkODk4ODdjNGNiN2JiNDlmOGUz
MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9XYXRjaHBvaW50
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1dhdGNocG9pbnQuaApAQCAt
MTg2LDggKzE4Niw2IEBAIGNsYXNzIFdhdGNocG9pbnRTZXQgOiBwdWJsaWMgVGhyZWFkU2FmZVJl
ZkNvdW50ZWQ8V2F0Y2hwb2ludFNldD4gewogICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNF
eHRyYWN0b3I7CiAgICAgZnJpZW5kIGNsYXNzIERlZmVycmVkV2F0Y2hwb2ludEZpcmU7CiBwdWJs
aWM6Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgV2F0Y2hwb2ludFNldChXYXRjaHBvaW50U3RhdGUp
OwotICAgIAogICAgIC8vIEZJWE1FOiBJbiBtYW55IGNhc2VzLCBpdCB3b3VsZCBiZSBhbWF6aW5n
IGlmIHRoaXMgKmRpZCogZmlyZSB0aGUgd2F0Y2hwb2ludHMuIEkgc3VzcGVjdCB0aGF0CiAgICAg
Ly8gdGhpcyBtaWdodCBiZSBoYXJkIHRvIGdldCByaWdodCwgYnV0IHN0aWxsLCBpdCBtaWdodCBi
ZSBhd2Vzb21lLgogICAgIEpTX0VYUE9SVF9QUklWQVRFIH5XYXRjaHBvaW50U2V0KCk7IC8vIE5v
dGUgdGhhdCB0aGlzIHdpbGwgbm90IGZpcmUgYW55IG9mIHRoZSB3YXRjaHBvaW50czsgaWYgeW91
IG5lZWQgdG8ga25vdyB3aGVuIGEgV2F0Y2hwb2ludFNldCBkaWVzIHRoZW4geW91IG5lZWQgYSBz
ZXBhcmF0ZSBtZWNoYW5pc20gZm9yIHRoaXMuCkBAIC0yOTUsNiArMjkzLDkgQEAgY2xhc3MgV2F0
Y2hwb2ludFNldCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxXYXRjaHBvaW50U2V0PiB7
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBmaXJlQWxsU2xvdyhWTSYsIERlZmVycmVkV2F0
Y2hwb2ludEZpcmUqIGRlZmVycmVkV2F0Y2hwb2ludHMpOyAvLyBEaXR0by4KICAgICBKU19FWFBP
UlRfUFJJVkFURSB2b2lkIGZpcmVBbGxTbG93KFZNJiwgY29uc3QgY2hhciogcmVhc29uKTsgLy8g
RGl0dG8uCiAgICAgCitwcm90ZWN0ZWQ6CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgV2F0Y2hwb2lu
dFNldChXYXRjaHBvaW50U3RhdGUpOworCiBwcml2YXRlOgogICAgIHZvaWQgZmlyZUFsbFdhdGNo
cG9pbnRzKFZNJiwgY29uc3QgRmlyZURldGFpbCYpOwogICAgIHZvaWQgdGFrZShXYXRjaHBvaW50
U2V0KiBvdGhlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKaW5kZXggYTM0Njk4ZjViNjAxMmJjNzM0MmIxMzJjNTJkYWJkMTc3OTQyOTgz
OS4uZTdhOGE5ZWFlZGI3YzE3OTNjYjlkYmRkNjgyNDU5NWNkOTAwNTlmMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNDMwLDkg
KzQzMCw5IEBAIEpTR2xvYmFsT2JqZWN0OjpKU0dsb2JhbE9iamVjdChWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBHbG9iYWxPYmplY3RNCiAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1
cmUsIG51bGxwdHIpCiAgICAgLCBtX3ZtKCZ2bSkKICAgICAsIG1fbGlua1RpbWVDb25zdGFudHMo
bnVtYmVyT2ZMaW5rVGltZUNvbnN0YW50cykKLSAgICAsIG1fbWFzcXVlcmFkZXNBc1VuZGVmaW5l
ZFdhdGNocG9pbnQoYWRvcHRSZWYobmV3IFdhdGNocG9pbnRTZXQoSXNXYXRjaGVkKSkpCi0gICAg
LCBtX2hhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludChhZG9wdFJlZihuZXcgV2F0Y2hwb2ludFNldChJ
c1dhdGNoZWQpKSkKLSAgICAsIG1fdmFySW5qZWN0aW9uV2F0Y2hwb2ludChhZG9wdFJlZihuZXcg
V2F0Y2hwb2ludFNldChJc1dhdGNoZWQpKSkKKyAgICAsIG1fbWFzcXVlcmFkZXNBc1VuZGVmaW5l
ZFdhdGNocG9pbnQoV2F0Y2hwb2ludFNldDo6Y3JlYXRlKElzV2F0Y2hlZCkpCisgICAgLCBtX2hh
dmluZ0FCYWRUaW1lV2F0Y2hwb2ludChXYXRjaHBvaW50U2V0OjpjcmVhdGUoSXNXYXRjaGVkKSkK
KyAgICAsIG1fdmFySW5qZWN0aW9uV2F0Y2hwb2ludChXYXRjaHBvaW50U2V0OjpjcmVhdGUoSXNX
YXRjaGVkKSkKICAgICAsIG1fd2Vha1JhbmRvbShPcHRpb25zOjpmb3JjZVdlYWtSYW5kb21TZWVk
KCkgPyBPcHRpb25zOjpmb3JjZWRXZWFrUmFuZG9tU2VlZCgpIDogc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KHJhbmRvbU51bWJlcigpICogKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgo
KSArIDEuMCkpKQogICAgICwgbV9hcnJheUl0ZXJhdG9yUHJvdG9jb2xXYXRjaHBvaW50U2V0KElz
V2F0Y2hlZCkKICAgICAsIG1fbWFwSXRlcmF0b3JQcm90b2NvbFdhdGNocG9pbnRTZXQoSXNXYXRj
aGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKaW5kZXgg
YzYyYWZjZTZlOTYzMDI2OTgyZmFkODk3YzY0ZTVhZjhiYWQ4ZTYyOC4uNGZjMjViNWNlZDE4NTkz
NTRjODJjOWM3MDRiZDE1Mjg5ODZmODNiMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuY3BwCkBAIC05NTMsNyArOTUzLDcgQEAgV2F0Y2hwb2ludFNldCogU3Ry
dWN0dXJlOjplbnN1cmVQcm9wZXJ0eVJlcGxhY2VtZW50V2F0Y2hwb2ludFNldChWTSYgdm0sIFBy
b3BlcnQKICAgICB9CiAgICAgYXV0byByZXN1bHQgPSByYXJlRGF0YS0+bV9yZXBsYWNlbWVudFdh
dGNocG9pbnRTZXRzLT5hZGQob2Zmc2V0LCBudWxscHRyKTsKICAgICBpZiAocmVzdWx0LmlzTmV3
RW50cnkpCi0gICAgICAgIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBhZG9wdFJlZihuZXcgV2F0
Y2hwb2ludFNldChJc1dhdGNoZWQpKTsKKyAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9
IFdhdGNocG9pbnRTZXQ6OmNyZWF0ZShJc1dhdGNoZWQpOwogICAgIHJldHVybiByZXN1bHQuaXRl
cmF0b3ItPnZhbHVlLmdldCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TeW1ib2xUYWJsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2xUYWJsZS5jcHAKaW5kZXggYmM0OWRjOTgyYzczMjgyYmVkZWIyYjFkZWZjNzY3YTg1
YWIzNWFmOS4uZjBmOTQ1NjkyMTkwZGI2YzdjYjQzZjM4NGQ3OWU1ZDExNTRkZWIzNCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmNwcApAQCAtNjksNyAr
NjksNyBAQCB2b2lkIFN5bWJvbFRhYmxlRW50cnk6OnByZXBhcmVUb1dhdGNoKCkKICAgICBGYXRF
bnRyeSogZW50cnkgPSBpbmZsYXRlKCk7CiAgICAgaWYgKGVudHJ5LT5tX3dhdGNocG9pbnRzKQog
ICAgICAgICByZXR1cm47Ci0gICAgZW50cnktPm1fd2F0Y2hwb2ludHMgPSBhZG9wdFJlZihuZXcg
V2F0Y2hwb2ludFNldChDbGVhcldhdGNocG9pbnQpKTsKKyAgICBlbnRyeS0+bV93YXRjaHBvaW50
cyA9IFdhdGNocG9pbnRTZXQ6OmNyZWF0ZShDbGVhcldhdGNocG9pbnQpOwogfQogCiBTeW1ib2xU
YWJsZUVudHJ5OjpGYXRFbnRyeSogU3ltYm9sVGFibGVFbnRyeTo6aW5mbGF0ZVNsb3coKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCmluZGV4IDk4MGI3ODE4MGIzMWI5MWI4YThhOTM1
Yjc2ZDMzYTA1MjVjYzA3MmQuLmI3YmUwMzJhNWRmZTdhMGEwMzgzN2U4ODFjZjdkNmI2ZDJlZGJm
NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKQEAgLTExNjMsNyArMTE2Myw3
IEBAIFdhdGNocG9pbnRTZXQqIFZNOjplbnN1cmVXYXRjaHBvaW50U2V0Rm9ySW1wdXJlUHJvcGVy
dHkoVW5pcXVlZFN0cmluZ0ltcGwqIHByb3BlCiB7CiAgICAgYXV0byByZXN1bHQgPSBtX2ltcHVy
ZVByb3BlcnR5V2F0Y2hwb2ludFNldHMuYWRkKHByb3BlcnR5TmFtZSwgbnVsbHB0cik7CiAgICAg
aWYgKHJlc3VsdC5pc05ld0VudHJ5KQotICAgICAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0g
YWRvcHRSZWYobmV3IFdhdGNocG9pbnRTZXQoSXNXYXRjaGVkKSk7CisgICAgICAgIHJlc3VsdC5p
dGVyYXRvci0+dmFsdWUgPSBXYXRjaHBvaW50U2V0OjpjcmVhdGUoSXNXYXRjaGVkKTsKICAgICBy
ZXR1cm4gcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5nZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKaW5kZXggMDUzZDEzMWU1NGYxMGNi
MGVlYjlkMWJlMjkxMjQ1MmZhNWQ0MGFmNi4uNDhmZDAwNjM4NDhiMDU2NTQwYTk2ZmVmNjRjZDk1
MjVmNDRhMWI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRv
d0Jhc2UuY3BwCkBAIC05MCw3ICs5MCw3IEBAIGNvbnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxl
IEpTRE9NV2luZG93QmFzZTo6c19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSA9IHsKIAogSlNET01X
aW5kb3dCYXNlOjpKU0RPTVdpbmRvd0Jhc2UoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
UmVmUHRyPERPTVdpbmRvdz4mJiB3aW5kb3csIEpTV2luZG93UHJveHkqIHByb3h5KQogICAgIDog
SlNET01HbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSwgcHJveHktPndvcmxkKCksICZzX2dsb2Jh
bE9iamVjdE1ldGhvZFRhYmxlKQotICAgICwgbV93aW5kb3dDbG9zZVdhdGNocG9pbnRzKCh3aW5k
b3cgJiYgd2luZG93LT5mcmFtZSgpKSA/IElzV2F0Y2hlZCA6IElzSW52YWxpZGF0ZWQpCisgICAg
LCBtX3dpbmRvd0Nsb3NlV2F0Y2hwb2ludHMoV2F0Y2hwb2ludFNldDo6Y3JlYXRlKCh3aW5kb3cg
JiYgd2luZG93LT5mcmFtZSgpKSA/IElzV2F0Y2hlZCA6IElzSW52YWxpZGF0ZWQpKQogICAgICwg
bV93cmFwcGVkKFdURk1vdmUod2luZG93KSkKICAgICAsIG1fcHJveHkocHJveHkpCiB7CkBAIC0y
OTYsNyArMjk2LDcgQEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRj
aHBvaW50c0ZvcldpbmRvdyhET01XaW5kb3cqIHdpbmRvdykKICAgICAgICAgaWYgKCF3cmFwcGVy
KQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIEpTRE9NV2luZG93QmFzZSoganNXaW5k
b3cgPSBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPih3cmFwcGVyKTsKLSAgICAgICAganNX
aW5kb3ctPm1fd2luZG93Q2xvc2VXYXRjaHBvaW50cy5maXJlQWxsKHZtLCAiRnJhbWUgY2xlYXJl
ZCIpOworICAgICAgICBqc1dpbmRvdy0+bV93aW5kb3dDbG9zZVdhdGNocG9pbnRzLT5maXJlQWxs
KHZtLCAiRnJhbWUgY2xlYXJlZCIpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAppbmRleCAxZDc3NjJjNmVhMWFhYTk1OTljNzE4Mzc4
OWNiZTM0MWE0MjUxNGQ2Li5lYzZkZGMxNzAyMTA4ZTk5Y2Y5OWRjMzYzMzVlMjVlMDA2NDVkODVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAt
ODksNyArODksNyBAQCBjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU0RPTVdpbmRvd0Jhc2UgOiBwdWJs
aWMgSlNET01HbG9iYWxPYmplY3QgewogICAgIEpTRE9NV2luZG93QmFzZShKU0M6OlZNJiwgSlND
OjpTdHJ1Y3R1cmUqLCBSZWZQdHI8RE9NV2luZG93PiYmLCBKU1dpbmRvd1Byb3h5Kik7CiAgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgSlNXaW5kb3dQcm94eSopOwogCi0gICAgSlND
OjpXYXRjaHBvaW50U2V0IG1fd2luZG93Q2xvc2VXYXRjaHBvaW50czsKKyAgICBSZWY8SlNDOjpX
YXRjaHBvaW50U2V0PiBtX3dpbmRvd0Nsb3NlV2F0Y2hwb2ludHM7CiAKIHByaXZhdGU6CiAgICAg
dXNpbmcgUmVzcG9uc2VDYWxsYmFjayA9IFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBjaGFyKiwg
c2l6ZV90KT47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdp
bmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1
c3RvbS5jcHAKaW5kZXggNDY2NWJjZWI5ZGE3YjBkYTNlMDNlM2M0ZjMwZTg1OGI5NjlhMDhjNi4u
MDFkY2I2YzJiMTk1ZDk5ZGVhMzFkOWQ0MGUzMTQzYTA0NGY4OWUxYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcApAQCAtMTk0LDcgKzE5
NCw3IEBAIGJvb2wgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2Jq
ZWN0LCBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsCiAKICAgICAvLyBGSVhNRTogdGhpcyBuZWVk
cyBtb3JlIGV4cGxhbmF0aW9uLgogICAgIC8vIChQYXJ0aWN1bGFybHksIGlzIGl0IGNvcnJlY3Qg
dGhhdCB0aGlzIGV4aXN0cyBoZXJlIGJ1dCBub3QgaW4gZ2V0T3duUHJvcGVydHlTbG90QnlJbmRl
eD8pCi0gICAgc2xvdC5zZXRXYXRjaHBvaW50U2V0KHRoaXNPYmplY3QtPm1fd2luZG93Q2xvc2VX
YXRjaHBvaW50cyk7CisgICAgc2xvdC5zZXRXYXRjaHBvaW50U2V0KHRoaXNPYmplY3QtPm1fd2lu
ZG93Q2xvc2VXYXRjaHBvaW50cy5nZXQoKSk7CiAKICAgICAvLyAoMikgUmVndWxhciBvd24gcHJv
cGVydGllcy4KICAgICBQcm9wZXJ0eVNsb3Qgc2xvdENvcHkgPSBzbG90Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>