<?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>234134</bug_id>
          
          <creation_ts>2021-12-10 02:07:06 -0800</creation_ts>
          <short_desc>[GStreamer][WebRTC] Huge memory leak</short_desc>
          <delta_ts>2021-12-17 04:50:19 -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>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="Philippe Normand">pnormand</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</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>1822588</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-12-10 02:07:06 -0800</bug_when>
    <thetext>Initially reported in https://github.com/Igalia/meta-webkit/issues/335

Also happens with mock capture sources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822819</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-12-10 11:00:34 -0800</bug_when>
    <thetext>There&apos;s at least one leak here, https://github.com/WebKit/WebKit/blob/main/Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp#L114

I don&apos;t have a fix yet though...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823213</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-12-11 08:41:11 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #1)
&gt; There&apos;s at least one leak here,
&gt; https://github.com/WebKit/WebKit/blob/main/Source/WebCore/platform/graphics/
&gt; gstreamer/MediaSampleGStreamer.cpp#L114
&gt; 
&gt; I don&apos;t have a fix yet though...

That&apos;s not the culprit actually... Patch incoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823217</commentid>
    <comment_count>3</comment_count>
      <attachid>446889</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-12-11 08:54:10 -0800</bug_when>
    <thetext>Created attachment 446889
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824322</commentid>
    <comment_count>4</comment_count>
      <attachid>446889</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2021-12-15 05:02:14 -0800</bug_when>
    <thetext>Comment on attachment 446889
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp:140
&gt; +    const GstClockTime minimumDuration = 1000; // 1 us

period at the end.

&gt; Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoFrameLibWebRTC.cpp:65
&gt; +rtc::scoped_refptr&lt;webrtc::VideoFrameBuffer&gt; GStreamerVideoFrameLibWebRTC::create(GRefPtr&lt;GstSample&gt; sample)

Why did you remove the &amp;&amp;? We should either have const &amp; or &amp;&amp;

&gt; Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoFrameLibWebRTC.h:40
&gt; +    GStreamerVideoFrameLibWebRTC(GRefPtr&lt;GstSample&gt; sample, GstVideoInfo info)

Ditto

&gt; Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoFrameLibWebRTC.h:44
&gt; +    static rtc::scoped_refptr&lt;webrtc::VideoFrameBuffer&gt; create(GRefPtr&lt;GstSample&gt;);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824327</commentid>
    <comment_count>5</comment_count>
      <attachid>446889</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-12-15 05:30:55 -0800</bug_when>
    <thetext>Comment on attachment 446889
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp:140
&gt;&gt; +    const GstClockTime minimumDuration = 1000; // 1 us
&gt; 
&gt; period at the end.

Why? This is not a sentence.

&gt;&gt; Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoFrameLibWebRTC.cpp:65
&gt;&gt; +rtc::scoped_refptr&lt;webrtc::VideoFrameBuffer&gt; GStreamerVideoFrameLibWebRTC::create(GRefPtr&lt;GstSample&gt; sample)
&gt; 
&gt; Why did you remove the &amp;&amp;? We should either have const &amp; or &amp;&amp;

&amp;&amp; would transfer ownership iiuc? As mentioned in the changelog we can&apos;t do that. Maybe a const&amp; though.

&gt;&gt; Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoFrameLibWebRTC.h:40
&gt;&gt; +    GStreamerVideoFrameLibWebRTC(GRefPtr&lt;GstSample&gt; sample, GstVideoInfo info)
&gt; 
&gt; Ditto

Ditto

&gt;&gt; Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoFrameLibWebRTC.h:44
&gt;&gt; +    static rtc::scoped_refptr&lt;webrtc::VideoFrameBuffer&gt; create(GRefPtr&lt;GstSample&gt;);
&gt; 
&gt; Ditto.

Ditto!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824354</commentid>
    <comment_count>6</comment_count>
      <attachid>446889</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2021-12-15 08:13:16 -0800</bug_when>
    <thetext>Comment on attachment 446889
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoFrameLibWebRTC.cpp:65
&gt;&gt;&gt; +rtc::scoped_refptr&lt;webrtc::VideoFrameBuffer&gt; GStreamerVideoFrameLibWebRTC::create(GRefPtr&lt;GstSample&gt; sample)
&gt;&gt; 
&gt;&gt; Why did you remove the &amp;&amp;? We should either have const &amp; or &amp;&amp;
&gt; 
&gt; &amp;&amp; would transfer ownership iiuc? As mentioned in the changelog we can&apos;t do that. Maybe a const&amp; though.

const &amp; sounds good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824726</commentid>
    <comment_count>7</comment_count>
      <attachid>447347</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-12-16 05:26:23 -0800</bug_when>
    <thetext>Created attachment 447347
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825047</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-17 04:49:08 -0800</bug_when>
    <thetext>Committed r287180 (245349@main): &lt;https://commits.webkit.org/245349@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447347.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825048</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-17 04:50:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/86627091&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446889</attachid>
            <date>2021-12-11 08:54:10 -0800</date>
            <delta_ts>2021-12-16 05:26:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234134-20211211085409.patch</filename>
            <type>text/plain</type>
            <size>22143</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2OTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZmNmFiNTA0MDUxN2Q0
NTNhMWQwOWIzZDMzN2EwYzBmYWNiNjdkMC4uZTEzOGZlM2Q4MjEyZWZmZDBlZTRmMWMxNzFmMzFi
MTM1Yzg3NmYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTEyLTExICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XVtXZWJSVENdIEh1Z2UgbWVtb3J5IGxlYWsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNDEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSBtYWluIGlzc3VlIHdhcyBSZWFsdGltZU91dGdvaW5nVmlk
ZW9Tb3VyY2VMaWJXZWJSVEMgbGVha2luZyBHc3RTYW1wbGVzLiBGaXhpbmcgdGhpcyBsZWFkCisg
ICAgICAgIG1lIHRvIGZ1cnRoZXIgY2xlYW4tdXBzIGluIHRoZSBHc3RTYW1wbGU8LT5MaWJXZWJS
VENWaWRlb0ZyYW1lIGhhbmRsaW5nLiBOYXRpdmUgZnJhbWVzCisgICAgICAgIHNob3VsZCBub3Qg
Y29uc3VtZSBHc3RTYW1wbGVzLCBidXQgcmVmZXJlbmNlIHRoZW0sIG90aGVyd2lzZSB0aGVyZSBh
cmUgY3Jhc2hlcyB3aGVyZSB0aGUKKyAgICAgICAgZGFuZ2xpbmcgR3N0U2FtcGxlcyB3b3VsZCBi
ZSBwYXNzZWQgdG8gdGhlIGxpYndlYnJ0YyB2aWRlbyBkZWNvZGVyLi4uCisKKyAgICAgICAgQWxz
byB0aGUgdmlkZW8gZGVjb2RlcnMgd2VyZSBub3QgcmVwb3J0aW5nIHRoZWlyIGluaXRpYWxpemF0
aW9uIHN0YXR1cyBjb3JyZWN0bHksCisgICAgICAgIFdFQlJUQ19WSURFT19DT0RFQ19PSyBpcyAw
IGhlbmNlIGZhbHNlLi4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVH
U3RyZWFtZXI6Ok1lZGlhU2FtcGxlR1N0cmVhbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U2FtcGxlR1N0cmVhbWVyOjppbml0aWFsaXplRnJvbUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRlV3JhcHBlZFNhbXBsZSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJW
aWRlb0RlY29kZXJGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lclZpZGVv
RGVjb2Rlcjo6cHVsbFNhbXBsZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0b3J5LmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL0dTdHJlYW1lclZp
ZGVvRnJhbWVMaWJXZWJSVEMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydExpYldlYlJU
Q1ZpZGVvRnJhbWVUb0dTdHJlYW1lclNhbXBsZSk6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0
R1N0cmVhbWVyU2FtcGxlVG9MaWJXZWJSVENWaWRlb0ZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OkdTdHJlYW1lclZpZGVvRnJhbWVMaWJXZWJSVEM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpHU3RyZWFtZXJTYW1wbGVGcm9tTGliV2ViUlRDVmlkZW9GcmFtZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMaWJXZWJSVENWaWRlb0ZyYW1lRnJvbUdTdHJlYW1lclNhbXBsZSk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1l
ci9HU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDLmg6CisgICAgICAgIChXZWJDb3JlOjpHU3Ry
ZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDOjpHU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDKToK
KyAgICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lclZpZGVvRnJhbWVMaWJXZWJSVEM6OmdldFNhbXBs
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRD
Ojp0YWtlU2FtcGxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VMaWJXZWJS
VEM6Ok9uRnJhbWUpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9n
c3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQzo6dmlkZW9T
YW1wbGVBdmFpbGFibGUpOgorCiAyMDIxLTEyLTExICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI4Njg5My4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVNhbXBsZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwCmluZGV4IDc0MzBlMDU4MmFhN2Rm
ZjRmNDU2ODI2NmI1OTFjNDQ5ZWZhY2UwNjAuLjllN2MwODk2MDZhN2IxMzlhOWE2MjM4ZTUxZGY4
ZjBmZGVkN2QzMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmNwcApAQCAt
NDIsNyArNDIsNiBAQCBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6TWVkaWFTYW1wbGVHU3RyZWFtZXIo
R1JlZlB0cjxHc3RTYW1wbGU+JiYgc2FtcGxlLCBjb25zdCBGbAogICAgICwgbV92aWRlb1JvdGF0
aW9uKHZpZGVvUm90YXRpb24pCiAgICAgLCBtX3ZpZGVvTWlycm9yZWQodmlkZW9NaXJyb3JlZCkK
IHsKLSAgICBjb25zdCBHc3RDbG9ja1RpbWUgbWluaW11bUR1cmF0aW9uID0gMTAwMDsgLy8gMSB1
cwogICAgIEFTU0VSVChzYW1wbGUpOwogICAgIEdzdEJ1ZmZlciogYnVmZmVyID0gZ3N0X3NhbXBs
ZV9nZXRfYnVmZmVyKHNhbXBsZS5nZXQoKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQoYnVmZmVyKTsK
QEAgLTUwLDM1ICs0OSwxMCBAQCBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6TWVkaWFTYW1wbGVHU3Ry
ZWFtZXIoR1JlZlB0cjxHc3RTYW1wbGU+JiYgc2FtcGxlLCBjb25zdCBGbAogICAgIGlmIChtZXRh
ZGF0YSkKICAgICAgICAgYnVmZmVyID0gd2Via2l0R3N0QnVmZmVyU2V0VmlkZW9TYW1wbGVNZXRh
ZGF0YShidWZmZXIsIFdURk1vdmUobWV0YWRhdGEpKTsKIAotICAgIGlmIChHU1RfQlVGRkVSX1BU
U19JU19WQUxJRChidWZmZXIpKQotICAgICAgICBtX3B0cyA9IGZyb21Hc3RDbG9ja1RpbWUoR1NU
X0JVRkZFUl9QVFMoYnVmZmVyKSk7Ci0gICAgaWYgKEdTVF9CVUZGRVJfRFRTX0lTX1ZBTElEKGJ1
ZmZlcikgfHwgR1NUX0JVRkZFUl9QVFNfSVNfVkFMSUQoYnVmZmVyKSkKLSAgICAgICAgbV9kdHMg
PSBmcm9tR3N0Q2xvY2tUaW1lKEdTVF9CVUZGRVJfRFRTX09SX1BUUyhidWZmZXIpKTsKLSAgICBp
ZiAoR1NUX0JVRkZFUl9EVVJBVElPTl9JU19WQUxJRChidWZmZXIpKSB7Ci0gICAgICAgIC8vIFNv
bWV0aW1lcyAoYWxiZWl0IHJhcmVseSwgc28gZmFyIHNlZW4gb25seSBhdCB0aGUgZW5kIG9mIGEg
dHJhY2spCi0gICAgICAgIC8vIGZyYW1lcyBoYXZlIHZlcnkgc21hbGwgZHVyYXRpb25zLCBzbyBz
bWFsbCB0aGF0IG1heSBiZSB1bmRlciB0aGUKLSAgICAgICAgLy8gcHJlY2lzaW9uIHdlIGFyZSB3
b3JraW5nIHdpdGggYW5kIGJlIHRydW5jYXRlZCB0byB6ZXJvLgotICAgICAgICAvLyBTb3VyY2VC
dWZmZXIgYWxnb3JpdGhtcyBhcmUgbm90IGV4cGVjdGluZyBmcmFtZXMgd2l0aCB6ZXJvLWR1cmF0
aW9uLAotICAgICAgICAvLyBzbyBsZXQncyB1c2Ugc29tZXRoaW5nIHZlcnkgc21hbGwgaW5zdGVh
ZCBpbiB0aG9zZSBmcmluZ2UgY2FzZXMuCi0gICAgICAgIG1fZHVyYXRpb24gPSBmcm9tR3N0Q2xv
Y2tUaW1lKHN0ZDo6bWF4KEdTVF9CVUZGRVJfRFVSQVRJT04oYnVmZmVyKSwgbWluaW11bUR1cmF0
aW9uKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gVW5mb3J0dW5hdGVseSwgc29tZXRpbWVz
IHNhbXBsZXMgZG9uJ3QgcHJvdmlkZSBhIGR1cmF0aW9uLiBUaGlzIGNhbiBuZXZlciBoYXBwZW4g
aW4gTVA0IGJlY2F1c2Ugb2YgdGhlIHdheQotICAgICAgICAvLyB0aGUgZm9ybWF0IGlzIGxhaWQg
b3V0LCBidXQgaXQncyBwcmV0dHkgY29tbW9uIGluIFdlYk0uCi0gICAgICAgIC8vIFRoZSBnb29k
IHBhcnQgaXMgdGhhdCBkdXJhdGlvbnMgZG9uJ3QgbWF0dGVyIGZvciBwbGF5YmFjaywganVzdCBm
b3IgYnVmZmVyZWQgcmFuZ2VzIGFuZCBjb2RlZCBmcmFtZSBkZWxldGlvbi4KLSAgICAgICAgLy8g
V2Ugd2FudCB0byBwaWNrIHNvbWV0aGluZyBzbWFsbCBlbm91Z2ggdG8gbm90IGNhdXNlIHVud2Fu
dGVkIGZyYW1lIGRlbGV0aW9uLCBidXQgYmlnIGVub3VnaCB0byBuZXZlciBiZQotICAgICAgICAv
LyBtaXN0YWtlbiBmb3IgYSByb3VuZGluZyBhcnRpZmFjdC4KLSAgICAgICAgbV9kdXJhdGlvbiA9
IGZyb21Hc3RDbG9ja1RpbWUoMTY2NjY2NjcpOyAvLyAxLzYwIHNlY29uZHMKLSAgICB9Ci0KLSAg
ICBtX3NpemUgPSBnc3RfYnVmZmVyX2dldF9zaXplKGJ1ZmZlcik7CiAgICAgbV9zYW1wbGUgPSBh
ZG9wdEdSZWYoZ3N0X3NhbXBsZV9uZXcoYnVmZmVyLCBnc3Rfc2FtcGxlX2dldF9jYXBzKHNhbXBs
ZS5nZXQoKSksIG51bGxwdHIsCiAgICAgICAgIGdzdF9zYW1wbGVfZ2V0X2luZm8oc2FtcGxlLmdl
dCgpKSA/IGdzdF9zdHJ1Y3R1cmVfY29weShnc3Rfc2FtcGxlX2dldF9pbmZvKHNhbXBsZS5nZXQo
KSkpIDogbnVsbHB0cikpOwogCi0gICAgaWYgKEdTVF9CVUZGRVJfRkxBR19JU19TRVQoYnVmZmVy
LCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCkpCi0gICAgICAgIG1fZmxhZ3MgPSBNZWRpYVNh
bXBsZTo6Tm9uZTsKLQotICAgIGlmIChHU1RfQlVGRkVSX0ZMQUdfSVNfU0VUKGJ1ZmZlciwgR1NU
X0JVRkZFUl9GTEFHX0RFQ09ERV9PTkxZKSkKLSAgICAgICAgbV9mbGFncyA9IHN0YXRpY19jYXN0
PE1lZGlhU2FtcGxlOjpTYW1wbGVGbGFncz4obV9mbGFncyB8IE1lZGlhU2FtcGxlOjpJc05vbkRp
c3BsYXlpbmcpOworICAgIGluaXRpYWxpemVGcm9tQnVmZmVyKCk7CiB9CiAKIE1lZGlhU2FtcGxl
R1N0cmVhbWVyOjpNZWRpYVNhbXBsZUdTdHJlYW1lcihjb25zdCBGbG9hdFNpemUmIHByZXNlbnRh
dGlvblNpemUsIGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSWQpCkBAIC05MCw2ICs2NCwxMyBAQCBN
ZWRpYVNhbXBsZUdTdHJlYW1lcjo6TWVkaWFTYW1wbGVHU3RyZWFtZXIoY29uc3QgRmxvYXRTaXpl
JiBwcmVzZW50YXRpb25TaXplLCBjbwogewogfQogCitNZWRpYVNhbXBsZUdTdHJlYW1lcjo6TWVk
aWFTYW1wbGVHU3RyZWFtZXIoY29uc3QgR1JlZlB0cjxHc3RTYW1wbGU+JiBzYW1wbGUsIFZpZGVv
Um90YXRpb24gdmlkZW9Sb3RhdGlvbikKKyAgICA6IG1fc2FtcGxlKHNhbXBsZSkKKyAgICAsIG1f
dmlkZW9Sb3RhdGlvbih2aWRlb1JvdGF0aW9uKQoreworICAgIGluaXRpYWxpemVGcm9tQnVmZmVy
KCk7Cit9CisKIFJlZjxNZWRpYVNhbXBsZUdTdHJlYW1lcj4gTWVkaWFTYW1wbGVHU3RyZWFtZXI6
OmNyZWF0ZUZha2VTYW1wbGUoR3N0Q2FwcyosIE1lZGlhVGltZSBwdHMsIE1lZGlhVGltZSBkdHMs
IE1lZGlhVGltZSBkdXJhdGlvbiwgY29uc3QgRmxvYXRTaXplJiBwcmVzZW50YXRpb25TaXplLCBj
b25zdCBBdG9tU3RyaW5nJiB0cmFja0lkKQogewogICAgIE1lZGlhU2FtcGxlR1N0cmVhbWVyKiBn
c3RyZWFtZXJNZWRpYVNhbXBsZSA9IG5ldyBNZWRpYVNhbXBsZUdTdHJlYW1lcihwcmVzZW50YXRp
b25TaXplLCB0cmFja0lkKTsKQEAgLTE1NCw2ICsxMzUsNDEgQEAgUmVmPE1lZGlhU2FtcGxlR1N0
cmVhbWVyPiBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRlSW1hZ2VTYW1wbGUoUGl4ZWxCdWZm
ZXImJgogICAgIHJldHVybiBjcmVhdGUoV1RGTW92ZShzYW1wbGUpLCBGbG9hdFNpemUod2lkdGgs
IGhlaWdodCksIHsgfSwgdmlkZW9Sb3RhdGlvbiwgdmlkZW9NaXJyb3JlZCk7CiB9CiAKK3ZvaWQg
TWVkaWFTYW1wbGVHU3RyZWFtZXI6OmluaXRpYWxpemVGcm9tQnVmZmVyKCkKK3sKKyAgICBjb25z
dCBHc3RDbG9ja1RpbWUgbWluaW11bUR1cmF0aW9uID0gMTAwMDsgLy8gMSB1cworICAgIGF1dG8q
IGJ1ZmZlciA9IGdzdF9zYW1wbGVfZ2V0X2J1ZmZlcihtX3NhbXBsZS5nZXQoKSk7CisgICAgUkVM
RUFTRV9BU1NFUlQoYnVmZmVyKTsKKworICAgIGlmIChHU1RfQlVGRkVSX1BUU19JU19WQUxJRChi
dWZmZXIpKQorICAgICAgICBtX3B0cyA9IGZyb21Hc3RDbG9ja1RpbWUoR1NUX0JVRkZFUl9QVFMo
YnVmZmVyKSk7CisgICAgaWYgKEdTVF9CVUZGRVJfRFRTX0lTX1ZBTElEKGJ1ZmZlcikgfHwgR1NU
X0JVRkZFUl9QVFNfSVNfVkFMSUQoYnVmZmVyKSkKKyAgICAgICAgbV9kdHMgPSBmcm9tR3N0Q2xv
Y2tUaW1lKEdTVF9CVUZGRVJfRFRTX09SX1BUUyhidWZmZXIpKTsKKyAgICBpZiAoR1NUX0JVRkZF
Ul9EVVJBVElPTl9JU19WQUxJRChidWZmZXIpKSB7CisgICAgICAgIC8vIFNvbWV0aW1lcyAoYWxi
ZWl0IHJhcmVseSwgc28gZmFyIHNlZW4gb25seSBhdCB0aGUgZW5kIG9mIGEgdHJhY2spCisgICAg
ICAgIC8vIGZyYW1lcyBoYXZlIHZlcnkgc21hbGwgZHVyYXRpb25zLCBzbyBzbWFsbCB0aGF0IG1h
eSBiZSB1bmRlciB0aGUKKyAgICAgICAgLy8gcHJlY2lzaW9uIHdlIGFyZSB3b3JraW5nIHdpdGgg
YW5kIGJlIHRydW5jYXRlZCB0byB6ZXJvLgorICAgICAgICAvLyBTb3VyY2VCdWZmZXIgYWxnb3Jp
dGhtcyBhcmUgbm90IGV4cGVjdGluZyBmcmFtZXMgd2l0aCB6ZXJvLWR1cmF0aW9uLAorICAgICAg
ICAvLyBzbyBsZXQncyB1c2Ugc29tZXRoaW5nIHZlcnkgc21hbGwgaW5zdGVhZCBpbiB0aG9zZSBm
cmluZ2UgY2FzZXMuCisgICAgICAgIG1fZHVyYXRpb24gPSBmcm9tR3N0Q2xvY2tUaW1lKHN0ZDo6
bWF4KEdTVF9CVUZGRVJfRFVSQVRJT04oYnVmZmVyKSwgbWluaW11bUR1cmF0aW9uKSk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgLy8gVW5mb3J0dW5hdGVseSwgc29tZXRpbWVzIHNhbXBsZXMgZG9u
J3QgcHJvdmlkZSBhIGR1cmF0aW9uLiBUaGlzIGNhbiBuZXZlciBoYXBwZW4gaW4gTVA0IGJlY2F1
c2Ugb2YgdGhlIHdheQorICAgICAgICAvLyB0aGUgZm9ybWF0IGlzIGxhaWQgb3V0LCBidXQgaXQn
cyBwcmV0dHkgY29tbW9uIGluIFdlYk0uCisgICAgICAgIC8vIFRoZSBnb29kIHBhcnQgaXMgdGhh
dCBkdXJhdGlvbnMgZG9uJ3QgbWF0dGVyIGZvciBwbGF5YmFjaywganVzdCBmb3IgYnVmZmVyZWQg
cmFuZ2VzIGFuZCBjb2RlZCBmcmFtZSBkZWxldGlvbi4KKyAgICAgICAgLy8gV2Ugd2FudCB0byBw
aWNrIHNvbWV0aGluZyBzbWFsbCBlbm91Z2ggdG8gbm90IGNhdXNlIHVud2FudGVkIGZyYW1lIGRl
bGV0aW9uLCBidXQgYmlnIGVub3VnaCB0byBuZXZlciBiZQorICAgICAgICAvLyBtaXN0YWtlbiBm
b3IgYSByb3VuZGluZyBhcnRpZmFjdC4KKyAgICAgICAgbV9kdXJhdGlvbiA9IGZyb21Hc3RDbG9j
a1RpbWUoMTY2NjY2NjcpOyAvLyAxLzYwIHNlY29uZHMKKyAgICB9CisKKyAgICBtX3NpemUgPSBn
c3RfYnVmZmVyX2dldF9zaXplKGJ1ZmZlcik7CisKKyAgICBpZiAoR1NUX0JVRkZFUl9GTEFHX0lT
X1NFVChidWZmZXIsIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUKSkKKyAgICAgICAgbV9mbGFn
cyA9IE1lZGlhU2FtcGxlOjpOb25lOworCisgICAgaWYgKEdTVF9CVUZGRVJfRkxBR19JU19TRVQo
YnVmZmVyLCBHU1RfQlVGRkVSX0ZMQUdfREVDT0RFX09OTFkpKQorICAgICAgICBtX2ZsYWdzID0g
c3RhdGljX2Nhc3Q8TWVkaWFTYW1wbGU6OlNhbXBsZUZsYWdzPihtX2ZsYWdzIHwgTWVkaWFTYW1w
bGU6OklzTm9uRGlzcGxheWluZyk7Cit9CisKIFJlZlB0cjxKU0M6OlVpbnQ4Q2xhbXBlZEFycmF5
PiBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Z2V0UkdCQUltYWdlRGF0YSgpIGNvbnN0CiB7CiAgICAg
YXV0byogY2FwcyA9IGdzdF9zYW1wbGVfZ2V0X2NhcHMobV9zYW1wbGUuZ2V0KCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2Ft
cGxlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuaAppbmRleCA2OWUzNmQ2YjYxNmQ1MWVmMGY0MmRhM2I3
YTc4ZWI4MDAxZWVkMGI4Li4xZDcxYTMzOTY5Y2ZiYzY3NWRlZWNlYTc4ZTY0ZjJkNjg5OWU0MWVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFTYW1wbGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuaApAQCAtNDAsNiArNDAsMTEgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUdTdHJlYW1l
cihXVEZNb3ZlKHNhbXBsZSksIHByZXNlbnRhdGlvblNpemUsIHRyYWNrSWQsIHZpZGVvUm90YXRp
b24sIHZpZGVvTWlycm9yZWQsIFdURk1vdmUobWV0YWRhdGEpKSk7CiAgICAgfQogCisgICAgc3Rh
dGljIFJlZjxNZWRpYVNhbXBsZUdTdHJlYW1lcj4gY3JlYXRlV3JhcHBlZFNhbXBsZShjb25zdCBH
UmVmUHRyPEdzdFNhbXBsZT4mIHNhbXBsZSwgVmlkZW9Sb3RhdGlvbiB2aWRlb1JvdGF0aW9uID0g
VmlkZW9Sb3RhdGlvbjo6Tm9uZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IE1lZGlhU2FtcGxlR1N0cmVhbWVyKHNhbXBsZSwgdmlkZW9Sb3RhdGlvbikpOworICAgIH0KKwog
ICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVHU3RyZWFtZXI+IGNyZWF0ZUZha2VTYW1wbGUoR3N0
Q2FwcyosIE1lZGlhVGltZSBwdHMsIE1lZGlhVGltZSBkdHMsIE1lZGlhVGltZSBkdXJhdGlvbiwg
Y29uc3QgRmxvYXRTaXplJiBwcmVzZW50YXRpb25TaXplLCBjb25zdCBBdG9tU3RyaW5nJiB0cmFj
a0lkKTsKICAgICBzdGF0aWMgUmVmPE1lZGlhU2FtcGxlR1N0cmVhbWVyPiBjcmVhdGVJbWFnZVNh
bXBsZShQaXhlbEJ1ZmZlciYmLCBjb25zdCBJbnRTaXplJiBkZXN0aW5hdGlvblNpemUgPSB7IH0s
IGRvdWJsZSBmcmFtZVJhdGUgPSAxLCBWaWRlb1JvdGF0aW9uIHZpZGVvUm90YXRpb24gPSBWaWRl
b1JvdGF0aW9uOjpOb25lLCBib29sIHZpZGVvTWlycm9yZWQgPSBmYWxzZSwgc3RkOjpvcHRpb25h
bDxWaWRlb1NhbXBsZU1ldGFkYXRhPiYmIG1ldGFkYXRhID0gc3RkOjpudWxsb3B0KTsKIApAQCAt
NjYsMTEgKzcxLDE0IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIE1lZGlhU2FtcGxlR1N0
cmVhbWVyKEdSZWZQdHI8R3N0U2FtcGxlPiYmLCBjb25zdCBGbG9hdFNpemUmIHByZXNlbnRhdGlv
blNpemUsIGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSWQsIFZpZGVvUm90YXRpb24gPSBWaWRlb1Jv
dGF0aW9uOjpOb25lLCBib29sIHZpZGVvTWlycm9yZWQgPSBmYWxzZSwgc3RkOjpvcHRpb25hbDxW
aWRlb1NhbXBsZU1ldGFkYXRhPiYmID0gc3RkOjpudWxsb3B0KTsKKyAgICBNZWRpYVNhbXBsZUdT
dHJlYW1lcihjb25zdCBHUmVmUHRyPEdzdFNhbXBsZT4mLCBWaWRlb1JvdGF0aW9uID0gVmlkZW9S
b3RhdGlvbjo6Tm9uZSk7CiAgICAgdmlydHVhbCB+TWVkaWFTYW1wbGVHU3RyZWFtZXIoKSA9IGRl
ZmF1bHQ7CiAKIHByaXZhdGU6CiAgICAgTWVkaWFTYW1wbGVHU3RyZWFtZXIoY29uc3QgRmxvYXRT
aXplJiBwcmVzZW50YXRpb25TaXplLCBjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lkKTsKIAorICAg
IHZvaWQgaW5pdGlhbGl6ZUZyb21CdWZmZXIoKTsKKwogICAgIE1lZGlhVGltZSBtX3B0czsKICAg
ICBNZWRpYVRpbWUgbV9kdHM7CiAgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVy
L0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0RlY29kZXJG
YWN0b3J5LmNwcAppbmRleCBkOGQxYTAyYTk1NjI4YTY5MDBlOTQ4YzUwYWE3N2U5OWFmNTUwMGNl
Li5kNmQzNmE2ZjQwNjIzZThiZDYzNzZiNjA3ZGI0Y2E0ZGE4ODMxMGIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL0dT
dHJlYW1lclZpZGVvRGVjb2RlckZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9EZWNvZGVy
RmFjdG9yeS5jcHAKQEAgLTE1MCw3ICsxNTAsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1
cm4gV0VCUlRDX1ZJREVPX0NPREVDX0VSUk9SOwogICAgICAgICB9CiAKLSAgICAgICAgcmV0dXJu
IFdFQlJUQ19WSURFT19DT0RFQ19PSzsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCiAg
ICAgaW50MzJfdCBSZWdpc3RlckRlY29kZUNvbXBsZXRlQ2FsbGJhY2sod2VicnRjOjpEZWNvZGVk
SW1hZ2VDYWxsYmFjayogY2FsbGJhY2spIG92ZXJyaWRlCkBAIC0yNDAsNyArMjQwLDcgQEAgcHVi
bGljOgogICAgICAgICBhdXRvIHRpbWVzdGFtcHMgPSBtX2R0c1B0c01hcFtHU1RfQlVGRkVSX1BU
UyhidWZmZXIpXTsKICAgICAgICAgbV9kdHNQdHNNYXAuZXJhc2UoR1NUX0JVRkZFUl9QVFMoYnVm
ZmVyKSk7CiAKLSAgICAgICAgYXV0byBmcmFtZShMaWJXZWJSVENWaWRlb0ZyYW1lRnJvbUdTdHJl
YW1lclNhbXBsZShXVEZNb3ZlKHNhbXBsZSksIHdlYnJ0Yzo6a1ZpZGVvUm90YXRpb25fMCwKKyAg
ICAgICAgYXV0byBmcmFtZShjb252ZXJ0R1N0cmVhbWVyU2FtcGxlVG9MaWJXZWJSVENWaWRlb0Zy
YW1lKHNhbXBsZSwgd2VicnRjOjprVmlkZW9Sb3RhdGlvbl8wLAogICAgICAgICAgICAgdGltZXN0
YW1wcy50aW1lc3RhbXAsIHRpbWVzdGFtcHMucmVuZGVyVGltZU1zKSk7CiAKICAgICAgICAgR1NU
X0JVRkZFUl9EVFMoYnVmZmVyKSA9IEdTVF9DTE9DS19USU1FX05PTkU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL0dT
dHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0
b3J5LmNwcAppbmRleCAxNzhlODYzM2E1MGY3MTg3NzY2YzEzNjA1Yzk2ZjdiOTUwMDBhMWRiLi5i
YzBkODcxYmYzZTYxMmVkOTRmY2Q4OTIyZjA1OWRmMzgzOTI2Mzk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL0dTdHJl
YW1lclZpZGVvRW5jb2RlckZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFj
dG9yeS5jcHAKQEAgLTIyOCw3ICsyMjgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4g
V0VCUlRDX1ZJREVPX0NPREVDX1VOSU5JVElBTElaRUQ7CiAgICAgICAgIH0KIAotICAgICAgICBh
dXRvIHNhbXBsZSA9IEdTdHJlYW1lclNhbXBsZUZyb21MaWJXZWJSVENWaWRlb0ZyYW1lKGZyYW1l
KTsKKyAgICAgICAgYXV0byBzYW1wbGUgPSBjb252ZXJ0TGliV2ViUlRDVmlkZW9GcmFtZVRvR1N0
cmVhbWVyU2FtcGxlKGZyYW1lKTsKICAgICAgICAgYXV0byBidWZmZXIgPSBnc3Rfc2FtcGxlX2dl
dF9idWZmZXIoc2FtcGxlLmdldCgpKTsKIAogICAgICAgICBpZiAoIUdTVF9DTE9DS19USU1FX0lT
X1ZBTElEKG1fZmlyc3RGcmFtZVB0cykpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9GcmFt
ZUxpYldlYlJUQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvZ3N0cmVhbWVyL0dTdHJlYW1lclZpZGVvRnJhbWVMaWJXZWJSVEMuY3BwCmluZGV4IDFh
NzA1NTUzMDBhM2UxZjhiZmM0YWZiNDcyNWQ1ZTYyNTE3MDk3OTAuLjVmODBlMTdjZmNkN2QzYjA5
MDIxMTc3NzE0YzZiYTMwYWY1OTYyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9GcmFtZUxp
YldlYlJUQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDLmNwcApAQCAtMjcs
MTMgKzI3LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1HUmVmUHRyPEdzdFNhbXBsZT4g
R1N0cmVhbWVyU2FtcGxlRnJvbUxpYldlYlJUQ1ZpZGVvRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRl
b0ZyYW1lJiBmcmFtZSkKK0dSZWZQdHI8R3N0U2FtcGxlPiBjb252ZXJ0TGliV2ViUlRDVmlkZW9G
cmFtZVRvR1N0cmVhbWVyU2FtcGxlKGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYgZnJhbWUpCiB7
Ci0gICAgaWYgKGZyYW1lLnZpZGVvX2ZyYW1lX2J1ZmZlcigpLT50eXBlKCkgPT0gd2VicnRjOjpW
aWRlb0ZyYW1lQnVmZmVyOjpUeXBlOjprTmF0aXZlKSB7Ci0gICAgICAgIGF1dG8qIGZyYW1lYnVm
ZmVyID0gc3RhdGljX2Nhc3Q8R1N0cmVhbWVyVmlkZW9GcmFtZUxpYldlYlJUQyo+KGZyYW1lLnZp
ZGVvX2ZyYW1lX2J1ZmZlcigpLmdldCgpKTsKLSAgICAgICAgcmV0dXJuIGZyYW1lYnVmZmVyLT50
YWtlU2FtcGxlKCk7Ci0gICAgfQotCisgICAgUkVMRUFTRV9BU1NFUlQoZnJhbWUudmlkZW9fZnJh
bWVfYnVmZmVyKCktPnR5cGUoKSAhPSB3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI6OlR5cGU6OmtO
YXRpdmUpOwogICAgIGF1dG8qIGk0MjBCdWZmZXIgPSBmcmFtZS52aWRlb19mcmFtZV9idWZmZXIo
KS0+VG9JNDIwKCkucmVsZWFzZSgpOwogICAgIGludCBoZWlnaHQgPSBpNDIwQnVmZmVyLT5oZWln
aHQoKTsKICAgICBpbnQgc3RyaWRlc1szXSA9IHsKQEAgLTYwLDIxICs1NiwyMCBAQCBHUmVmUHRy
PEdzdFNhbXBsZT4gR1N0cmVhbWVyU2FtcGxlRnJvbUxpYldlYlJUQ1ZpZGVvRnJhbWUoY29uc3Qg
d2VicnRjOjpWaWRlb0ZyYQogICAgIHJldHVybiBzYW1wbGU7CiB9CiAKLXJ0Yzo6c2NvcGVkX3Jl
ZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI+IEdTdHJlYW1lclZpZGVvRnJhbWVMaWJXZWJS
VEM6OmNyZWF0ZShHUmVmUHRyPEdzdFNhbXBsZT4mJiBzYW1wbGUpCitzdGQ6OnVuaXF1ZV9wdHI8
d2VicnRjOjpWaWRlb0ZyYW1lPiBjb252ZXJ0R1N0cmVhbWVyU2FtcGxlVG9MaWJXZWJSVENWaWRl
b0ZyYW1lKEdSZWZQdHI8R3N0U2FtcGxlPiYgc2FtcGxlLCB3ZWJydGM6OlZpZGVvUm90YXRpb24g
cm90YXRpb24sIGludDY0X3QgdGltZXN0YW1wLCBpbnQ2NF90IHJlbmRlclRpbWVNcykKK3sKKyAg
ICBhdXRvIGZyYW1lQnVmZmVyKEdTdHJlYW1lclZpZGVvRnJhbWVMaWJXZWJSVEM6OmNyZWF0ZShz
YW1wbGUpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9GcmFtZT4o
bmV3IHdlYnJ0Yzo6VmlkZW9GcmFtZShmcmFtZUJ1ZmZlciwgdGltZXN0YW1wLCByZW5kZXJUaW1l
TXMsIHJvdGF0aW9uKSk7Cit9CisKK3J0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJh
bWVCdWZmZXI+IEdTdHJlYW1lclZpZGVvRnJhbWVMaWJXZWJSVEM6OmNyZWF0ZShHUmVmUHRyPEdz
dFNhbXBsZT4gc2FtcGxlKQogewogICAgIEdzdFZpZGVvSW5mbyBpbmZvOwogCiAgICAgaWYgKCFn
c3RfdmlkZW9faW5mb19mcm9tX2NhcHMoJmluZm8sIGdzdF9zYW1wbGVfZ2V0X2NhcHMoc2FtcGxl
LmdldCgpKSkpCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgcmV0dXJuIHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI+KG5ldyBHU3RyZWFtZXJW
aWRlb0ZyYW1lTGliV2ViUlRDKFdURk1vdmUoc2FtcGxlKSwgaW5mbykpOwotfQotCi1zdGQ6OnVu
aXF1ZV9wdHI8d2VicnRjOjpWaWRlb0ZyYW1lPiBMaWJXZWJSVENWaWRlb0ZyYW1lRnJvbUdTdHJl
YW1lclNhbXBsZShHUmVmUHRyPEdzdFNhbXBsZT4mJiBzYW1wbGUsIHdlYnJ0Yzo6VmlkZW9Sb3Rh
dGlvbiByb3RhdGlvbiwKLSAgICBpbnQ2NF90IHRpbWVzdGFtcCwgaW50NjRfdCByZW5kZXJUaW1l
TXMpCi17Ci0gICAgYXV0byBmcmFtZUJ1ZmZlcihHU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRD
OjpjcmVhdGUoV1RGTW92ZShzYW1wbGUpKSk7Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjx3
ZWJydGM6OlZpZGVvRnJhbWU+KG5ldyB3ZWJydGM6OlZpZGVvRnJhbWUoZnJhbWVCdWZmZXIsIHRp
bWVzdGFtcCwgcmVuZGVyVGltZU1zLCByb3RhdGlvbikpOworICAgIHJldHVybiBydGM6OnNjb3Bl
ZF9yZWZwdHI8d2VicnRjOjpWaWRlb0ZyYW1lQnVmZmVyPihuZXcgR1N0cmVhbWVyVmlkZW9GcmFt
ZUxpYldlYlJUQyhzYW1wbGUsIGluZm8pKTsKIH0KIAogcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6STQyMEJ1ZmZlckludGVyZmFjZT4gR1N0cmVhbWVyVmlkZW9GcmFtZUxpYldlYlJUQzo6VG9J
NDIwKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9GcmFtZUxpYldlYlJUQy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFt
ZXJWaWRlb0ZyYW1lTGliV2ViUlRDLmgKaW5kZXggY2Q4NGE4NTIxMDdiZDY5NmFhOGEyZGJmNWEw
YWMwMDNiODkyZDA2OS4uYzZhOWI0ZGMzM2E0MThkNzdlOTA0YTAzYWQzZjI1MjZkMDc1MDE0MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRj
L2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJW
aWRlb0ZyYW1lTGliV2ViUlRDLmgKQEAgLTMxLDE5ICszMSwxOSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVdBUk5fVU5VU0VEX1JFVFVSTiBHUmVmUHRyPEdzdFNhbXBsZT4gR1N0cmVhbWVy
U2FtcGxlRnJvbUxpYldlYlJUQ1ZpZGVvRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0ZyYW1lJik7
CitXQVJOX1VOVVNFRF9SRVRVUk4gR1JlZlB0cjxHc3RTYW1wbGU+IGNvbnZlcnRMaWJXZWJSVENW
aWRlb0ZyYW1lVG9HU3RyZWFtZXJTYW1wbGUoY29uc3Qgd2VicnRjOjpWaWRlb0ZyYW1lJik7CiAK
LXN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlZpZGVvRnJhbWU+IExpYldlYlJUQ1ZpZGVvRnJhbWVG
cm9tR1N0cmVhbWVyU2FtcGxlKEdSZWZQdHI8R3N0U2FtcGxlPiYmLCB3ZWJydGM6OlZpZGVvUm90
YXRpb24sIGludDY0X3QgdGltZXN0YW1wLCBpbnQ2NF90IHJlbmRlclRpbWVNcyk7CitzdGQ6OnVu
aXF1ZV9wdHI8d2VicnRjOjpWaWRlb0ZyYW1lPiBjb252ZXJ0R1N0cmVhbWVyU2FtcGxlVG9MaWJX
ZWJSVENWaWRlb0ZyYW1lKEdSZWZQdHI8R3N0U2FtcGxlPiYsIHdlYnJ0Yzo6VmlkZW9Sb3RhdGlv
biwgaW50NjRfdCB0aW1lc3RhbXAsIGludDY0X3QgcmVuZGVyVGltZU1zKTsKIAogY2xhc3MgR1N0
cmVhbWVyVmlkZW9GcmFtZUxpYldlYlJUQyA6IHB1YmxpYyBydGM6OlJlZkNvdW50ZWRPYmplY3Q8
d2VicnRjOjpWaWRlb0ZyYW1lQnVmZmVyPiB7CiBwdWJsaWM6Ci0gICAgR1N0cmVhbWVyVmlkZW9G
cmFtZUxpYldlYlJUQyhHUmVmUHRyPEdzdFNhbXBsZT4mJiBzYW1wbGUsIEdzdFZpZGVvSW5mbyBp
bmZvKQotICAgICAgICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKKyAgICBHU3RyZWFtZXJW
aWRlb0ZyYW1lTGliV2ViUlRDKEdSZWZQdHI8R3N0U2FtcGxlPiBzYW1wbGUsIEdzdFZpZGVvSW5m
byBpbmZvKQorICAgICAgICA6IG1fc2FtcGxlKHNhbXBsZSkKICAgICAgICAgLCBtX2luZm8oaW5m
bykgeyB9CiAKLSAgICBzdGF0aWMgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9GcmFt
ZUJ1ZmZlcj4gY3JlYXRlKEdSZWZQdHI8R3N0U2FtcGxlPiYmKTsKKyAgICBzdGF0aWMgcnRjOjpz
Y29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9GcmFtZUJ1ZmZlcj4gY3JlYXRlKEdSZWZQdHI8R3N0
U2FtcGxlPik7CiAKLSAgICBHUmVmUHRyPEdzdFNhbXBsZT4mJiB0YWtlU2FtcGxlKCkgeyByZXR1
cm4gV1RGTW92ZShtX3NhbXBsZSk7IH0KKyAgICBHc3RTYW1wbGUqIGdldFNhbXBsZSgpIGNvbnN0
IHsgcmV0dXJuIG1fc2FtcGxlLmdldCgpOyB9CiAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6STQyMEJ1ZmZlckludGVyZmFjZT4gVG9JNDIwKCkgZmluYWw7CiAKICAgICBpbnQgd2lkdGgo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBHU1RfVklERU9fSU5GT19XSURUSCgmbV9pbmZvKTsgfQpA
QCAtNTUsNiArNTUsNyBAQCBwcml2YXRlOgogICAgIEdSZWZQdHI8R3N0U2FtcGxlPiBtX3NhbXBs
ZTsKICAgICBHc3RWaWRlb0luZm8gbV9pbmZvOwogfTsKKwogfQogCiAjZW5kaWYgLy8gVVNFKEdT
VFJFQU1FUikgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVJbmNvbWluZ1Zp
ZGVvU291cmNlTGliV2ViUlRDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlTGliV2Vi
UlRDLmNwcAppbmRleCBhYjFiMWFkYWEyMDAyNDFmNGFmMTU1NTVjZGM5ZTc0ZDE2ZjExODU1Li5m
ZDZhMzJmMDQ4MzM1ZTJkOTE5ODExNGU4MzNkOWYwZDJlMTk2NGYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0
aW1lSW5jb21pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZUluY29taW5n
VmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwCkBAIC01OCwxMiArNTgsMTQgQEAgdm9pZCBSZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEM6Ok9uRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRl
b0ZyYW1lJiBmcmEKICAgICBpZiAoIWlzUHJvZHVjaW5nRGF0YSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBjYWxsT25NYWluVGhyZWFkKFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwg
ZnJhbWVdIHsKLSAgICAgICAgYXV0byBnc3RTYW1wbGUgPSBHU3RyZWFtZXJTYW1wbGVGcm9tTGli
V2ViUlRDVmlkZW9GcmFtZShmcmFtZSk7CisgICAgaWYgKGZyYW1lLnZpZGVvX2ZyYW1lX2J1ZmZl
cigpLT50eXBlKCkgPT0gd2VicnRjOjpWaWRlb0ZyYW1lQnVmZmVyOjpUeXBlOjprTmF0aXZlKSB7
CisgICAgICAgIGF1dG8qIGZyYW1lYnVmZmVyID0gc3RhdGljX2Nhc3Q8R1N0cmVhbWVyVmlkZW9G
cmFtZUxpYldlYlJUQyo+KGZyYW1lLnZpZGVvX2ZyYW1lX2J1ZmZlcigpLmdldCgpKTsKKyAgICAg
ICAgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGVHU3RyZWFtZXI6OmNyZWF0ZVdyYXBw
ZWRTYW1wbGUoZnJhbWVidWZmZXItPmdldFNhbXBsZSgpLCBzdGF0aWNfY2FzdDxNZWRpYVNhbXBs
ZTo6VmlkZW9Sb3RhdGlvbj4oZnJhbWUucm90YXRpb24oKSkpLCB7IH0pOworICAgIH0gZWxzZSB7
CisgICAgICAgIGF1dG8gZ3N0U2FtcGxlID0gY29udmVydExpYldlYlJUQ1ZpZGVvRnJhbWVUb0dT
dHJlYW1lclNhbXBsZShmcmFtZSk7CiAgICAgICAgIGF1dG8gbWV0YWRhdGEgPSBzdGQ6Om1ha2Vf
b3B0aW9uYWwobWV0YWRhdGFGcm9tVmlkZW9GcmFtZShmcmFtZSkpOwotICAgICAgICBhdXRvIHNh
bXBsZSA9IE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpjcmVhdGUoV1RGTW92ZShnc3RTYW1wbGUpLCB7
IH0sIHsgfSwgc3RhdGljX2Nhc3Q8TWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24+KGZyYW1lLnJv
dGF0aW9uKCkpLCBmYWxzZSwgV1RGTW92ZShtZXRhZGF0YSkpOwotICAgICAgICBwcm90ZWN0ZWRU
aGlzLT52aWRlb1NhbXBsZUF2YWlsYWJsZShzYW1wbGUuZ2V0KCksIHsgfSk7Ci0gICAgfSk7Cisg
ICAgICAgIHZpZGVvU2FtcGxlQXZhaWxhYmxlKE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpjcmVhdGUo
V1RGTW92ZShnc3RTYW1wbGUpLCB7IH0sIHsgfSwgc3RhdGljX2Nhc3Q8TWVkaWFTYW1wbGU6OlZp
ZGVvUm90YXRpb24+KGZyYW1lLnJvdGF0aW9uKCkpLCBmYWxzZSwgV1RGTW92ZShtZXRhZGF0YSkp
LCB7IH0pOworICAgIH0KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9S
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU91dGdvaW5n
VmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwCmluZGV4IDM5ODM4OGIyZGI0OTcxYjU4ZDFmMWNmZTll
NDcxNzIyMDA5YTVkNTcuLmZjMDU5YzU5Y2Y4YWU3ZDI3OGI0ZDAyNGE2OWYzMjk5NGJhZjkzZTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9nc3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVy
L1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAKQEAgLTY5LDcgKzY5LDcg
QEAgdm9pZCBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEM6OnZpZGVvU2FtcGxl
QXZhaWxhYmxlKE1lZGlhU2FtcGxlJiBzYW0KIAogICAgIEFTU0VSVChzYW1wbGUucGxhdGZvcm1T
YW1wbGUoKS50eXBlID09IFBsYXRmb3JtU2FtcGxlOjpHU3RyZWFtZXJTYW1wbGVUeXBlKTsKICAg
ICBhdXRvJiBtZWRpYVNhbXBsZSA9IHN0YXRpY19jYXN0PE1lZGlhU2FtcGxlR1N0cmVhbWVyJj4o
c2FtcGxlKTsKLSAgICBhdXRvIGZyYW1lQnVmZmVyID0gR1N0cmVhbWVyVmlkZW9GcmFtZUxpYldl
YlJUQzo6Y3JlYXRlKGdzdF9zYW1wbGVfcmVmKG1lZGlhU2FtcGxlLnBsYXRmb3JtU2FtcGxlKCku
c2FtcGxlLmdzdFNhbXBsZSkpOworICAgIGF1dG8gZnJhbWVCdWZmZXIgPSBHU3RyZWFtZXJWaWRl
b0ZyYW1lTGliV2ViUlRDOjpjcmVhdGUobWVkaWFTYW1wbGUucGxhdGZvcm1TYW1wbGUoKS5zYW1w
bGUuZ3N0U2FtcGxlKTsKIAogICAgIHNlbmRGcmFtZShXVEZNb3ZlKGZyYW1lQnVmZmVyKSk7CiB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNDA4MTcyMWQ5OTVlNmZlNDZiOTY5ZmQ5ZGFjOWQyN2Q1NzBhYTAwMy4uYzc2MDI3
YzcyMWEyMTgwNTlkZmM2OGExM2U0ZGFmNWQzMjEwNzk5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIxLTEyLTExICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbR1N0cmVhbWVyXVtXZWJSVENdIEh1Z2UgbWVtb3J5IGxlYWsKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDEzNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ2xpYi9UZXN0
RXhwZWN0YXRpb25zOiBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbnMsICMyMzM3NDAgd2FzIG1vc3Rs
eSBkdWUgdG8gdmlkZW8KKyAgICAgICAgZGVjb2RlciBpbml0aWFsaXphdGlvbiB3cm9uZ2x5IHJl
cG9ydGVkIGFzIGZhaWxlZC4KKyAgICAgICAgd2VicnRjL2NhcHR1cmVDYW52YXMtd2VicnRjLXNv
ZnR3YXJlLWgyNjQtYmFzZWxpbmUuaHRtbCBubyBsb25nZXIgdGltZXMgb3V0LgorCiAyMDIxLTEy
LTExICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhbiBl
eHBlcmltZW50YWwgdHJhY2tDb25maWd1cmF0aW9uIGFjY2Vzc29yIG9uIEF1ZGlvVHJhY2sgJiBW
aWRlb1RyYWNrLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDEwODIzNzgwMjE3MWZmZGE4NTNkMTA2ZGUyMTc3Y2NjZDUyZWZhOWEuLjU4ZDI4MDVjYmE0
MzE2NzZmYTRlZDY0M2Q1MzQ1NzRlYWIzZDI3YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
bGliL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzNDAsOCArMTM0MCw3IEBAIHdlYmtpdC5vcmcvYi8y
MDY0NjQgd2Via2l0Lm9yZy9iLzIxODc4NyB3ZWJydGMvcGVlcmNvbm5lY3Rpb24tcGFnZS1jYWNo
ZS1sb25nLmh0CiAKIHdlYmtpdC5vcmcvYi8yMDgxMjUgd2VicnRjL3BlZXJjb25uZWN0aW9uLW5l
dy1jYW5kaWRhdGUtcGFnZS1jYWNoZS5odG1sIFsgUGFzcyBDcmFzaCBdCiAKLSMgV2FzIFNsb3cg
RmFpbHVyZSBiZWZvcmUgbGlid2VicnRjIGJ1bXBlZCB0byBNOTYgaW4gcjI4NTU3Nwotd2Via2l0
Lm9yZy9iLzIxNjUzOCB3ZWJydGMvY2FwdHVyZUNhbnZhcy13ZWJydGMtc29mdHdhcmUtaDI2NC1i
YXNlbGluZS5odG1sIFsgVGltZW91dCBdCit3ZWJraXQub3JnL2IvMjE2NTM4IHdlYnJ0Yy9jYXB0
dXJlQ2FudmFzLXdlYnJ0Yy1zb2Z0d2FyZS1oMjY0LWJhc2VsaW5lLmh0bWwgWyBTbG93IEZhaWx1
cmUgXQogCiB3ZWJraXQub3JnL2IvMjE2NzYzIHdlYnJ0Yy9jYXB0dXJlQ2FudmFzLXdlYnJ0Yy1z
b2Z0d2FyZS1oMjY0LWhpZ2guaHRtbCBbIENyYXNoIEZhaWx1cmUgXQogCkBAIC0xMzYxLDEwICsx
MzYwLDYgQEAgd2Via2l0Lm9yZy9iLzIyNzk4NyBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVh
bS9nZXQtZGlzcGxheS1tZWRpYS1wcm9tcHQuaHRtbAogCiB3ZWJraXQub3JnL2IvMjI5MDU1IGh0
dHAvd3B0L3dlYnJ0Yy9zZnJhbWUtdHJhbnNmb3JtLWVycm9yLmh0bWwgWyBGYWlsdXJlIF0KIAot
d2Via2l0Lm9yZy9iLzIzMzc0MCBodHRwL3dwdC93ZWJydGMvdmlkZW8tc2NyaXB0LXRyYW5zZm9y
bS1rZXlmcmFtZS1vbmx5Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMzM3NDAgd2Vi
cnRjL3ZwOS1zdmMuaHRtbCBbIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzIzMzc0MCB3ZWJydGMv
dnA5Lmh0bWwgWyBUaW1lb3V0IF0KLQogd2Via2l0Lm9yZy9iLzIzMzg3OSBmYXN0L21lZGlhc3Ry
ZWFtL2dldC1kaXNwbGF5LW1lZGlhLXNldHRpbmdzLmh0bWwgWyBGYWlsdXJlIF0KIAogIy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447347</attachid>
            <date>2021-12-16 05:26:23 -0800</date>
            <delta_ts>2021-12-17 04:49:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234134-20211216052621.patch</filename>
            <type>text/plain</type>
            <size>22251</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzE2ZTBjNjVjOTNhYmRl
YzhhMzE3MDk5NzU4MDc2ZmJhNjgwMTI4MS4uNDdhMzMwODkzZmE4MmYwZjdkZjlkOTJhNzgwMGE5
MjY5ZjY4OGRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTEyLTExICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XVtXZWJSVENdIEh1Z2UgbWVtb3J5IGxlYWsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNDEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSBtYWluIGlzc3VlIHdhcyBSZWFsdGltZU91dGdvaW5nVmlk
ZW9Tb3VyY2VMaWJXZWJSVEMgbGVha2luZyBHc3RTYW1wbGVzLiBGaXhpbmcgdGhpcyBsZWFkCisg
ICAgICAgIG1lIHRvIGZ1cnRoZXIgY2xlYW4tdXBzIGluIHRoZSBHc3RTYW1wbGU8LT5MaWJXZWJS
VENWaWRlb0ZyYW1lIGhhbmRsaW5nLiBOYXRpdmUgZnJhbWVzCisgICAgICAgIHNob3VsZCBub3Qg
Y29uc3VtZSBHc3RTYW1wbGVzLCBidXQgcmVmZXJlbmNlIHRoZW0sIG90aGVyd2lzZSB0aGVyZSBh
cmUgY3Jhc2hlcyB3aGVyZSB0aGUKKyAgICAgICAgZGFuZ2xpbmcgR3N0U2FtcGxlcyB3b3VsZCBi
ZSBwYXNzZWQgdG8gdGhlIGxpYndlYnJ0YyB2aWRlbyBkZWNvZGVyLi4uCisKKyAgICAgICAgQWxz
byB0aGUgdmlkZW8gZGVjb2RlcnMgd2VyZSBub3QgcmVwb3J0aW5nIHRoZWlyIGluaXRpYWxpemF0
aW9uIHN0YXR1cyBjb3JyZWN0bHksCisgICAgICAgIFdFQlJUQ19WSURFT19DT0RFQ19PSyBpcyAw
IGhlbmNlIGZhbHNlLi4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTYW1wbGVH
U3RyZWFtZXI6Ok1lZGlhU2FtcGxlR1N0cmVhbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U2FtcGxlR1N0cmVhbWVyOjppbml0aWFsaXplRnJvbUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVhbWVyLmg6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRlV3JhcHBlZFNhbXBsZSk6CisgICAg
ICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJW
aWRlb0RlY29kZXJGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lclZpZGVv
RGVjb2Rlcjo6cHVsbFNhbXBsZSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0b3J5LmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL0dTdHJlYW1lclZp
ZGVvRnJhbWVMaWJXZWJSVEMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydExpYldlYlJU
Q1ZpZGVvRnJhbWVUb0dTdHJlYW1lclNhbXBsZSk6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0
R1N0cmVhbWVyU2FtcGxlVG9MaWJXZWJSVENWaWRlb0ZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OkdTdHJlYW1lclZpZGVvRnJhbWVMaWJXZWJSVEM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpHU3RyZWFtZXJTYW1wbGVGcm9tTGliV2ViUlRDVmlkZW9GcmFtZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMaWJXZWJSVENWaWRlb0ZyYW1lRnJvbUdTdHJlYW1lclNhbXBsZSk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1l
ci9HU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDLmg6CisgICAgICAgIChXZWJDb3JlOjpHU3Ry
ZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDOjpHU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDKToK
KyAgICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lclZpZGVvRnJhbWVMaWJXZWJSVEM6OmdldFNhbXBs
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRD
Ojp0YWtlU2FtcGxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VMaWJXZWJS
VEM6Ok9uRnJhbWUpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9n
c3RyZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQzo6dmlkZW9T
YW1wbGVBdmFpbGFibGUpOgorCiAyMDIxLTEyLTE1ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3
ZWJraXQub3JnPgogCiAgICAgICAgIEFjdGl2ZURPTU9iamVjdDo6c3VzcGVuZElmTmVlZGVkKCkg
c2hvdWxkIG5vdCBiZSBjYWxsZWQgd2l0aGluIGNvbnN0cnVjdG9ycwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhU2FtcGxlR1N0cmVh
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVNhbXBsZUdTdHJlYW1lci5jcHAKaW5kZXggNzQzMGUwNTgyYWE3ZGZmNGY0NTY4MjY2YjU5MWM0
NDllZmFjZTA2MC4uOWU3YzA4OTYwNmE3YjEzOWE5YTYyMzhlNTFkZjhmMGZkZWQ3ZDMzNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
U2FtcGxlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuY3BwCkBAIC00Miw3ICs0Miw2IEBAIE1l
ZGlhU2FtcGxlR1N0cmVhbWVyOjpNZWRpYVNhbXBsZUdTdHJlYW1lcihHUmVmUHRyPEdzdFNhbXBs
ZT4mJiBzYW1wbGUsIGNvbnN0IEZsCiAgICAgLCBtX3ZpZGVvUm90YXRpb24odmlkZW9Sb3RhdGlv
bikKICAgICAsIG1fdmlkZW9NaXJyb3JlZCh2aWRlb01pcnJvcmVkKQogewotICAgIGNvbnN0IEdz
dENsb2NrVGltZSBtaW5pbXVtRHVyYXRpb24gPSAxMDAwOyAvLyAxIHVzCiAgICAgQVNTRVJUKHNh
bXBsZSk7CiAgICAgR3N0QnVmZmVyKiBidWZmZXIgPSBnc3Rfc2FtcGxlX2dldF9idWZmZXIoc2Ft
cGxlLmdldCgpKTsKICAgICBSRUxFQVNFX0FTU0VSVChidWZmZXIpOwpAQCAtNTAsMzUgKzQ5LDEw
IEBAIE1lZGlhU2FtcGxlR1N0cmVhbWVyOjpNZWRpYVNhbXBsZUdTdHJlYW1lcihHUmVmUHRyPEdz
dFNhbXBsZT4mJiBzYW1wbGUsIGNvbnN0IEZsCiAgICAgaWYgKG1ldGFkYXRhKQogICAgICAgICBi
dWZmZXIgPSB3ZWJraXRHc3RCdWZmZXJTZXRWaWRlb1NhbXBsZU1ldGFkYXRhKGJ1ZmZlciwgV1RG
TW92ZShtZXRhZGF0YSkpOwogCi0gICAgaWYgKEdTVF9CVUZGRVJfUFRTX0lTX1ZBTElEKGJ1ZmZl
cikpCi0gICAgICAgIG1fcHRzID0gZnJvbUdzdENsb2NrVGltZShHU1RfQlVGRkVSX1BUUyhidWZm
ZXIpKTsKLSAgICBpZiAoR1NUX0JVRkZFUl9EVFNfSVNfVkFMSUQoYnVmZmVyKSB8fCBHU1RfQlVG
RkVSX1BUU19JU19WQUxJRChidWZmZXIpKQotICAgICAgICBtX2R0cyA9IGZyb21Hc3RDbG9ja1Rp
bWUoR1NUX0JVRkZFUl9EVFNfT1JfUFRTKGJ1ZmZlcikpOwotICAgIGlmIChHU1RfQlVGRkVSX0RV
UkFUSU9OX0lTX1ZBTElEKGJ1ZmZlcikpIHsKLSAgICAgICAgLy8gU29tZXRpbWVzIChhbGJlaXQg
cmFyZWx5LCBzbyBmYXIgc2VlbiBvbmx5IGF0IHRoZSBlbmQgb2YgYSB0cmFjaykKLSAgICAgICAg
Ly8gZnJhbWVzIGhhdmUgdmVyeSBzbWFsbCBkdXJhdGlvbnMsIHNvIHNtYWxsIHRoYXQgbWF5IGJl
IHVuZGVyIHRoZQotICAgICAgICAvLyBwcmVjaXNpb24gd2UgYXJlIHdvcmtpbmcgd2l0aCBhbmQg
YmUgdHJ1bmNhdGVkIHRvIHplcm8uCi0gICAgICAgIC8vIFNvdXJjZUJ1ZmZlciBhbGdvcml0aG1z
IGFyZSBub3QgZXhwZWN0aW5nIGZyYW1lcyB3aXRoIHplcm8tZHVyYXRpb24sCi0gICAgICAgIC8v
IHNvIGxldCdzIHVzZSBzb21ldGhpbmcgdmVyeSBzbWFsbCBpbnN0ZWFkIGluIHRob3NlIGZyaW5n
ZSBjYXNlcy4KLSAgICAgICAgbV9kdXJhdGlvbiA9IGZyb21Hc3RDbG9ja1RpbWUoc3RkOjptYXgo
R1NUX0JVRkZFUl9EVVJBVElPTihidWZmZXIpLCBtaW5pbXVtRHVyYXRpb24pKTsKLSAgICB9IGVs
c2UgewotICAgICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBzb21ldGltZXMgc2FtcGxlcyBkb24ndCBw
cm92aWRlIGEgZHVyYXRpb24uIFRoaXMgY2FuIG5ldmVyIGhhcHBlbiBpbiBNUDQgYmVjYXVzZSBv
ZiB0aGUgd2F5Ci0gICAgICAgIC8vIHRoZSBmb3JtYXQgaXMgbGFpZCBvdXQsIGJ1dCBpdCdzIHBy
ZXR0eSBjb21tb24gaW4gV2ViTS4KLSAgICAgICAgLy8gVGhlIGdvb2QgcGFydCBpcyB0aGF0IGR1
cmF0aW9ucyBkb24ndCBtYXR0ZXIgZm9yIHBsYXliYWNrLCBqdXN0IGZvciBidWZmZXJlZCByYW5n
ZXMgYW5kIGNvZGVkIGZyYW1lIGRlbGV0aW9uLgotICAgICAgICAvLyBXZSB3YW50IHRvIHBpY2sg
c29tZXRoaW5nIHNtYWxsIGVub3VnaCB0byBub3QgY2F1c2UgdW53YW50ZWQgZnJhbWUgZGVsZXRp
b24sIGJ1dCBiaWcgZW5vdWdoIHRvIG5ldmVyIGJlCi0gICAgICAgIC8vIG1pc3Rha2VuIGZvciBh
IHJvdW5kaW5nIGFydGlmYWN0LgotICAgICAgICBtX2R1cmF0aW9uID0gZnJvbUdzdENsb2NrVGlt
ZSgxNjY2NjY2Nyk7IC8vIDEvNjAgc2Vjb25kcwotICAgIH0KLQotICAgIG1fc2l6ZSA9IGdzdF9i
dWZmZXJfZ2V0X3NpemUoYnVmZmVyKTsKICAgICBtX3NhbXBsZSA9IGFkb3B0R1JlZihnc3Rfc2Ft
cGxlX25ldyhidWZmZXIsIGdzdF9zYW1wbGVfZ2V0X2NhcHMoc2FtcGxlLmdldCgpKSwgbnVsbHB0
ciwKICAgICAgICAgZ3N0X3NhbXBsZV9nZXRfaW5mbyhzYW1wbGUuZ2V0KCkpID8gZ3N0X3N0cnVj
dHVyZV9jb3B5KGdzdF9zYW1wbGVfZ2V0X2luZm8oc2FtcGxlLmdldCgpKSkgOiBudWxscHRyKSk7
CiAKLSAgICBpZiAoR1NUX0JVRkZFUl9GTEFHX0lTX1NFVChidWZmZXIsIEdTVF9CVUZGRVJfRkxB
R19ERUxUQV9VTklUKSkKLSAgICAgICAgbV9mbGFncyA9IE1lZGlhU2FtcGxlOjpOb25lOwotCi0g
ICAgaWYgKEdTVF9CVUZGRVJfRkxBR19JU19TRVQoYnVmZmVyLCBHU1RfQlVGRkVSX0ZMQUdfREVD
T0RFX09OTFkpKQotICAgICAgICBtX2ZsYWdzID0gc3RhdGljX2Nhc3Q8TWVkaWFTYW1wbGU6OlNh
bXBsZUZsYWdzPihtX2ZsYWdzIHwgTWVkaWFTYW1wbGU6OklzTm9uRGlzcGxheWluZyk7CisgICAg
aW5pdGlhbGl6ZUZyb21CdWZmZXIoKTsKIH0KIAogTWVkaWFTYW1wbGVHU3RyZWFtZXI6Ok1lZGlh
U2FtcGxlR1N0cmVhbWVyKGNvbnN0IEZsb2F0U2l6ZSYgcHJlc2VudGF0aW9uU2l6ZSwgY29uc3Qg
QXRvbVN0cmluZyYgdHJhY2tJZCkKQEAgLTkwLDYgKzY0LDEzIEBAIE1lZGlhU2FtcGxlR1N0cmVh
bWVyOjpNZWRpYVNhbXBsZUdTdHJlYW1lcihjb25zdCBGbG9hdFNpemUmIHByZXNlbnRhdGlvblNp
emUsIGNvCiB7CiB9CiAKK01lZGlhU2FtcGxlR1N0cmVhbWVyOjpNZWRpYVNhbXBsZUdTdHJlYW1l
cihjb25zdCBHUmVmUHRyPEdzdFNhbXBsZT4mIHNhbXBsZSwgVmlkZW9Sb3RhdGlvbiB2aWRlb1Jv
dGF0aW9uKQorICAgIDogbV9zYW1wbGUoc2FtcGxlKQorICAgICwgbV92aWRlb1JvdGF0aW9uKHZp
ZGVvUm90YXRpb24pCit7CisgICAgaW5pdGlhbGl6ZUZyb21CdWZmZXIoKTsKK30KKwogUmVmPE1l
ZGlhU2FtcGxlR1N0cmVhbWVyPiBNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRlRmFrZVNhbXBs
ZShHc3RDYXBzKiwgTWVkaWFUaW1lIHB0cywgTWVkaWFUaW1lIGR0cywgTWVkaWFUaW1lIGR1cmF0
aW9uLCBjb25zdCBGbG9hdFNpemUmIHByZXNlbnRhdGlvblNpemUsIGNvbnN0IEF0b21TdHJpbmcm
IHRyYWNrSWQpCiB7CiAgICAgTWVkaWFTYW1wbGVHU3RyZWFtZXIqIGdzdHJlYW1lck1lZGlhU2Ft
cGxlID0gbmV3IE1lZGlhU2FtcGxlR1N0cmVhbWVyKHByZXNlbnRhdGlvblNpemUsIHRyYWNrSWQp
OwpAQCAtMTU0LDYgKzEzNSw0MSBAQCBSZWY8TWVkaWFTYW1wbGVHU3RyZWFtZXI+IE1lZGlhU2Ft
cGxlR1N0cmVhbWVyOjpjcmVhdGVJbWFnZVNhbXBsZShQaXhlbEJ1ZmZlciYmCiAgICAgcmV0dXJu
IGNyZWF0ZShXVEZNb3ZlKHNhbXBsZSksIEZsb2F0U2l6ZSh3aWR0aCwgaGVpZ2h0KSwgeyB9LCB2
aWRlb1JvdGF0aW9uLCB2aWRlb01pcnJvcmVkKTsKIH0KIAordm9pZCBNZWRpYVNhbXBsZUdTdHJl
YW1lcjo6aW5pdGlhbGl6ZUZyb21CdWZmZXIoKQoreworICAgIGNvbnN0IEdzdENsb2NrVGltZSBt
aW5pbXVtRHVyYXRpb24gPSAxMDAwOyAvLyAxIHVzCisgICAgYXV0byogYnVmZmVyID0gZ3N0X3Nh
bXBsZV9nZXRfYnVmZmVyKG1fc2FtcGxlLmdldCgpKTsKKyAgICBSRUxFQVNFX0FTU0VSVChidWZm
ZXIpOworCisgICAgaWYgKEdTVF9CVUZGRVJfUFRTX0lTX1ZBTElEKGJ1ZmZlcikpCisgICAgICAg
IG1fcHRzID0gZnJvbUdzdENsb2NrVGltZShHU1RfQlVGRkVSX1BUUyhidWZmZXIpKTsKKyAgICBp
ZiAoR1NUX0JVRkZFUl9EVFNfSVNfVkFMSUQoYnVmZmVyKSB8fCBHU1RfQlVGRkVSX1BUU19JU19W
QUxJRChidWZmZXIpKQorICAgICAgICBtX2R0cyA9IGZyb21Hc3RDbG9ja1RpbWUoR1NUX0JVRkZF
Ul9EVFNfT1JfUFRTKGJ1ZmZlcikpOworICAgIGlmIChHU1RfQlVGRkVSX0RVUkFUSU9OX0lTX1ZB
TElEKGJ1ZmZlcikpIHsKKyAgICAgICAgLy8gU29tZXRpbWVzIChhbGJlaXQgcmFyZWx5LCBzbyBm
YXIgc2VlbiBvbmx5IGF0IHRoZSBlbmQgb2YgYSB0cmFjaykKKyAgICAgICAgLy8gZnJhbWVzIGhh
dmUgdmVyeSBzbWFsbCBkdXJhdGlvbnMsIHNvIHNtYWxsIHRoYXQgbWF5IGJlIHVuZGVyIHRoZQor
ICAgICAgICAvLyBwcmVjaXNpb24gd2UgYXJlIHdvcmtpbmcgd2l0aCBhbmQgYmUgdHJ1bmNhdGVk
IHRvIHplcm8uCisgICAgICAgIC8vIFNvdXJjZUJ1ZmZlciBhbGdvcml0aG1zIGFyZSBub3QgZXhw
ZWN0aW5nIGZyYW1lcyB3aXRoIHplcm8tZHVyYXRpb24sCisgICAgICAgIC8vIHNvIGxldCdzIHVz
ZSBzb21ldGhpbmcgdmVyeSBzbWFsbCBpbnN0ZWFkIGluIHRob3NlIGZyaW5nZSBjYXNlcy4KKyAg
ICAgICAgbV9kdXJhdGlvbiA9IGZyb21Hc3RDbG9ja1RpbWUoc3RkOjptYXgoR1NUX0JVRkZFUl9E
VVJBVElPTihidWZmZXIpLCBtaW5pbXVtRHVyYXRpb24pKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICAvLyBVbmZvcnR1bmF0ZWx5LCBzb21ldGltZXMgc2FtcGxlcyBkb24ndCBwcm92aWRlIGEgZHVy
YXRpb24uIFRoaXMgY2FuIG5ldmVyIGhhcHBlbiBpbiBNUDQgYmVjYXVzZSBvZiB0aGUgd2F5Cisg
ICAgICAgIC8vIHRoZSBmb3JtYXQgaXMgbGFpZCBvdXQsIGJ1dCBpdCdzIHByZXR0eSBjb21tb24g
aW4gV2ViTS4KKyAgICAgICAgLy8gVGhlIGdvb2QgcGFydCBpcyB0aGF0IGR1cmF0aW9ucyBkb24n
dCBtYXR0ZXIgZm9yIHBsYXliYWNrLCBqdXN0IGZvciBidWZmZXJlZCByYW5nZXMgYW5kIGNvZGVk
IGZyYW1lIGRlbGV0aW9uLgorICAgICAgICAvLyBXZSB3YW50IHRvIHBpY2sgc29tZXRoaW5nIHNt
YWxsIGVub3VnaCB0byBub3QgY2F1c2UgdW53YW50ZWQgZnJhbWUgZGVsZXRpb24sIGJ1dCBiaWcg
ZW5vdWdoIHRvIG5ldmVyIGJlCisgICAgICAgIC8vIG1pc3Rha2VuIGZvciBhIHJvdW5kaW5nIGFy
dGlmYWN0LgorICAgICAgICBtX2R1cmF0aW9uID0gZnJvbUdzdENsb2NrVGltZSgxNjY2NjY2Nyk7
IC8vIDEvNjAgc2Vjb25kcworICAgIH0KKworICAgIG1fc2l6ZSA9IGdzdF9idWZmZXJfZ2V0X3Np
emUoYnVmZmVyKTsKKworICAgIGlmIChHU1RfQlVGRkVSX0ZMQUdfSVNfU0VUKGJ1ZmZlciwgR1NU
X0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQpKQorICAgICAgICBtX2ZsYWdzID0gTWVkaWFTYW1wbGU6
Ok5vbmU7CisKKyAgICBpZiAoR1NUX0JVRkZFUl9GTEFHX0lTX1NFVChidWZmZXIsIEdTVF9CVUZG
RVJfRkxBR19ERUNPREVfT05MWSkpCisgICAgICAgIG1fZmxhZ3MgPSBzdGF0aWNfY2FzdDxNZWRp
YVNhbXBsZTo6U2FtcGxlRmxhZ3M+KG1fZmxhZ3MgfCBNZWRpYVNhbXBsZTo6SXNOb25EaXNwbGF5
aW5nKTsKK30KKwogUmVmUHRyPEpTQzo6VWludDhDbGFtcGVkQXJyYXk+IE1lZGlhU2FtcGxlR1N0
cmVhbWVyOjpnZXRSR0JBSW1hZ2VEYXRhKCkgY29uc3QKIHsKICAgICBhdXRvKiBjYXBzID0gZ3N0
X3NhbXBsZV9nZXRfY2FwcyhtX3NhbXBsZS5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFTYW1wbGVHU3RyZWFtZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdT
dHJlYW1lci5oCmluZGV4IDY5ZTM2ZDZiNjE2ZDUxZWYwZjQyZGEzYjdhNzhlYjgwMDFlZWQwYjgu
LjFkNzFhMzM5NjljZmJjNjc1ZGVlY2VhNzhlNjRmMmQ2ODk5ZTQxZWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVNhbXBsZUdTdHJl
YW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVNhbXBsZUdTdHJlYW1lci5oCkBAIC00MCw2ICs0MCwxMSBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhU2FtcGxlR1N0cmVhbWVyKFdURk1vdmUoc2FtcGxl
KSwgcHJlc2VudGF0aW9uU2l6ZSwgdHJhY2tJZCwgdmlkZW9Sb3RhdGlvbiwgdmlkZW9NaXJyb3Jl
ZCwgV1RGTW92ZShtZXRhZGF0YSkpKTsKICAgICB9CiAKKyAgICBzdGF0aWMgUmVmPE1lZGlhU2Ft
cGxlR1N0cmVhbWVyPiBjcmVhdGVXcmFwcGVkU2FtcGxlKGNvbnN0IEdSZWZQdHI8R3N0U2FtcGxl
PiYgc2FtcGxlLCBWaWRlb1JvdGF0aW9uIHZpZGVvUm90YXRpb24gPSBWaWRlb1JvdGF0aW9uOjpO
b25lKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFTYW1wbGVHU3Ry
ZWFtZXIoc2FtcGxlLCB2aWRlb1JvdGF0aW9uKSk7CisgICAgfQorCiAgICAgc3RhdGljIFJlZjxN
ZWRpYVNhbXBsZUdTdHJlYW1lcj4gY3JlYXRlRmFrZVNhbXBsZShHc3RDYXBzKiwgTWVkaWFUaW1l
IHB0cywgTWVkaWFUaW1lIGR0cywgTWVkaWFUaW1lIGR1cmF0aW9uLCBjb25zdCBGbG9hdFNpemUm
IHByZXNlbnRhdGlvblNpemUsIGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSWQpOwogICAgIHN0YXRp
YyBSZWY8TWVkaWFTYW1wbGVHU3RyZWFtZXI+IGNyZWF0ZUltYWdlU2FtcGxlKFBpeGVsQnVmZmVy
JiYsIGNvbnN0IEludFNpemUmIGRlc3RpbmF0aW9uU2l6ZSA9IHsgfSwgZG91YmxlIGZyYW1lUmF0
ZSA9IDEsIFZpZGVvUm90YXRpb24gdmlkZW9Sb3RhdGlvbiA9IFZpZGVvUm90YXRpb246Ok5vbmUs
IGJvb2wgdmlkZW9NaXJyb3JlZCA9IGZhbHNlLCBzdGQ6Om9wdGlvbmFsPFZpZGVvU2FtcGxlTWV0
YWRhdGE+JiYgbWV0YWRhdGEgPSBzdGQ6Om51bGxvcHQpOwogCkBAIC02NiwxMSArNzEsMTQgQEAg
cHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFTYW1wbGVHU3RyZWFtZXIoR1JlZlB0cjxH
c3RTYW1wbGU+JiYsIGNvbnN0IEZsb2F0U2l6ZSYgcHJlc2VudGF0aW9uU2l6ZSwgY29uc3QgQXRv
bVN0cmluZyYgdHJhY2tJZCwgVmlkZW9Sb3RhdGlvbiA9IFZpZGVvUm90YXRpb246Ok5vbmUsIGJv
b2wgdmlkZW9NaXJyb3JlZCA9IGZhbHNlLCBzdGQ6Om9wdGlvbmFsPFZpZGVvU2FtcGxlTWV0YWRh
dGE+JiYgPSBzdGQ6Om51bGxvcHQpOworICAgIE1lZGlhU2FtcGxlR1N0cmVhbWVyKGNvbnN0IEdS
ZWZQdHI8R3N0U2FtcGxlPiYsIFZpZGVvUm90YXRpb24gPSBWaWRlb1JvdGF0aW9uOjpOb25lKTsK
ICAgICB2aXJ0dWFsIH5NZWRpYVNhbXBsZUdTdHJlYW1lcigpID0gZGVmYXVsdDsKIAogcHJpdmF0
ZToKICAgICBNZWRpYVNhbXBsZUdTdHJlYW1lcihjb25zdCBGbG9hdFNpemUmIHByZXNlbnRhdGlv
blNpemUsIGNvbnN0IEF0b21TdHJpbmcmIHRyYWNrSWQpOwogCisgICAgdm9pZCBpbml0aWFsaXpl
RnJvbUJ1ZmZlcigpOworCiAgICAgTWVkaWFUaW1lIG1fcHRzOwogICAgIE1lZGlhVGltZSBtX2R0
czsKICAgICBNZWRpYVRpbWUgbV9kdXJhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9E
ZWNvZGVyRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvZ3N0cmVhbWVyL0dTdHJlYW1lclZpZGVvRGVjb2RlckZhY3RvcnkuY3BwCmluZGV4
IGQ4ZDFhMDJhOTU2MjhhNjkwMGU5NDhjNTBhYTc3ZTk5YWY1NTAwY2UuLmQ2ZDM2YTZmNDA2MjNl
OGJkNjM3NmI2MDdkYjRjYTRkYTg4MzEwYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9EZWNv
ZGVyRmFjdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5LmNwcApAQCAt
MTUwLDcgKzE1MCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiBXRUJSVENfVklERU9f
Q09ERUNfRVJST1I7CiAgICAgICAgIH0KIAotICAgICAgICByZXR1cm4gV0VCUlRDX1ZJREVPX0NP
REVDX09LOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKICAgICBpbnQzMl90IFJlZ2lz
dGVyRGVjb2RlQ29tcGxldGVDYWxsYmFjayh3ZWJydGM6OkRlY29kZWRJbWFnZUNhbGxiYWNrKiBj
YWxsYmFjaykgb3ZlcnJpZGUKQEAgLTI0MCw3ICsyNDAsNyBAQCBwdWJsaWM6CiAgICAgICAgIGF1
dG8gdGltZXN0YW1wcyA9IG1fZHRzUHRzTWFwW0dTVF9CVUZGRVJfUFRTKGJ1ZmZlcildOwogICAg
ICAgICBtX2R0c1B0c01hcC5lcmFzZShHU1RfQlVGRkVSX1BUUyhidWZmZXIpKTsKIAotICAgICAg
ICBhdXRvIGZyYW1lKExpYldlYlJUQ1ZpZGVvRnJhbWVGcm9tR1N0cmVhbWVyU2FtcGxlKFdURk1v
dmUoc2FtcGxlKSwgd2VicnRjOjprVmlkZW9Sb3RhdGlvbl8wLAorICAgICAgICBhdXRvIGZyYW1l
KGNvbnZlcnRHU3RyZWFtZXJTYW1wbGVUb0xpYldlYlJUQ1ZpZGVvRnJhbWUoc2FtcGxlLCB3ZWJy
dGM6OmtWaWRlb1JvdGF0aW9uXzAsCiAgICAgICAgICAgICB0aW1lc3RhbXBzLnRpbWVzdGFtcCwg
dGltZXN0YW1wcy5yZW5kZXJUaW1lTXMpKTsKIAogICAgICAgICBHU1RfQlVGRkVSX0RUUyhidWZm
ZXIpID0gR1NUX0NMT0NLX1RJTUVfTk9ORTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9FbmNv
ZGVyRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvZ3N0cmVhbWVyL0dTdHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkuY3BwCmluZGV4IDE3
OGU4NjMzYTUwZjcxODc3NjZjMTM2MDVjOTZmN2I5NTAwMGExZGIuLmJjMGQ4NzFiZjNlNjEyZWQ5
NGZjZDg5MjJmMDU5ZGYzODM5MjYzOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9FbmNvZGVy
RmFjdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0b3J5LmNwcApAQCAtMjI4
LDcgKzIyOCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiBXRUJSVENfVklERU9fQ09E
RUNfVU5JTklUSUFMSVpFRDsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8gc2FtcGxlID0gR1N0
cmVhbWVyU2FtcGxlRnJvbUxpYldlYlJUQ1ZpZGVvRnJhbWUoZnJhbWUpOworICAgICAgICBhdXRv
IHNhbXBsZSA9IGNvbnZlcnRMaWJXZWJSVENWaWRlb0ZyYW1lVG9HU3RyZWFtZXJTYW1wbGUoZnJh
bWUpOwogICAgICAgICBhdXRvIGJ1ZmZlciA9IGdzdF9zYW1wbGVfZ2V0X2J1ZmZlcihzYW1wbGUu
Z2V0KCkpOwogCiAgICAgICAgIGlmICghR1NUX0NMT0NLX1RJTUVfSVNfVkFMSUQobV9maXJzdEZy
YW1lUHRzKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIv
R1N0cmVhbWVyVmlkZW9GcmFtZUxpYldlYlJUQy5jcHAKaW5kZXggMWE3MDU1NTMwMGEzZTFmOGJm
YzRhZmI0NzI1ZDVlNjI1MTcwOTc5MC4uOWZlNjM1MmZhNWI0ODFkMDBjOWI0MjNiNTQ3OWM3NTVj
MjJkMDM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVy
L0dTdHJlYW1lclZpZGVvRnJhbWVMaWJXZWJSVEMuY3BwCkBAIC0yNywxMyArMjcsOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLUdSZWZQdHI8R3N0U2FtcGxlPiBHU3RyZWFtZXJTYW1wbGVG
cm9tTGliV2ViUlRDVmlkZW9GcmFtZShjb25zdCB3ZWJydGM6OlZpZGVvRnJhbWUmIGZyYW1lKQor
R1JlZlB0cjxHc3RTYW1wbGU+IGNvbnZlcnRMaWJXZWJSVENWaWRlb0ZyYW1lVG9HU3RyZWFtZXJT
YW1wbGUoY29uc3Qgd2VicnRjOjpWaWRlb0ZyYW1lJiBmcmFtZSkKIHsKLSAgICBpZiAoZnJhbWUu
dmlkZW9fZnJhbWVfYnVmZmVyKCktPnR5cGUoKSA9PSB3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI6
OlR5cGU6OmtOYXRpdmUpIHsKLSAgICAgICAgYXV0byogZnJhbWVidWZmZXIgPSBzdGF0aWNfY2Fz
dDxHU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDKj4oZnJhbWUudmlkZW9fZnJhbWVfYnVmZmVy
KCkuZ2V0KCkpOwotICAgICAgICByZXR1cm4gZnJhbWVidWZmZXItPnRha2VTYW1wbGUoKTsKLSAg
ICB9Ci0KKyAgICBSRUxFQVNFX0FTU0VSVChmcmFtZS52aWRlb19mcmFtZV9idWZmZXIoKS0+dHlw
ZSgpICE9IHdlYnJ0Yzo6VmlkZW9GcmFtZUJ1ZmZlcjo6VHlwZTo6a05hdGl2ZSk7CiAgICAgYXV0
byogaTQyMEJ1ZmZlciA9IGZyYW1lLnZpZGVvX2ZyYW1lX2J1ZmZlcigpLT5Ub0k0MjAoKS5yZWxl
YXNlKCk7CiAgICAgaW50IGhlaWdodCA9IGk0MjBCdWZmZXItPmhlaWdodCgpOwogICAgIGludCBz
dHJpZGVzWzNdID0gewpAQCAtNjAsMjEgKzU2LDIwIEBAIEdSZWZQdHI8R3N0U2FtcGxlPiBHU3Ry
ZWFtZXJTYW1wbGVGcm9tTGliV2ViUlRDVmlkZW9GcmFtZShjb25zdCB3ZWJydGM6OlZpZGVvRnJh
CiAgICAgcmV0dXJuIHNhbXBsZTsKIH0KIAotcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6Vmlk
ZW9GcmFtZUJ1ZmZlcj4gR1N0cmVhbWVyVmlkZW9GcmFtZUxpYldlYlJUQzo6Y3JlYXRlKEdSZWZQ
dHI8R3N0U2FtcGxlPiYmIHNhbXBsZSkKK3N0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlZpZGVvRnJh
bWU+IGNvbnZlcnRHU3RyZWFtZXJTYW1wbGVUb0xpYldlYlJUQ1ZpZGVvRnJhbWUoR1JlZlB0cjxH
c3RTYW1wbGU+JiBzYW1wbGUsIHdlYnJ0Yzo6VmlkZW9Sb3RhdGlvbiByb3RhdGlvbiwgaW50NjRf
dCB0aW1lc3RhbXAsIGludDY0X3QgcmVuZGVyVGltZU1zKQoreworICAgIGF1dG8gZnJhbWVCdWZm
ZXIoR1N0cmVhbWVyVmlkZW9GcmFtZUxpYldlYlJUQzo6Y3JlYXRlKHNhbXBsZSkpOworICAgIHJl
dHVybiBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpWaWRlb0ZyYW1lPihuZXcgd2VicnRjOjpWaWRl
b0ZyYW1lKGZyYW1lQnVmZmVyLCB0aW1lc3RhbXAsIHJlbmRlclRpbWVNcywgcm90YXRpb24pKTsK
K30KKworcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9GcmFtZUJ1ZmZlcj4gR1N0cmVh
bWVyVmlkZW9GcmFtZUxpYldlYlJUQzo6Y3JlYXRlKGNvbnN0IEdSZWZQdHI8R3N0U2FtcGxlPiYg
c2FtcGxlKQogewogICAgIEdzdFZpZGVvSW5mbyBpbmZvOwogCiAgICAgaWYgKCFnc3RfdmlkZW9f
aW5mb19mcm9tX2NhcHMoJmluZm8sIGdzdF9zYW1wbGVfZ2V0X2NhcHMoc2FtcGxlLmdldCgpKSkp
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgcmV0dXJuIHJ0Yzo6c2NvcGVk
X3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI+KG5ldyBHU3RyZWFtZXJWaWRlb0ZyYW1l
TGliV2ViUlRDKFdURk1vdmUoc2FtcGxlKSwgaW5mbykpOwotfQotCi1zdGQ6OnVuaXF1ZV9wdHI8
d2VicnRjOjpWaWRlb0ZyYW1lPiBMaWJXZWJSVENWaWRlb0ZyYW1lRnJvbUdTdHJlYW1lclNhbXBs
ZShHUmVmUHRyPEdzdFNhbXBsZT4mJiBzYW1wbGUsIHdlYnJ0Yzo6VmlkZW9Sb3RhdGlvbiByb3Rh
dGlvbiwKLSAgICBpbnQ2NF90IHRpbWVzdGFtcCwgaW50NjRfdCByZW5kZXJUaW1lTXMpCi17Ci0g
ICAgYXV0byBmcmFtZUJ1ZmZlcihHU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDOjpjcmVhdGUo
V1RGTW92ZShzYW1wbGUpKSk7Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlZp
ZGVvRnJhbWU+KG5ldyB3ZWJydGM6OlZpZGVvRnJhbWUoZnJhbWVCdWZmZXIsIHRpbWVzdGFtcCwg
cmVuZGVyVGltZU1zLCByb3RhdGlvbikpOworICAgIHJldHVybiBydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpWaWRlb0ZyYW1lQnVmZmVyPihuZXcgR1N0cmVhbWVyVmlkZW9GcmFtZUxpYldlYlJU
QyhzYW1wbGUsIGluZm8pKTsKIH0KIAogcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6STQyMEJ1
ZmZlckludGVyZmFjZT4gR1N0cmVhbWVyVmlkZW9GcmFtZUxpYldlYlJUQzo6VG9JNDIwKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9n
c3RyZWFtZXIvR1N0cmVhbWVyVmlkZW9GcmFtZUxpYldlYlJUQy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0Zy
YW1lTGliV2ViUlRDLmgKaW5kZXggY2Q4NGE4NTIxMDdiZDY5NmFhOGEyZGJmNWEwYWMwMDNiODky
ZDA2OS4uNTMxMGI1NjdkMDRmY2Q4NGMwMzNkMzc1M2I4YTFjYzRiNDBjMGI0ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1l
ci9HU3RyZWFtZXJWaWRlb0ZyYW1lTGliV2ViUlRDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9HU3RyZWFtZXJWaWRlb0ZyYW1l
TGliV2ViUlRDLmgKQEAgLTMxLDE5ICszMSwxOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVdBUk5fVU5VU0VEX1JFVFVSTiBHUmVmUHRyPEdzdFNhbXBsZT4gR1N0cmVhbWVyU2FtcGxlRnJv
bUxpYldlYlJUQ1ZpZGVvRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0ZyYW1lJik7CitXQVJOX1VO
VVNFRF9SRVRVUk4gR1JlZlB0cjxHc3RTYW1wbGU+IGNvbnZlcnRMaWJXZWJSVENWaWRlb0ZyYW1l
VG9HU3RyZWFtZXJTYW1wbGUoY29uc3Qgd2VicnRjOjpWaWRlb0ZyYW1lJik7CiAKLXN0ZDo6dW5p
cXVlX3B0cjx3ZWJydGM6OlZpZGVvRnJhbWU+IExpYldlYlJUQ1ZpZGVvRnJhbWVGcm9tR1N0cmVh
bWVyU2FtcGxlKEdSZWZQdHI8R3N0U2FtcGxlPiYmLCB3ZWJydGM6OlZpZGVvUm90YXRpb24sIGlu
dDY0X3QgdGltZXN0YW1wLCBpbnQ2NF90IHJlbmRlclRpbWVNcyk7CitzdGQ6OnVuaXF1ZV9wdHI8
d2VicnRjOjpWaWRlb0ZyYW1lPiBjb252ZXJ0R1N0cmVhbWVyU2FtcGxlVG9MaWJXZWJSVENWaWRl
b0ZyYW1lKEdSZWZQdHI8R3N0U2FtcGxlPiYsIHdlYnJ0Yzo6VmlkZW9Sb3RhdGlvbiwgaW50NjRf
dCB0aW1lc3RhbXAsIGludDY0X3QgcmVuZGVyVGltZU1zKTsKIAogY2xhc3MgR1N0cmVhbWVyVmlk
ZW9GcmFtZUxpYldlYlJUQyA6IHB1YmxpYyBydGM6OlJlZkNvdW50ZWRPYmplY3Q8d2VicnRjOjpW
aWRlb0ZyYW1lQnVmZmVyPiB7CiBwdWJsaWM6Ci0gICAgR1N0cmVhbWVyVmlkZW9GcmFtZUxpYldl
YlJUQyhHUmVmUHRyPEdzdFNhbXBsZT4mJiBzYW1wbGUsIEdzdFZpZGVvSW5mbyBpbmZvKQotICAg
ICAgICA6IG1fc2FtcGxlKFdURk1vdmUoc2FtcGxlKSkKKyAgICBHU3RyZWFtZXJWaWRlb0ZyYW1l
TGliV2ViUlRDKGNvbnN0IEdSZWZQdHI8R3N0U2FtcGxlPiYgc2FtcGxlLCBHc3RWaWRlb0luZm8g
aW5mbykKKyAgICAgICAgOiBtX3NhbXBsZShzYW1wbGUpCiAgICAgICAgICwgbV9pbmZvKGluZm8p
IHsgfQogCi0gICAgc3RhdGljIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVC
dWZmZXI+IGNyZWF0ZShHUmVmUHRyPEdzdFNhbXBsZT4mJik7CisgICAgc3RhdGljIHJ0Yzo6c2Nv
cGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI+IGNyZWF0ZShjb25zdCBHUmVmUHRy
PEdzdFNhbXBsZT4mKTsKIAotICAgIEdSZWZQdHI8R3N0U2FtcGxlPiYmIHRha2VTYW1wbGUoKSB7
IHJldHVybiBXVEZNb3ZlKG1fc2FtcGxlKTsgfQorICAgIEdzdFNhbXBsZSogZ2V0U2FtcGxlKCkg
Y29uc3QgeyByZXR1cm4gbV9zYW1wbGUuZ2V0KCk7IH0KICAgICBydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpJNDIwQnVmZmVySW50ZXJmYWNlPiBUb0k0MjAoKSBmaW5hbDsKIAogICAgIGludCB3
aWR0aCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIEdTVF9WSURFT19JTkZPX1dJRFRIKCZtX2luZm8p
OyB9CkBAIC01NSw2ICs1NSw3IEBAIHByaXZhdGU6CiAgICAgR1JlZlB0cjxHc3RTYW1wbGU+IG1f
c2FtcGxlOwogICAgIEdzdFZpZGVvSW5mbyBtX2luZm87CiB9OworCiB9CiAKICNlbmRpZiAvLyBV
U0UoR1NUUkVBTUVSKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZUluY29t
aW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL2dzdHJlYW1lci9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VM
aWJXZWJSVEMuY3BwCmluZGV4IGFiMWIxYWRhYTIwMDI0MWY0YWYxNTU1NWNkYzllNzRkMTZmMTE4
NTUuLmZkNmEzMmYwNDgzMzVlMmQ5MTk4MTE0ZTgzM2Q5ZjBkMmUxOTY0ZjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3RyZWFtZXIv
UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAKQEAgLTU4LDEyICs1OCwxNCBAQCB2b2lkIFJl
YWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUxpYldlYlJUQzo6T25GcmFtZShjb25zdCB3ZWJydGM6
OlZpZGVvRnJhbWUmIGZyYQogICAgIGlmICghaXNQcm9kdWNpbmdEYXRhKCkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhp
cyB9LCBmcmFtZV0gewotICAgICAgICBhdXRvIGdzdFNhbXBsZSA9IEdTdHJlYW1lclNhbXBsZUZy
b21MaWJXZWJSVENWaWRlb0ZyYW1lKGZyYW1lKTsKKyAgICBpZiAoZnJhbWUudmlkZW9fZnJhbWVf
YnVmZmVyKCktPnR5cGUoKSA9PSB3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI6OlR5cGU6OmtOYXRp
dmUpIHsKKyAgICAgICAgYXV0byogZnJhbWVidWZmZXIgPSBzdGF0aWNfY2FzdDxHU3RyZWFtZXJW
aWRlb0ZyYW1lTGliV2ViUlRDKj4oZnJhbWUudmlkZW9fZnJhbWVfYnVmZmVyKCkuZ2V0KCkpOwor
ICAgICAgICB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZUdTdHJlYW1lcjo6Y3JlYXRl
V3JhcHBlZFNhbXBsZShmcmFtZWJ1ZmZlci0+Z2V0U2FtcGxlKCksIHN0YXRpY19jYXN0PE1lZGlh
U2FtcGxlOjpWaWRlb1JvdGF0aW9uPihmcmFtZS5yb3RhdGlvbigpKSksIHsgfSk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgYXV0byBnc3RTYW1wbGUgPSBjb252ZXJ0TGliV2ViUlRDVmlkZW9GcmFt
ZVRvR1N0cmVhbWVyU2FtcGxlKGZyYW1lKTsKICAgICAgICAgYXV0byBtZXRhZGF0YSA9IHN0ZDo6
bWFrZV9vcHRpb25hbChtZXRhZGF0YUZyb21WaWRlb0ZyYW1lKGZyYW1lKSk7Ci0gICAgICAgIGF1
dG8gc2FtcGxlID0gTWVkaWFTYW1wbGVHU3RyZWFtZXI6OmNyZWF0ZShXVEZNb3ZlKGdzdFNhbXBs
ZSksIHsgfSwgeyB9LCBzdGF0aWNfY2FzdDxNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbj4oZnJh
bWUucm90YXRpb24oKSksIGZhbHNlLCBXVEZNb3ZlKG1ldGFkYXRhKSk7Ci0gICAgICAgIHByb3Rl
Y3RlZFRoaXMtPnZpZGVvU2FtcGxlQXZhaWxhYmxlKHNhbXBsZS5nZXQoKSwgeyB9KTsKLSAgICB9
KTsKKyAgICAgICAgdmlkZW9TYW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGVHU3RyZWFtZXI6OmNy
ZWF0ZShXVEZNb3ZlKGdzdFNhbXBsZSksIHsgfSwgeyB9LCBzdGF0aWNfY2FzdDxNZWRpYVNhbXBs
ZTo6VmlkZW9Sb3RhdGlvbj4oZnJhbWUucm90YXRpb24oKSksIGZhbHNlLCBXVEZNb3ZlKG1ldGFk
YXRhKSksIHsgfSk7CisgICAgfQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVh
bWVyL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvZ3N0cmVhbWVyL1JlYWx0aW1lT3V0
Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQy5jcHAKaW5kZXggMzk4Mzg4YjJkYjQ5NzFiNThkMWYx
Y2ZlOWU0NzE3MjIwMDlhNWQ1Ny4uZmMwNTljNTljZjhhZTdkMjc4YjRkMDI0YTY5ZjMyOTk0YmFm
OTNlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL2dzdHJlYW1lci9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VMaWJXZWJSVEMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9nc3Ry
ZWFtZXIvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlTGliV2ViUlRDLmNwcApAQCAtNjksNyAr
NjksNyBAQCB2b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUxpYldlYlJUQzo6dmlkZW9T
YW1wbGVBdmFpbGFibGUoTWVkaWFTYW1wbGUmIHNhbQogCiAgICAgQVNTRVJUKHNhbXBsZS5wbGF0
Zm9ybVNhbXBsZSgpLnR5cGUgPT0gUGxhdGZvcm1TYW1wbGU6OkdTdHJlYW1lclNhbXBsZVR5cGUp
OwogICAgIGF1dG8mIG1lZGlhU2FtcGxlID0gc3RhdGljX2Nhc3Q8TWVkaWFTYW1wbGVHU3RyZWFt
ZXImPihzYW1wbGUpOwotICAgIGF1dG8gZnJhbWVCdWZmZXIgPSBHU3RyZWFtZXJWaWRlb0ZyYW1l
TGliV2ViUlRDOjpjcmVhdGUoZ3N0X3NhbXBsZV9yZWYobWVkaWFTYW1wbGUucGxhdGZvcm1TYW1w
bGUoKS5zYW1wbGUuZ3N0U2FtcGxlKSk7CisgICAgYXV0byBmcmFtZUJ1ZmZlciA9IEdTdHJlYW1l
clZpZGVvRnJhbWVMaWJXZWJSVEM6OmNyZWF0ZShtZWRpYVNhbXBsZS5wbGF0Zm9ybVNhbXBsZSgp
LnNhbXBsZS5nc3RTYW1wbGUpOwogCiAgICAgc2VuZEZyYW1lKFdURk1vdmUoZnJhbWVCdWZmZXIp
KTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA2MWI4MmRjZjQwYjQ0MWQ2MGY2NzU5MWUxYWJkOTZmMjMwNTNmNjk0Li45
NGM3Y2Y5ZGEyYzMyNGJhZDhkMDgwNTgwNzBmMzYzMWNlOWI0ZjYxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMjEtMTItMTEgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHU3RyZWFtZXJdW1dlYlJUQ10gSHVnZSBtZW1vcnkgbGVhaworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MTM0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGli
L1Rlc3RFeHBlY3RhdGlvbnM6IFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9ucywgIzIzMzc0MCB3YXMg
bW9zdGx5IGR1ZSB0byB2aWRlbworICAgICAgICBkZWNvZGVyIGluaXRpYWxpemF0aW9uIHdyb25n
bHkgcmVwb3J0ZWQgYXMgZmFpbGVkLgorICAgICAgICB3ZWJydGMvY2FwdHVyZUNhbnZhcy13ZWJy
dGMtc29mdHdhcmUtaDI2NC1iYXNlbGluZS5odG1sIG5vIGxvbmdlciB0aW1lcyBvdXQuCisKIDIw
MjEtMTItMTYgIFZpdGFseSBEeWFjaGtvdiAgPG9ieWtub3Zlbml1c0BtZS5jb20+CiAKICAgICAg
ICAgRmxleGJveCBpZ25vcmVzIG1hcmdpbnMgb2YgYWJzb2x1dGUgcG9zaXRpb25lZCBjaGlsZHJl
biB3aGVuIGBhbGlnbi1pdGVtczogZmxleC1lbmRgIG9yIGBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgt
ZW5kYApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFj
ZTQ5OWE5NDcyZWRkMWZiOWZkMzlhMWE5ZmJiYTY4YWNmNWExYzIuLjQ0Y2YwMzRlOGQ0ZGRjMTY2
MTM0NTk3NGM2NTM0ZTQ0ZDczZTlkZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2dsaWIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rl
c3RFeHBlY3RhdGlvbnMKQEAgLTEzNDksOCArMTM0OSw3IEBAIHdlYmtpdC5vcmcvYi8yMDY0NjQg
d2Via2l0Lm9yZy9iLzIxODc4NyB3ZWJydGMvcGVlcmNvbm5lY3Rpb24tcGFnZS1jYWNoZS1sb25n
Lmh0CiAKIHdlYmtpdC5vcmcvYi8yMDgxMjUgd2VicnRjL3BlZXJjb25uZWN0aW9uLW5ldy1jYW5k
aWRhdGUtcGFnZS1jYWNoZS5odG1sIFsgUGFzcyBDcmFzaCBdCiAKLSMgV2FzIFNsb3cgRmFpbHVy
ZSBiZWZvcmUgbGlid2VicnRjIGJ1bXBlZCB0byBNOTYgaW4gcjI4NTU3Nwotd2Via2l0Lm9yZy9i
LzIxNjUzOCB3ZWJydGMvY2FwdHVyZUNhbnZhcy13ZWJydGMtc29mdHdhcmUtaDI2NC1iYXNlbGlu
ZS5odG1sIFsgVGltZW91dCBdCit3ZWJraXQub3JnL2IvMjE2NTM4IHdlYnJ0Yy9jYXB0dXJlQ2Fu
dmFzLXdlYnJ0Yy1zb2Z0d2FyZS1oMjY0LWJhc2VsaW5lLmh0bWwgWyBTbG93IEZhaWx1cmUgXQog
CiB3ZWJraXQub3JnL2IvMjE2NzYzIHdlYnJ0Yy9jYXB0dXJlQ2FudmFzLXdlYnJ0Yy1zb2Z0d2Fy
ZS1oMjY0LWhpZ2guaHRtbCBbIENyYXNoIEZhaWx1cmUgXQogCkBAIC0xMzcwLDEwICsxMzY5LDYg
QEAgd2Via2l0Lm9yZy9iLzIyNzk4NyBodHRwL3Rlc3RzL21lZGlhL21lZGlhLXN0cmVhbS9nZXQt
ZGlzcGxheS1tZWRpYS1wcm9tcHQuaHRtbAogCiB3ZWJraXQub3JnL2IvMjI5MDU1IGh0dHAvd3B0
L3dlYnJ0Yy9zZnJhbWUtdHJhbnNmb3JtLWVycm9yLmh0bWwgWyBGYWlsdXJlIF0KIAotd2Via2l0
Lm9yZy9iLzIzMzc0MCBodHRwL3dwdC93ZWJydGMvdmlkZW8tc2NyaXB0LXRyYW5zZm9ybS1rZXlm
cmFtZS1vbmx5Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMzM3NDAgd2VicnRjL3Zw
OS1zdmMuaHRtbCBbIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzIzMzc0MCB3ZWJydGMvdnA5Lmh0
bWwgWyBUaW1lb3V0IF0KLQogd2Via2l0Lm9yZy9iLzIzMzg3OSBmYXN0L21lZGlhc3RyZWFtL2dl
dC1kaXNwbGF5LW1lZGlhLXNldHRpbmdzLmh0bWwgWyBGYWlsdXJlIF0KIAogIy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8K
</data>

          </attachment>
      

    </bug>

</bugzilla>