<?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>185545</bug_id>
          
          <creation_ts>2018-05-11 04:06:55 -0700</creation_ts>
          <short_desc>Add release logging for incoming and outgoing webrtc audio tracks</short_desc>
          <delta_ts>2019-01-17 11:24:32 -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>WebRTC</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1423108</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-05-11 04:06:55 -0700</bug_when>
    <thetext>Add release logging for incoming and outgoing webrtc audio tracks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423109</commentid>
    <comment_count>1</comment_count>
      <attachid>340185</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-05-11 04:10:40 -0700</bug_when>
    <thetext>Created attachment 340185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423112</commentid>
    <comment_count>2</comment_count>
      <attachid>340186</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-05-11 04:27:55 -0700</bug_when>
    <thetext>Created attachment 340186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423356</commentid>
    <comment_count>3</comment_count>
      <attachid>340186</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-11 23:13:08 -0700</bug_when>
    <thetext>Comment on attachment 340186
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        one log line is added each second for each audio track.

What is the motivation for such logging? Is this to diagnosis a hard to find bug? When can we remove this logging?  I am not at a computer with a checkout at the moment, is this logging always enabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423357</commentid>
    <comment_count>4</comment_count>
      <attachid>340186</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-05-11 23:14:19 -0700</bug_when>
    <thetext>Comment on attachment 340186
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        one log line is added each second for each audio track.
&gt; 
&gt; What is the motivation for such logging? Is this to diagnosis a hard to find bug? When can we remove this logging?  I am not at a computer with a checkout at the moment, is this logging always enabled?

Is it necessary to to log every second? That seems pretty frequent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1423455</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-05-13 14:53:00 -0700</bug_when>
    <thetext>Logging is always enabled and allows verifying that audio capture is working fine.
We have the same logging for video capture.

There are cases where a webrtc call fails.
This logging allows to check whether capture is working fine or not.
Our current way of diagnose this is to ask users to turn mock capture sources and retry.

It is not necessary to log every second.
We need a value that is smaller than the timeout values some websites use for error handling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494725</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-15 11:03:54 -0800</bug_when>
    <thetext>Ping review.
This would help investigating some cases where audio is not sent as can be seen from stats found in rdar://problem/37516414.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494764</commentid>
    <comment_count>7</comment_count>
      <attachid>340186</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-01-15 12:41:15 -0800</bug_when>
    <thetext>Comment on attachment 340186
Patch

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

&gt; Source/WebCore/platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp:78
&gt; +    if (!(++m_chunksReceived % 100))

Nit: it would be useful to log a unique identifier to help debug cases with more than one track.

&gt; Source/WebCore/platform/mediastream/mac/RealtimeOutgoingAudioSourceCocoa.cpp:161
&gt; +            RELEASE_LOG(MediaStream, &quot;RealtimeOutgoingAudioSourceCocoa::pullAudioData %zu chunk&quot;, m_chunksSent);

Ditto

&gt; Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.cpp:237
&gt; +        RELEASE_LOG(MediaStream, &quot;UserMediaCaptureManager::audioSamplesAvailable %zu chunk for %llu&quot;, m_receivedSamples, id);

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495240</commentid>
    <comment_count>8</comment_count>
      <attachid>359311</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-16 14:41:22 -0800</bug_when>
    <thetext>Created attachment 359311
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495242</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-16 14:42:24 -0800</bug_when>
    <thetext>(In reply to Eric Carlson from comment #7)
&gt; Comment on attachment 340186 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=340186&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp:78
&gt; &gt; +    if (!(++m_chunksReceived % 100))
&gt; 
&gt; Nit: it would be useful to log a unique identifier to help debug cases with
&gt; more than one track.

Good idea.
This makes it a larger patch with more refactoring and I applied it to existing sources as well.
I plan to land it tomorrow, if you want to have a quick look before, do not hesitate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495245</commentid>
    <comment_count>10</comment_count>
      <attachid>359312</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-16 14:46:52 -0800</bug_when>
    <thetext>Created attachment 359312
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495343</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-01-16 17:16:08 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #9)
&gt; 
&gt; Good idea.
&gt; This makes it a larger patch with more refactoring and I applied it to
&gt; existing sources as well.
&gt; I plan to land it tomorrow, if you want to have a quick look before, do not
&gt; hesitate.

Nice improvement, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495458</commentid>
    <comment_count>12</comment_count>
      <attachid>359374</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-17 07:49:18 -0800</bug_when>
    <thetext>Created attachment 359374
Fix GTK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495562</commentid>
    <comment_count>13</comment_count>
      <attachid>359374</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-17 11:23:51 -0800</bug_when>
    <thetext>Comment on attachment 359374
Fix GTK

Clearing flags on attachment: 359374

Committed r240120: &lt;https://trac.webkit.org/changeset/240120&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495563</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-17 11:23:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495564</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-17 11:24:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/47357698&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340185</attachid>
            <date>2018-05-11 04:10:40 -0700</date>
            <delta_ts>2018-05-11 04:27:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185545-20180511131039.patch</filename>
            <type>text/plain</type>
            <size>5028</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg5NTg4NzkxMmRlY2M2
MTE2YTFkNzhmYTA2N2I4MmNmMzBlYzA5NS4uOThjOGRiMDM5MmE5MDA1MjhmYzlhMDU5MWZlNTkx
ZDQxMDc5ZmEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE4LTA1LTExICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcmVsZWFzZSBsb2dn
aW5nIGZvciBpbmNvbWluZyBhbmQgb3V0Z29pbmcgd2VicnRjIGF1ZGlvIHRyYWNrcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NTQ1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxvZ2dpbmcgb2Yg
YXVkaW8gdHJhY2tzLiBXaGVuIGRvaW5nIGEgV2ViUlRDIGNhbGwsCisgICAgICAgIG9uZSBsb2cg
bGluZSBpcyBhZGRlZCBlYWNoIHNlY29uZCBmb3IgZWFjaCBhdWRpbyB0cmFjay4KKyAgICAgICAg
VmFsaWRhdGVkIHRoYXQgbG9nZ2luZyBpcyBkb25lIHRocm91Z2ggbWFudWFsIHRlc3RpbmcuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlQ29jb2E6Ok9uRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hOjpwdWxsQXVk
aW9EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRn
b2luZ0F1ZGlvU291cmNlQ29jb2EuaDoKKwogMjAxOC0wNS0xMSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9ub3NuaWZmL2ltcG9ydHNjcmlwdHMuaHRtbCBpcyBjcmFzaGluZyBvbiBkZWJ1ZyBi
dWlsZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2Eu
Y3BwCmluZGV4IDExOWM5NDAzZGNhMWVhMWRlM2E5MTkwYjNiZWI5MzMwN2YxOTJlODkuLmZiYzc2
YzU1MWVkNWQzZmFkY2VmMjYxOWYzZGM0MzFhODY0YTFkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3Vy
Y2VDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcApAQCAtMzMsNiArMzMsNyBAQAog
I2luY2x1ZGUgIkF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJDQUF1ZGlvU3Ry
ZWFtRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJMaWJXZWJSVENBdWRpb0Zvcm1hdC5oIgorI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJBdWRpb0J1ZmZlckxpc3QuaCIKICNpbmNs
dWRlICJXZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5oIgogI2luY2x1ZGUgPHBhbC9hdmZv
dW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+CkBAIC03Myw2ICs3NCwxMSBAQCB2b2lk
IFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpPbkRhdGEoY29uc3Qgdm9pZCogYXVk
aW9EYXRhLCBpbnQgYml0c1BlcgogICAgIGlmIChzYW1wbGVSYXRlID09IDE2MDAwICYmIG51bWJl
ck9mQ2hhbm5lbHMgPT0gMSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECisgICAgaWYgKCEoKyttX2NodW5rc1JlY2VpdmVkICUgMTAwKSkKKyAgICAgICAgUkVM
RUFTRV9MT0coTWVkaWFTdHJlYW0sICJSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYTo6
T25EYXRhICV6dSBjaHVuayIsIG1fY2h1bmtzUmVjZWl2ZWQpOworI2VuZGlmCisKICAgICBBU1NF
UlQoYml0c1BlclNhbXBsZSA9PSAxNik7CiAgICAgQVNTRVJUKG51bWJlck9mQ2hhbm5lbHMgPT0g
MSB8fCBudW1iZXJPZkNoYW5uZWxzID09IDIpOwogICAgIEFTU0VSVChzYW1wbGVSYXRlID09IDQ4
MDAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmgK
aW5kZXggZDAxMDQ3NWU1ZWNhMmZmYzkxNDMwMzQ3MWI2NWZiMWE4OTdkYWJhNy4uYTdiMzg1MTdh
NDhhN2VlMjE3YTJlYzQ1N2JiZGFmOTFjNTA5YmNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNv
Y29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmgKQEAgLTUwLDYgKzUwLDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIE9uRGF0YShjb25zdCB2b2lkKiBhdWRpb0RhdGEsIGludCBiaXRzUGVyU2FtcGxl
LCBpbnQgc2FtcGxlUmF0ZSwgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMsIHNpemVfdCBudW1iZXJP
ZkZyYW1lcykgZmluYWw7CiAKICAgICB1aW50NjRfdCBtX251bWJlck9mRnJhbWVzIHsgMCB9Owor
ICAgIHNpemVfdCBtX2NodW5rc1JlY2VpdmVkIHsgMCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2Nv
YS5jcHAKaW5kZXggY2M2Yzc3NWQ3ZTgxOGQwNjhlNzRkMjEzMzI5NjI2NTRmYTVkMzRmZi4uNjVl
ZTY4YTkxMTVmMjliNGQ3MDFiMDEyZTRiZjY4ZTZlYmNkZWIxNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1Nv
dXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2EuY3BwCkBAIC0zMSw2ICszMSw3IEBA
CiAjaW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiTGliV2Vi
UlRDQXVkaW9Gb3JtYXQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgorI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNTUsNiArMTU2LDEx
IEBAIHZvaWQgUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2E6OnB1bGxBdWRpb0RhdGEo
KQogCiAgICAgbV9zYW1wbGVDb252ZXJ0ZXItPnB1bGxBdmFsYWlibGVTYW1wbGVzQXNDaHVua3Mo
YnVmZmVyTGlzdCwgY2h1bmtTYW1wbGVDb3VudCwgbV9yZWFkQ291bnQsIFt0aGlzLCBjaHVua1Nh
bXBsZUNvdW50XSB7CiAgICAgICAgIG1fcmVhZENvdW50ICs9IGNodW5rU2FtcGxlQ291bnQ7Cisj
aWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgICAgIGlmICghKCsrbV9jaHVua3NTZW50ICUg
MTAwKSkKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HKE1lZGlhU3RyZWFtLCAiUmVhbHRpbWVPdXRn
b2luZ0F1ZGlvU291cmNlQ29jb2E6OnB1bGxBdWRpb0RhdGEgJXp1IGNodW5rIiwgbV9jaHVua3NT
ZW50KTsKKyNlbmRpZgorCiAgICAgICAgIGZvciAoYXV0byBzaW5rIDogbV9zaW5rcykKICAgICAg
ICAgICAgIHNpbmstPk9uRGF0YShtX2F1ZGlvQnVmZmVyLmRhdGEoKSwgTGliV2ViUlRDQXVkaW9G
b3JtYXQ6OnNhbXBsZVNpemUsIG1fb3V0cHV0U3RyZWFtRGVzY3JpcHRpb24uc2FtcGxlUmF0ZSgp
LCBtX291dHB1dFN0cmVhbURlc2NyaXB0aW9uLm51bWJlck9mQ2hhbm5lbHMoKSwgY2h1bmtTYW1w
bGVDb3VudCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2EuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9T
b3VyY2VDb2NvYS5oCmluZGV4IDc2ZmE1YWQwMDJhMDhkZDMzMTkwNDczYmVlMjJlZGY2MzIyMjQ3
ZTkuLjEyNjU1MjYxY2IxMDIzMzU4Y2I4ZTM1YmJiMDQ5MjJmZTUwN2I1MWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2VDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5oCkBAIC02Myw2ICs2Myw3
IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3QgbV9yZWFkQ291bnQgeyAwIH07CiAgICAgdWludDY0
X3QgbV93cml0ZUNvdW50IHsgMCB9OwogICAgIGJvb2wgbV9za2lwcGluZ0F1ZGlvRGF0YSB7IGZh
bHNlIH07CisgICAgc2l6ZV90IG1fY2h1bmtzU2VudCB7IDAgfTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>340186</attachid>
            <date>2018-05-11 04:27:55 -0700</date>
            <delta_ts>2019-01-16 14:41:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185545-20180511132754.patch</filename>
            <type>text/plain</type>
            <size>8080</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjg5NTg4NzkxMmRlY2M2
MTE2YTFkNzhmYTA2N2I4MmNmMzBlYzA5NS4uOThjOGRiMDM5MmE5MDA1MjhmYzlhMDU5MWZlNTkx
ZDQxMDc5ZmEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE4LTA1LTExICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcmVsZWFzZSBsb2dn
aW5nIGZvciBpbmNvbWluZyBhbmQgb3V0Z29pbmcgd2VicnRjIGF1ZGlvIHRyYWNrcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NTQ1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxvZ2dpbmcgb2Yg
YXVkaW8gdHJhY2tzLiBXaGVuIGRvaW5nIGEgV2ViUlRDIGNhbGwsCisgICAgICAgIG9uZSBsb2cg
bGluZSBpcyBhZGRlZCBlYWNoIHNlY29uZCBmb3IgZWFjaCBhdWRpbyB0cmFjay4KKyAgICAgICAg
VmFsaWRhdGVkIHRoYXQgbG9nZ2luZyBpcyBkb25lIHRocm91Z2ggbWFudWFsIHRlc3RpbmcuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlQ29jb2E6Ok9uRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmg6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hOjpwdWxsQXVk
aW9EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRn
b2luZ0F1ZGlvU291cmNlQ29jb2EuaDoKKwogMjAxOC0wNS0xMSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9ub3NuaWZmL2ltcG9ydHNjcmlwdHMuaHRtbCBpcyBjcmFzaGluZyBvbiBkZWJ1ZyBi
dWlsZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggNTlmYTRmZTIxNTBlNTgyNDVmZDQxMWQ3Mzc1YmNiNmM4ZWE3YWU3
Mi4uNzkwMjk3MzIyMDI1NDhlYzMzMzc4NzQ3MTNiZGZkZDVlODc1MTQ3MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxOC0wNS0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIHJlbGVhc2UgbG9nZ2luZyBmb3IgaW5jb21pbmcgYW5kIG91dGdv
aW5nIHdlYnJ0YyBhdWRpbyB0cmFja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4NTU0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBsb2dnaW5nIGZvciBvdXQtb2YtcHJvY2VzcyBhdWRpbyBjYXB0
dXJlLgorCisgICAgICAgICogUGxhdGZvcm0vTG9nZ2luZy5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvY29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpV
c2VyTWVkaWFDYXB0dXJlTWFuYWdlcjo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL2NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyLmg6CisKIDIwMTgtMDUt
MTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE5ldHdvcmtD
T1JTUHJlZmxpZ2h0Q2hlY2tlciBzaG91bGQgcHJvY2VlZCB3aGVuIGhhdmluZyBhIFByb3RlY3Rp
b25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lU2VydmVyVHJ1c3RFdmFsdWF0aW9uUmVxdWVzdGVk
IGNoYWxsZW5nZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYS5jcHAKaW5kZXggMTE5Yzk0MDNkY2ExZWExZGUzYTkxOTBiM2JlYjkzMzA3ZjE5MmU4OS4u
ZmJjNzZjNTUxZWQ1ZDNmYWRjZWYyNjE5ZjNkYzQzMWE4NjRhMWRjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRp
b1NvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuY3BwCkBAIC0zMyw2ICszMyw3
IEBACiAjaW5jbHVkZSAiQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkNBQXVk
aW9TdHJlYW1EZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ0F1ZGlvRm9ybWF0Lmgi
CisjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIldlYkF1ZGlvQnVmZmVyTGlzdC5oIgog
I2luY2x1ZGUgIldlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLmgiCiAjaW5jbHVkZSA8cGFs
L2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24uaD4KQEAgLTczLDYgKzc0LDExIEBA
IHZvaWQgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6Ok9uRGF0YShjb25zdCB2b2lk
KiBhdWRpb0RhdGEsIGludCBiaXRzUGVyCiAgICAgaWYgKHNhbXBsZVJhdGUgPT0gMTYwMDAgJiYg
bnVtYmVyT2ZDaGFubmVscyA9PSAxKQogICAgICAgICByZXR1cm47CiAKKyNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKKyAgICBpZiAoISgrK21fY2h1bmtzUmVjZWl2ZWQgJSAxMDApKQorICAgICAg
ICBSRUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwgIlJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNv
Y29hOjpPbkRhdGEgJXp1IGNodW5rIiwgbV9jaHVua3NSZWNlaXZlZCk7CisjZW5kaWYKKwogICAg
IEFTU0VSVChiaXRzUGVyU2FtcGxlID09IDE2KTsKICAgICBBU1NFUlQobnVtYmVyT2ZDaGFubmVs
cyA9PSAxIHx8IG51bWJlck9mQ2hhbm5lbHMgPT0gMik7CiAgICAgQVNTRVJUKHNhbXBsZVJhdGUg
PT0gNDgwMDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29j
b2EuaAppbmRleCBkMDEwNDc1ZTVlY2EyZmZjOTE0MzAzNDcxYjY1ZmIxYTg5N2RhYmE3Li5hN2Iz
ODUxN2E0OGE3ZWUyMTdhMmVjNDU3YmJkYWY5MWM1MDliY2NhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291
cmNlQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuaApAQCAtNTAsNiArNTAsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgT25EYXRhKGNvbnN0IHZvaWQqIGF1ZGlvRGF0YSwgaW50IGJpdHNQZXJT
YW1wbGUsIGludCBzYW1wbGVSYXRlLCBzaXplX3QgbnVtYmVyT2ZDaGFubmVscywgc2l6ZV90IG51
bWJlck9mRnJhbWVzKSBmaW5hbDsKIAogICAgIHVpbnQ2NF90IG1fbnVtYmVyT2ZGcmFtZXMgeyAw
IH07CisgICAgc2l6ZV90IG1fY2h1bmtzUmVjZWl2ZWQgeyAwIH07CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2EuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJj
ZUNvY29hLmNwcAppbmRleCBjYzZjNzc1ZDdlODE4ZDA2OGU3NGQyMTMzMjk2MjY1NGZhNWQzNGZm
Li42NWVlNjhhOTExNWYyOWI0ZDcwMWIwMTJlNGJmNjhlNmViY2RlYjE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1
ZGlvU291cmNlQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAKQEAgLTMxLDYgKzMx
LDcgQEAKICNpbmNsdWRlICJDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJM
aWJXZWJSVENBdWRpb0Zvcm1hdC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCisj
aW5jbHVkZSAiTG9nZ2luZy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE1NSw2ICsx
NTYsMTEgQEAgdm9pZCBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYTo6cHVsbEF1ZGlv
RGF0YSgpCiAKICAgICBtX3NhbXBsZUNvbnZlcnRlci0+cHVsbEF2YWxhaWJsZVNhbXBsZXNBc0No
dW5rcyhidWZmZXJMaXN0LCBjaHVua1NhbXBsZUNvdW50LCBtX3JlYWRDb3VudCwgW3RoaXMsIGNo
dW5rU2FtcGxlQ291bnRdIHsKICAgICAgICAgbV9yZWFkQ291bnQgKz0gY2h1bmtTYW1wbGVDb3Vu
dDsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgaWYgKCEoKyttX2NodW5rc1Nl
bnQgJSAxMDApKQorICAgICAgICAgICAgUkVMRUFTRV9MT0coTWVkaWFTdHJlYW0sICJSZWFsdGlt
ZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYTo6cHVsbEF1ZGlvRGF0YSAlenUgY2h1bmsiLCBtX2No
dW5rc1NlbnQpOworI2VuZGlmCisKICAgICAgICAgZm9yIChhdXRvIHNpbmsgOiBtX3NpbmtzKQog
ICAgICAgICAgICAgc2luay0+T25EYXRhKG1fYXVkaW9CdWZmZXIuZGF0YSgpLCBMaWJXZWJSVENB
dWRpb0Zvcm1hdDo6c2FtcGxlU2l6ZSwgbV9vdXRwdXRTdHJlYW1EZXNjcmlwdGlvbi5zYW1wbGVS
YXRlKCksIG1fb3V0cHV0U3RyZWFtRGVzY3JpcHRpb24ubnVtYmVyT2ZDaGFubmVscygpLCBjaHVu
a1NhbXBsZUNvdW50KTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdB
dWRpb1NvdXJjZUNvY29hLmgKaW5kZXggNzZmYTVhZDAwMmEwOGRkMzMxOTA0NzNiZWUyMmVkZjYz
MjIyNDdlOS4uMTI2NTUyNjFjYjEwMjMzNThjYjhlMzViYmIwNDkyMmZlNTA3YjUxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0
Z29pbmdBdWRpb1NvdXJjZUNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmgKQEAgLTYzLDYg
KzYzLDcgQEAgcHJpdmF0ZToKICAgICB1aW50NjRfdCBtX3JlYWRDb3VudCB7IDAgfTsKICAgICB1
aW50NjRfdCBtX3dyaXRlQ291bnQgeyAwIH07CiAgICAgYm9vbCBtX3NraXBwaW5nQXVkaW9EYXRh
IHsgZmFsc2UgfTsKKyAgICBzaXplX3QgbV9jaHVua3NTZW50IHsgMCB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9Mb2dn
aW5nLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaAppbmRleCA5YTRkYWI5YjE1
NWMwMTA4MmE3OTg3M2RiMTdkOTIyMDA3OWNlM2U3Li44MTBjMzEyZjU4NTQxODc1M2NkNGM4OTk4
ZTFjODY3NzI0MmE2MWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dp
bmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtNTIsNiArNTIs
NyBAQCBleHRlcm4gIkMiIHsKICAgICBNKEtleUhhbmRsaW5nKSBcCiAgICAgTShMYXllcnMpIFwK
ICAgICBNKExvYWRpbmcpIFwKKyAgICBNKE1lZGlhU3RyZWFtKSBcCiAgICAgTShNb3VzZUhhbmRs
aW5nKSBcCiAgICAgTShOZXR3b3JrKSBcCiAgICAgTShOZXR3b3JrQ2FjaGUpIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvVXNlck1lZGlhQ2FwdHVyZU1h
bmFnZXIuY3BwCmluZGV4IGUxNzdiMWNkYzg4MTc1MDhjMGU1ZDM2MmFiZTgyMzY5ZGM5N2MzZjAu
LjQ3ZWUyYTY4NDUwNTUxNzRmZTUyNzQyZDUxYjZkZTAzMmIwMjljMDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5h
Z2VyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiU2hhcmVk
UmluZ0J1ZmZlclN0b3JhZ2UuaCIKICNpbmNsdWRlICJVc2VyTWVkaWFDYXB0dXJlTWFuYWdlck1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eU1lc3NhZ2Vz
LmgiCkBAIC0yMzEsNiArMjMyLDExIEBAIHZvaWQgVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXI6OnJp
bmdCdWZmZXJGcmFtZUJvdW5kc0NoYW5nZWQodWludDY0X3QgaWQsIHVpbnQ2NF90CiAKIHZvaWQg
VXNlck1lZGlhQ2FwdHVyZU1hbmFnZXI6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZSh1aW50NjRfdCBp
ZCwgTWVkaWFUaW1lIHRpbWUsIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzLCB1aW50NjRfdCBzdGFy
dEZyYW1lLCB1aW50NjRfdCBlbmRGcmFtZSkKIHsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
KyAgICBpZiAoISgrK21fcmVjZWl2ZWRTYW1wbGVzICUgMTAwKSkKKyAgICAgICAgUkVMRUFTRV9M
T0coTWVkaWFTdHJlYW0sICJVc2VyTWVkaWFDYXB0dXJlTWFuYWdlcjo6YXVkaW9TYW1wbGVzQXZh
aWxhYmxlICV6dSBjaHVuayBmb3IgJWxsdSIsIG1fcmVjZWl2ZWRTYW1wbGVzLCBpZCk7CisjZW5k
aWYKKwogICAgIEFTU0VSVChtX3NvdXJjZXMuY29udGFpbnMoaWQpKTsKICAgICBhdXRvJiBzb3Vy
Y2UgPSAqbV9zb3VyY2VzLmdldChpZCk7CiAgICAgc291cmNlLnNldFJpbmdCdWZmZXJGcmFtZUJv
dW5kcyhzdGFydEZyYW1lLCBlbmRGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlci5oCmluZGV4IDMzOTFhMGVk
MzYyNzRkY2UzOWM3MGFjNmMzYzIyYTI4YWU2ODYwMmIuLmE2Mjk2OWE3NWM5YjNmNGY0NWY2ODU5
ZDQyMzM1M2FlMmQ0ZGQyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9j
b2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlci5oCkBAIC04Miw2ICs4Miw3IEBAIHBy
aXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFNvdXJjZTsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBS
ZWZQdHI8U291cmNlPj4gbV9zb3VyY2VzOwogICAgIFdlYlByb2Nlc3MmIG1fcHJvY2VzczsKKyAg
ICBzaXplX3QgbV9yZWNlaXZlZFNhbXBsZXMgeyAwIH07CiB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359311</attachid>
            <date>2019-01-16 14:41:22 -0800</date>
            <delta_ts>2019-01-16 14:46:50 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-185545-20190116144122.patch</filename>
            <type>text/plain</type>
            <size>32936</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5Nzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzJkNWNiNDlkY2ZmYTVk
MTBhZDRiNjhmYmNmNWFiMDBiNGM3ZGY3Zi4uMDU4NmYxNWZmYWQwZmVhNTNiZDhmOWRmYjQ5ZTM3
OTZlMzUwMTMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE5LTAxLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcmVsZWFzZSBsb2dn
aW5nIGZvciBpbmNvbWluZyBhbmQgb3V0Z29pbmcgd2VicnRjIGF1ZGlvIHRyYWNrcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NTQ1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIEFkZCBsb2dnaW5nIG9mIGF1
ZGlvIHRyYWNrcy4gV2hlbiBkb2luZyBhIFdlYlJUQyBjYWxsLAorICAgICAgICBvbmUgbG9nIGxp
bmUgaXMgYWRkZWQgZWFjaCBzZWNvbmQgZm9yIGVhY2ggYXVkaW8gdHJhY2suCisgICAgICAgIFZh
bGlkYXRlZCB0aGF0IGxvZ2dpbmcgaXMgZG9uZSB0aHJvdWdoIG1hbnVhbCB0ZXN0aW5nLgorCisg
ICAgICAgIFJlZmFjdG9yZWQgY29kZSB0byB1c2UgTG9nSGVscGVyIGFuZCBhcHBseSBpdCB0byB2
aWRlbyBzb3VyY2VzIGFzIHdlbGwuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxp
YldlYlJUQ01lZGlhRW5kcG9pbnQ6OmFkZFRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldl
YlJUQ01lZGlhRW5kcG9pbnQ6OnNvdXJjZUZyb21OZXdSZWNlaXZlcik6CisgICAgICAgIChXZWJD
b3JlOjpzb3VyY2VGcm9tTmV3UmVjZWl2ZXIpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlOjpSZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1
ZGlvU291cmNlOjpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1l
SW5jb21pbmdBdWRpb1NvdXJjZTo6bG9nZ2VyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZTo6c2V0TG9nZ2VyKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlOjpSZWFsdGltZUluY29t
aW5nVmlkZW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVv
U291cmNlOjpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZTo6bG9nZ2VyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZTo6c2V0TG9nZ2VyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpSZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291
cmNlOjpzZW5kQXVkaW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2lu
Z0F1ZGlvU291cmNlOjpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6bG9nZ2VyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6c2V0TG9nZ2VyKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpSZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlOjpzZW5kQmxhY2tGcmFtZXNJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnNlbmRPbmVCbGFja0ZyYW1lKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6bG9nQ2hhbm5lbCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OmxvZ2dlciBj
b25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3Vy
Y2U6OnNldExvZ2dlcik6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpPbkRhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3Vy
Y2VDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJj
ZUNvY29hOjpwaXhlbEJ1ZmZlclBvb2wpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNv
bWluZ1ZpZGVvU291cmNlQ29jb2E6OnBpeGVsQnVmZmVyRnJvbVZpZGVvRnJhbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUpOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9T
b3VyY2VDb2NvYS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpzYW1wbGVCdWZmZXJVcGRhdGVkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNl
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYTo6cm90YXRlUGl4ZWxCdWZmZXIpOgorCiAyMDE5LTAxLTE0ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0bHkgaGFuZGxlIHJvdGF0aW9uIGZv
ciBsb2NhbCB2aWRlbyBwbGF5YmFjawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVu
ZHBvaW50LmNwcAppbmRleCBhZDgyMDk1N2MxYTZhMzU2ZTU0M2Q3Zjc2YjRjM2FjNTI3NzJkZDJk
Li4zZGI0MmFlMTVlN2VjOGUwOWE3YjYyOTAwMzRmOGYyZmI1MGE4MjM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRp
YUVuZHBvaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcApAQCAtMjE5LDEyICsyMTksMTggQEAg
Ym9vbCBMaWJXZWJSVENNZWRpYUVuZHBvaW50OjphZGRUcmFjayhMaWJXZWJSVENSdHBTZW5kZXJC
YWNrZW5kJiBzZW5kZXIsIE1lZGlhU3QKICAgICBzd2l0Y2ggKHRyYWNrLnByaXZhdGVUcmFjaygp
LnR5cGUoKSkgewogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW86IHsK
ICAgICAgICAgYXV0byBhdWRpb1NvdXJjZSA9IFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6
Y3JlYXRlKHRyYWNrLnByaXZhdGVUcmFjaygpKTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
KyAgICAgICAgYXVkaW9Tb3VyY2UtPnNldExvZ2dlcihtX2xvZ2dlci5jb3B5UmVmKCkpOworI2Vu
ZGlmCiAgICAgICAgIHJ0Y1RyYWNrID0gbV9wZWVyQ29ubmVjdGlvbkZhY3RvcnkuQ3JlYXRlQXVk
aW9UcmFjayh0cmFjay5pZCgpLnV0ZjgoKS5kYXRhKCksIGF1ZGlvU291cmNlLnB0cigpKTsKICAg
ICAgICAgc291cmNlID0gV1RGTW92ZShhdWRpb1NvdXJjZSk7CiAgICAgICAgIGJyZWFrOwogICAg
IH0KICAgICBjYXNlIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvOiB7CiAgICAgICAg
IGF1dG8gdmlkZW9Tb3VyY2UgPSBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OmNyZWF0ZSh0
cmFjay5wcml2YXRlVHJhY2soKSk7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgICAg
IHZpZGVvU291cmNlLT5zZXRMb2dnZXIobV9sb2dnZXIuY29weVJlZigpKTsKKyNlbmRpZgogICAg
ICAgICBydGNUcmFjayA9IG1fcGVlckNvbm5lY3Rpb25GYWN0b3J5LkNyZWF0ZVZpZGVvVHJhY2so
dHJhY2suaWQoKS51dGY4KCkuZGF0YSgpLCB2aWRlb1NvdXJjZS5wdHIoKSk7CiAgICAgICAgIHNv
dXJjZSA9IFdURk1vdmUodmlkZW9Tb3VyY2UpOwogICAgICAgICBicmVhazsKQEAgLTQ0NSw3ICs0
NTEsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2V0RXhpc3RpbmdSZWNlaXZlclNvdXJjZVRyYWNr
KFJlYWx0aW1lTWVkaWFTb3VyY2UmIGV4aXN0aW5nUwogICAgIH0KIH0KIAotc3RhdGljIGlubGlu
ZSBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gc291cmNlRnJvbU5ld1JlY2VpdmVyKHdlYnJ0
Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2UmIHJ0Y1JlY2VpdmVyKQorUmVmUHRyPFJlYWx0aW1lTWVk
aWFTb3VyY2U+IExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OnNvdXJjZUZyb21OZXdSZWNlaXZlcih3
ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlJiBydGNSZWNlaXZlcikKIHsKICAgICBhdXRvIHJ0
Y1RyYWNrID0gcnRjUmVjZWl2ZXIudHJhY2soKTsKICAgICBzd2l0Y2ggKHJ0Y1JlY2VpdmVyLm1l
ZGlhX3R5cGUoKSkgewpAQCAtNDUzLDExICs0NTksMTkgQEAgc3RhdGljIGlubGluZSBSZWZQdHI8
UmVhbHRpbWVNZWRpYVNvdXJjZT4gc291cmNlRnJvbU5ld1JlY2VpdmVyKHdlYnJ0Yzo6UnRwUmVj
ZWkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgY2FzZSBjcmlja2V0OjpNRURJQV9UWVBF
X0FVRElPOiB7CiAgICAgICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvVHJhY2tJ
bnRlcmZhY2U+IGF1ZGlvVHJhY2sgPSBzdGF0aWNfY2FzdDx3ZWJydGM6OkF1ZGlvVHJhY2tJbnRl
cmZhY2UqPihydGNUcmFjay5nZXQoKSk7Ci0gICAgICAgIHJldHVybiBSZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2U6OmNyZWF0ZShXVEZNb3ZlKGF1ZGlvVHJhY2spLCBmcm9tU3RkU3RyaW5nKHJ0
Y1RyYWNrLT5pZCgpKSk7CisgICAgICAgIGF1dG8gYXVkaW9Tb3VyY2UgPSBSZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2U6OmNyZWF0ZShXVEZNb3ZlKGF1ZGlvVHJhY2spLCBmcm9tU3RkU3RyaW5n
KHJ0Y1RyYWNrLT5pZCgpKSk7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgICAgIGF1
ZGlvU291cmNlLT5zZXRMb2dnZXIobV9sb2dnZXIuY29weVJlZigpKTsKKyNlbmRpZgorICAgICAg
ICByZXR1cm4gYXVkaW9Tb3VyY2U7CiAgICAgfQogICAgIGNhc2UgY3JpY2tldDo6TUVESUFfVFlQ
RV9WSURFTzogewogICAgICAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpWaWRlb1RyYWNr
SW50ZXJmYWNlPiB2aWRlb1RyYWNrID0gc3RhdGljX2Nhc3Q8d2VicnRjOjpWaWRlb1RyYWNrSW50
ZXJmYWNlKj4ocnRjVHJhY2suZ2V0KCkpOwotICAgICAgICByZXR1cm4gUmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlOjpjcmVhdGUoV1RGTW92ZSh2aWRlb1RyYWNrKSwgZnJvbVN0ZFN0cmluZyhy
dGNUcmFjay0+aWQoKSkpOworICAgICAgICBhdXRvIHZpZGVvU291cmNlID0gIFJlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZTo6Y3JlYXRlKFdURk1vdmUodmlkZW9UcmFjayksIGZyb21TdGRTdHJp
bmcocnRjVHJhY2stPmlkKCkpKTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAg
dmlkZW9Tb3VyY2UtPnNldExvZ2dlcihtX2xvZ2dlci5jb3B5UmVmKCkpOworI2VuZGlmCisgICAg
ICAgIHJldHVybiB2aWRlb1NvdXJjZTsKICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVu
ZHBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENNZWRpYUVuZHBvaW50LmgKaW5kZXggMTllODU2YzA4ODc3MjVmN2EyZmMwZGM4ZjAz
MThiODgxNGVlY2ExMy4uZjhjYjhiOTIxZDRjZTg5MmMyODIzYzMyN2RjZTY1MDQwNWNlNGRkMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDTWVkaWFFbmRwb2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuaApAQCAtMTY3LDYgKzE2
Nyw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgc3RkOjpwYWlyPExpYldlYlJUQ1J0cFNlbmRl
ckJhY2tlbmQ6OlNvdXJjZSwgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6TWVkaWFTdHJlYW1U
cmFja0ludGVyZmFjZT4+IGNyZWF0ZVNvdXJjZUFuZFJUQ1RyYWNrKE1lZGlhU3RyZWFtVHJhY2sm
KTsKKyAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gc291cmNlRnJvbU5ld1JlY2VpdmVy
KHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2UmKTsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAogICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9s
b2dnZXIuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuY3BwCmluZGV4
IDc0YWQyOTZlMTdjNmIyNmNjMzBkZmE1NDYyZDZkZWZiYTY0NGI5MDUuLmZlMGRkZDc5NzIwMzJh
YjYzNzkxZGNkN2NmNWQzM2I4NGYxNzBkMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlLmNwcApAQCAtMzQsMTIgKzM0LDE3IEBACiAjaWYgVVNFKExJQldFQlJUQykKIAogI2lu
Y2x1ZGUgIkxpYldlYlJUQ0F1ZGlvRm9ybWF0LmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2lu
Y2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZTo6UmVhbHRpbWVJbmNvbWlu
Z0F1ZGlvU291cmNlKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvVHJhY2tJbnRlcmZh
Y2U+JiYgYXVkaW9UcmFjaywgU3RyaW5nJiYgYXVkaW9UcmFja0lkKQogICAgIDogUmVhbHRpbWVN
ZWRpYVNvdXJjZShSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbywgInJlbW90ZSBhdWRp
byJfcywgV1RGTW92ZShhdWRpb1RyYWNrSWQpKQogICAgICwgbV9hdWRpb1RyYWNrKFdURk1vdmUo
YXVkaW9UcmFjaykpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ0lkZW50
aWZpZXIocmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4oY3J5cHRvZ3JhcGhpY2FsbHlSYW5k
b21OdW1iZXIoKSkpCisjZW5kaWYKIHsKICAgICBub3RpZnlNdXRlZENoYW5nZSghbV9hdWRpb1Ry
YWNrKTsKIH0KQEAgLTg0LDYgKzg5LDIwIEBAIGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0
aW5ncyYgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlOjpzZXR0aW5ncygpCiAgICAgcmV0dXJu
IG1fY3VycmVudFNldHRpbmdzOwogfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZM
b2dDaGFubmVsJiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2U6OmxvZ0NoYW5uZWwoKSBjb25z
dAoreworICAgIHJldHVybiBMb2dXZWJSVEM7Cit9CisKK2NvbnN0IExvZ2dlciYgUmVhbHRpbWVJ
bmNvbWluZ0F1ZGlvU291cmNlOjpsb2dnZXIoKSBjb25zdAoreworICAgIGlmICghbV9sb2dnZXIp
CisgICAgICAgIG1fbG9nZ2VyID0gTG9nZ2VyOjpjcmVhdGUodGhpcyk7CisgICAgcmV0dXJuICpt
X2xvZ2dlcjsKK30KKyNlbmRpZgorCiB9CiAKICNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNv
bWluZ0F1ZGlvU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaAppbmRleCAyNzU0OWYxY2YyMDg2NzM1NDkxYjdl
Njc4YWI3OTBjMWRiNTBkM2FhLi5lMDY3NTA0Y2E1OGM0ZTk2N2EyN2FhMDMxMDEzMWNlYWU5YWNl
YjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFs
dGltZUluY29taW5nQXVkaW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaApAQCAtNDEsMjAgKzQxLDM3
IEBAIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCiAKIEFMTE9XX1VOVVNFRF9QQVJBTUVU
RVJTX0VORAogCisjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2UgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZSwgcHJpdmF0ZSB3ZWJy
dGM6OkF1ZGlvVHJhY2tTaW5rSW50ZXJmYWNlIHsKK2NsYXNzIFJlYWx0aW1lSW5jb21pbmdBdWRp
b1NvdXJjZQorICAgIDogcHVibGljIFJlYWx0aW1lTWVkaWFTb3VyY2UKKyAgICAsIHByaXZhdGUg
d2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVyZmFjZQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxF
RAorICAgICwgcHJpdmF0ZSBMb2dnZXJIZWxwZXIKKyNlbmRpZgorewogcHVibGljOgogICAgIHN0
YXRpYyBSZWY8UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlPiBjcmVhdGUocnRjOjpzY29wZWRf
cmVmcHRyPHdlYnJ0Yzo6QXVkaW9UcmFja0ludGVyZmFjZT4mJiwgU3RyaW5nJiYpOwogCiAgICAg
dm9pZCBzZXRTb3VyY2VUcmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpBdWRpb1RyYWNr
SW50ZXJmYWNlPiYmKTsKIAorICAgIHZvaWQgc2V0TG9nZ2VyKFJlZjxjb25zdCBMb2dnZXI+JiYg
bG9nZ2VyKSB7IG1fbG9nZ2VyID0gV1RGTW92ZShsb2dnZXIpOyB9CisgICAgCiBwcm90ZWN0ZWQ6
CiAgICAgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJy
dGM6OkF1ZGlvVHJhY2tJbnRlcmZhY2U+JiYsIFN0cmluZyYmKTsKICAgICB+UmVhbHRpbWVJbmNv
bWluZ0F1ZGlvU291cmNlKCk7CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAvLyBM
b2dnZXJIZWxwZXIgQVBJCisgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbDsK
KyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9s
b2dJZGVudGlmaWVyOyB9CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gIlJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZSI7IH0KKyAgICBXVEZMb2dD
aGFubmVsJiBsb2dDaGFubmVsKCkgY29uc3QgZmluYWw7CisjZW5kaWYKKyAgICAKIHByaXZhdGU6
CiAgICAgLy8gd2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVyZmFjZSBBUEkKICAgICB2aXJ0dWFs
IHZvaWQgT25EYXRhKGNvbnN0IHZvaWQqIC8qIGF1ZGlvRGF0YSAqLywgaW50IC8qIGJpdHNQZXJT
YW1wbGUgKi8sIGludCAvKiBzYW1wbGVSYXRlICovLCBzaXplX3QgLyogbnVtYmVyT2ZDaGFubmVs
cyAqLywgc2l6ZV90IC8qIG51bWJlck9mRnJhbWVzICovKSB7IH07CkBAIC03MCw2ICs4NywxMSBA
QCBwcml2YXRlOgogCiAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzIG1fY3VycmVudFNl
dHRpbmdzOwogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvVHJhY2tJbnRlcmZh
Y2U+IG1fYXVkaW9UcmFjazsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIG11dGFi
bGUgUmVmUHRyPGNvbnN0IExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJ
ZGVudGlmaWVyOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5n
VmlkZW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmNwcAppbmRleCA5MDdiOWI2MTgyY2EyYmRmNzhiZDBk
ZmNkN2Q5MmY5YWMyODg2MGEyLi42ODc3NzllZWYwNTlkM2QyM2NmZWQxMjNmMjRhYmQyYjU5MjFi
MTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFs
dGltZUluY29taW5nVmlkZW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5jcHAKQEAgLTM0LDEyICsz
NCwxNiBAQAogI2lmIFVTRShMSUJXRUJSVEMpCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5j
bHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlOjpSZWFsdGltZUluY29taW5n
VmlkZW9Tb3VyY2UocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9UcmFja0ludGVyZmFj
ZT4mJiB2aWRlb1RyYWNrLCBTdHJpbmcmJiB2aWRlb1RyYWNrSWQpCiAgICAgOiBSZWFsdGltZU1l
ZGlhU291cmNlKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvLCAicmVtb3RlIHZpZGVv
Il9zLCBXVEZNb3ZlKHZpZGVvVHJhY2tJZCkpCiAgICAgLCBtX3ZpZGVvVHJhY2soV1RGTW92ZSh2
aWRlb1RyYWNrKSkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9nSWRlbnRp
ZmllcihyZWludGVycHJldF9jYXN0PGNvbnN0IHZvaWQqPihjcnlwdG9ncmFwaGljYWxseVJhbmRv
bU51bWJlcigpKSkKKyNlbmRpZgogewogICAgIG5vdGlmeU11dGVkQ2hhbmdlKCFtX3ZpZGVvVHJh
Y2spOwogCkBAIC0xMDQsNiArMTA4LDIwIEBAIHZvaWQgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291
cmNlOjpzZXR0aW5nc0RpZENoYW5nZShPcHRpb25TZXQ8UmVhbHRpbWVNZWRpYVNvdXJjCiAgICAg
ICAgIG1fY3VycmVudFNldHRpbmdzID0gV1RGOjpudWxsb3B0OwogfQogCisjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2U6
OmxvZ0NoYW5uZWwoKSBjb25zdAoreworICAgIHJldHVybiBMb2dXZWJSVEM7Cit9CisKK2NvbnN0
IExvZ2dlciYgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlOjpsb2dnZXIoKSBjb25zdAorewor
ICAgIGlmICghbV9sb2dnZXIpCisgICAgICAgIG1fbG9nZ2VyID0gTG9nZ2VyOjpjcmVhdGUodGhp
cyk7CisgICAgcmV0dXJuICptX2xvZ2dlcjsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlk
ZW9Tb3VyY2UuaAppbmRleCA0YWM0ZDg1NjQ1ZjFhYjhhMmZmOGNiZWY1MmFjYTkwNWFhNjU5OWI5
Li4zNjBlYWE4NWYyMzY1MWQ5MjIxYmI0YWIxNTUzOWJiZTYxMTIzZWExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9T
b3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2UuaApAQCAtNDEsMTMgKzQxLDIwIEBAIEFMTE9XX1VOVVNFRF9Q
QVJBTUVURVJTX0JFR0lOCiAKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0VORAogCisjaW5jbHVk
ZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDYXB0dXJlRGV2aWNlOwogCi1jbGFzcyBSZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2UgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZSwgcHJpdmF0
ZSBydGM6OlZpZGVvU2lua0ludGVyZmFjZTx3ZWJydGM6OlZpZGVvRnJhbWU+IHsKK2NsYXNzIFJl
YWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZQorICAgIDogcHVibGljIFJlYWx0aW1lTWVkaWFTb3Vy
Y2UKKyAgICAsIHByaXZhdGUgcnRjOjpWaWRlb1NpbmtJbnRlcmZhY2U8d2VicnRjOjpWaWRlb0Zy
YW1lPgorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgcHJpdmF0ZSBMb2dnZXJIZWxw
ZXIKKyNlbmRpZgorewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8UmVhbHRpbWVJbmNvbWluZ1Zp
ZGVvU291cmNlPiBjcmVhdGUocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9UcmFja0lu
dGVyZmFjZT4mJiwgU3RyaW5nJiYpOwogICAgIH5SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2Uo
KQpAQCAtNTYsMTAgKzYzLDIwIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB2b2lkIHNldFNvdXJj
ZVRyYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvVHJhY2tJbnRlcmZhY2U+JiYp
OworICAgIAorICAgIHZvaWQgc2V0TG9nZ2VyKFJlZjxjb25zdCBMb2dnZXI+JiYgbG9nZ2VyKSB7
IG1fbG9nZ2VyID0gV1RGTW92ZShsb2dnZXIpOyB9CiAKIHByb3RlY3RlZDoKICAgICBSZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2UocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9UcmFj
a0ludGVyZmFjZT4mJiwgU3RyaW5nJiYpOwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgLy8gTG9nZ2VySGVscGVyIEFQSQorICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3Qg
ZmluYWw7CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuICJSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UiOyB9CisgICAg
V1RGTG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFsOworI2VuZGlmCisgICAgCiBw
cml2YXRlOgogICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2UgQVBJCiAgICAgdm9pZCBzdGFydFBy
b2R1Y2luZ0RhdGEoKSBmaW5hbDsKQEAgLTczLDYgKzkwLDExIEBAIHByaXZhdGU6CiAKICAgICBP
cHRpb25hbDxSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3M+IG1fY3VycmVudFNldHRpbmdzOwog
ICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvVHJhY2tJbnRlcmZhY2U+IG1fdmlk
ZW9UcmFjazsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIG11dGFibGUgUmVmUHRy
PGNvbnN0IExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVy
OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3Vy
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRn
b2luZ0F1ZGlvU291cmNlLmNwcAppbmRleCAwZDA3NDI4YWY2ODlhMjZjMTgzNGRmMWVlZjNlNGMx
YTFkNGNmY2QxLi4wM2I5NDk2ZWZjYzY0ZjUwMzg2N2YwYWJlY2RmOWE4OThkZDc5N2QxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdv
aW5nQXVkaW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5jcHAKQEAgLTMzLDExICszMywxNiBAQAog
CiAjaW5jbHVkZSAiTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQ
cm92aWRlci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3Jh
cGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBSZWFsdGlt
ZU91dGdvaW5nQXVkaW9Tb3VyY2U6OlJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZShSZWY8TWVk
aWFTdHJlYW1UcmFja1ByaXZhdGU+JiYgc291cmNlKQogICAgIDogbV9hdWRpb1NvdXJjZShXVEZN
b3ZlKHNvdXJjZSkpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ0lkZW50
aWZpZXIocmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4oY3J5cHRvZ3JhcGhpY2FsbHlSYW5k
b21OdW1iZXIoKSkpCisjZW5kaWYKIHsKIH0KIApAQCAtMTE0LDEyICsxMTksMzEgQEAgdm9pZCBS
ZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OlJlbW92ZVNpbmsod2VicnRjOjpBdWRpb1RyYWNr
U2lua0ludGVyZmFjZSogc2kKIAogdm9pZCBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OnNl
bmRBdWRpb0ZyYW1lcyhjb25zdCB2b2lkKiBhdWRpb0RhdGEsIGludCBiaXRzUGVyU2FtcGxlLCBp
bnQgc2FtcGxlUmF0ZSwgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMsIHNpemVfdCBudW1iZXJPZkZy
YW1lcykKIHsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBpZiAoISgrK21fY2h1bmtz
U2VudCAlIDIwMCkpCisgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgImNodW5rICIs
IG1fY2h1bmtzU2VudCk7CisjZW5kaWYKKwogICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9z
aW5rc0xvY2spOwogICAgIGZvciAoYXV0byBzaW5rIDogbV9zaW5rcykKICAgICAgICAgc2luay0+
T25EYXRhKGF1ZGlvRGF0YSwgYml0c1BlclNhbXBsZSwgc2FtcGxlUmF0ZSwgbnVtYmVyT2ZDaGFu
bmVscywgbnVtYmVyT2ZGcmFtZXMpOwogfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitX
VEZMb2dDaGFubmVsJiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OmxvZ0NoYW5uZWwoKSBj
b25zdAoreworICAgIHJldHVybiBMb2dXZWJSVEM7Cit9CisKK2NvbnN0IExvZ2dlciYgUmVhbHRp
bWVPdXRnb2luZ0F1ZGlvU291cmNlOjpsb2dnZXIoKSBjb25zdAoreworICAgIGlmICghbV9sb2dn
ZXIpCisgICAgICAgIG1fbG9nZ2VyID0gTG9nZ2VyOjpjcmVhdGUodGhpcyk7CisgICAgcmV0dXJu
ICptX2xvZ2dlcjsKK30KIAorI2VuZGlmCisgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2Uu
aAppbmRleCBiMDNiZjIxYjI3NmVhZWQ3ZWY5YTQ1MmMxZjE5MmZmMzEzMTUxMTUyLi40ZTJjNzQ0
MjFmOGEzYTRjOTMwZmEwY2Q2YzVjZmRlM2JjYWNjZWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2UuaApAQCAtNDEsNiArNDEsNyBAQCBBTExPV19VTlVTRURfUEFSQU1FVEVSU19C
RUdJTgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKIAorI2luY2x1ZGUgPHd0Zi9Mb2dn
ZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIAogbmFt
ZXNwYWNlIHdlYnJ0YyB7CkBAIC01MCw3ICs1MSwxNCBAQCBjbGFzcyBBdWRpb1RyYWNrU2lua0lu
dGVyZmFjZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2UgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UmVhbHRpbWVPdXRnb2lu
Z0F1ZGlvU291cmNlLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFkOjpNYWluPiwgcHVibGljIHdlYnJ0
Yzo6QXVkaW9Tb3VyY2VJbnRlcmZhY2UsIHByaXZhdGUgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6
Ok9ic2VydmVyIHsKK2NsYXNzIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZQorICAgIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZSwgV1RG
OjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4KKyAgICAsIHB1YmxpYyB3ZWJydGM6OkF1ZGlvU291
cmNlSW50ZXJmYWNlCisgICAgLCBwcml2YXRlIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpPYnNl
cnZlcgorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgcHJpdmF0ZSBMb2dnZXJIZWxw
ZXIKKyNlbmRpZgorewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8UmVhbHRpbWVPdXRnb2luZ0F1
ZGlvU291cmNlPiBjcmVhdGUoUmVmPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiYmIGF1ZGlvU291
cmNlKTsKIApAQCAtNjEsNiArNjksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzZXRTb3VyY2UoUmVm
PE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiYmKTsKICAgICBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZSYgc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9hdWRpb1NvdXJjZS5nZXQoKTsgfQogCisgICAg
dm9pZCBzZXRMb2dnZXIoUmVmPGNvbnN0IExvZ2dlcj4mJiBsb2dnZXIpIHsgbV9sb2dnZXIgPSBX
VEZNb3ZlKGxvZ2dlcik7IH0KKwogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IFJlYWx0aW1lT3V0
Z29pbmdBdWRpb1NvdXJjZShSZWY8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+JiYpOwogCkBAIC03
Miw2ICs4MiwxNCBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIHNlbmRBdWRpb0ZyYW1lcyhjb25z
dCB2b2lkKiBhdWRpb0RhdGEsIGludCBiaXRzUGVyU2FtcGxlLCBpbnQgc2FtcGxlUmF0ZSwgc2l6
ZV90IG51bWJlck9mQ2hhbm5lbHMsIHNpemVfdCBudW1iZXJPZkZyYW1lcyk7CiAKKyNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKKyAgICAvLyBMb2dnZXJIZWxwZXIgQVBJCisgICAgY29uc3QgTG9n
Z2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVy
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgY29uc3QgY2hh
ciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJlYWx0aW1lT3V0Z29pbmdB
dWRpb1NvdXJjZSI7IH0KKyAgICBXVEZMb2dDaGFubmVsJiBsb2dDaGFubmVsKCkgY29uc3QgZmlu
YWw7CisjZW5kaWYKKyAgICAKIHByaXZhdGU6CiAgICAgLy8gd2VicnRjOjpBdWRpb1NvdXJjZUlu
dGVyZmFjZSBBUEkKICAgICB2b2lkIEFkZFNpbmsod2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVy
ZmFjZSopIGZpbmFsOwpAQCAtMTE1LDYgKzEzMywxMiBAQCBwcml2YXRlOgogCiAgICAgbXV0YWJs
ZSBSZWN1cnNpdmVMb2NrIG1fc2lua3NMb2NrOwogICAgIEhhc2hTZXQ8d2VicnRjOjpBdWRpb1Ry
YWNrU2lua0ludGVyZmFjZSo+IG1fc2lua3M7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
KyAgICBtdXRhYmxlIFJlZlB0cjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZv
aWQqIG1fbG9nSWRlbnRpZmllcjsKKyAgICBzaXplX3QgbV9jaHVua3NTZW50IHsgMCB9OworI2Vu
ZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlLmNwcAppbmRleCBlOGQzMjE2NjNmNGE5MmEzMjA0ODM2ZmViNDc2NzAyN2Y4OTgx
MjdhLi42NGI0ZTllMmU0YjE3NDJkZjIyMjg1YzU3MmY3NDg5OTJlZDFmMzMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlk
ZW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Jl
YWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5jcHAKQEAgLTQwLDYgKzQwLDcgQEAgQUxMT1dfVU5V
U0VEX1BBUkFNRVRFUlNfQkVHSU4KIAogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECiAKKyNp
bmNsdWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3
dGYvTWFpblRocmVhZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Nyw2ICs0OCw5IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6UmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlKFJlZjxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4mJiB2aWRl
b1NvdXJjZSkKICAgICA6IG1fdmlkZW9Tb3VyY2UoV1RGTW92ZSh2aWRlb1NvdXJjZSkpCiAgICAg
LCBtX2JsYWNrRnJhbWVUaW1lcigqdGhpcywgJlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6
c2VuZE9uZUJsYWNrRnJhbWUpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xv
Z0lkZW50aWZpZXIocmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4oY3J5cHRvZ3JhcGhpY2Fs
bHlSYW5kb21OdW1iZXIoKSkpCisjZW5kaWYKIHsKIH0KIApAQCAtMTg2LDcgKzE5MCw3IEBAIHZv
aWQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpzZW5kQmxhY2tGcmFtZXNJZk5lZWRlZCgp
CiAgICAgICAgIG1fYmxhY2tGcmFtZSA9IGNyZWF0ZUJsYWNrRnJhbWUod2lkdGgsIGhlaWdodCk7
CiAgICAgICAgIEFTU0VSVChtX2JsYWNrRnJhbWUpOwogICAgICAgICBpZiAoIW1fYmxhY2tGcmFt
ZSkgewotICAgICAgICAgICAgUkVMRUFTRV9MT0coV2ViUlRDLCAiUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlOjpzZW5kQmxhY2tGcmFtZXNJZk5lZWRlZCB1bmFibGUgdG8gc2VuZCBibGFjayBm
cmFtZXMiKTsKKyAgICAgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIlVuYWJsZSB0
byBzZW5kIGJsYWNrIGZyYW1lcyIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAg
ICAgfQpAQCAtMTk2LDcgKzIwMCw3IEBAIHZvaWQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNl
OjpzZW5kQmxhY2tGcmFtZXNJZk5lZWRlZCgpCiAKIHZvaWQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlOjpzZW5kT25lQmxhY2tGcmFtZSgpCiB7Ci0gICAgUkVMRUFTRV9MT0coTWVkaWFTdHJl
YW0sICJSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnNlbmRPbmVCbGFja0ZyYW1lIik7Cisg
ICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAidGVzdCIpOwogICAgIHNlbmRGcmFtZShydGM6
OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpWaWRlb0ZyYW1lQnVmZmVyPihtX2JsYWNrRnJhbWUpKTsK
IH0KIApAQCAtMjEwLDYgKzIxNCwyMCBAQCB2b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJj
ZTo6c2VuZEZyYW1lKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbQogICAgICAg
ICBzaW5rLT5PbkZyYW1lKGZyYW1lKTsKIH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
V1RGTG9nQ2hhbm5lbCYgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpsb2dDaGFubmVsKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gTG9nV2ViUlRDOworfQorCitjb25zdCBMb2dnZXImIFJlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6bG9nZ2VyKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fbG9n
Z2VyKQorICAgICAgICBtX2xvZ2dlciA9IExvZ2dlcjo6Y3JlYXRlKHRoaXMpOworICAgIHJldHVy
biAqbV9sb2dnZXI7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgKaW5k
ZXggZjM3ZTQxN2EwNTM1YTUxM2E3MjQ1YjNiYzk5ODU1ZDYyMjY5ZDZiYi4uZjhjMjA0NzJhM2Qz
YWU3MTdjMjIxMmUzMTg4ZmNlZjA1MmRlNTk1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlLmgKQEAgLTQxLDEyICs0MSwyMCBAQCBBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJ
TgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKIAorI2luY2x1ZGUgPHd0Zi9Mb2dnZXJI
ZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
U2FmZVJlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWFsdGlt
ZU91dGdvaW5nVmlkZW9Tb3VyY2UgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFkOjpNYWluPiwgcHVi
bGljIHdlYnJ0Yzo6VmlkZW9UcmFja1NvdXJjZUludGVyZmFjZSwgcHJpdmF0ZSBNZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZTo6T2JzZXJ2ZXIgeworY2xhc3MgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291
cmNlCisgICAgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFkOjpNYWluPgorICAgICwgcHVibGljIHdl
YnJ0Yzo6VmlkZW9UcmFja1NvdXJjZUludGVyZmFjZQorICAgICwgcHJpdmF0ZSBNZWRpYVN0cmVh
bVRyYWNrUHJpdmF0ZTo6T2JzZXJ2ZXIKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAs
IHByaXZhdGUgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZT4gY3JlYXRlKFJlZjxNZWRpYVN0cmVhbVRyYWNr
UHJpdmF0ZT4mJiB2aWRlb1NvdXJjZSk7CiAgICAgflJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJj
ZSgpOwpAQCAtNjQsNiArNzIsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEFwcGx5Um90YXRp
b24oYm9vbCBzaG91bGRBcHBseVJvdGF0aW9uKSB7IG1fc2hvdWxkQXBwbHlSb3RhdGlvbiA9IHNo
b3VsZEFwcGx5Um90YXRpb247IH0KIAorICAgIHZvaWQgc2V0TG9nZ2VyKFJlZjxjb25zdCBMb2dn
ZXI+JiYgbG9nZ2VyKSB7IG1fbG9nZ2VyID0gV1RGTW92ZShsb2dnZXIpOyB9CisgICAgCiBwcm90
ZWN0ZWQ6CiAgICAgZXhwbGljaXQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlKFJlZjxNZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZT4mJik7CiAKQEAgLTc1LDYgKzg1LDE0IEBAIHByb3RlY3RlZDoK
ICAgICBib29sIG1fc2hvdWxkQXBwbHlSb3RhdGlvbiB7IGZhbHNlIH07CiAgICAgd2VicnRjOjpW
aWRlb1JvdGF0aW9uIG1fY3VycmVudFJvdGF0aW9uIHsgd2VicnRjOjprVmlkZW9Sb3RhdGlvbl8w
IH07CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAvLyBMb2dnZXJIZWxwZXIgQVBJ
CisgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCB2b2lk
KiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9
CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJl
YWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZSI7IH0KKyAgICBXVEZMb2dDaGFubmVsJiBsb2dDaGFu
bmVsKCkgY29uc3QgZmluYWw7CisjZW5kaWYKKyAgICAKIHByaXZhdGU6CiAgICAgdm9pZCBzZW5k
QmxhY2tGcmFtZXNJZk5lZWRlZCgpOwogICAgIHZvaWQgc2VuZE9uZUJsYWNrRnJhbWUoKTsKQEAg
LTEyMyw2ICsxNDEsMTEgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbXV0ZWQgeyBmYWxzZSB9Owog
ICAgIHVpbnQzMl90IG1fd2lkdGggeyAwIH07CiAgICAgdWludDMyX3QgbV9oZWlnaHQgeyAwIH07
CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBtdXRhYmxlIFJlZlB0cjxjb25zdCBM
b2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyNlbmRp
ZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNv
Y29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGlt
ZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAKaW5kZXggMjJmYjEyNTYxZThiOTE3MGYyZjBh
YzljNDdkZmVkY2FhYWU1Y2I4Ny4uNjMyZWYwYmMxMTRhMjE2NjgwYTU1ZmZjMThjZGVkZDRhMzk2
M2E4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29j
b2EuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQXVkaW9TdHJlYW1EZXNjcmlwdGlv
bi5oIgogI2luY2x1ZGUgIkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkxp
YldlYlJUQ0F1ZGlvRm9ybWF0LmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIldl
YkF1ZGlvQnVmZmVyTGlzdC5oIgogI2luY2x1ZGUgIldlYkF1ZGlvU291cmNlUHJvdmlkZXJBVkZP
YmpDLmgiCiAjaW5jbHVkZSA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5kYXRpb24u
aD4KQEAgLTg1LDYgKzg2LDExIEBAIHZvaWQgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29j
b2E6Ok9uRGF0YShjb25zdCB2b2lkKiBhdWRpb0RhdGEsIGludCBiaXRzUGVyCiAgICAgZWxzZQog
ICAgICAgICBtZW1jcHkoYXVkaW9CdWZmZXJMaXN0LmJ1ZmZlcigwKS0+bURhdGEsIGF1ZGlvRGF0
YSwgYXVkaW9CdWZmZXJMaXN0LmJ1ZmZlcigwKS0+bURhdGFCeXRlU2l6ZSk7CiAKKyNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKKyAgICBpZiAoISgrK21fY2h1bmtzUmVjZWl2ZWQgJSAyMDApKQor
ICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJjaHVuayAiLCBtX2NodW5rc1JlY2Vp
dmVkKTsKKyNlbmRpZgorCiAgICAgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKG1lZGlhVGltZSwgYXVk
aW9CdWZmZXJMaXN0LCBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24obmV3RGVzY3JpcHRpb24pLCBu
dW1iZXJPZkZyYW1lcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRp
b1NvdXJjZUNvY29hLmgKaW5kZXggZDAxMDQ3NWU1ZWNhMmZmYzkxNDMwMzQ3MWI2NWZiMWE4OTdk
YWJhNy4uMzcyNTY4OGExYThhZWVjNGRkMDNkOGFkYzJkMTEyYzc0ODYzMDk5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21p
bmdBdWRpb1NvdXJjZUNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmgKQEAgLTUwLDYgKzUw
LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBPbkRhdGEoY29uc3Qgdm9pZCogYXVkaW9EYXRhLCBp
bnQgYml0c1BlclNhbXBsZSwgaW50IHNhbXBsZVJhdGUsIHNpemVfdCBudW1iZXJPZkNoYW5uZWxz
LCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpIGZpbmFsOwogCiAgICAgdWludDY0X3QgbV9udW1iZXJP
ZkZyYW1lcyB7IDAgfTsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIHNpemVfdCBt
X2NodW5rc1JlY2VpdmVkIHsgMCB9OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0K
aW5kZXggYjA5YWMwNGYyMmM3YmI4YmFlZDZiNGEzZTc2M2NmNzBlNmM3ZTA1NC4uZmU1ZWJkNmNi
MTE1YmEyNzg0ZjM1ZjQ4ODgzYjYwYTVmYjQ5ZmZhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQpAQCAtMTEzLDcgKzExMyw3IEBAIENWUGl4
ZWxCdWZmZXJQb29sUmVmIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hOjpwaXhlbEJ1
ZmZlclBvb2woc2l6ZV90IHdpCiAgICAgICAgIGF1dG8gc3RhdHVzID0gQ1ZQaXhlbEJ1ZmZlclBv
b2xDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbnVsbHB0ciwgKF9fYnJpZGdlIENGRGljdGlv
bmFyeVJlZilwaXhlbEF0dHJpYnV0ZXMsICZwb29sKTsKIAogICAgICAgICBpZiAoc3RhdHVzICE9
IGtDVlJldHVyblN1Y2Nlc3MpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HKE1lZGlhU3RyZWFt
LCAiUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6OnBpeGVsQnVmZmVyRnJvbVZpZGVv
RnJhbWUgZmFpbGVkIGNyZWF0aW5nIGEgcGl4ZWwgYnVmZmVyIHBvb2wgd2l0aCBlcnJvciAlZCIs
IHN0YXR1cyk7CisgICAgICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkZhaWxlZCBj
cmVhdGluZyBhIHBpeGVsIGJ1ZmZlciBwb29sIHdpdGggZXJyb3IgIiwgc3RhdHVzKTsKICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9CiAgICAgICAgIG1fcGl4ZWxCdWZmZXJQ
b29sID0gYWRvcHRDRihwb29sKTsKQEAgLTE0NCw3ICsxNDQsNyBAQCBSZXRhaW5QdHI8Q1ZQaXhl
bEJ1ZmZlclJlZj4gUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6OnBpeGVsQnVmZmVy
RnJvbVZpZAogICAgICAgICBhdXRvIHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJQb29sQ3JlYXRlUGl4
ZWxCdWZmZXIoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbV9waXhlbEJ1ZmZlclBvb2wuZ2V0KCksICZw
aXhlbEJ1ZmZlcik7CiAKICAgICAgICAgaWYgKHN0YXR1cyAhPSBrQ1ZSZXR1cm5TdWNjZXNzKSB7
Ci0gICAgICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwgIlJlYWx0aW1lSW5jb21pbmdW
aWRlb1NvdXJjZUNvY29hOjpwaXhlbEJ1ZmZlckZyb21WaWRlb0ZyYW1lIGZhaWxlZCBjcmVhdGlu
ZyBhIHBpeGVsIGJ1ZmZlciB3aXRoIGVycm9yICVkIiwgc3RhdHVzKTsKKyAgICAgICAgICAgIEVS
Uk9SX0xPRyhMT0dJREVOVElGSUVSLCAiRmFpbGVkIGNyZWF0aW5nIGEgcGl4ZWwgYnVmZmVyIHdp
dGggZXJyb3IgIiwgc3RhdHVzKTsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAg
ICB9CiAgICAgICAgIG5ld1BpeGVsQnVmZmVyID0gYWRvcHRDRihwaXhlbEJ1ZmZlcik7CkBAIC0x
NTgsMTMgKzE1OCwxMyBAQCB2b2lkIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hOjpP
bkZyYW1lKGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYgZnJhbWUpCiAgICAgICAgIHJldHVybjsK
IAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgIGlmICghKCsrbV9udW1iZXJPZkZyYW1l
cyAlIDMwKSkKLSAgICAgICAgUkVMRUFTRV9MT0coTWVkaWFTdHJlYW0sICJSZWFsdGltZUluY29t
aW5nVmlkZW9Tb3VyY2VDb2NvYTo6T25GcmFtZSAlenUgZnJhbWUiLCBtX251bWJlck9mRnJhbWVz
KTsKKyAgICBpZiAoISgrK21fbnVtYmVyT2ZGcmFtZXMgJSA2MCkpCisgICAgICAgIEFMV0FZU19M
T0coTE9HSURFTlRJRklFUiwgImZyYW1lICIsIG1fbnVtYmVyT2ZGcmFtZXMpOwogI2VuZGlmCiAK
ICAgICBhdXRvIHBpeGVsQnVmZmVyID0gcGl4ZWxCdWZmZXJGcm9tVmlkZW9GcmFtZShmcmFtZSk7
CiAgICAgaWYgKCFwaXhlbEJ1ZmZlcikgewotICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBn
ZXQgYSBwaXhlbCBidWZmZXIgZnJvbSBhIGZyYW1lIik7CisgICAgICAgIEVSUk9SX0xPRyhMT0dJ
REVOVElGSUVSLCAiRmFpbGVkIHRvIGdldCBhIHBpeGVsIGJ1ZmZlciBmcm9tIGEgZnJhbWUiKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0Zy
YW1lJiBmcmFtZSkKICAgICBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0RGVzY3Jp
cHRpb247CiAgICAgT1NTdGF0dXMgb3N0YXR1cyA9IENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNy
ZWF0ZUZvckltYWdlQnVmZmVyKGtDRkFsbG9jYXRvckRlZmF1bHQsIChDVkltYWdlQnVmZmVyUmVm
KXBpeGVsQnVmZmVyLCAmZm9ybWF0RGVzY3JpcHRpb24pOwogICAgIGlmIChvc3RhdHVzICE9IG5v
RXJyKSB7Ci0gICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGluaXRpYWxpemUgQ01WaWRlb0Zv
cm1hdERlc2NyaXB0aW9uOiAlZCIsIHN0YXRpY19jYXN0PGludD4ob3N0YXR1cykpOworICAgICAg
ICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkZhaWxlZCB0byBpbml0aWFsaXplIENNVmlkZW9G
b3JtYXREZXNjcmlwdGlvbiB3aXRoIGVycm9yICIsIHN0YXRpY19jYXN0PGludD4ob3N0YXR1cykp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xODYsNyArMTg2LDcgQEAgdm9pZCBSZWFs
dGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYTo6T25GcmFtZShjb25zdCB3ZWJydGM6OlZpZGVv
RnJhbWUmIGZyYW1lKQogICAgIG9zdGF0dXMgPSBDTVNhbXBsZUJ1ZmZlckNyZWF0ZVJlYWR5V2l0
aEltYWdlQnVmZmVyKGtDRkFsbG9jYXRvckRlZmF1bHQsIChDVkltYWdlQnVmZmVyUmVmKXBpeGVs
QnVmZmVyLCBmb3JtYXREZXNjcmlwdGlvbiwgJnRpbWluZ0luZm8sICZzYW1wbGVCdWZmZXIpOwog
ICAgIENGUmVsZWFzZShmb3JtYXREZXNjcmlwdGlvbik7CiAgICAgaWYgKG9zdGF0dXMgIT0gbm9F
cnIpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIHRoZSBzYW1wbGUgYnVm
ZmVyOiAlZCIsIHN0YXRpY19jYXN0PGludD4ob3N0YXR1cykpOworICAgICAgICBFUlJPUl9MT0co
TE9HSURFTlRJRklFUiwgIkZhaWxlZCB0byBjcmVhdGUgdGhlIHNhbXBsZSBidWZmZXIgd2l0aCBl
cnJvciAiLCBzdGF0aWNfY2FzdDxpbnQ+KG9zdGF0dXMpKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5j
cHAKaW5kZXggMjJlNDllOTA5ODk1YTkwM2Q3MjMyZTA1MmZjNTFlODgwZmQ4MmYwNi4uZWQ1NzBh
YTQ3OGI0NTRmMmJmODEyYTJmNmE1ZmUzOGIzMWJkNTAzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJj
ZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2EuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAj
aW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRD
QXVkaW9Gb3JtYXQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgorI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291
cmNlQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1Jl
YWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNwcAppbmRleCA3OTgxZTcxYmU5NWYxNTVk
NzFkYTIxNDBjNGY5OTNhODczZjk4MDNhLi43YzJjOGYzMTBlZDU4NDViNWViYWY5MDA3NGI4ZjRj
ZGEzN2ZhOWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3Vy
Y2VDb2NvYS5jcHAKQEAgLTY3LDggKzY3LDggQEAgdm9pZCBSZWFsdGltZU91dGdvaW5nVmlkZW9T
b3VyY2VDb2NvYTo6c2FtcGxlQnVmZmVyVXBkYXRlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmEKICAg
ICAgICAgcmV0dXJuOwogCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgaWYgKCEoKytt
X251bWJlck9mRnJhbWVzICUgMzApKQotICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwg
IlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpzZW5kRnJhbWUgJXp1IGZyYW1lIiwg
bV9udW1iZXJPZkZyYW1lcyk7CisgICAgaWYgKCEoKyttX251bWJlck9mRnJhbWVzICUgNjApKQor
ICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJmcmFtZSAiLCBtX251bWJlck9mRnJh
bWVzKTsKICNlbmRpZgogCiAgICAgc3dpdGNoIChzYW1wbGUudmlkZW9Sb3RhdGlvbigpKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRp
bWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW0KaW5kZXgg
ZDU1MDg2NGFlYjEzNmVlYzE0ZTY4MTcxOGU0MTdmMjYzNGFiYjBhNy4uNWU3ZTEyNDkyYjQ2NTdj
ODNmOWU0NWQzNmVkZGIwMTdjZTUyNDFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQpAQCAtNzUsNyArNzUsNyBAQCBSZXRhaW5QdHI8Q1ZQ
aXhlbEJ1ZmZlclJlZj4gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OnJvdGF0ZVBp
eGVsQnVmZmVyKAogICAgICAgICBWVEltYWdlUm90YXRpb25TZXNzaW9uUmVmIHJhd1JvdGF0aW9u
U2Vzc2lvbiA9IG51bGxwdHI7CiAgICAgICAgIGF1dG8gc3RhdHVzID0gVlRJbWFnZVJvdGF0aW9u
U2Vzc2lvbkNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCByb3RhdGlvbiwgJnJhd1JvdGF0aW9u
U2Vzc2lvbik7CiAgICAgICAgIGlmIChzdGF0dXMgIT0gbm9FcnIpIHsKLSAgICAgICAgICAgIFJF
TEVBU0VfTE9HKE1lZGlhU3RyZWFtLCAiUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6
OnJvdGF0ZVBpeGVsQnVmZmVyIGZhaWxlZCBjcmVhdGluZyBhIHJvdGF0aW9uIHNlc3Npb24gd2l0
aCBlcnJvciAlZCIsIHN0YXR1cyk7CisgICAgICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJ
RVIsICJGYWlsZWQgY3JlYXRpbmcgYSByb3RhdGlvbiBzZXNzaW9uIHdpdGggZXJyb3IgIiwgc3Rh
dHVzKTsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9CiAKQEAgLTEwMCw3
ICsxMDAsNyBAQCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlQ29jb2E6OnJvdGF0ZVBpeGVsQnVmZmVyKAogICAgICAgICBhdXRvIHN0YXR1cyA9
IENWUGl4ZWxCdWZmZXJQb29sQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIG51bGxwdHIsIChf
X2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpcGl4ZWxBdHRyaWJ1dGVzLCAmcG9vbCk7CiAKICAgICAg
ICAgaWYgKHN0YXR1cyAhPSBrQ1ZSZXR1cm5TdWNjZXNzKSB7Ci0gICAgICAgICAgICBSRUxFQVNF
X0xPRyhNZWRpYVN0cmVhbSwgIlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpyb3Rh
dGVQaXhlbEJ1ZmZlciBmYWlsZWQgY3JlYXRpbmcgYSBwaXhlbCBidWZmZXIgcG9vbCB3aXRoIGVy
cm9yICVkIiwgc3RhdHVzKTsKKyAgICAgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwg
IkZhaWxlZCBjcmVhdGluZyBhIHBpeGVsIGJ1ZmZlciBwb29sIHdpdGggZXJyb3IgIiwgc3RhdHVz
KTsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9CiAgICAgICAgIG1fcm90
YXRpb25Qb29sID0gYWRvcHRDRihwb29sKTsKQEAgLTExNCw3ICsxMTQsNyBAQCBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OnJvdGF0
ZVBpeGVsQnVmZmVyKAogICAgIGF1dG8gc3RhdHVzID0gQ1ZQaXhlbEJ1ZmZlclBvb2xDcmVhdGVQ
aXhlbEJ1ZmZlcihrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBtX3JvdGF0aW9uUG9vbC5nZXQoKSwgJnJh
d1JvdGF0ZWRCdWZmZXIpOwogCiAgICAgaWYgKHN0YXR1cyAhPSBrQ1ZSZXR1cm5TdWNjZXNzKSB7
Ci0gICAgICAgIFJFTEVBU0VfTE9HKE1lZGlhU3RyZWFtLCAiUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlQ29jb2E6OnJvdGF0ZVBpeGVsQnVmZmVyIGZhaWxlZCBjcmVhdGluZyBhIHBpeGVsIGJ1
ZmZlciB3aXRoIGVycm9yICVkIiwgc3RhdHVzKTsKKyAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVO
VElGSUVSLCAiRmFpbGVkIGNyZWF0aW5nIGEgcGl4ZWwgYnVmZmVyIHdpdGggZXJyb3IgIiwgc3Rh
dHVzKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIFJldGFpblB0cjxDVlBp
eGVsQnVmZmVyUmVmPiByb3RhdGVkQnVmZmVyID0gYWRvcHRDRihyYXdSb3RhdGVkQnVmZmVyKTsK
QEAgLTEyMiw3ICsxMjIsNyBAQCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gUmVhbHRpbWVP
dXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OnJvdGF0ZVBpeGVsQnVmZmVyKAogICAgIHN0YXR1cyA9
IFZUSW1hZ2VSb3RhdGlvblNlc3Npb25UcmFuc2ZlckltYWdlKG1fcm90YXRpb25TZXNzaW9uLmdl
dCgpLCBwaXhlbEJ1ZmZlciwgcm90YXRlZEJ1ZmZlci5nZXQoKSk7CiAKICAgICBpZiAoc3RhdHVz
ICE9IG5vRXJyKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKE1lZGlhU3RyZWFtLCAiUmVhbHRpbWVP
dXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OnJvdGF0ZVBpeGVsQnVmZmVyIGZhaWxlZCByb3RhdGlu
ZyB3aXRoIGVycm9yICVkIiwgc3RhdHVzKTsKKyAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElG
SUVSLCAiRmFpbGVkIHJvdGF0aW5nIHdpdGggZXJyb3IgIiwgc3RhdHVzKTsKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgfQogICAgIHJldHVybiByb3RhdGVkQnVmZmVyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359312</attachid>
            <date>2019-01-16 14:46:52 -0800</date>
            <delta_ts>2019-01-17 07:49:17 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-185545-20190116144651.patch</filename>
            <type>text/plain</type>
            <size>32885</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIzY2VmMjMzYmQ2Yjk1
MWVjY2IwZTJjYTg1YjRhMTAwNzFiNDM2Yi4uZWM5NzU5MDUwMjA0OTNiZTcwMTUyMDRmMGQyNzIy
YjRjMzU2ZDYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE5LTAxLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcmVsZWFzZSBsb2dn
aW5nIGZvciBpbmNvbWluZyBhbmQgb3V0Z29pbmcgd2VicnRjIGF1ZGlvIHRyYWNrcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NTQ1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIEFkZCBsb2dnaW5nIG9mIGF1
ZGlvIHRyYWNrcy4gV2hlbiBkb2luZyBhIFdlYlJUQyBjYWxsLAorICAgICAgICBvbmUgbG9nIGxp
bmUgaXMgYWRkZWQgZWFjaCBzZWNvbmQgZm9yIGVhY2ggYXVkaW8gdHJhY2suCisgICAgICAgIFZh
bGlkYXRlZCB0aGF0IGxvZ2dpbmcgaXMgZG9uZSB0aHJvdWdoIG1hbnVhbCB0ZXN0aW5nLgorCisg
ICAgICAgIFJlZmFjdG9yZWQgY29kZSB0byB1c2UgTG9nSGVscGVyIGFuZCBhcHBseSBpdCB0byB2
aWRlbyBzb3VyY2VzIGFzIHdlbGwuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxp
YldlYlJUQ01lZGlhRW5kcG9pbnQ6OmFkZFRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldl
YlJUQ01lZGlhRW5kcG9pbnQ6OnNvdXJjZUZyb21OZXdSZWNlaXZlcik6CisgICAgICAgIChXZWJD
b3JlOjpzb3VyY2VGcm9tTmV3UmVjZWl2ZXIpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlOjpSZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1
ZGlvU291cmNlOjpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1l
SW5jb21pbmdBdWRpb1NvdXJjZTo6bG9nZ2VyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZTo6c2V0TG9nZ2VyKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlOjpSZWFsdGltZUluY29t
aW5nVmlkZW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVv
U291cmNlOjpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZTo6bG9nZ2VyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZTo6c2V0TG9nZ2VyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpSZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291
cmNlOjpzZW5kQXVkaW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2lu
Z0F1ZGlvU291cmNlOjpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6bG9nZ2VyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6c2V0TG9nZ2VyKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpSZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlOjpzZW5kQmxhY2tGcmFtZXNJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnNlbmRPbmVCbGFja0ZyYW1lKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6bG9nQ2hhbm5lbCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OmxvZ2dlciBj
b25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3Vy
Y2U6OnNldExvZ2dlcik6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpPbkRhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3Vy
Y2VDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJj
ZUNvY29hOjpwaXhlbEJ1ZmZlclBvb2wpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNv
bWluZ1ZpZGVvU291cmNlQ29jb2E6OnBpeGVsQnVmZmVyRnJvbVZpZGVvRnJhbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUpOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9T
b3VyY2VDb2NvYS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpzYW1wbGVCdWZmZXJVcGRhdGVkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNl
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYTo6cm90YXRlUGl4ZWxCdWZmZXIpOgorCiAyMDE5LTAxLTE2ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTZXJ2aWNlV29ya2VyQ29udGFpbmVyIGlzIGxl
YWtpbmcgZHVlIHRvIGEgcmVmIGN5Y2xlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlh
RW5kcG9pbnQuY3BwCmluZGV4IGFkODIwOTU3YzFhNmEzNTZlNTQzZDdmNzZiNGMzYWM1Mjc3MmRk
MmQuLjNkYjQyYWUxNWU3ZWM4ZTA5YTdiNjI5MDAzNGY4ZjJmYjUwYTgyMzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01l
ZGlhRW5kcG9pbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yMTksMTIgKzIxOSwxOCBA
QCBib29sIExpYldlYlJUQ01lZGlhRW5kcG9pbnQ6OmFkZFRyYWNrKExpYldlYlJUQ1J0cFNlbmRl
ckJhY2tlbmQmIHNlbmRlciwgTWVkaWFTdAogICAgIHN3aXRjaCAodHJhY2sucHJpdmF0ZVRyYWNr
KCkudHlwZSgpKSB7CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzog
ewogICAgICAgICBhdXRvIGF1ZGlvU291cmNlID0gUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNl
OjpjcmVhdGUodHJhY2sucHJpdmF0ZVRyYWNrKCkpOworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxF
RAorICAgICAgICBhdWRpb1NvdXJjZS0+c2V0TG9nZ2VyKG1fbG9nZ2VyLmNvcHlSZWYoKSk7Cisj
ZW5kaWYKICAgICAgICAgcnRjVHJhY2sgPSBtX3BlZXJDb25uZWN0aW9uRmFjdG9yeS5DcmVhdGVB
dWRpb1RyYWNrKHRyYWNrLmlkKCkudXRmOCgpLmRhdGEoKSwgYXVkaW9Tb3VyY2UucHRyKCkpOwog
ICAgICAgICBzb3VyY2UgPSBXVEZNb3ZlKGF1ZGlvU291cmNlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86IHsKICAgICAg
ICAgYXV0byB2aWRlb1NvdXJjZSA9IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6Y3JlYXRl
KHRyYWNrLnByaXZhdGVUcmFjaygpKTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAg
ICAgdmlkZW9Tb3VyY2UtPnNldExvZ2dlcihtX2xvZ2dlci5jb3B5UmVmKCkpOworI2VuZGlmCiAg
ICAgICAgIHJ0Y1RyYWNrID0gbV9wZWVyQ29ubmVjdGlvbkZhY3RvcnkuQ3JlYXRlVmlkZW9UcmFj
ayh0cmFjay5pZCgpLnV0ZjgoKS5kYXRhKCksIHZpZGVvU291cmNlLnB0cigpKTsKICAgICAgICAg
c291cmNlID0gV1RGTW92ZSh2aWRlb1NvdXJjZSk7CiAgICAgICAgIGJyZWFrOwpAQCAtNDQ1LDcg
KzQ1MSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzZXRFeGlzdGluZ1JlY2VpdmVyU291cmNlVHJh
Y2soUmVhbHRpbWVNZWRpYVNvdXJjZSYgZXhpc3RpbmdTCiAgICAgfQogfQogCi1zdGF0aWMgaW5s
aW5lIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBzb3VyY2VGcm9tTmV3UmVjZWl2ZXIod2Vi
cnRjOjpSdHBSZWNlaXZlckludGVyZmFjZSYgcnRjUmVjZWl2ZXIpCitSZWZQdHI8UmVhbHRpbWVN
ZWRpYVNvdXJjZT4gTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6c291cmNlRnJvbU5ld1JlY2VpdmVy
KHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2UmIHJ0Y1JlY2VpdmVyKQogewogICAgIGF1dG8g
cnRjVHJhY2sgPSBydGNSZWNlaXZlci50cmFjaygpOwogICAgIHN3aXRjaCAocnRjUmVjZWl2ZXIu
bWVkaWFfdHlwZSgpKSB7CkBAIC00NTMsMTEgKzQ1OSwxOSBAQCBzdGF0aWMgaW5saW5lIFJlZlB0
cjxSZWFsdGltZU1lZGlhU291cmNlPiBzb3VyY2VGcm9tTmV3UmVjZWl2ZXIod2VicnRjOjpSdHBS
ZWNlaQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBjYXNlIGNyaWNrZXQ6Ok1FRElBX1RZ
UEVfQVVESU86IHsKICAgICAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6QXVkaW9UcmFj
a0ludGVyZmFjZT4gYXVkaW9UcmFjayA9IHN0YXRpY19jYXN0PHdlYnJ0Yzo6QXVkaW9UcmFja0lu
dGVyZmFjZSo+KHJ0Y1RyYWNrLmdldCgpKTsKLSAgICAgICAgcmV0dXJuIFJlYWx0aW1lSW5jb21p
bmdBdWRpb1NvdXJjZTo6Y3JlYXRlKFdURk1vdmUoYXVkaW9UcmFjayksIGZyb21TdGRTdHJpbmco
cnRjVHJhY2stPmlkKCkpKTsKKyAgICAgICAgYXV0byBhdWRpb1NvdXJjZSA9IFJlYWx0aW1lSW5j
b21pbmdBdWRpb1NvdXJjZTo6Y3JlYXRlKFdURk1vdmUoYXVkaW9UcmFjayksIGZyb21TdGRTdHJp
bmcocnRjVHJhY2stPmlkKCkpKTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAg
YXVkaW9Tb3VyY2UtPnNldExvZ2dlcihtX2xvZ2dlci5jb3B5UmVmKCkpOworI2VuZGlmCisgICAg
ICAgIHJldHVybiBhdWRpb1NvdXJjZTsKICAgICB9CiAgICAgY2FzZSBjcmlja2V0OjpNRURJQV9U
WVBFX1ZJREVPOiB7CiAgICAgICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvVHJh
Y2tJbnRlcmZhY2U+IHZpZGVvVHJhY2sgPSBzdGF0aWNfY2FzdDx3ZWJydGM6OlZpZGVvVHJhY2tJ
bnRlcmZhY2UqPihydGNUcmFjay5nZXQoKSk7Ci0gICAgICAgIHJldHVybiBSZWFsdGltZUluY29t
aW5nVmlkZW9Tb3VyY2U6OmNyZWF0ZShXVEZNb3ZlKHZpZGVvVHJhY2spLCBmcm9tU3RkU3RyaW5n
KHJ0Y1RyYWNrLT5pZCgpKSk7CisgICAgICAgIGF1dG8gdmlkZW9Tb3VyY2UgPSAgUmVhbHRpbWVJ
bmNvbWluZ1ZpZGVvU291cmNlOjpjcmVhdGUoV1RGTW92ZSh2aWRlb1RyYWNrKSwgZnJvbVN0ZFN0
cmluZyhydGNUcmFjay0+aWQoKSkpOworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICAg
ICB2aWRlb1NvdXJjZS0+c2V0TG9nZ2VyKG1fbG9nZ2VyLmNvcHlSZWYoKSk7CisjZW5kaWYKKyAg
ICAgICAgcmV0dXJuIHZpZGVvU291cmNlOwogICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlh
RW5kcG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuaAppbmRleCAxOWU4NTZjMDg4NzcyNWY3YTJmYzBkYzhm
MDMxOGI4ODE0ZWVjYTEzLi5mOGNiOGI5MjFkNGNlODkyYzI4MjNjMzI3ZGNlNjUwNDA1Y2U0ZGQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5oCkBAIC0xNjcsNiAr
MTY3LDcgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICBzdGQ6OnBhaXI8TGliV2ViUlRDUnRwU2Vu
ZGVyQmFja2VuZDo6U291cmNlLCBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpNZWRpYVN0cmVh
bVRyYWNrSW50ZXJmYWNlPj4gY3JlYXRlU291cmNlQW5kUlRDVHJhY2soTWVkaWFTdHJlYW1UcmFj
ayYpOworICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBzb3VyY2VGcm9tTmV3UmVjZWl2
ZXIod2VicnRjOjpSdHBSZWNlaXZlckludGVyZmFjZSYpOwogCiAjaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECiAgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBt
X2xvZ2dlci5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5jcHAKaW5k
ZXggNzRhZDI5NmUxN2M2YjI2Y2MzMGRmYTU0NjJkNmRlZmJhNjQ0YjkwNS4uZmUwZGRkNzk3MjAz
MmFiNjM3OTFkY2Q3Y2Y1ZDMzYjg0ZjE3MGQyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nQXVk
aW9Tb3VyY2UuY3BwCkBAIC0zNCwxMiArMzQsMTcgQEAKICNpZiBVU0UoTElCV0VCUlRDKQogCiAj
aW5jbHVkZSAiTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisj
aW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlOjpSZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2UocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6QXVkaW9UcmFja0ludGVy
ZmFjZT4mJiBhdWRpb1RyYWNrLCBTdHJpbmcmJiBhdWRpb1RyYWNrSWQpCiAgICAgOiBSZWFsdGlt
ZU1lZGlhU291cmNlKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvLCAicmVtb3RlIGF1
ZGlvIl9zLCBXVEZNb3ZlKGF1ZGlvVHJhY2tJZCkpCiAgICAgLCBtX2F1ZGlvVHJhY2soV1RGTW92
ZShhdWRpb1RyYWNrKSkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9nSWRl
bnRpZmllcihyZWludGVycHJldF9jYXN0PGNvbnN0IHZvaWQqPihjcnlwdG9ncmFwaGljYWxseVJh
bmRvbU51bWJlcigpKSkKKyNlbmRpZgogewogICAgIG5vdGlmeU11dGVkQ2hhbmdlKCFtX2F1ZGlv
VHJhY2spOwogfQpAQCAtODQsNiArODksMjAgQEAgY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVNl
dHRpbmdzJiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2U6OnNldHRpbmdzKCkKICAgICByZXR1
cm4gbV9jdXJyZW50U2V0dGluZ3M7CiB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dU
RkxvZ0NoYW5uZWwmIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZTo6bG9nQ2hhbm5lbCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIExvZ1dlYlJUQzsKK30KKworY29uc3QgTG9nZ2VyJiBSZWFsdGlt
ZUluY29taW5nQXVkaW9Tb3VyY2U6OmxvZ2dlcigpIGNvbnN0Cit7CisgICAgaWYgKCFtX2xvZ2dl
cikKKyAgICAgICAgbV9sb2dnZXIgPSBMb2dnZXI6OmNyZWF0ZSh0aGlzKTsKKyAgICByZXR1cm4g
Km1fbG9nZ2VyOworfQorI2VuZGlmCisKIH0KIAogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oCmluZGV4IDI3NTQ5ZjFjZjIwODY3MzU0OTFi
N2U2NzhhYjc5MGMxZGI1MGQzYWEuLmJkMzU0NTkyZTVmYWQ2NDQ1ZWE0YTA5ZTBhMGQ5ODRiOWM3
YWI2NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Jl
YWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oCkBAIC00MSwyMCArNDEs
MzcgQEAgQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KIAogQUxMT1dfVU5VU0VEX1BBUkFN
RVRFUlNfRU5ECiAKKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlYWx0aW1lSW5j
b21pbmdBdWRpb1NvdXJjZSA6IHB1YmxpYyBSZWFsdGltZU1lZGlhU291cmNlLCBwcml2YXRlIHdl
YnJ0Yzo6QXVkaW9UcmFja1NpbmtJbnRlcmZhY2UgeworY2xhc3MgUmVhbHRpbWVJbmNvbWluZ0F1
ZGlvU291cmNlCisgICAgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZQorICAgICwgcHJpdmF0
ZSB3ZWJydGM6OkF1ZGlvVHJhY2tTaW5rSW50ZXJmYWNlCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECisgICAgLCBwcml2YXRlIExvZ2dlckhlbHBlcgorI2VuZGlmCit7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2U+IGNyZWF0ZShydGM6OnNjb3Bl
ZF9yZWZwdHI8d2VicnRjOjpBdWRpb1RyYWNrSW50ZXJmYWNlPiYmLCBTdHJpbmcmJik7CiAKICAg
ICB2b2lkIHNldFNvdXJjZVRyYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvVHJh
Y2tJbnRlcmZhY2U+JiYpOwogCisgICAgdm9pZCBzZXRMb2dnZXIoUmVmPGNvbnN0IExvZ2dlcj4m
JiBsb2dnZXIpIHsgbV9sb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlcik7IH0KKwogcHJvdGVjdGVkOgog
ICAgIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRj
OjpBdWRpb1RyYWNrSW50ZXJmYWNlPiYmLCBTdHJpbmcmJik7CiAgICAgflJlYWx0aW1lSW5jb21p
bmdBdWRpb1NvdXJjZSgpOwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLy8gTG9n
Z2VySGVscGVyIEFQSQorICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWw7Cisg
ICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9n
SWRlbnRpZmllcjsgfQorICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuICJSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UiOyB9CisgICAgV1RGTG9nQ2hh
bm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFsOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAg
Ly8gd2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVyZmFjZSBBUEkKICAgICB2aXJ0dWFsIHZvaWQg
T25EYXRhKGNvbnN0IHZvaWQqIC8qIGF1ZGlvRGF0YSAqLywgaW50IC8qIGJpdHNQZXJTYW1wbGUg
Ki8sIGludCAvKiBzYW1wbGVSYXRlICovLCBzaXplX3QgLyogbnVtYmVyT2ZDaGFubmVscyAqLywg
c2l6ZV90IC8qIG51bWJlck9mRnJhbWVzICovKSB7IH07CkBAIC03MCw2ICs4NywxMSBAQCBwcml2
YXRlOgogCiAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzIG1fY3VycmVudFNldHRpbmdz
OwogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvVHJhY2tJbnRlcmZhY2U+IG1f
YXVkaW9UcmFjazsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIG11dGFibGUgUmVm
UHRyPGNvbnN0IExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlm
aWVyOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9T
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJ
bmNvbWluZ1ZpZGVvU291cmNlLmNwcAppbmRleCA5Yzc1MjgxYzBlMTY0NjQyZGRiODFkZTIwZjk0
ZjBlNWRlNjI3NDc5Li4xNDQ2YjNmYzE3NDliMDY2OGFmM2IxMzAwYzg3ZGQ2YTliNmM3YWNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5jcHAKQEAgLTM0LDEyICszNCwxNiBA
QAogI2lmIFVTRShMSUJXRUJSVEMpCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSA8
d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlOjpSZWFsdGltZUluY29taW5nVmlkZW9T
b3VyY2UocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9UcmFja0ludGVyZmFjZT4mJiB2
aWRlb1RyYWNrLCBTdHJpbmcmJiB2aWRlb1RyYWNrSWQpCiAgICAgOiBSZWFsdGltZU1lZGlhU291
cmNlKFR5cGU6OlZpZGVvLCAicmVtb3RlIHZpZGVvIl9zLCBXVEZNb3ZlKHZpZGVvVHJhY2tJZCkp
CiAgICAgLCBtX3ZpZGVvVHJhY2soV1RGTW92ZSh2aWRlb1RyYWNrKSkKKyNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKKyAgICAsIG1fbG9nSWRlbnRpZmllcihyZWludGVycHJldF9jYXN0PGNvbnN0
IHZvaWQqPihjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcigpKSkKKyNlbmRpZgogewogICAg
IG5vdGlmeU11dGVkQ2hhbmdlKCFtX3ZpZGVvVHJhY2spOwogCkBAIC0xMDQsNiArMTA4LDIwIEBA
IHZvaWQgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlOjpzZXR0aW5nc0RpZENoYW5nZShPcHRp
b25TZXQ8UmVhbHRpbWVNZWRpYVNvdXJjCiAgICAgICAgIG1fY3VycmVudFNldHRpbmdzID0gV1RG
OjpudWxsb3B0OwogfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVs
JiBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2U6OmxvZ0NoYW5uZWwoKSBjb25zdAoreworICAg
IHJldHVybiBMb2dXZWJSVEM7Cit9CisKK2NvbnN0IExvZ2dlciYgUmVhbHRpbWVJbmNvbWluZ1Zp
ZGVvU291cmNlOjpsb2dnZXIoKSBjb25zdAoreworICAgIGlmICghbV9sb2dnZXIpCisgICAgICAg
IG1fbG9nZ2VyID0gTG9nZ2VyOjpjcmVhdGUodGhpcyk7CisgICAgcmV0dXJuICptX2xvZ2dlcjsK
K30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoTElC
V0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaAppbmRleCA0YWM0ZDg1NjQ1
ZjFhYjhhMmZmOGNiZWY1MmFjYTkwNWFhNjU5OWI5Li42Zjk5MDA2MGRjZjU2MTZjZDgzNDNkNTkz
OGVjMmQ4ODg4MjZjNjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaApAQCAt
NDEsMTMgKzQxLDIwIEBAIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCiAKIEFMTE9XX1VO
VVNFRF9QQVJBTUVURVJTX0VORAogCisjaW5jbHVkZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBD
YXB0dXJlRGV2aWNlOwogCi1jbGFzcyBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UgOiBwdWJs
aWMgUmVhbHRpbWVNZWRpYVNvdXJjZSwgcHJpdmF0ZSBydGM6OlZpZGVvU2lua0ludGVyZmFjZTx3
ZWJydGM6OlZpZGVvRnJhbWU+IHsKK2NsYXNzIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZQor
ICAgIDogcHVibGljIFJlYWx0aW1lTWVkaWFTb3VyY2UKKyAgICAsIHByaXZhdGUgcnRjOjpWaWRl
b1NpbmtJbnRlcmZhY2U8d2VicnRjOjpWaWRlb0ZyYW1lPgorI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgICwgcHJpdmF0ZSBMb2dnZXJIZWxwZXIKKyNlbmRpZgorewogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlPiBjcmVhdGUocnRjOjpzY29w
ZWRfcmVmcHRyPHdlYnJ0Yzo6VmlkZW9UcmFja0ludGVyZmFjZT4mJiwgU3RyaW5nJiYpOwogICAg
IH5SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UoKQpAQCAtNTcsOSArNjQsMTkgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBzZXRTb3VyY2VUcmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpW
aWRlb1RyYWNrSW50ZXJmYWNlPiYmKTsKIAorICAgIHZvaWQgc2V0TG9nZ2VyKFJlZjxjb25zdCBM
b2dnZXI+JiYgbG9nZ2VyKSB7IG1fbG9nZ2VyID0gV1RGTW92ZShsb2dnZXIpOyB9CisKIHByb3Rl
Y3RlZDoKICAgICBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UocnRjOjpzY29wZWRfcmVmcHRy
PHdlYnJ0Yzo6VmlkZW9UcmFja0ludGVyZmFjZT4mJiwgU3RyaW5nJiYpOwogCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgLy8gTG9nZ2VySGVscGVyIEFQSQorICAgIGNvbnN0IExvZ2dl
ciYgbG9nZ2VyKCkgY29uc3QgZmluYWw7CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIGNvbnN0IGNoYXIq
IGxvZ0NsYXNzTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJSZWFsdGltZUluY29taW5nVmlk
ZW9Tb3VyY2UiOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFs
OworI2VuZGlmCisgICAgCiBwcml2YXRlOgogICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2UgQVBJ
CiAgICAgdm9pZCBzdGFydFByb2R1Y2luZ0RhdGEoKSBmaW5hbDsKQEAgLTczLDYgKzkwLDExIEBA
IHByaXZhdGU6CiAKICAgICBPcHRpb25hbDxSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3M+IG1f
Y3VycmVudFNldHRpbmdzOwogICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvVHJh
Y2tJbnRlcmZhY2U+IG1fdmlkZW9UcmFjazsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
ICAgIG11dGFibGUgUmVmUHRyPGNvbnN0IExvZ2dlcj4gbV9sb2dnZXI7CisgICAgY29uc3Qgdm9p
ZCogbV9sb2dJZGVudGlmaWVyOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGlt
ZU91dGdvaW5nQXVkaW9Tb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmNwcAppbmRleCAwZDA3NDI4YWY2ODlh
MjZjMTgzNGRmMWVlZjNlNGMxYTFkNGNmY2QxLi4wM2I5NDk2ZWZjYzY0ZjUwMzg2N2YwYWJlY2Rm
OWE4OThkZDc5N2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5jcHAKQEAg
LTMzLDExICszMywxNiBAQAogCiAjaW5jbHVkZSAiTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCIKICNp
bmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNs
dWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OlJlYWx0aW1lT3V0Z29pbmdB
dWRpb1NvdXJjZShSZWY8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+JiYgc291cmNlKQogICAgIDog
bV9hdWRpb1NvdXJjZShXVEZNb3ZlKHNvdXJjZSkpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CisgICAgLCBtX2xvZ0lkZW50aWZpZXIocmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4oY3J5
cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKSkpCisjZW5kaWYKIHsKIH0KIApAQCAtMTE0LDEy
ICsxMTksMzEgQEAgdm9pZCBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2U6OlJlbW92ZVNpbmso
d2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVyZmFjZSogc2kKIAogdm9pZCBSZWFsdGltZU91dGdv
aW5nQXVkaW9Tb3VyY2U6OnNlbmRBdWRpb0ZyYW1lcyhjb25zdCB2b2lkKiBhdWRpb0RhdGEsIGlu
dCBiaXRzUGVyU2FtcGxlLCBpbnQgc2FtcGxlUmF0ZSwgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMs
IHNpemVfdCBudW1iZXJPZkZyYW1lcykKIHsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICBpZiAoISgrK21fY2h1bmtzU2VudCAlIDIwMCkpCisgICAgICAgIEFMV0FZU19MT0coTE9HSURF
TlRJRklFUiwgImNodW5rICIsIG1fY2h1bmtzU2VudCk7CisjZW5kaWYKKwogICAgIGF1dG8gbG9j
a2VyID0gaG9sZExvY2sobV9zaW5rc0xvY2spOwogICAgIGZvciAoYXV0byBzaW5rIDogbV9zaW5r
cykKICAgICAgICAgc2luay0+T25EYXRhKGF1ZGlvRGF0YSwgYml0c1BlclNhbXBsZSwgc2FtcGxl
UmF0ZSwgbnVtYmVyT2ZDaGFubmVscywgbnVtYmVyT2ZGcmFtZXMpOwogfQogCisjaWYgIVJFTEVB
U0VfTE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3Vy
Y2U6OmxvZ0NoYW5uZWwoKSBjb25zdAoreworICAgIHJldHVybiBMb2dXZWJSVEM7Cit9CisKK2Nv
bnN0IExvZ2dlciYgUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpsb2dnZXIoKSBjb25zdAor
eworICAgIGlmICghbV9sb2dnZXIpCisgICAgICAgIG1fbG9nZ2VyID0gTG9nZ2VyOjpjcmVhdGUo
dGhpcyk7CisgICAgcmV0dXJuICptX2xvZ2dlcjsKK30KIAorI2VuZGlmCisgICAgCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ0F1ZGlv
U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2UuaAppbmRleCBiMDNiZjIxYjI3NmVhZWQ3ZWY5YTQ1MmMxZjE5MmZm
MzEzMTUxMTUyLi44YzBhODI0MmQyNWE1Y2VhZTI4YTRlZjNhYTk0ZmRkYzRmODUxNTY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdv
aW5nQXVkaW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaApAQCAtNDEsNiArNDEsNyBAQCBBTExPV19V
TlVTRURfUEFSQU1FVEVSU19CRUdJTgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKIAor
I2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxwZXIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJl
ZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIHdlYnJ0YyB7CkBAIC01MCw3ICs1MSwxNCBAQCBjbGFz
cyBBdWRpb1RyYWNrU2lua0ludGVyZmFjZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBSZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50
ZWQ8UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFkOjpN
YWluPiwgcHVibGljIHdlYnJ0Yzo6QXVkaW9Tb3VyY2VJbnRlcmZhY2UsIHByaXZhdGUgTWVkaWFT
dHJlYW1UcmFja1ByaXZhdGU6Ok9ic2VydmVyIHsKK2NsYXNzIFJlYWx0aW1lT3V0Z29pbmdBdWRp
b1NvdXJjZQorICAgIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFJlYWx0aW1lT3V0Z29p
bmdBdWRpb1NvdXJjZSwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4KKyAgICAsIHB1Ymxp
YyB3ZWJydGM6OkF1ZGlvU291cmNlSW50ZXJmYWNlCisgICAgLCBwcml2YXRlIE1lZGlhU3RyZWFt
VHJhY2tQcml2YXRlOjpPYnNlcnZlcgorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwg
cHJpdmF0ZSBMb2dnZXJIZWxwZXIKKyNlbmRpZgorewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlPiBjcmVhdGUoUmVmPE1lZGlhU3RyZWFtVHJhY2tQ
cml2YXRlPiYmIGF1ZGlvU291cmNlKTsKIApAQCAtNjEsNiArNjksOCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBzZXRTb3VyY2UoUmVmPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiYmKTsKICAgICBNZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZSYgc291cmNlKCkgY29uc3QgeyByZXR1cm4gbV9hdWRpb1NvdXJj
ZS5nZXQoKTsgfQogCisgICAgdm9pZCBzZXRMb2dnZXIoUmVmPGNvbnN0IExvZ2dlcj4mJiBsb2dn
ZXIpIHsgbV9sb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlcik7IH0KKwogcHJvdGVjdGVkOgogICAgIGV4
cGxpY2l0IFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZShSZWY8TWVkaWFTdHJlYW1UcmFja1By
aXZhdGU+JiYpOwogCkBAIC03Miw2ICs4MiwxNCBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIHNl
bmRBdWRpb0ZyYW1lcyhjb25zdCB2b2lkKiBhdWRpb0RhdGEsIGludCBiaXRzUGVyU2FtcGxlLCBp
bnQgc2FtcGxlUmF0ZSwgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMsIHNpemVfdCBudW1iZXJPZkZy
YW1lcyk7CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAvLyBMb2dnZXJIZWxwZXIg
QVBJCisgICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCB2
b2lkKiBsb2dJZGVudGlmaWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVy
OyB9CisgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
IlJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZSI7IH0KKyAgICBXVEZMb2dDaGFubmVsJiBsb2dD
aGFubmVsKCkgY29uc3QgZmluYWw7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICAvLyB3ZWJydGM6
OkF1ZGlvU291cmNlSW50ZXJmYWNlIEFQSQogICAgIHZvaWQgQWRkU2luayh3ZWJydGM6OkF1ZGlv
VHJhY2tTaW5rSW50ZXJmYWNlKikgZmluYWw7CkBAIC0xMTUsNiArMTMzLDEyIEBAIHByaXZhdGU6
CiAKICAgICBtdXRhYmxlIFJlY3Vyc2l2ZUxvY2sgbV9zaW5rc0xvY2s7CiAgICAgSGFzaFNldDx3
ZWJydGM6OkF1ZGlvVHJhY2tTaW5rSW50ZXJmYWNlKj4gbV9zaW5rczsKKworI2lmICFSRUxFQVNF
X0xPR19ESVNBQkxFRAorICAgIG11dGFibGUgUmVmUHRyPGNvbnN0IExvZ2dlcj4gbV9sb2dnZXI7
CisgICAgY29uc3Qgdm9pZCogbV9sb2dJZGVudGlmaWVyOworICAgIHNpemVfdCBtX2NodW5rc1Nl
bnQgeyAwIH07CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdW
aWRlb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuY3BwCmluZGV4IGU4ZDMyMTY2M2Y0YTkyYTMyMDQ4MzZm
ZWI0NzY3MDI3Zjg5ODEyN2EuLjY0YjRlOWUyZTRiMTc0MmRmMjIyODVjNTcyZjc0ODk5MmVkMWYz
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmNwcApAQCAtNDAsNiArNDAs
NyBAQCBBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgogCiBBTExPV19VTlVTRURfUEFSQU1F
VEVSU19FTkQKIAorI2luY2x1ZGUgPHd0Zi9DcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5o
PgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQ3LDYgKzQ4LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UoUmVmPE1lZGlhU3RyZWFtVHJhY2tQ
cml2YXRlPiYmIHZpZGVvU291cmNlKQogICAgIDogbV92aWRlb1NvdXJjZShXVEZNb3ZlKHZpZGVv
U291cmNlKSkKICAgICAsIG1fYmxhY2tGcmFtZVRpbWVyKCp0aGlzLCAmUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlOjpzZW5kT25lQmxhY2tGcmFtZSkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKKyAgICAsIG1fbG9nSWRlbnRpZmllcihyZWludGVycHJldF9jYXN0PGNvbnN0IHZvaWQqPihj
cnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlcigpKSkKKyNlbmRpZgogewogfQogCkBAIC0xODYs
NyArMTkwLDcgQEAgdm9pZCBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnNlbmRCbGFja0Zy
YW1lc0lmTmVlZGVkKCkKICAgICAgICAgbV9ibGFja0ZyYW1lID0gY3JlYXRlQmxhY2tGcmFtZSh3
aWR0aCwgaGVpZ2h0KTsKICAgICAgICAgQVNTRVJUKG1fYmxhY2tGcmFtZSk7CiAgICAgICAgIGlm
ICghbV9ibGFja0ZyYW1lKSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0xPRyhXZWJSVEMsICJSZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnNlbmRCbGFja0ZyYW1lc0lmTmVlZGVkIHVuYWJsZSB0
byBzZW5kIGJsYWNrIGZyYW1lcyIpOworICAgICAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElG
SUVSLCAiVW5hYmxlIHRvIHNlbmQgYmxhY2sgZnJhbWVzIik7CiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIH0KICAgICB9CkBAIC0xOTYsNyArMjAwLDcgQEAgdm9pZCBSZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2U6OnNlbmRCbGFja0ZyYW1lc0lmTmVlZGVkKCkKIAogdm9pZCBSZWFsdGlt
ZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnNlbmRPbmVCbGFja0ZyYW1lKCkKIHsKLSAgICBSRUxFQVNF
X0xPRyhNZWRpYVN0cmVhbSwgIlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6c2VuZE9uZUJs
YWNrRnJhbWUiKTsKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJ0ZXN0Iik7CiAgICAg
c2VuZEZyYW1lKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbWVCdWZmZXI+KG1f
YmxhY2tGcmFtZSkpOwogfQogCkBAIC0yMTAsNiArMjE0LDIwIEBAIHZvaWQgUmVhbHRpbWVPdXRn
b2luZ1ZpZGVvU291cmNlOjpzZW5kRnJhbWUocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6Vmlk
ZW9GcmFtCiAgICAgICAgIHNpbmstPk9uRnJhbWUoZnJhbWUpOwogfQogCisjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECitXVEZMb2dDaGFubmVsJiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6
OmxvZ0NoYW5uZWwoKSBjb25zdAoreworICAgIHJldHVybiBMb2dXZWJSVEM7Cit9CisKK2NvbnN0
IExvZ2dlciYgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpsb2dnZXIoKSBjb25zdAorewor
ICAgIGlmICghbV9sb2dnZXIpCisgICAgICAgIG1fbG9nZ2VyID0gTG9nZ2VyOjpjcmVhdGUodGhp
cyk7CisgICAgcmV0dXJuICptX2xvZ2dlcjsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlk
ZW9Tb3VyY2UuaAppbmRleCBmMzdlNDE3YTA1MzVhNTEzYTcyNDViM2JjOTk4NTVkNjIyNjlkNmJi
Li5kNWZhMTQzMzQ0MDRkMGE3YTRmODY5Y2MzYzdkZGMwZDUyM2IzYjE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9T
b3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGlt
ZU91dGdvaW5nVmlkZW9Tb3VyY2UuaApAQCAtNDEsMTIgKzQxLDIwIEBAIEFMTE9XX1VOVVNFRF9Q
QVJBTUVURVJTX0JFR0lOCiAKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0VORAogCisjaW5jbHVk
ZSA8d3RmL0xvZ2dlckhlbHBlci5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1
ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UsIFdURjo6RGVzdHJ1Y3Rpb25UaHJl
YWQ6Ok1haW4+LCBwdWJsaWMgd2VicnRjOjpWaWRlb1RyYWNrU291cmNlSW50ZXJmYWNlLCBwcml2
YXRlIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpPYnNlcnZlciB7CitjbGFzcyBSZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2UKKyAgICA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxSZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2UsIFdURjo6RGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW4+Cisg
ICAgLCBwdWJsaWMgd2VicnRjOjpWaWRlb1RyYWNrU291cmNlSW50ZXJmYWNlCisgICAgLCBwcml2
YXRlIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpPYnNlcnZlcgorI2lmICFSRUxFQVNFX0xPR19E
SVNBQkxFRAorICAgICwgcHJpdmF0ZSBMb2dnZXJIZWxwZXIKKyNlbmRpZgorewogcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlPiBjcmVhdGUoUmVmPE1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlPiYmIHZpZGVvU291cmNlKTsKICAgICB+UmVhbHRpbWVPdXRn
b2luZ1ZpZGVvU291cmNlKCk7CkBAIC02NCw2ICs3Miw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
c2V0QXBwbHlSb3RhdGlvbihib29sIHNob3VsZEFwcGx5Um90YXRpb24pIHsgbV9zaG91bGRBcHBs
eVJvdGF0aW9uID0gc2hvdWxkQXBwbHlSb3RhdGlvbjsgfQogCisgICAgdm9pZCBzZXRMb2dnZXIo
UmVmPGNvbnN0IExvZ2dlcj4mJiBsb2dnZXIpIHsgbV9sb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlcik7
IH0KKwogcHJvdGVjdGVkOgogICAgIGV4cGxpY2l0IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJj
ZShSZWY8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+JiYpOwogCkBAIC03NSw2ICs4NSwxNCBAQCBw
cm90ZWN0ZWQ6CiAgICAgYm9vbCBtX3Nob3VsZEFwcGx5Um90YXRpb24geyBmYWxzZSB9OwogICAg
IHdlYnJ0Yzo6VmlkZW9Sb3RhdGlvbiBtX2N1cnJlbnRSb3RhdGlvbiB7IHdlYnJ0Yzo6a1ZpZGVv
Um90YXRpb25fMCB9OwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLy8gTG9nZ2Vy
SGVscGVyIEFQSQorICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWw7CisgICAg
Y29uc3Qgdm9pZCogbG9nSWRlbnRpZmllcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRl
bnRpZmllcjsgfQorICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuICJSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UiOyB9CisgICAgV1RGTG9nQ2hhbm5l
bCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZpbmFsOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgdm9p
ZCBzZW5kQmxhY2tGcmFtZXNJZk5lZWRlZCgpOwogICAgIHZvaWQgc2VuZE9uZUJsYWNrRnJhbWUo
KTsKQEAgLTEyMyw2ICsxNDEsMTEgQEAgcHJpdmF0ZToKICAgICBib29sIG1fbXV0ZWQgeyBmYWxz
ZSB9OwogICAgIHVpbnQzMl90IG1fd2lkdGggeyAwIH07CiAgICAgdWludDMyX3QgbV9oZWlnaHQg
eyAwIH07CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBtdXRhYmxlIFJlZlB0cjxj
b25zdCBMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsK
KyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1Nv
dXJjZUNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9S
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAKaW5kZXggMjJmYjEyNTYxZThiOTE3
MGYyZjBhYzljNDdkZmVkY2FhYWU1Y2I4Ny4uNjMyZWYwYmMxMTRhMjE2NjgwYTU1ZmZjMThjZGVk
ZDRhMzk2M2E4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291
cmNlQ29jb2EuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiQXVkaW9TdHJlYW1EZXNj
cmlwdGlvbi5oIgogI2luY2x1ZGUgIkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgogI2luY2x1
ZGUgIkxpYldlYlJUQ0F1ZGlvRm9ybWF0LmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1
ZGUgIldlYkF1ZGlvQnVmZmVyTGlzdC5oIgogI2luY2x1ZGUgIldlYkF1ZGlvU291cmNlUHJvdmlk
ZXJBVkZPYmpDLmgiCiAjaW5jbHVkZSA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5k
YXRpb24uaD4KQEAgLTg1LDYgKzg2LDExIEBAIHZvaWQgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291
cmNlQ29jb2E6Ok9uRGF0YShjb25zdCB2b2lkKiBhdWRpb0RhdGEsIGludCBiaXRzUGVyCiAgICAg
ZWxzZQogICAgICAgICBtZW1jcHkoYXVkaW9CdWZmZXJMaXN0LmJ1ZmZlcigwKS0+bURhdGEsIGF1
ZGlvRGF0YSwgYXVkaW9CdWZmZXJMaXN0LmJ1ZmZlcigwKS0+bURhdGFCeXRlU2l6ZSk7CiAKKyNp
ZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBpZiAoISgrK21fY2h1bmtzUmVjZWl2ZWQgJSAy
MDApKQorICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJjaHVuayAiLCBtX2NodW5r
c1JlY2VpdmVkKTsKKyNlbmRpZgorCiAgICAgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKG1lZGlhVGlt
ZSwgYXVkaW9CdWZmZXJMaXN0LCBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24obmV3RGVzY3JpcHRp
b24pLCBudW1iZXJPZkZyYW1lcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21p
bmdBdWRpb1NvdXJjZUNvY29hLmgKaW5kZXggZDAxMDQ3NWU1ZWNhMmZmYzkxNDMwMzQ3MWI2NWZi
MWE4OTdkYWJhNy4uMzcyNTY4OGExYThhZWVjNGRkMDNkOGFkYzJkMTEyYzc0ODYzMDk5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
SW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmgKQEAgLTUw
LDYgKzUwLDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBPbkRhdGEoY29uc3Qgdm9pZCogYXVkaW9E
YXRhLCBpbnQgYml0c1BlclNhbXBsZSwgaW50IHNhbXBsZVJhdGUsIHNpemVfdCBudW1iZXJPZkNo
YW5uZWxzLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpIGZpbmFsOwogCiAgICAgdWludDY0X3QgbV9u
dW1iZXJPZkZyYW1lcyB7IDAgfTsKKworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIHNp
emVfdCBtX2NodW5rc1JlY2VpdmVkIHsgMCB9OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29j
b2EubW0KaW5kZXggYjA5YWMwNGYyMmM3YmI4YmFlZDZiNGEzZTc2M2NmNzBlNmM3ZTA1NC4uZmU1
ZWJkNmNiMTE1YmEyNzg0ZjM1ZjQ4ODgzYjYwYTVmYjQ5ZmZhNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1Nv
dXJjZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQpAQCAtMTEzLDcgKzExMyw3IEBA
IENWUGl4ZWxCdWZmZXJQb29sUmVmIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hOjpw
aXhlbEJ1ZmZlclBvb2woc2l6ZV90IHdpCiAgICAgICAgIGF1dG8gc3RhdHVzID0gQ1ZQaXhlbEJ1
ZmZlclBvb2xDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbnVsbHB0ciwgKF9fYnJpZGdlIENG
RGljdGlvbmFyeVJlZilwaXhlbEF0dHJpYnV0ZXMsICZwb29sKTsKIAogICAgICAgICBpZiAoc3Rh
dHVzICE9IGtDVlJldHVyblN1Y2Nlc3MpIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HKE1lZGlh
U3RyZWFtLCAiUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6OnBpeGVsQnVmZmVyRnJv
bVZpZGVvRnJhbWUgZmFpbGVkIGNyZWF0aW5nIGEgcGl4ZWwgYnVmZmVyIHBvb2wgd2l0aCBlcnJv
ciAlZCIsIHN0YXR1cyk7CisgICAgICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkZh
aWxlZCBjcmVhdGluZyBhIHBpeGVsIGJ1ZmZlciBwb29sIHdpdGggZXJyb3IgIiwgc3RhdHVzKTsK
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9CiAgICAgICAgIG1fcGl4ZWxC
dWZmZXJQb29sID0gYWRvcHRDRihwb29sKTsKQEAgLTE0NCw3ICsxNDQsNyBAQCBSZXRhaW5QdHI8
Q1ZQaXhlbEJ1ZmZlclJlZj4gUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6OnBpeGVs
QnVmZmVyRnJvbVZpZAogICAgICAgICBhdXRvIHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJQb29sQ3Jl
YXRlUGl4ZWxCdWZmZXIoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbV9waXhlbEJ1ZmZlclBvb2wuZ2V0
KCksICZwaXhlbEJ1ZmZlcik7CiAKICAgICAgICAgaWYgKHN0YXR1cyAhPSBrQ1ZSZXR1cm5TdWNj
ZXNzKSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwgIlJlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZUNvY29hOjpwaXhlbEJ1ZmZlckZyb21WaWRlb0ZyYW1lIGZhaWxlZCBj
cmVhdGluZyBhIHBpeGVsIGJ1ZmZlciB3aXRoIGVycm9yICVkIiwgc3RhdHVzKTsKKyAgICAgICAg
ICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiRmFpbGVkIGNyZWF0aW5nIGEgcGl4ZWwgYnVm
ZmVyIHdpdGggZXJyb3IgIiwgc3RhdHVzKTsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgICAgICB9CiAgICAgICAgIG5ld1BpeGVsQnVmZmVyID0gYWRvcHRDRihwaXhlbEJ1ZmZlcik7
CkBAIC0xNTgsMTMgKzE1OCwxMyBAQCB2b2lkIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNv
Y29hOjpPbkZyYW1lKGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYgZnJhbWUpCiAgICAgICAgIHJl
dHVybjsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgIGlmICghKCsrbV9udW1iZXJP
ZkZyYW1lcyAlIDMwKSkKLSAgICAgICAgUkVMRUFTRV9MT0coTWVkaWFTdHJlYW0sICJSZWFsdGlt
ZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYTo6T25GcmFtZSAlenUgZnJhbWUiLCBtX251bWJlck9m
RnJhbWVzKTsKKyAgICBpZiAoISgrK21fbnVtYmVyT2ZGcmFtZXMgJSA2MCkpCisgICAgICAgIEFM
V0FZU19MT0coTE9HSURFTlRJRklFUiwgImZyYW1lICIsIG1fbnVtYmVyT2ZGcmFtZXMpOwogI2Vu
ZGlmCiAKICAgICBhdXRvIHBpeGVsQnVmZmVyID0gcGl4ZWxCdWZmZXJGcm9tVmlkZW9GcmFtZShm
cmFtZSk7CiAgICAgaWYgKCFwaXhlbEJ1ZmZlcikgewotICAgICAgICBMT0dfRVJST1IoIkZhaWxl
ZCB0byBnZXQgYSBwaXhlbCBidWZmZXIgZnJvbSBhIGZyYW1lIik7CisgICAgICAgIEVSUk9SX0xP
RyhMT0dJREVOVElGSUVSLCAiRmFpbGVkIHRvIGdldCBhIHBpeGVsIGJ1ZmZlciBmcm9tIGEgZnJh
bWUiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQg
UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUoY29uc3Qgd2VicnRjOjpW
aWRlb0ZyYW1lJiBmcmFtZSkKICAgICBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb25SZWYgZm9ybWF0
RGVzY3JpcHRpb247CiAgICAgT1NTdGF0dXMgb3N0YXR1cyA9IENNVmlkZW9Gb3JtYXREZXNjcmlw
dGlvbkNyZWF0ZUZvckltYWdlQnVmZmVyKGtDRkFsbG9jYXRvckRlZmF1bHQsIChDVkltYWdlQnVm
ZmVyUmVmKXBpeGVsQnVmZmVyLCAmZm9ybWF0RGVzY3JpcHRpb24pOwogICAgIGlmIChvc3RhdHVz
ICE9IG5vRXJyKSB7Ci0gICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGluaXRpYWxpemUgQ01W
aWRlb0Zvcm1hdERlc2NyaXB0aW9uOiAlZCIsIHN0YXRpY19jYXN0PGludD4ob3N0YXR1cykpOwor
ICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkZhaWxlZCB0byBpbml0aWFsaXplIENN
VmlkZW9Gb3JtYXREZXNjcmlwdGlvbiB3aXRoIGVycm9yICIsIHN0YXRpY19jYXN0PGludD4ob3N0
YXR1cykpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xODYsNyArMTg2LDcgQEAgdm9p
ZCBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYTo6T25GcmFtZShjb25zdCB3ZWJydGM6
OlZpZGVvRnJhbWUmIGZyYW1lKQogICAgIG9zdGF0dXMgPSBDTVNhbXBsZUJ1ZmZlckNyZWF0ZVJl
YWR5V2l0aEltYWdlQnVmZmVyKGtDRkFsbG9jYXRvckRlZmF1bHQsIChDVkltYWdlQnVmZmVyUmVm
KXBpeGVsQnVmZmVyLCBmb3JtYXREZXNjcmlwdGlvbiwgJnRpbWluZ0luZm8sICZzYW1wbGVCdWZm
ZXIpOwogICAgIENGUmVsZWFzZShmb3JtYXREZXNjcmlwdGlvbik7CiAgICAgaWYgKG9zdGF0dXMg
IT0gbm9FcnIpIHsKLSAgICAgICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIHRoZSBzYW1w
bGUgYnVmZmVyOiAlZCIsIHN0YXRpY19jYXN0PGludD4ob3N0YXR1cykpOworICAgICAgICBFUlJP
Ul9MT0coTE9HSURFTlRJRklFUiwgIkZhaWxlZCB0byBjcmVhdGUgdGhlIHNhbXBsZSBidWZmZXIg
d2l0aCBlcnJvciAiLCBzdGF0aWNfY2FzdDxpbnQ+KG9zdGF0dXMpKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29hLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VD
b2NvYS5jcHAKaW5kZXggMjJlNDllOTA5ODk1YTkwM2Q3MjMyZTA1MmZjNTFlODgwZmQ4MmYwNi4u
ZWQ1NzBhYTQ3OGI0NTRmMmJmODEyYTJmNmE1ZmUzOGIzMWJkNTAzYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRp
b1NvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlQ29jb2EuY3BwCkBAIC0zMSw2ICszMSw3
IEBACiAjaW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiTGli
V2ViUlRDQXVkaW9Gb3JtYXQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgorI2lu
Y2x1ZGUgIkxvZ2dpbmcuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNwcAppbmRleCA3OTgxZTcxYmU5
NWYxNTVkNzFkYTIxNDBjNGY5OTNhODczZjk4MDNhLi43YzJjOGYzMTBlZDU4NDViNWViYWY5MDA3
NGI4ZjRjZGEzN2ZhOWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlk
ZW9Tb3VyY2VDb2NvYS5jcHAKQEAgLTY3LDggKzY3LDggQEAgdm9pZCBSZWFsdGltZU91dGdvaW5n
VmlkZW9Tb3VyY2VDb2NvYTo6c2FtcGxlQnVmZmVyVXBkYXRlZChNZWRpYVN0cmVhbVRyYWNrUHJp
dmEKICAgICAgICAgcmV0dXJuOwogCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgaWYg
KCEoKyttX251bWJlck9mRnJhbWVzICUgMzApKQotICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYVN0
cmVhbSwgIlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpzZW5kRnJhbWUgJXp1IGZy
YW1lIiwgbV9udW1iZXJPZkZyYW1lcyk7CisgICAgaWYgKCEoKyttX251bWJlck9mRnJhbWVzICUg
NjApKQorICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJmcmFtZSAiLCBtX251bWJl
ck9mRnJhbWVzKTsKICNlbmRpZgogCiAgICAgc3dpdGNoIChzYW1wbGUudmlkZW9Sb3RhdGlvbigp
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW0K
aW5kZXggZDU1MDg2NGFlYjEzNmVlYzE0ZTY4MTcxOGU0MTdmMjYzNGFiYjBhNy4uNWU3ZTEyNDky
YjQ2NTdjODNmOWU0NWQzNmVkZGIwMTdjZTUyNDFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQpAQCAtNzUsNyArNzUsNyBAQCBSZXRhaW5Q
dHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OnJv
dGF0ZVBpeGVsQnVmZmVyKAogICAgICAgICBWVEltYWdlUm90YXRpb25TZXNzaW9uUmVmIHJhd1Jv
dGF0aW9uU2Vzc2lvbiA9IG51bGxwdHI7CiAgICAgICAgIGF1dG8gc3RhdHVzID0gVlRJbWFnZVJv
dGF0aW9uU2Vzc2lvbkNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCByb3RhdGlvbiwgJnJhd1Jv
dGF0aW9uU2Vzc2lvbik7CiAgICAgICAgIGlmIChzdGF0dXMgIT0gbm9FcnIpIHsKLSAgICAgICAg
ICAgIFJFTEVBU0VfTE9HKE1lZGlhU3RyZWFtLCAiUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNl
Q29jb2E6OnJvdGF0ZVBpeGVsQnVmZmVyIGZhaWxlZCBjcmVhdGluZyBhIHJvdGF0aW9uIHNlc3Np
b24gd2l0aCBlcnJvciAlZCIsIHN0YXR1cyk7CisgICAgICAgICAgICBBTFdBWVNfTE9HKExPR0lE
RU5USUZJRVIsICJGYWlsZWQgY3JlYXRpbmcgYSByb3RhdGlvbiBzZXNzaW9uIHdpdGggZXJyb3Ig
Iiwgc3RhdHVzKTsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9CiAKQEAg
LTEwMCw3ICsxMDAsNyBAQCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gUmVhbHRpbWVPdXRn
b2luZ1ZpZGVvU291cmNlQ29jb2E6OnJvdGF0ZVBpeGVsQnVmZmVyKAogICAgICAgICBhdXRvIHN0
YXR1cyA9IENWUGl4ZWxCdWZmZXJQb29sQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIG51bGxw
dHIsIChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpcGl4ZWxBdHRyaWJ1dGVzLCAmcG9vbCk7CiAK
ICAgICAgICAgaWYgKHN0YXR1cyAhPSBrQ1ZSZXR1cm5TdWNjZXNzKSB7Ci0gICAgICAgICAgICBS
RUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwgIlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29h
Ojpyb3RhdGVQaXhlbEJ1ZmZlciBmYWlsZWQgY3JlYXRpbmcgYSBwaXhlbCBidWZmZXIgcG9vbCB3
aXRoIGVycm9yICVkIiwgc3RhdHVzKTsKKyAgICAgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJ
RklFUiwgIkZhaWxlZCBjcmVhdGluZyBhIHBpeGVsIGJ1ZmZlciBwb29sIHdpdGggZXJyb3IgIiwg
c3RhdHVzKTsKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9CiAgICAgICAg
IG1fcm90YXRpb25Qb29sID0gYWRvcHRDRihwb29sKTsKQEAgLTExNCw3ICsxMTQsNyBAQCBSZXRh
aW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6
OnJvdGF0ZVBpeGVsQnVmZmVyKAogICAgIGF1dG8gc3RhdHVzID0gQ1ZQaXhlbEJ1ZmZlclBvb2xD
cmVhdGVQaXhlbEJ1ZmZlcihrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBtX3JvdGF0aW9uUG9vbC5nZXQo
KSwgJnJhd1JvdGF0ZWRCdWZmZXIpOwogCiAgICAgaWYgKHN0YXR1cyAhPSBrQ1ZSZXR1cm5TdWNj
ZXNzKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKE1lZGlhU3RyZWFtLCAiUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlQ29jb2E6OnJvdGF0ZVBpeGVsQnVmZmVyIGZhaWxlZCBjcmVhdGluZyBhIHBp
eGVsIGJ1ZmZlciB3aXRoIGVycm9yICVkIiwgc3RhdHVzKTsKKyAgICAgICAgQUxXQVlTX0xPRyhM
T0dJREVOVElGSUVSLCAiRmFpbGVkIGNyZWF0aW5nIGEgcGl4ZWwgYnVmZmVyIHdpdGggZXJyb3Ig
Iiwgc3RhdHVzKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIFJldGFpblB0
cjxDVlBpeGVsQnVmZmVyUmVmPiByb3RhdGVkQnVmZmVyID0gYWRvcHRDRihyYXdSb3RhdGVkQnVm
ZmVyKTsKQEAgLTEyMiw3ICsxMjIsNyBAQCBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gUmVh
bHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OnJvdGF0ZVBpeGVsQnVmZmVyKAogICAgIHN0
YXR1cyA9IFZUSW1hZ2VSb3RhdGlvblNlc3Npb25UcmFuc2ZlckltYWdlKG1fcm90YXRpb25TZXNz
aW9uLmdldCgpLCBwaXhlbEJ1ZmZlciwgcm90YXRlZEJ1ZmZlci5nZXQoKSk7CiAKICAgICBpZiAo
c3RhdHVzICE9IG5vRXJyKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HKE1lZGlhU3RyZWFtLCAiUmVh
bHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OnJvdGF0ZVBpeGVsQnVmZmVyIGZhaWxlZCBy
b3RhdGluZyB3aXRoIGVycm9yICVkIiwgc3RhdHVzKTsKKyAgICAgICAgQUxXQVlTX0xPRyhMT0dJ
REVOVElGSUVSLCAiRmFpbGVkIHJvdGF0aW5nIHdpdGggZXJyb3IgIiwgc3RhdHVzKTsKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogICAgIHJldHVybiByb3RhdGVkQnVmZmVyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359374</attachid>
            <date>2019-01-17 07:49:18 -0800</date>
            <delta_ts>2019-01-17 11:23:51 -0800</delta_ts>
            <desc>Fix GTK</desc>
            <filename>bug-185545-20190117074917.patch</filename>
            <type>text/plain</type>
            <size>33018</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBiNTc3N2JiN2M5ZGM5
NzhhYjI2NThlM2IwMzA4YmYzMDliMDMzNi4uYmVkOTQwZTZmYTg1MTk2OTg4YzIyNTIzMTFmOTFh
OWQ4NmI1YzJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE5LTAxLTE3ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcmVsZWFzZSBsb2dn
aW5nIGZvciBpbmNvbWluZyBhbmQgb3V0Z29pbmcgd2VicnRjIGF1ZGlvIHRyYWNrcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NTQ1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIEFkZCBsb2dnaW5nIG9mIGF1
ZGlvIHRyYWNrcy4gV2hlbiBkb2luZyBhIFdlYlJUQyBjYWxsLAorICAgICAgICBvbmUgbG9nIGxp
bmUgaXMgYWRkZWQgZWFjaCBzZWNvbmQgZm9yIGVhY2ggYXVkaW8gdHJhY2suCisgICAgICAgIFZh
bGlkYXRlZCB0aGF0IGxvZ2dpbmcgaXMgZG9uZSB0aHJvdWdoIG1hbnVhbCB0ZXN0aW5nLgorCisg
ICAgICAgIFJlZmFjdG9yZWQgY29kZSB0byB1c2UgTG9nSGVscGVyIGFuZCBhcHBseSBpdCB0byB2
aWRlbyBzb3VyY2VzIGFzIHdlbGwuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxp
YldlYlJUQ01lZGlhRW5kcG9pbnQ6OmFkZFRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldl
YlJUQ01lZGlhRW5kcG9pbnQ6OnNvdXJjZUZyb21OZXdSZWNlaXZlcik6CisgICAgICAgIChXZWJD
b3JlOjpzb3VyY2VGcm9tTmV3UmVjZWl2ZXIpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlOjpSZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1
ZGlvU291cmNlOjpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1l
SW5jb21pbmdBdWRpb1NvdXJjZTo6bG9nZ2VyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZTo6c2V0TG9nZ2VyKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlOjpSZWFsdGltZUluY29t
aW5nVmlkZW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVv
U291cmNlOjpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZTo6bG9nZ2VyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZTo6c2V0TG9nZ2VyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpSZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291
cmNlOjpzZW5kQXVkaW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2lu
Z0F1ZGlvU291cmNlOjpsb2dDaGFubmVsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6bG9nZ2VyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6c2V0TG9nZ2VyKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpSZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlOjpzZW5kQmxhY2tGcmFtZXNJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnNlbmRPbmVCbGFja0ZyYW1lKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6bG9nQ2hhbm5lbCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OmxvZ2dlciBj
b25zdCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1Zp
ZGVvU291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3Vy
Y2U6OnNldExvZ2dlcik6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpPbkRhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3Vy
Y2VDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJj
ZUNvY29hOjpwaXhlbEJ1ZmZlclBvb2wpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNv
bWluZ1ZpZGVvU291cmNlQ29jb2E6OnBpeGVsQnVmZmVyRnJvbVZpZGVvRnJhbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUpOgor
ICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9T
b3VyY2VDb2NvYS5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpzYW1wbGVCdWZmZXJVcGRhdGVkKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNl
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VD
b2NvYTo6cm90YXRlUGl4ZWxCdWZmZXIpOgorCiAyMDE5LTAxLTE2ICBNeWxlcyBDLiBNYXhmaWVs
ZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dITFNMXSBBZGQgdGhlIGxpdGVy
YWwgdHlwZSBjaGVja2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENNZWRpYUVuZHBvaW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQu
Y3BwCmluZGV4IGFkODIwOTU3YzFhNmEzNTZlNTQzZDdmNzZiNGMzYWM1Mjc3MmRkMmQuLjNkYjQy
YWUxNWU3ZWM4ZTA5YTdiNjI5MDAzNGY4ZjJmYjUwYTgyMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9p
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ01lZGlhRW5kcG9pbnQuY3BwCkBAIC0yMTksMTIgKzIxOSwxOCBAQCBib29sIExp
YldlYlJUQ01lZGlhRW5kcG9pbnQ6OmFkZFRyYWNrKExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQm
IHNlbmRlciwgTWVkaWFTdAogICAgIHN3aXRjaCAodHJhY2sucHJpdmF0ZVRyYWNrKCkudHlwZSgp
KSB7CiAgICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbzogewogICAgICAg
ICBhdXRvIGF1ZGlvU291cmNlID0gUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpjcmVhdGUo
dHJhY2sucHJpdmF0ZVRyYWNrKCkpOworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICAg
ICBhdWRpb1NvdXJjZS0+c2V0TG9nZ2VyKG1fbG9nZ2VyLmNvcHlSZWYoKSk7CisjZW5kaWYKICAg
ICAgICAgcnRjVHJhY2sgPSBtX3BlZXJDb25uZWN0aW9uRmFjdG9yeS5DcmVhdGVBdWRpb1RyYWNr
KHRyYWNrLmlkKCkudXRmOCgpLmRhdGEoKSwgYXVkaW9Tb3VyY2UucHRyKCkpOwogICAgICAgICBz
b3VyY2UgPSBXVEZNb3ZlKGF1ZGlvU291cmNlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAg
IGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW86IHsKICAgICAgICAgYXV0byB2
aWRlb1NvdXJjZSA9IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6Y3JlYXRlKHRyYWNrLnBy
aXZhdGVUcmFjaygpKTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgdmlkZW9T
b3VyY2UtPnNldExvZ2dlcihtX2xvZ2dlci5jb3B5UmVmKCkpOworI2VuZGlmCiAgICAgICAgIHJ0
Y1RyYWNrID0gbV9wZWVyQ29ubmVjdGlvbkZhY3RvcnkuQ3JlYXRlVmlkZW9UcmFjayh0cmFjay5p
ZCgpLnV0ZjgoKS5kYXRhKCksIHZpZGVvU291cmNlLnB0cigpKTsKICAgICAgICAgc291cmNlID0g
V1RGTW92ZSh2aWRlb1NvdXJjZSk7CiAgICAgICAgIGJyZWFrOwpAQCAtNDQ1LDcgKzQ1MSw3IEBA
IHN0YXRpYyBpbmxpbmUgdm9pZCBzZXRFeGlzdGluZ1JlY2VpdmVyU291cmNlVHJhY2soUmVhbHRp
bWVNZWRpYVNvdXJjZSYgZXhpc3RpbmdTCiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIFJlZlB0
cjxSZWFsdGltZU1lZGlhU291cmNlPiBzb3VyY2VGcm9tTmV3UmVjZWl2ZXIod2VicnRjOjpSdHBS
ZWNlaXZlckludGVyZmFjZSYgcnRjUmVjZWl2ZXIpCitSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJj
ZT4gTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6c291cmNlRnJvbU5ld1JlY2VpdmVyKHdlYnJ0Yzo6
UnRwUmVjZWl2ZXJJbnRlcmZhY2UmIHJ0Y1JlY2VpdmVyKQogewogICAgIGF1dG8gcnRjVHJhY2sg
PSBydGNSZWNlaXZlci50cmFjaygpOwogICAgIHN3aXRjaCAocnRjUmVjZWl2ZXIubWVkaWFfdHlw
ZSgpKSB7CkBAIC00NTMsMTEgKzQ1OSwxOSBAQCBzdGF0aWMgaW5saW5lIFJlZlB0cjxSZWFsdGlt
ZU1lZGlhU291cmNlPiBzb3VyY2VGcm9tTmV3UmVjZWl2ZXIod2VicnRjOjpSdHBSZWNlaQogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBjYXNlIGNyaWNrZXQ6Ok1FRElBX1RZUEVfQVVESU86
IHsKICAgICAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6QXVkaW9UcmFja0ludGVyZmFj
ZT4gYXVkaW9UcmFjayA9IHN0YXRpY19jYXN0PHdlYnJ0Yzo6QXVkaW9UcmFja0ludGVyZmFjZSo+
KHJ0Y1RyYWNrLmdldCgpKTsKLSAgICAgICAgcmV0dXJuIFJlYWx0aW1lSW5jb21pbmdBdWRpb1Nv
dXJjZTo6Y3JlYXRlKFdURk1vdmUoYXVkaW9UcmFjayksIGZyb21TdGRTdHJpbmcocnRjVHJhY2st
PmlkKCkpKTsKKyAgICAgICAgYXV0byBhdWRpb1NvdXJjZSA9IFJlYWx0aW1lSW5jb21pbmdBdWRp
b1NvdXJjZTo6Y3JlYXRlKFdURk1vdmUoYXVkaW9UcmFjayksIGZyb21TdGRTdHJpbmcocnRjVHJh
Y2stPmlkKCkpKTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgYXVkaW9Tb3Vy
Y2UtPnNldExvZ2dlcihtX2xvZ2dlci5jb3B5UmVmKCkpOworI2VuZGlmCisgICAgICAgIHJldHVy
biBhdWRpb1NvdXJjZTsKICAgICB9CiAgICAgY2FzZSBjcmlja2V0OjpNRURJQV9UWVBFX1ZJREVP
OiB7CiAgICAgICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvVHJhY2tJbnRlcmZh
Y2U+IHZpZGVvVHJhY2sgPSBzdGF0aWNfY2FzdDx3ZWJydGM6OlZpZGVvVHJhY2tJbnRlcmZhY2Uq
PihydGNUcmFjay5nZXQoKSk7Ci0gICAgICAgIHJldHVybiBSZWFsdGltZUluY29taW5nVmlkZW9T
b3VyY2U6OmNyZWF0ZShXVEZNb3ZlKHZpZGVvVHJhY2spLCBmcm9tU3RkU3RyaW5nKHJ0Y1RyYWNr
LT5pZCgpKSk7CisgICAgICAgIGF1dG8gdmlkZW9Tb3VyY2UgPSAgUmVhbHRpbWVJbmNvbWluZ1Zp
ZGVvU291cmNlOjpjcmVhdGUoV1RGTW92ZSh2aWRlb1RyYWNrKSwgZnJvbVN0ZFN0cmluZyhydGNU
cmFjay0+aWQoKSkpOworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICAgICB2aWRlb1Nv
dXJjZS0+c2V0TG9nZ2VyKG1fbG9nZ2VyLmNvcHlSZWYoKSk7CisjZW5kaWYKKyAgICAgICAgcmV0
dXJuIHZpZGVvU291cmNlOwogICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ01lZGlhRW5kcG9pbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q01lZGlhRW5kcG9pbnQuaAppbmRleCAxOWU4NTZjMDg4NzcyNWY3YTJmYzBkYzhmMDMxOGI4ODE0
ZWVjYTEzLi5mOGNiOGI5MjFkNGNlODkyYzI4MjNjMzI3ZGNlNjUwNDA1Y2U0ZGQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENNZWRpYUVuZHBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDTWVkaWFFbmRwb2ludC5oCkBAIC0xNjcsNiArMTY3LDcgQEAg
cHJpdmF0ZToKICAgICB9CiAKICAgICBzdGQ6OnBhaXI8TGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZDo6U291cmNlLCBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpNZWRpYVN0cmVhbVRyYWNrSW50
ZXJmYWNlPj4gY3JlYXRlU291cmNlQW5kUlRDVHJhY2soTWVkaWFTdHJlYW1UcmFjayYpOworICAg
IFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBzb3VyY2VGcm9tTmV3UmVjZWl2ZXIod2VicnRj
OjpSdHBSZWNlaXZlckludGVyZmFjZSYpOwogCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAg
ICAgY29uc3QgTG9nZ2VyJiBsb2dnZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ2dlci5n
ZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5jcHAKaW5kZXggNzRhZDI5
NmUxN2M2YjI2Y2MzMGRmYTU0NjJkNmRlZmJhNjQ0YjkwNS4uZmUwZGRkNzk3MjAzMmFiNjM3OTFk
Y2Q3Y2Y1ZDMzYjg0ZjE3MGQyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2Uu
Y3BwCkBAIC0zNCwxMiArMzQsMTcgQEAKICNpZiBVU0UoTElCV0VCUlRDKQogCiAjaW5jbHVkZSAi
TGliV2ViUlRDQXVkaW9Gb3JtYXQuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSA8
d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlOjpSZWFsdGltZUluY29taW5nQXVkaW9T
b3VyY2UocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6QXVkaW9UcmFja0ludGVyZmFjZT4mJiBh
dWRpb1RyYWNrLCBTdHJpbmcmJiBhdWRpb1RyYWNrSWQpCiAgICAgOiBSZWFsdGltZU1lZGlhU291
cmNlKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OkF1ZGlvLCAicmVtb3RlIGF1ZGlvIl9zLCBX
VEZNb3ZlKGF1ZGlvVHJhY2tJZCkpCiAgICAgLCBtX2F1ZGlvVHJhY2soV1RGTW92ZShhdWRpb1Ry
YWNrKSkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIG1fbG9nSWRlbnRpZmllcihy
ZWludGVycHJldF9jYXN0PGNvbnN0IHZvaWQqPihjcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJl
cigpKSkKKyNlbmRpZgogewogICAgIG5vdGlmeU11dGVkQ2hhbmdlKCFtX2F1ZGlvVHJhY2spOwog
fQpAQCAtODQsNiArODksMjAgQEAgY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzJiBS
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2U6OnNldHRpbmdzKCkKICAgICByZXR1cm4gbV9jdXJy
ZW50U2V0dGluZ3M7CiB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK1dURkxvZ0NoYW5u
ZWwmIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZTo6bG9nQ2hhbm5lbCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIExvZ1dlYlJUQzsKK30KKworY29uc3QgTG9nZ2VyJiBSZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2U6OmxvZ2dlcigpIGNvbnN0Cit7CisgICAgaWYgKCFtX2xvZ2dlcikKKyAgICAg
ICAgbV9sb2dnZXIgPSBMb2dnZXI6OmNyZWF0ZSh0aGlzKTsKKyAgICByZXR1cm4gKm1fbG9nZ2Vy
OworfQorI2VuZGlmCisKIH0KIAogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nQXVk
aW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1l
SW5jb21pbmdBdWRpb1NvdXJjZS5oCmluZGV4IDI3NTQ5ZjFjZjIwODY3MzU0OTFiN2U2NzhhYjc5
MGMxZGI1MGQzYWEuLjE2ZTIxMjhhN2VhZjU4Y2ZkZTQ4MzQwM2YyY2ZiODJkYTlmMDE5NWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5j
b21pbmdBdWRpb1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oCkBAIC00MSwyMCArNDEsMzkgQEAgQUxM
T1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KIAogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5E
CiAKKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlYWx0aW1lSW5jb21pbmdBdWRp
b1NvdXJjZSA6IHB1YmxpYyBSZWFsdGltZU1lZGlhU291cmNlLCBwcml2YXRlIHdlYnJ0Yzo6QXVk
aW9UcmFja1NpbmtJbnRlcmZhY2UgeworY2xhc3MgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNl
CisgICAgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZQorICAgICwgcHJpdmF0ZSB3ZWJydGM6
OkF1ZGlvVHJhY2tTaW5rSW50ZXJmYWNlCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAg
LCBwcml2YXRlIExvZ2dlckhlbHBlcgorI2VuZGlmCit7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2U+IGNyZWF0ZShydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpBdWRpb1RyYWNrSW50ZXJmYWNlPiYmLCBTdHJpbmcmJik7CiAKICAgICB2b2lkIHNl
dFNvdXJjZVRyYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvVHJhY2tJbnRlcmZh
Y2U+JiYpOwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgdm9pZCBzZXRMb2dnZXIo
UmVmPGNvbnN0IExvZ2dlcj4mJiBsb2dnZXIpIHsgbV9sb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlcik7
IH0KKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNl
KHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvVHJhY2tJbnRlcmZhY2U+JiYsIFN0cmlu
ZyYmKTsKICAgICB+UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlKCk7CiAKKyNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKKyAgICAvLyBMb2dnZXJIZWxwZXIgQVBJCisgICAgY29uc3QgTG9nZ2Vy
JiBsb2dnZXIoKSBjb25zdCBmaW5hbDsKKyAgICBjb25zdCB2b2lkKiBsb2dJZGVudGlmaWVyKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9sb2dJZGVudGlmaWVyOyB9CisgICAgY29uc3QgY2hhciog
bG9nQ2xhc3NOYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlJlYWx0aW1lSW5jb21pbmdBdWRp
b1NvdXJjZSI7IH0KKyAgICBXVEZMb2dDaGFubmVsJiBsb2dDaGFubmVsKCkgY29uc3QgZmluYWw7
CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICAvLyB3ZWJydGM6OkF1ZGlvVHJhY2tTaW5rSW50ZXJm
YWNlIEFQSQogICAgIHZpcnR1YWwgdm9pZCBPbkRhdGEoY29uc3Qgdm9pZCogLyogYXVkaW9EYXRh
ICovLCBpbnQgLyogYml0c1BlclNhbXBsZSAqLywgaW50IC8qIHNhbXBsZVJhdGUgKi8sIHNpemVf
dCAvKiBudW1iZXJPZkNoYW5uZWxzICovLCBzaXplX3QgLyogbnVtYmVyT2ZGcmFtZXMgKi8pIHsg
fTsKQEAgLTcwLDYgKzg5LDExIEBAIHByaXZhdGU6CiAKICAgICBSZWFsdGltZU1lZGlhU291cmNl
U2V0dGluZ3MgbV9jdXJyZW50U2V0dGluZ3M7CiAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6QXVkaW9UcmFja0ludGVyZmFjZT4gbV9hdWRpb1RyYWNrOworCisjaWYgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECisgICAgbXV0YWJsZSBSZWZQdHI8Y29uc3QgTG9nZ2VyPiBtX2xvZ2dlcjsKKyAg
ICBjb25zdCB2b2lkKiBtX2xvZ0lkZW50aWZpZXI7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuY3BwCmluZGV4IDlj
NzUyODFjMGUxNjQ2NDJkZGI4MWRlMjBmOTRmMGU1ZGU2Mjc0NzkuLjE0NDZiM2ZjMTc0OWIwNjY4
YWYzYjEzMDBjODdkZDZhOWI2YzdhY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291
cmNlLmNwcApAQCAtMzQsMTIgKzM0LDE2IEBACiAjaWYgVVNFKExJQldFQlJUQykKIAogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1i
ZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBSZWFsdGltZUluY29taW5nVmlkZW9Tb3Vy
Y2U6OlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRj
OjpWaWRlb1RyYWNrSW50ZXJmYWNlPiYmIHZpZGVvVHJhY2ssIFN0cmluZyYmIHZpZGVvVHJhY2tJ
ZCkKICAgICA6IFJlYWx0aW1lTWVkaWFTb3VyY2UoVHlwZTo6VmlkZW8sICJyZW1vdGUgdmlkZW8i
X3MsIFdURk1vdmUodmlkZW9UcmFja0lkKSkKICAgICAsIG1fdmlkZW9UcmFjayhXVEZNb3ZlKHZp
ZGVvVHJhY2spKQorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dJZGVudGlm
aWVyKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9t
TnVtYmVyKCkpKQorI2VuZGlmCiB7CiAgICAgbm90aWZ5TXV0ZWRDaGFuZ2UoIW1fdmlkZW9UcmFj
ayk7CiAKQEAgLTEwNCw2ICsxMDgsMjAgQEAgdm9pZCBSZWFsdGltZUluY29taW5nVmlkZW9Tb3Vy
Y2U6OnNldHRpbmdzRGlkQ2hhbmdlKE9wdGlvblNldDxSZWFsdGltZU1lZGlhU291cmMKICAgICAg
ICAgbV9jdXJyZW50U2V0dGluZ3MgPSBXVEY6Om51bGxvcHQ7CiB9CiAKKyNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKK1dURkxvZ0NoYW5uZWwmIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZTo6
bG9nQ2hhbm5lbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIExvZ1dlYlJUQzsKK30KKworY29uc3Qg
TG9nZ2VyJiBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2U6OmxvZ2dlcigpIGNvbnN0Cit7Cisg
ICAgaWYgKCFtX2xvZ2dlcikKKyAgICAgICAgbV9sb2dnZXIgPSBMb2dnZXI6OmNyZWF0ZSh0aGlz
KTsKKyAgICByZXR1cm4gKm1fbG9nZ2VyOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRl
b1NvdXJjZS5oCmluZGV4IDRhYzRkODU2NDVmMWFiOGEyZmY4Y2JlZjUyYWNhOTA1YWE2NTk5Yjku
LmQwYzQ5NjAyMzgwOGE1NTc5MDQ1NTRjMjVhYzFmZGJiMGMwOWZjZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdWaWRlb1Nv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZS5oCkBAIC00MSwxMyArNDEsMjAgQEAgQUxMT1dfVU5VU0VEX1BB
UkFNRVRFUlNfQkVHSU4KIAogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECiAKKyNpbmNsdWRl
IDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhcHR1cmVEZXZpY2U7CiAKLWNsYXNzIFJlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZSA6IHB1YmxpYyBSZWFsdGltZU1lZGlhU291cmNlLCBwcml2YXRl
IHJ0Yzo6VmlkZW9TaW5rSW50ZXJmYWNlPHdlYnJ0Yzo6VmlkZW9GcmFtZT4geworY2xhc3MgUmVh
bHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlCisgICAgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJj
ZQorICAgICwgcHJpdmF0ZSBydGM6OlZpZGVvU2lua0ludGVyZmFjZTx3ZWJydGM6OlZpZGVvRnJh
bWU+CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBwcml2YXRlIExvZ2dlckhlbHBl
cgorI2VuZGlmCit7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxSZWFsdGltZUluY29taW5nVmlk
ZW9Tb3VyY2U+IGNyZWF0ZShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpWaWRlb1RyYWNrSW50
ZXJmYWNlPiYmLCBTdHJpbmcmJik7CiAgICAgflJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZSgp
CkBAIC01Nyw5ICs2NCwyMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldFNvdXJjZVRyYWNrKHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvVHJhY2tJbnRlcmZhY2U+JiYpOwogCisjaWYg
IVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgdm9pZCBzZXRMb2dnZXIoUmVmPGNvbnN0IExvZ2dl
cj4mJiBsb2dnZXIpIHsgbV9sb2dnZXIgPSBXVEZNb3ZlKGxvZ2dlcik7IH0KKyNlbmRpZgorCiBw
cm90ZWN0ZWQ6CiAgICAgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlKHJ0Yzo6c2NvcGVkX3Jl
ZnB0cjx3ZWJydGM6OlZpZGVvVHJhY2tJbnRlcmZhY2U+JiYsIFN0cmluZyYmKTsKIAorI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAorICAgIC8vIExvZ2dlckhlbHBlciBBUEkKKyAgICBjb25zdCBM
b2dnZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsOworICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZp
ZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBjb25zdCBj
aGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAiUmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlIjsgfQorICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBm
aW5hbDsKKyNlbmRpZgorICAgIAogcHJpdmF0ZToKICAgICAvLyBSZWFsdGltZU1lZGlhU291cmNl
IEFQSQogICAgIHZvaWQgc3RhcnRQcm9kdWNpbmdEYXRhKCkgZmluYWw7CkBAIC03Myw2ICs5Miwx
MSBAQCBwcml2YXRlOgogCiAgICAgT3B0aW9uYWw8UmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdz
PiBtX2N1cnJlbnRTZXR0aW5nczsKICAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpWaWRl
b1RyYWNrSW50ZXJmYWNlPiBtX3ZpZGVvVHJhY2s7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKKyAgICBtdXRhYmxlIFJlZlB0cjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0
IHZvaWQqIG1fbG9nSWRlbnRpZmllcjsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZS5jcHAKaW5kZXggMGQwNzQyOGFm
Njg5YTI2YzE4MzRkZjFlZWYzZTRjMWExZDRjZmNkMS4uMDNiOTQ5NmVmY2M2NGY1MDM4NjdmMGFi
ZWNkZjlhODk4ZGQ3OTdkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2UuY3Bw
CkBAIC0zMywxMSArMzMsMTYgQEAKIAogI2luY2x1ZGUgIkxpYldlYlJUQ0F1ZGlvRm9ybWF0Lmgi
CiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisj
aW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpSZWFsdGltZU91dGdv
aW5nQXVkaW9Tb3VyY2UoUmVmPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiYmIHNvdXJjZSkKICAg
ICA6IG1fYXVkaW9Tb3VyY2UoV1RGTW92ZShzb3VyY2UpKQorI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgICwgbV9sb2dJZGVudGlmaWVyKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+
KGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCkpKQorI2VuZGlmCiB7CiB9CiAKQEAgLTEx
NCwxMiArMTE5LDMxIEBAIHZvaWQgUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlOjpSZW1vdmVT
aW5rKHdlYnJ0Yzo6QXVkaW9UcmFja1NpbmtJbnRlcmZhY2UqIHNpCiAKIHZvaWQgUmVhbHRpbWVP
dXRnb2luZ0F1ZGlvU291cmNlOjpzZW5kQXVkaW9GcmFtZXMoY29uc3Qgdm9pZCogYXVkaW9EYXRh
LCBpbnQgYml0c1BlclNhbXBsZSwgaW50IHNhbXBsZVJhdGUsIHNpemVfdCBudW1iZXJPZkNoYW5u
ZWxzLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpCiB7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CisgICAgaWYgKCEoKyttX2NodW5rc1NlbnQgJSAyMDApKQorICAgICAgICBBTFdBWVNfTE9HKExP
R0lERU5USUZJRVIsICJjaHVuayAiLCBtX2NodW5rc1NlbnQpOworI2VuZGlmCisKICAgICBhdXRv
IGxvY2tlciA9IGhvbGRMb2NrKG1fc2lua3NMb2NrKTsKICAgICBmb3IgKGF1dG8gc2luayA6IG1f
c2lua3MpCiAgICAgICAgIHNpbmstPk9uRGF0YShhdWRpb0RhdGEsIGJpdHNQZXJTYW1wbGUsIHNh
bXBsZVJhdGUsIG51bWJlck9mQ2hhbm5lbHMsIG51bWJlck9mRnJhbWVzKTsKIH0KIAorI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAorV1RGTG9nQ2hhbm5lbCYgUmVhbHRpbWVPdXRnb2luZ0F1ZGlv
U291cmNlOjpsb2dDaGFubmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTG9nV2ViUlRDOworfQor
Citjb25zdCBMb2dnZXImIFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZTo6bG9nZ2VyKCkgY29u
c3QKK3sKKyAgICBpZiAoIW1fbG9nZ2VyKQorICAgICAgICBtX2xvZ2dlciA9IExvZ2dlcjo6Y3Jl
YXRlKHRoaXMpOworICAgIHJldHVybiAqbV9sb2dnZXI7Cit9CiAKKyNlbmRpZgorICAgIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdB
dWRpb1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRp
bWVPdXRnb2luZ0F1ZGlvU291cmNlLmgKaW5kZXggYjAzYmYyMWIyNzZlYWVkN2VmOWE0NTJjMWYx
OTJmZjMxMzE1MTE1Mi4uOTdkMGQ0ZmVjN2QzODhkMThkYzcwMDVlNjExZTFjNzQ4MjRjZjhkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVP
dXRnb2luZ0F1ZGlvU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlLmgKQEAgLTQxLDYgKzQxLDcgQEAgQUxM
T1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KIAogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5E
CiAKKyNpbmNsdWRlIDx3dGYvTG9nZ2VySGVscGVyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNh
ZmVSZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSB3ZWJydGMgewpAQCAtNTAsNyArNTEsMTQgQEAg
Y2xhc3MgQXVkaW9UcmFja1NpbmtJbnRlcmZhY2U7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgUmVhbHRpbWVPdXRnb2luZ0F1ZGlvU291cmNlIDogcHVibGljIFRocmVhZFNhZmVSZWZD
b3VudGVkPFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZSwgV1RGOjpEZXN0cnVjdGlvblRocmVh
ZDo6TWFpbj4sIHB1YmxpYyB3ZWJydGM6OkF1ZGlvU291cmNlSW50ZXJmYWNlLCBwcml2YXRlIE1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpPYnNlcnZlciB7CitjbGFzcyBSZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2UKKyAgICA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxSZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2UsIFdURjo6RGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW4+CisgICAgLCBw
dWJsaWMgd2VicnRjOjpBdWRpb1NvdXJjZUludGVyZmFjZQorICAgICwgcHJpdmF0ZSBNZWRpYVN0
cmVhbVRyYWNrUHJpdmF0ZTo6T2JzZXJ2ZXIKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICAsIHByaXZhdGUgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFJlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZT4gY3JlYXRlKFJlZjxNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZT4mJiBhdWRpb1NvdXJjZSk7CiAKQEAgLTYxLDYgKzY5LDEwIEBAIHB1YmxpYzoK
ICAgICBib29sIHNldFNvdXJjZShSZWY8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+JiYpOwogICAg
IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiBzb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX2F1ZGlv
U291cmNlLmdldCgpOyB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICB2b2lkIHNl
dExvZ2dlcihSZWY8Y29uc3QgTG9nZ2VyPiYmIGxvZ2dlcikgeyBtX2xvZ2dlciA9IFdURk1vdmUo
bG9nZ2VyKTsgfQorI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBSZWFsdGltZU91
dGdvaW5nQXVkaW9Tb3VyY2UoUmVmPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiYmKTsKIApAQCAt
NzIsNiArODQsMTQgQEAgcHJvdGVjdGVkOgogCiAgICAgdm9pZCBzZW5kQXVkaW9GcmFtZXMoY29u
c3Qgdm9pZCogYXVkaW9EYXRhLCBpbnQgYml0c1BlclNhbXBsZSwgaW50IHNhbXBsZVJhdGUsIHNp
emVfdCBudW1iZXJPZkNoYW5uZWxzLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMpOwogCisjaWYgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECisgICAgLy8gTG9nZ2VySGVscGVyIEFQSQorICAgIGNvbnN0IExv
Z2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWw7CisgICAgY29uc3Qgdm9pZCogbG9nSWRlbnRpZmll
cigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nSWRlbnRpZmllcjsgfQorICAgIGNvbnN0IGNo
YXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJSZWFsdGltZU91dGdvaW5n
QXVkaW9Tb3VyY2UiOyB9CisgICAgV1RGTG9nQ2hhbm5lbCYgbG9nQ2hhbm5lbCgpIGNvbnN0IGZp
bmFsOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgLy8gd2VicnRjOjpBdWRpb1NvdXJjZUludGVy
ZmFjZSBBUEkKICAgICB2b2lkIEFkZFNpbmsod2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVyZmFj
ZSopIGZpbmFsOwpAQCAtMTE1LDYgKzEzNSwxMiBAQCBwcml2YXRlOgogCiAgICAgbXV0YWJsZSBS
ZWN1cnNpdmVMb2NrIG1fc2lua3NMb2NrOwogICAgIEhhc2hTZXQ8d2VicnRjOjpBdWRpb1RyYWNr
U2lua0ludGVyZmFjZSo+IG1fc2lua3M7CisKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICBtdXRhYmxlIFJlZlB0cjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOworICAgIGNvbnN0IHZvaWQq
IG1fbG9nSWRlbnRpZmllcjsKKyAgICBzaXplX3QgbV9jaHVua3NTZW50IHsgMCB9OworI2VuZGlm
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlLmNwcAppbmRleCBlOGQzMjE2NjNmNGE5MmEzMjA0ODM2ZmViNDc2NzAyN2Y4OTgxMjdh
Li42NGI0ZTllMmU0YjE3NDJkZjIyMjg1YzU3MmY3NDg5OTJlZDFmMzMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9T
b3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5jcHAKQEAgLTQwLDYgKzQwLDcgQEAgQUxMT1dfVU5VU0VE
X1BBUkFNRVRFUlNfQkVHSU4KIAogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECiAKKyNpbmNs
dWRlIDx3dGYvQ3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYv
TWFpblRocmVhZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Nyw2ICs0OCw5IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6UmVhbHRpbWVP
dXRnb2luZ1ZpZGVvU291cmNlKFJlZjxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4mJiB2aWRlb1Nv
dXJjZSkKICAgICA6IG1fdmlkZW9Tb3VyY2UoV1RGTW92ZSh2aWRlb1NvdXJjZSkpCiAgICAgLCBt
X2JsYWNrRnJhbWVUaW1lcigqdGhpcywgJlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6c2Vu
ZE9uZUJsYWNrRnJhbWUpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBtX2xvZ0lk
ZW50aWZpZXIocmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4oY3J5cHRvZ3JhcGhpY2FsbHlS
YW5kb21OdW1iZXIoKSkpCisjZW5kaWYKIHsKIH0KIApAQCAtMTg2LDcgKzE5MCw3IEBAIHZvaWQg
UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpzZW5kQmxhY2tGcmFtZXNJZk5lZWRlZCgpCiAg
ICAgICAgIG1fYmxhY2tGcmFtZSA9IGNyZWF0ZUJsYWNrRnJhbWUod2lkdGgsIGhlaWdodCk7CiAg
ICAgICAgIEFTU0VSVChtX2JsYWNrRnJhbWUpOwogICAgICAgICBpZiAoIW1fYmxhY2tGcmFtZSkg
ewotICAgICAgICAgICAgUkVMRUFTRV9MT0coV2ViUlRDLCAiUmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlOjpzZW5kQmxhY2tGcmFtZXNJZk5lZWRlZCB1bmFibGUgdG8gc2VuZCBibGFjayBmcmFt
ZXMiKTsKKyAgICAgICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIlVuYWJsZSB0byBz
ZW5kIGJsYWNrIGZyYW1lcyIpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
fQpAQCAtMTk2LDcgKzIwMCw3IEBAIHZvaWQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpz
ZW5kQmxhY2tGcmFtZXNJZk5lZWRlZCgpCiAKIHZvaWQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291
cmNlOjpzZW5kT25lQmxhY2tGcmFtZSgpCiB7Ci0gICAgUkVMRUFTRV9MT0coTWVkaWFTdHJlYW0s
ICJSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U6OnNlbmRPbmVCbGFja0ZyYW1lIik7CisgICAg
QUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAidGVzdCIpOwogICAgIHNlbmRGcmFtZShydGM6OnNj
b3BlZF9yZWZwdHI8d2VicnRjOjpWaWRlb0ZyYW1lQnVmZmVyPihtX2JsYWNrRnJhbWUpKTsKIH0K
IApAQCAtMjEwLDYgKzIxNCwyMCBAQCB2b2lkIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZTo6
c2VuZEZyYW1lKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlZpZGVvRnJhbQogICAgICAgICBz
aW5rLT5PbkZyYW1lKGZyYW1lKTsKIH0KIAorI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorV1RG
TG9nQ2hhbm5lbCYgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlOjpsb2dDaGFubmVsKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gTG9nV2ViUlRDOworfQorCitjb25zdCBMb2dnZXImIFJlYWx0aW1l
T3V0Z29pbmdWaWRlb1NvdXJjZTo6bG9nZ2VyKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fbG9nZ2Vy
KQorICAgICAgICBtX2xvZ2dlciA9IExvZ2dlcjo6Y3JlYXRlKHRoaXMpOworICAgIHJldHVybiAq
bV9sb2dnZXI7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgKaW5kZXgg
ZjM3ZTQxN2EwNTM1YTUxM2E3MjQ1YjNiYzk5ODU1ZDYyMjY5ZDZiYi4uMDMxZjYwN2M3ZGQwMTk4
NDNiYWRmMjIzYThiODJlZTgyMGY5MjM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291
cmNlLmgKQEAgLTQxLDEyICs0MSwyMCBAQCBBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgog
CiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKIAorI2luY2x1ZGUgPHd0Zi9Mb2dnZXJIZWxw
ZXIuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2UgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UmVhbHRpbWVP
dXRnb2luZ1ZpZGVvU291cmNlLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFkOjpNYWluPiwgcHVibGlj
IHdlYnJ0Yzo6VmlkZW9UcmFja1NvdXJjZUludGVyZmFjZSwgcHJpdmF0ZSBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZTo6T2JzZXJ2ZXIgeworY2xhc3MgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNl
CisgICAgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UmVhbHRpbWVPdXRnb2luZ1ZpZGVv
U291cmNlLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFkOjpNYWluPgorICAgICwgcHVibGljIHdlYnJ0
Yzo6VmlkZW9UcmFja1NvdXJjZUludGVyZmFjZQorICAgICwgcHJpdmF0ZSBNZWRpYVN0cmVhbVRy
YWNrUHJpdmF0ZTo6T2JzZXJ2ZXIKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAsIHBy
aXZhdGUgTG9nZ2VySGVscGVyCisjZW5kaWYKK3sKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFJl
YWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZT4gY3JlYXRlKFJlZjxNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZT4mJiB2aWRlb1NvdXJjZSk7CiAgICAgflJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZSgp
OwpAQCAtNjQsNiArNzIsMTAgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRBcHBseVJvdGF0aW9u
KGJvb2wgc2hvdWxkQXBwbHlSb3RhdGlvbikgeyBtX3Nob3VsZEFwcGx5Um90YXRpb24gPSBzaG91
bGRBcHBseVJvdGF0aW9uOyB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICB2b2lk
IHNldExvZ2dlcihSZWY8Y29uc3QgTG9nZ2VyPiYmIGxvZ2dlcikgeyBtX2xvZ2dlciA9IFdURk1v
dmUobG9nZ2VyKTsgfQorI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBSZWFsdGlt
ZU91dGdvaW5nVmlkZW9Tb3VyY2UoUmVmPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiYmKTsKIApA
QCAtNzUsNiArODcsMTQgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgbV9zaG91bGRBcHBseVJvdGF0
aW9uIHsgZmFsc2UgfTsKICAgICB3ZWJydGM6OlZpZGVvUm90YXRpb24gbV9jdXJyZW50Um90YXRp
b24geyB3ZWJydGM6OmtWaWRlb1JvdGF0aW9uXzAgfTsKIAorI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgIC8vIExvZ2dlckhlbHBlciBBUEkKKyAgICBjb25zdCBMb2dnZXImIGxvZ2dlcigp
IGNvbnN0IGZpbmFsOworICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KKyAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05h
bWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAiUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlIjsg
fQorICAgIFdURkxvZ0NoYW5uZWwmIGxvZ0NoYW5uZWwoKSBjb25zdCBmaW5hbDsKKyNlbmRpZgor
CiBwcml2YXRlOgogICAgIHZvaWQgc2VuZEJsYWNrRnJhbWVzSWZOZWVkZWQoKTsKICAgICB2b2lk
IHNlbmRPbmVCbGFja0ZyYW1lKCk7CkBAIC0xMjMsNiArMTQzLDExIEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX211dGVkIHsgZmFsc2UgfTsKICAgICB1aW50MzJfdCBtX3dpZHRoIHsgMCB9OwogICAg
IHVpbnQzMl90IG1faGVpZ2h0IHsgMCB9OworCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgbXV0YWJsZSBSZWZQdHI8Y29uc3QgTG9nZ2VyPiBtX2xvZ2dlcjsKKyAgICBjb25zdCB2b2lk
KiBtX2xvZ0lkZW50aWZpZXI7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuY3BwCmlu
ZGV4IDIyZmIxMjU2MWU4YjkxNzBmMmYwYWM5YzQ3ZGZlZGNhYWFlNWNiODcuLjYzMmVmMGJjMTE0
YTIxNjY4MGE1NWZmYzE4Y2RlZGQ0YTM5NjNhODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2Nv
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1
ZGUgIkF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJDQUF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24uaCIKICNpbmNsdWRlICJMaWJXZWJSVENBdWRpb0Zvcm1hdC5oIgorI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKICNpbmNsdWRlICJXZWJBdWRpb0J1ZmZlckxpc3QuaCIKICNpbmNsdWRlICJX
ZWJBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5oIgogI2luY2x1ZGUgPHBhbC9hdmZvdW5kYXRp
b24vTWVkaWFUaW1lQVZGb3VuZGF0aW9uLmg+CkBAIC04NSw2ICs4NiwxMSBAQCB2b2lkIFJlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpPbkRhdGEoY29uc3Qgdm9pZCogYXVkaW9EYXRh
LCBpbnQgYml0c1BlcgogICAgIGVsc2UKICAgICAgICAgbWVtY3B5KGF1ZGlvQnVmZmVyTGlzdC5i
dWZmZXIoMCktPm1EYXRhLCBhdWRpb0RhdGEsIGF1ZGlvQnVmZmVyTGlzdC5idWZmZXIoMCktPm1E
YXRhQnl0ZVNpemUpOwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgaWYgKCEoKytt
X2NodW5rc1JlY2VpdmVkICUgMjAwKSkKKyAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVS
LCAiY2h1bmsgIiwgbV9jaHVua3NSZWNlaXZlZCk7CisjZW5kaWYKKwogICAgIGF1ZGlvU2FtcGxl
c0F2YWlsYWJsZShtZWRpYVRpbWUsIGF1ZGlvQnVmZmVyTGlzdCwgQ0FBdWRpb1N0cmVhbURlc2Ny
aXB0aW9uKG5ld0Rlc2NyaXB0aW9uKSwgbnVtYmVyT2ZGcmFtZXMpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWlu
Z0F1ZGlvU291cmNlQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5oCmluZGV4IGQwMTA0NzVlNWVj
YTJmZmM5MTQzMDM0NzFiNjVmYjFhODk3ZGFiYTcuLjM3MjU2ODhhMWE4YWVlYzRkZDAzZDhhZGMy
ZDExMmM3NDg2MzA5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9T
b3VyY2VDb2NvYS5oCkBAIC01MCw2ICs1MCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgT25EYXRh
KGNvbnN0IHZvaWQqIGF1ZGlvRGF0YSwgaW50IGJpdHNQZXJTYW1wbGUsIGludCBzYW1wbGVSYXRl
LCBzaXplX3QgbnVtYmVyT2ZDaGFubmVscywgc2l6ZV90IG51bWJlck9mRnJhbWVzKSBmaW5hbDsK
IAogICAgIHVpbnQ2NF90IG1fbnVtYmVyT2ZGcmFtZXMgeyAwIH07CisKKyNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKKyAgICBzaXplX3QgbV9jaHVua3NSZWNlaXZlZCB7IDAgfTsKKyNlbmRpZgog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5j
b21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCmluZGV4IGIwOWFjMDRmMjJjN2JiOGJhZWQ2YjRhM2U3
NjNjZjcwZTZjN2UwNTQuLmZlNWViZDZjYjExNWJhMjc4NGYzNWY0ODg4M2I2MGE1ZmI0OWZmYTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0K
QEAgLTExMyw3ICsxMTMsNyBAQCBDVlBpeGVsQnVmZmVyUG9vbFJlZiBSZWFsdGltZUluY29taW5n
VmlkZW9Tb3VyY2VDb2NvYTo6cGl4ZWxCdWZmZXJQb29sKHNpemVfdCB3aQogICAgICAgICBhdXRv
IHN0YXR1cyA9IENWUGl4ZWxCdWZmZXJQb29sQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIG51
bGxwdHIsIChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpcGl4ZWxBdHRyaWJ1dGVzLCAmcG9vbCk7
CiAKICAgICAgICAgaWYgKHN0YXR1cyAhPSBrQ1ZSZXR1cm5TdWNjZXNzKSB7Ci0gICAgICAgICAg
ICBSRUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwgIlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNv
Y29hOjpwaXhlbEJ1ZmZlckZyb21WaWRlb0ZyYW1lIGZhaWxlZCBjcmVhdGluZyBhIHBpeGVsIGJ1
ZmZlciBwb29sIHdpdGggZXJyb3IgJWQiLCBzdGF0dXMpOworICAgICAgICAgICAgRVJST1JfTE9H
KExPR0lERU5USUZJRVIsICJGYWlsZWQgY3JlYXRpbmcgYSBwaXhlbCBidWZmZXIgcG9vbCB3aXRo
IGVycm9yICIsIHN0YXR1cyk7CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAg
fQogICAgICAgICBtX3BpeGVsQnVmZmVyUG9vbCA9IGFkb3B0Q0YocG9vbCk7CkBAIC0xNDQsNyAr
MTQ0LDcgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IFJlYWx0aW1lSW5jb21pbmdWaWRl
b1NvdXJjZUNvY29hOjpwaXhlbEJ1ZmZlckZyb21WaWQKICAgICAgICAgYXV0byBzdGF0dXMgPSBD
VlBpeGVsQnVmZmVyUG9vbENyZWF0ZVBpeGVsQnVmZmVyKGtDRkFsbG9jYXRvckRlZmF1bHQsIG1f
cGl4ZWxCdWZmZXJQb29sLmdldCgpLCAmcGl4ZWxCdWZmZXIpOwogCiAgICAgICAgIGlmIChzdGF0
dXMgIT0ga0NWUmV0dXJuU3VjY2VzcykgewotICAgICAgICAgICAgUkVMRUFTRV9MT0coTWVkaWFT
dHJlYW0sICJSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYTo6cGl4ZWxCdWZmZXJGcm9t
VmlkZW9GcmFtZSBmYWlsZWQgY3JlYXRpbmcgYSBwaXhlbCBidWZmZXIgd2l0aCBlcnJvciAlZCIs
IHN0YXR1cyk7CisgICAgICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkZhaWxlZCBj
cmVhdGluZyBhIHBpeGVsIGJ1ZmZlciB3aXRoIGVycm9yICIsIHN0YXR1cyk7CiAgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQogICAgICAgICBuZXdQaXhlbEJ1ZmZlciA9IGFk
b3B0Q0YocGl4ZWxCdWZmZXIpOwpAQCAtMTU4LDEzICsxNTgsMTMgQEAgdm9pZCBSZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2VDb2NvYTo6T25GcmFtZShjb25zdCB3ZWJydGM6OlZpZGVvRnJhbWUm
IGZyYW1lKQogICAgICAgICByZXR1cm47CiAKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAg
ICBpZiAoISgrK21fbnVtYmVyT2ZGcmFtZXMgJSAzMCkpCi0gICAgICAgIFJFTEVBU0VfTE9HKE1l
ZGlhU3RyZWFtLCAiUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9uRnJhbWUgJXp1
IGZyYW1lIiwgbV9udW1iZXJPZkZyYW1lcyk7CisgICAgaWYgKCEoKyttX251bWJlck9mRnJhbWVz
ICUgNjApKQorICAgICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJmcmFtZSAiLCBtX251
bWJlck9mRnJhbWVzKTsKICNlbmRpZgogCiAgICAgYXV0byBwaXhlbEJ1ZmZlciA9IHBpeGVsQnVm
ZmVyRnJvbVZpZGVvRnJhbWUoZnJhbWUpOwogICAgIGlmICghcGl4ZWxCdWZmZXIpIHsKLSAgICAg
ICAgTE9HX0VSUk9SKCJGYWlsZWQgdG8gZ2V0IGEgcGl4ZWwgYnVmZmVyIGZyb20gYSBmcmFtZSIp
OworICAgICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgIkZhaWxlZCB0byBnZXQgYSBwaXhl
bCBidWZmZXIgZnJvbSBhIGZyYW1lIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE3
OCw3ICsxNzgsNyBAQCB2b2lkIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hOjpPbkZy
YW1lKGNvbnN0IHdlYnJ0Yzo6VmlkZW9GcmFtZSYgZnJhbWUpCiAgICAgQ01WaWRlb0Zvcm1hdERl
c2NyaXB0aW9uUmVmIGZvcm1hdERlc2NyaXB0aW9uOwogICAgIE9TU3RhdHVzIG9zdGF0dXMgPSBD
TVZpZGVvRm9ybWF0RGVzY3JpcHRpb25DcmVhdGVGb3JJbWFnZUJ1ZmZlcihrQ0ZBbGxvY2F0b3JE
ZWZhdWx0LCAoQ1ZJbWFnZUJ1ZmZlclJlZilwaXhlbEJ1ZmZlciwgJmZvcm1hdERlc2NyaXB0aW9u
KTsKICAgICBpZiAob3N0YXR1cyAhPSBub0VycikgewotICAgICAgICBMT0dfRVJST1IoIkZhaWxl
ZCB0byBpbml0aWFsaXplIENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbjogJWQiLCBzdGF0aWNfY2Fz
dDxpbnQ+KG9zdGF0dXMpKTsKKyAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJGYWls
ZWQgdG8gaW5pdGlhbGl6ZSBDTVZpZGVvRm9ybWF0RGVzY3JpcHRpb24gd2l0aCBlcnJvciAiLCBz
dGF0aWNfY2FzdDxpbnQ+KG9zdGF0dXMpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
MTg2LDcgKzE4Niw3IEBAIHZvaWQgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6Ok9u
RnJhbWUoY29uc3Qgd2VicnRjOjpWaWRlb0ZyYW1lJiBmcmFtZSkKICAgICBvc3RhdHVzID0gQ01T
YW1wbGVCdWZmZXJDcmVhdGVSZWFkeVdpdGhJbWFnZUJ1ZmZlcihrQ0ZBbGxvY2F0b3JEZWZhdWx0
LCAoQ1ZJbWFnZUJ1ZmZlclJlZilwaXhlbEJ1ZmZlciwgZm9ybWF0RGVzY3JpcHRpb24sICZ0aW1p
bmdJbmZvLCAmc2FtcGxlQnVmZmVyKTsKICAgICBDRlJlbGVhc2UoZm9ybWF0RGVzY3JpcHRpb24p
OwogICAgIGlmIChvc3RhdHVzICE9IG5vRXJyKSB7Ci0gICAgICAgIExPR19FUlJPUigiRmFpbGVk
IHRvIGNyZWF0ZSB0aGUgc2FtcGxlIGJ1ZmZlcjogJWQiLCBzdGF0aWNfY2FzdDxpbnQ+KG9zdGF0
dXMpKTsKKyAgICAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJGYWlsZWQgdG8gY3JlYXRl
IHRoZSBzYW1wbGUgYnVmZmVyIHdpdGggZXJyb3IgIiwgc3RhdGljX2Nhc3Q8aW50Pihvc3RhdHVz
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2Nv
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVP
dXRnb2luZ0F1ZGlvU291cmNlQ29jb2EuY3BwCmluZGV4IDIyZTQ5ZTkwOTg5NWE5MDNkNzIzMmUw
NTJmYzUxZTg4MGZkODJmMDYuLmVkNTcwYWE0NzhiNDU0ZjJiZjgxMmEyZjZhNWZlMzhiMzFiZDUw
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9S
ZWFsdGltZU91dGdvaW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdBdWRpb1NvdXJjZUNvY29h
LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlv
bi5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ0F1ZGlvRm9ybWF0LmgiCiAjaW5jbHVkZSAiTGliV2Vi
UlRDUHJvdmlkZXIuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5j
cHAKaW5kZXggNzk4MWU3MWJlOTVmMTU1ZDcxZGEyMTQwYzRmOTkzYTg3M2Y5ODAzYS4uN2MyYzhm
MzEwZWQ1ODQ1YjVlYmFmOTAwNzRiOGY0Y2RhMzdmYTljZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJj
ZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EuY3BwCkBAIC02Nyw4ICs2Nyw4IEBAIHZv
aWQgUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2E6OnNhbXBsZUJ1ZmZlclVwZGF0ZWQo
TWVkaWFTdHJlYW1UcmFja1ByaXZhCiAgICAgICAgIHJldHVybjsKIAogI2lmICFSRUxFQVNFX0xP
R19ESVNBQkxFRAotICAgIGlmICghKCsrbV9udW1iZXJPZkZyYW1lcyAlIDMwKSkKLSAgICAgICAg
UkVMRUFTRV9MT0coTWVkaWFTdHJlYW0sICJSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2Nv
YTo6c2VuZEZyYW1lICV6dSBmcmFtZSIsIG1fbnVtYmVyT2ZGcmFtZXMpOworICAgIGlmICghKCsr
bV9udW1iZXJPZkZyYW1lcyAlIDYwKSkKKyAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVS
LCAiZnJhbWUgIiwgbV9udW1iZXJPZkZyYW1lcyk7CiAjZW5kaWYKIAogICAgIHN3aXRjaCAoc2Ft
cGxlLnZpZGVvUm90YXRpb24oKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lT3V0Z29pbmdW
aWRlb1NvdXJjZUNvY29hLm1tCmluZGV4IGQ1NTA4NjRhZWIxMzZlZWMxNGU2ODE3MThlNDE3ZjI2
MzRhYmIwYTcuLjVlN2UxMjQ5MmI0NjU3YzgzZjllNDVkMzZlZGRiMDE3Y2U1MjQxYmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU91
dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW0KQEAgLTc1
LDcgKzc1LDcgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IFJlYWx0aW1lT3V0Z29pbmdW
aWRlb1NvdXJjZUNvY29hOjpyb3RhdGVQaXhlbEJ1ZmZlcigKICAgICAgICAgVlRJbWFnZVJvdGF0
aW9uU2Vzc2lvblJlZiByYXdSb3RhdGlvblNlc3Npb24gPSBudWxscHRyOwogICAgICAgICBhdXRv
IHN0YXR1cyA9IFZUSW1hZ2VSb3RhdGlvblNlc3Npb25DcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVs
dCwgcm90YXRpb24sICZyYXdSb3RhdGlvblNlc3Npb24pOwogICAgICAgICBpZiAoc3RhdHVzICE9
IG5vRXJyKSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwgIlJlYWx0aW1l
T3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpyb3RhdGVQaXhlbEJ1ZmZlciBmYWlsZWQgY3JlYXRp
bmcgYSByb3RhdGlvbiBzZXNzaW9uIHdpdGggZXJyb3IgJWQiLCBzdGF0dXMpOworICAgICAgICAg
ICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAiRmFpbGVkIGNyZWF0aW5nIGEgcm90YXRpb24g
c2Vzc2lvbiB3aXRoIGVycm9yICIsIHN0YXR1cyk7CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICAgICAgfQogCkBAIC0xMDAsNyArMTAwLDcgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZm
ZXJSZWY+IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpyb3RhdGVQaXhlbEJ1ZmZl
cigKICAgICAgICAgYXV0byBzdGF0dXMgPSBDVlBpeGVsQnVmZmVyUG9vbENyZWF0ZShrQ0ZBbGxv
Y2F0b3JEZWZhdWx0LCBudWxscHRyLCAoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKXBpeGVsQXR0
cmlidXRlcywgJnBvb2wpOwogCiAgICAgICAgIGlmIChzdGF0dXMgIT0ga0NWUmV0dXJuU3VjY2Vz
cykgewotICAgICAgICAgICAgUkVMRUFTRV9MT0coTWVkaWFTdHJlYW0sICJSZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2VDb2NvYTo6cm90YXRlUGl4ZWxCdWZmZXIgZmFpbGVkIGNyZWF0aW5nIGEg
cGl4ZWwgYnVmZmVyIHBvb2wgd2l0aCBlcnJvciAlZCIsIHN0YXR1cyk7CisgICAgICAgICAgICBB
TFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJGYWlsZWQgY3JlYXRpbmcgYSBwaXhlbCBidWZmZXIg
cG9vbCB3aXRoIGVycm9yICIsIHN0YXR1cyk7CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ICAgICAgICAgfQogICAgICAgICBtX3JvdGF0aW9uUG9vbCA9IGFkb3B0Q0YocG9vbCk7CkBAIC0x
MTQsNyArMTE0LDcgQEAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IFJlYWx0aW1lT3V0Z29p
bmdWaWRlb1NvdXJjZUNvY29hOjpyb3RhdGVQaXhlbEJ1ZmZlcigKICAgICBhdXRvIHN0YXR1cyA9
IENWUGl4ZWxCdWZmZXJQb29sQ3JlYXRlUGl4ZWxCdWZmZXIoa0NGQWxsb2NhdG9yRGVmYXVsdCwg
bV9yb3RhdGlvblBvb2wuZ2V0KCksICZyYXdSb3RhdGVkQnVmZmVyKTsKIAogICAgIGlmIChzdGF0
dXMgIT0ga0NWUmV0dXJuU3VjY2VzcykgewotICAgICAgICBSRUxFQVNFX0xPRyhNZWRpYVN0cmVh
bSwgIlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpyb3RhdGVQaXhlbEJ1ZmZlciBm
YWlsZWQgY3JlYXRpbmcgYSBwaXhlbCBidWZmZXIgd2l0aCBlcnJvciAlZCIsIHN0YXR1cyk7Cisg
ICAgICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIkZhaWxlZCBjcmVhdGluZyBhIHBpeGVs
IGJ1ZmZlciB3aXRoIGVycm9yICIsIHN0YXR1cyk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIH0KICAgICBSZXRhaW5QdHI8Q1ZQaXhlbEJ1ZmZlclJlZj4gcm90YXRlZEJ1ZmZlciA9IGFk
b3B0Q0YocmF3Um90YXRlZEJ1ZmZlcik7CkBAIC0xMjIsNyArMTIyLDcgQEAgUmV0YWluUHRyPENW
UGl4ZWxCdWZmZXJSZWY+IFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpyb3RhdGVQ
aXhlbEJ1ZmZlcigKICAgICBzdGF0dXMgPSBWVEltYWdlUm90YXRpb25TZXNzaW9uVHJhbnNmZXJJ
bWFnZShtX3JvdGF0aW9uU2Vzc2lvbi5nZXQoKSwgcGl4ZWxCdWZmZXIsIHJvdGF0ZWRCdWZmZXIu
Z2V0KCkpOwogCiAgICAgaWYgKHN0YXR1cyAhPSBub0VycikgewotICAgICAgICBSRUxFQVNFX0xP
RyhNZWRpYVN0cmVhbSwgIlJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hOjpyb3RhdGVQ
aXhlbEJ1ZmZlciBmYWlsZWQgcm90YXRpbmcgd2l0aCBlcnJvciAlZCIsIHN0YXR1cyk7CisgICAg
ICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgIkZhaWxlZCByb3RhdGluZyB3aXRoIGVycm9y
ICIsIHN0YXR1cyk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KICAgICByZXR1cm4g
cm90YXRlZEJ1ZmZlcjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>