<?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>162237</bug_id>
          
          <creation_ts>2016-09-19 14:23:44 -0700</creation_ts>
          <short_desc>Add new logging for network resource loading</short_desc>
          <delta_ts>2016-09-20 17:29:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>162235</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Rollin">krollin</reporter>
          <assigned_to name="Keith Rollin">krollin</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1231317</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-09-19 14:23:44 -0700</bug_when>
    <thetext>Add new logging to better track the downloading of network resources. This largely involves adding logging along the paths less travelled. The previous logging would log the normal path executed when downloading resources, but experience is showing us that this is not sufficient. Sometimes logging would suddenly stop, indicating either that some non-normal path was taken, or that the process was hung. By adding more logging, we should be able to identify the first case.

For the most part, there should be little-to-no new logging along the main path, meaning that the overall impact of our logging on the system buffers and sysdiagnose should be minimal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231330</commentid>
    <comment_count>1</comment_count>
      <attachid>289258</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-09-19 14:35:56 -0700</bug_when>
    <thetext>Created attachment 289258
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231332</commentid>
    <comment_count>2</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-09-19 14:36:57 -0700</bug_when>
    <thetext>I uploaded the wrong patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231878</commentid>
    <comment_count>3</comment_count>
      <attachid>289403</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-09-20 15:12:13 -0700</bug_when>
    <thetext>Created attachment 289403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231920</commentid>
    <comment_count>4</comment_count>
      <attachid>289403</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-20 17:29:30 -0700</bug_when>
    <thetext>Comment on attachment 289403
Patch

Clearing flags on attachment: 289403

Committed r206189: &lt;http://trac.webkit.org/changeset/206189&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231921</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-20 17:29:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289258</attachid>
            <date>2016-09-19 14:35:56 -0700</date>
            <delta_ts>2016-09-19 14:36:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162237-20160919143311.patch</filename>
            <type>text/plain</type>
            <size>1844</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjE1ZTM3MTIzZjgxNzA3
N2NhNzYyOTg2NDZmMDE4YmUwMTkxMDE5NC4uYzIyZWZjMWYwNmI1Mzk3ZjliNDMwMDU2MjEwZjhj
NTdhNGE5MDYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA5LTE5ICBLZWl0
aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBSZWR1Y2UgbG9nZ2luZyBm
cm9tIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlRGF0YQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyMjMzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT25seSBsb2cgb25jZSBldmVuIGlmIGNhbGxl
ZCBtdWx0aXBsZSB0aW1lcyBmb3IgYSBzaW5nbGUgcmVzb3VyY2UuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEpOgorCiAyMDE2LTA5LTE5ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgT25seSBvdmVy
cmlkZSBVUkxQYXJzZXI6OmVuYWJsZWQgaWYgTlNVc2VyRGVmYXVsdHMgb2JqZWN0IGV4aXN0cwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggMzY1ZDU5ODhjNGM1NTBkOTc1NDgwYzA0YTAzN2RmZTNkMzcyNmYx
Ny4uMjNiNjkyODZjMDhjMTQ4ZWFjNGI4MTIzMzliZWEyNDJiYmZjMzlkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC0xMzMsNyArMTMzLDExIEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2Vp
dmVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgYm9vCiB2b2lkIFdl
YlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlRGF0YShjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2Um
IGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiB7CiAgICAgTE9HKE5ldHdvcmssICIo
V2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhIG9mIHNpemUgJWx1
IGZvciAnJXMnIiwgZGF0YS5zaXplKCksIG1fY29yZUxvYWRlci0+dXJsKCkuc3RyaW5nKCkubGF0
aW4xKCkuZGF0YSgpKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRSZWNlaXZlRGF0
YTogKHNpemUgPSAlbHUpIiwgZGF0YS5zaXplKCkpOworCisgICAgaWYgKCFtX2hhc1JlY2VpdmVk
RGF0YSkgeworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJkaWRSZWNlaXZlRGF0YTog
KHNpemUgPSAlbHUpIiwgZGF0YS5zaXplKCkpOworICAgICAgICBtX2hhc1JlY2VpdmVkRGF0YSA9
IHRydWU7CisgICAgfQogCiAjaWYgVVNFKFFVSUNLX0xPT0spCiAgICAgaWYgKFF1aWNrTG9va0hh
bmRsZSogcXVpY2tMb29rSGFuZGxlID0gbV9jb3JlTG9hZGVyLT5kb2N1bWVudExvYWRlcigpLT5x
dWlja0xvb2tIYW5kbGUoKSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289403</attachid>
            <date>2016-09-20 15:12:13 -0700</date>
            <delta_ts>2016-09-20 17:29:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162237-20160920150926.patch</filename>
            <type>text/plain</type>
            <size>30086</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFiZDUzMTFhYTFjOGVi
NGI4MTg3ODkyZDgyYmI4YzQ0MTc2ZWViNi4uOTI0NjUyMDcxZDc3NDc1NGNjZTQ1N2YxOWVmNGNm
YzQ1NGM5MTJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE2LTA5LTE5ICBLZWl0
aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV3IGxvZ2dpbmcg
Zm9yIG5ldHdvcmsgcmVzb3VyY2UgbG9hZGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyMjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIG5ldyBsb2dnaW5nIGFsb25nIHRoZSBub24tbWFpbiBw
YXRoIGZvciByZXNvdXJjZSBsb2FkaW5nLiBUaGlzCisgICAgICAgIGxvZ2dpbmcgc2hvdWxkIGFs
bG93IHVzIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBsYWNrLW9mLWxvZ2dpbmcgZHVlCisgICAg
ICAgIGV4ZWN1dGlvbiBhbG9uZyBhIHBhdGggdGhhdCBkb2Vzbid0IGhhdmUgbG9nZ2luZyBzdGF0
ZW1lbnRzIGFuZAorICAgICAgICBsYWNrLW9mLWxvZ2dpbmcgZHVlIHRvIGEgaHVuZyBwcm9jZXNz
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAtLSB0aGVyZSBhcmUgbm8gdGVzdHMgZm9yIGxvZ2dp
bmcuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZSk6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKToKKyAg
ICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVM
b2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFm
dGVyV2lsbFN1Ym1pdEZvcm0pOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6bG9hZCk6CisgICAgICAg
ICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCk6Cisg
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICog
cGFnZS9GcmFtZS5oOgorCiAyMDE2LTA5LTIwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW1vdmUgQXV0aG9yU3R5bGVTaGVldHM6Om1faGFkQWN0aXZlTG9h
ZGluZ1N0eWxlc2hlZXQgYml0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODUyYjViMTI2NWNhNTYxMjhlODBiZjU3
OTQ4ZjA2MDcwNDZjMmJjNy4uZmU0NTA0YTU4YjUwMTkyZDAzNTMxOWZlOGNmZTljYzk4MTNmMzRh
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA5LTE5ICBLZWl0aCBSb2xsaW4g
IDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV3IGxvZ2dpbmcgZm9yIG5ldHdv
cmsgcmVzb3VyY2UgbG9hZGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTYyMjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIG5ldyBsb2dnaW5nIGFsb25nIHRoZSBub24tbWFpbiBwYXRoIGZvciBy
ZXNvdXJjZSBsb2FkaW5nLiBUaGlzCisgICAgICAgIGxvZ2dpbmcgc2hvdWxkIGFsbG93IHVzIHRv
IGRpZmZlcmVudGlhdGUgYmV0d2VlbiBsYWNrLW9mLWxvZ2dpbmcgZHVlCisgICAgICAgIGV4ZWN1
dGlvbiBhbG9uZyBhIHBhdGggdGhhdCBkb2Vzbid0IGhhdmUgbG9nZ2luZyBzdGF0ZW1lbnRzIGFu
ZAorICAgICAgICBsYWNrLW9mLWxvZ2dpbmcgZHVlIHRvIGEgaHVuZyBwcm9jZXNzLgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydCk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3RhcnROZXR3b3JrTG9hZCk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c2V0RGVmZXJzTG9hZGluZyk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6YWJvcnQpOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVCdWZmZXIpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxvYWRl
clN0cmF0ZWd5Ojpsb2FkUmVzb3VyY2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJMb2FkZXJTdHJh
dGVneTo6c2NoZWR1bGVMb2FkKToKKwogMjAxNi0wOS0yMCAgS2VpdGggUm9sbGluICA8a3JvbGxp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRqdXN0IGN1cnJlbnQgbmV0d29ya2luZyBsb2dnaW5n
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA1YzgwYTZhYjIy
NTczNTI4YmNmOTYyNDIwYzAwMDk1OTUyYjMyZjU2Li41ODI2NWM2MGRlNjk3NzU4NjBlMWI3Y2E2
ZjgzZWJhYjljMTkxMjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5j
cHAKQEAgLTgxLDYgKzgxLDggQEAKICNpbmNsdWRlICJDb250ZW50RmlsdGVyLmgiCiAjZW5kaWYK
IAorI2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19J
Rihpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTmV0d29yaywgIiVwIC0gRG9jdW1lbnRMb2Fk
ZXI6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0YXRpYyB2b2lkIGNhbmNlbEFsbChjb25zdCBSZXNvdXJjZUxvYWRlck1hcCYgbG9hZGVycykK
QEAgLTE0NzEsOCArMTQ3MywxMCBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydExvYWRpbmdN
YWluUmVzb3VyY2UoKQogICAgIEFTU0VSVCghbV9sb2FkaW5nTWFpblJlc291cmNlKTsKICAgICBt
X2xvYWRpbmdNYWluUmVzb3VyY2UgPSB0cnVlOwogCi0gICAgaWYgKG1heWJlTG9hZEVtcHR5KCkp
CisgICAgaWYgKG1heWJlTG9hZEVtcHR5KCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgic3RhcnRMb2FkaW5nTWFpblJlc291cmNlOiBSZXR1cm5pbmcgZW1wdHkgZG9jdW1lbnQg
KGZyYW1lID0gJXAsIG1haW4gPSAlZCkiLCBtX2ZyYW1lLCBtX2ZyYW1lLT5pc01haW5GcmFtZSgp
KTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAogI2lmIEVOQUJMRShDT05URU5UX0ZJTFRFUklO
RykKICAgICBtX2NvbnRlbnRGaWx0ZXIgPSAhbV9zdWJzdGl0dXRlRGF0YS5pc1ZhbGlkKCkgPyBD
b250ZW50RmlsdGVyOjpjcmVhdGUoKnRoaXMpIDogbnVsbHB0cjsKQEAgLTE0OTEsMTIgKzE0OTUs
MTUgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6c3RhcnRMb2FkaW5nTWFpblJlc291cmNlKCkKICAg
ICB3aWxsU2VuZFJlcXVlc3QobV9yZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlKCkpOwogCiAgICAg
Ly8gd2lsbFNlbmRSZXF1ZXN0KCkgbWF5IGxlYWQgdG8gb3VyIEZyYW1lIGJlaW5nIGRldGFjaGVk
IG9yIGNhbmNlbGxpbmcgdGhlIGxvYWQgdmlhIG51bGxpbmcgdGhlIFJlc291cmNlUmVxdWVzdC4K
LSAgICBpZiAoIW1fZnJhbWUgfHwgbV9yZXF1ZXN0LmlzTnVsbCgpKQorICAgIGlmICghbV9mcmFt
ZSB8fCBtX3JlcXVlc3QuaXNOdWxsKCkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCgic3RhcnRMb2FkaW5nTWFpblJlc291cmNlOiBMb2FkIGNhbmNlbGVkIGFmdGVyIHdpbGxTZW5k
UmVxdWVzdCAoZnJhbWUgPSAlcCwgbWFpbiA9ICVkKSIsIG1fZnJhbWUsIG1fZnJhbWUtPmlzTWFp
bkZyYW1lKCkpOwogICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgbV9hcHBsaWNhdGlvbkNh
Y2hlSG9zdC0+bWF5YmVMb2FkTWFpblJlc291cmNlKG1fcmVxdWVzdCwgbV9zdWJzdGl0dXRlRGF0
YSk7CiAKICAgICBpZiAobV9zdWJzdGl0dXRlRGF0YS5pc1ZhbGlkKCkgJiYgbV9mcmFtZS0+cGFn
ZSgpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInN0YXJ0TG9hZGluZ01haW5S
ZXNvdXJjZTogUmV0dXJuaW5nIGNhY2hlZCBtYWluIHJlc291cmNlIChmcmFtZSA9ICVwLCBtYWlu
ID0gJWQpIiwgbV9mcmFtZSwgbV9mcmFtZS0+aXNNYWluRnJhbWUoKSk7CiAgICAgICAgIG1faWRl
bnRpZmllckZvckxvYWRXaXRob3V0UmVzb3VyY2VMb2FkZXIgPSBtX2ZyYW1lLT5wYWdlKCktPnBy
b2dyZXNzKCkuY3JlYXRlVW5pcXVlSWRlbnRpZmllcigpOwogICAgICAgICBmcmFtZUxvYWRlcigp
LT5ub3RpZmllcigpLmFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KG1faWRlbnRpZmll
ckZvckxvYWRXaXRob3V0UmVzb3VyY2VMb2FkZXIsIHRoaXMsIG1fcmVxdWVzdCk7CiAgICAgICAg
IGZyYW1lTG9hZGVyKCktPm5vdGlmaWVyKCkuZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QodGhpcywg
bV9pZGVudGlmaWVyRm9yTG9hZFdpdGhvdXRSZXNvdXJjZUxvYWRlciwgbV9yZXF1ZXN0LCBSZXNv
dXJjZVJlc3BvbnNlKCkpOwpAQCAtMTUwOSwxMSArMTUxNiwxNCBAQCB2b2lkIERvY3VtZW50TG9h
ZGVyOjpzdGFydExvYWRpbmdNYWluUmVzb3VyY2UoKQogICAgIC8vIElmIHRoaXMgaXMgYSByZWxv
YWQgdGhlIGNhY2hlIGxheWVyIG1pZ2h0IGhhdmUgbWFkZSB0aGUgcHJldmlvdXMgcmVxdWVzdCBj
b25kaXRpb25hbC4gRG9jdW1lbnRMb2FkZXIgY2FuJ3QgaGFuZGxlIDMwNCByZXNwb25zZXMgaXRz
ZWxmLgogICAgIHJlcXVlc3QubWFrZVVuY29uZGl0aW9uYWwoKTsKIAorICAgIFJFTEVBU0VfTE9H
X0lGX0FMTE9XRUQoInN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZTogU3RhcnRpbmcgbG9hZCAoZnJh
bWUgPSAlcCwgbWFpbiA9ICVkKSIsIG1fZnJhbWUsIG1fZnJhbWUtPmlzTWFpbkZyYW1lKCkpOwor
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJlc291cmNlTG9hZGVyT3B0aW9ucz4gbWFpblJl
c291cmNlTG9hZE9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBCdWZmZXJEYXRh
LCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBDbGllbnRDcmVkZW50aWFsUG9saWN5OjpNYXlBc2tD
bGllbnRGb3JDcmVkZW50aWFscywgRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6SW5jbHVkZSwg
U2tpcFNlY3VyaXR5Q2hlY2ssIEZldGNoT3B0aW9uczo6TW9kZTo6Tm9Db3JzLCBJbmNsdWRlQ2Vy
dGlmaWNhdGVJbmZvLCBDb250ZW50U2VjdXJpdHlQb2xpY3lJbXBvc2l0aW9uOjpEb1BvbGljeUNo
ZWNrLCBEZWZlcnNMb2FkaW5nUG9saWN5OjpBbGxvd0RlZmVyc0xvYWRpbmcsIENhY2hpbmdQb2xp
Y3k6OkFsbG93Q2FjaGluZyk7CiAgICAgbV9tYWluUmVzb3VyY2UgPSBtX2NhY2hlZFJlc291cmNl
TG9hZGVyLT5yZXF1ZXN0TWFpblJlc291cmNlKENhY2hlZFJlc291cmNlUmVxdWVzdChSZXNvdXJj
ZVJlcXVlc3QocmVxdWVzdCksIG1haW5SZXNvdXJjZUxvYWRPcHRpb25zKSk7CiAKICNpZiBFTkFC
TEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGlmIChtX21haW5SZXNvdXJjZSAmJiBtX21haW5S
ZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgpICYmIG1fZnJhbWUtPnBhZ2UoKSAmJiBtX21haW5SZXNv
dXJjZS0+cmVzb3VyY2VFcnJvcigpLmRvbWFpbigpID09IENvbnRlbnRFeHRlbnNpb25zOjpXZWJL
aXRDb250ZW50QmxvY2tlckRvbWFpbikgeworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJzdGFydExvYWRpbmdNYWluUmVzb3VyY2U6IEJsb2NrZWQgYnkgY29udGVudCBibG9ja2VyIGVy
cm9yIChmcmFtZSA9ICVwLCBtYWluID0gJWQpIiwgbV9mcmFtZSwgbV9mcmFtZS0+aXNNYWluRnJh
bWUoKSk7CiAgICAgICAgIGNhbmNlbE1haW5SZXNvdXJjZUxvYWQoZnJhbWVMb2FkZXIoKS0+Ymxv
Y2tlZEJ5Q29udGVudEJsb2NrZXJFcnJvcihtX3JlcXVlc3QpKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTE1MjEsMTAgKzE1MzEsMTMgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6c3RhcnRM
b2FkaW5nTWFpblJlc291cmNlKCkKIAogICAgIGlmICghbV9tYWluUmVzb3VyY2UpIHsKICAgICAg
ICAgaWYgKCFtX3JlcXVlc3QudXJsKCkuaXNWYWxpZCgpKSB7CisgICAgICAgICAgICBSRUxFQVNF
X0xPR19JRl9BTExPV0VEKCJzdGFydExvYWRpbmdNYWluUmVzb3VyY2U6IFVuYWJsZSB0byBsb2Fk
IG1haW4gcmVzb3VyY2UsIFVSTCBpcyBpbnZhbGlkIChmcmFtZSA9ICVwLCBtYWluID0gJWQpIiwg
bV9mcmFtZSwgbV9mcmFtZS0+aXNNYWluRnJhbWUoKSk7CiAgICAgICAgICAgICBjYW5jZWxNYWlu
UmVzb3VyY2VMb2FkKGZyYW1lTG9hZGVyKCktPmNsaWVudCgpLmNhbm5vdFNob3dVUkxFcnJvciht
X3JlcXVlc3QpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCisgICAgICAgIFJF
TEVBU0VfTE9HX0lGX0FMTE9XRUQoInN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZTogVW5hYmxlIHRv
IGxvYWQgbWFpbiByZXNvdXJjZSwgcmV0dXJuaW5nIGVtcHR5IGRvY3VtZW50IChmcmFtZSA9ICVw
LCBtYWluID0gJWQpIiwgbV9mcmFtZSwgbV9mcmFtZS0+aXNNYWluRnJhbWUoKSk7CisKICAgICAg
ICAgc2V0UmVxdWVzdChSZXNvdXJjZVJlcXVlc3QoKSk7CiAgICAgICAgIC8vIElmIHRoZSBsb2Fk
IHdhcyBhYm9ydGVkIGJ5IGNsZWFyaW5nIG1fcmVxdWVzdCwgaXQncyBwb3NzaWJsZSB0aGUgQXBw
bGljYXRpb25DYWNoZUhvc3QKICAgICAgICAgLy8gaXMgbm93IGluIGEgc3RhdGUgd2hlcmUgc3Rh
cnRpbmcgYW4gZW1wdHkgbG9hZCB3aWxsIGJlIGluY29uc2lzdGVudC4gUmVwbGFjZSBpdCB3aXRo
CkBAIC0xNzExLDQgKzE3MjQsOSBAQCBDb250ZW50RmlsdGVyKiBEb2N1bWVudExvYWRlcjo6Y29u
dGVudEZpbHRlcigpIGNvbnN0CiB9CiAjZW5kaWYKIAorYm9vbCBEb2N1bWVudExvYWRlcjo6aXNB
bHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZSA/IG1f
ZnJhbWUtPmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIDogdHJ1ZTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCA3
MDk1NDQ3YjAwYzNmNDQzNTJlZjYzZWExYzYxYzc2Njc5N2VkMDg4Li5iZmQ4Nzg3ZTFjYzg0MWRj
ZTMxY2Y0OTA5YTNiYzM3MjhmOGU4MjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuaApAQCAtMjg2LDYgKzI4Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
Q29udGVudEZpbHRlciogY29udGVudEZpbHRlcigpIGNvbnN0OwogI2VuZGlmCiAKKyAgICAgICAg
Ym9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdDsKKwogICAgIHByb3RlY3RlZDoK
ICAgICAgICAgV0VCQ09SRV9FWFBPUlQgRG9jdW1lbnRMb2FkZXIoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiwgY29uc3QgU3Vic3RpdHV0ZURhdGEmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKaW5kZXggMWY0MzFmM2I3MThmNDEyNmRmOGY1MmQ3MWM2ZmZlMGY5YTU3OWE2ZS4u
MGNkYjRiMGM0M2ZiYjdkN2JiMDA3N2IyMDYzZjgyNTI3Yjg3YmQ2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yMzYwLDEyICsyMzYwLDE2IEBAIHZvaWQgRnJhbWVM
b2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyV2lsbFN1Ym1pdEZvcm0oKQogICAgIAogICAgIC8vIFRo
ZSBsb2FkIG1pZ2h0IGJlIGNhbmNlbGxlZCBpbnNpZGUgb2YgcHJlcGFyZUZvckxvYWRTdGFydCgp
LCBudWxsaW5nIG91dCB0aGUgbV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyLCAKICAgICAvLyBz
byB3ZSBuZWVkIHRvIG51bGwgY2hlY2sgaXQgYWdhaW4uCi0gICAgaWYgKCFtX3Byb3Zpc2lvbmFs
RG9jdW1lbnRMb2FkZXIpCisgICAgaWYgKCFtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIpIHsK
KyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiY29udGludWVMb2FkQWZ0ZXJXaWxsU3Vi
bWl0Rm9ybTogRnJhbWUgbG9hZCBjYW5jZWxlZCAoZnJhbWUgPSAlcCwgbWFpbiA9ICVkKSIsICZt
X2ZyYW1lLCBtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpOwogICAgICAgICByZXR1cm47CisgICAgfQog
CiAgICAgRG9jdW1lbnRMb2FkZXIqIGFjdGl2ZURvY0xvYWRlciA9IGFjdGl2ZURvY3VtZW50TG9h
ZGVyKCk7Ci0gICAgaWYgKGFjdGl2ZURvY0xvYWRlciAmJiBhY3RpdmVEb2NMb2FkZXItPmlzTG9h
ZGluZ01haW5SZXNvdXJjZSgpKQorICAgIGlmIChhY3RpdmVEb2NMb2FkZXIgJiYgYWN0aXZlRG9j
TG9hZGVyLT5pc0xvYWRpbmdNYWluUmVzb3VyY2UoKSkgeworICAgICAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCJjb250aW51ZUxvYWRBZnRlcldpbGxTdWJtaXRGb3JtOiBNYWluIGZyYW1lIGFs
cmVhZHkgYmVpbmcgbG9hZGVkIChmcmFtZSA9ICVwLCBtYWluID0gJWQpIiwgJm1fZnJhbWUsIG1f
ZnJhbWUuaXNNYWluRnJhbWUoKSk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBtX2xv
YWRpbmdGcm9tQ2FjaGVkUGFnZSA9IGZhbHNlOwogICAgIG1fcHJvdmlzaW9uYWxEb2N1bWVudExv
YWRlci0+c3RhcnRMb2FkaW5nTWFpblJlc291cmNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCAzNzNmZGU1ZDJkY2ViZmQ5YmQxNzQ0
YmJhZjk4OTk2YjI1YWYyZGIyLi45ZmVmMmM2YjMwNGIxMzFkY2Q2ZjliYThlYTliNjVlZTVhMTNl
NTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5j
cHAKQEAgLTYyLDYgKzYyLDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdURjsKIAorI2RlZmluZSBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKGZtdCwgLi4uKSBSRUxFQVNFX0xPR19JRihjYWNoZWRSZXNv
dXJjZUxvYWRlci5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTmV0d29yaywgIiVwIC0gQ2Fj
aGVkUmVzb3VyY2U6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIFJlc291cmNlTG9hZFByaW9yaXR5IENhY2hlZFJlc291cmNlOjpkZWZhdWx0UHJp
b3JpdHlGb3JSZXNvdXJjZVR5cGUoVHlwZSB0eXBlKQpAQCAtMjYzLDYgKzI2NSw3IEBAIHZvaWQg
Q2FjaGVkUmVzb3VyY2U6OmNvbXB1dGVPcmlnaW4oQ2FjaGVkUmVzb3VyY2VMb2FkZXImIGxvYWRl
cikKIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkZXImIGNhY2hl
ZFJlc291cmNlTG9hZGVyKQogewogICAgIGlmICghY2FjaGVkUmVzb3VyY2VMb2FkZXIuZnJhbWUo
KSkgeworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJsb2FkOiBObyBhc3NvY2lhdGVk
IGZyYW1lIik7CiAgICAgICAgIGZhaWxCZWZvcmVTdGFydGluZygpOwogICAgICAgICByZXR1cm47
CiAgICAgfQpAQCAtMjc0LDYgKzI3Nyw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OmxvYWQoQ2Fj
aGVkUmVzb3VyY2VMb2FkZXImIGNhY2hlZFJlc291cmNlTG9hZGVyKQogICAgIC8vIGNhY2hlLgog
ICAgIGlmIChhdXRvKiB0b3BEb2N1bWVudCA9IGZyYW1lLm1haW5GcmFtZSgpLmRvY3VtZW50KCkp
IHsKICAgICAgICAgaWYgKHRvcERvY3VtZW50LT5wYWdlQ2FjaGVTdGF0ZSgpICE9IERvY3VtZW50
OjpOb3RJblBhZ2VDYWNoZSkgeworICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
bG9hZDogQWxyZWFkeSBpbiBwYWdlIGNhY2hlIG9yIGJlaW5nIGFkZGVkIHRvIGl0IChmcmFtZSA9
ICVwKSIsICZmcmFtZSk7CiAgICAgICAgICAgICBmYWlsQmVmb3JlU3RhcnRpbmcoKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMjgxLDYgKzI4NSwxMiBAQCB2b2lkIENhY2hl
ZFJlc291cmNlOjpsb2FkKENhY2hlZFJlc291cmNlTG9hZGVyJiBjYWNoZWRSZXNvdXJjZUxvYWRl
cikKIAogICAgIEZyYW1lTG9hZGVyJiBmcmFtZUxvYWRlciA9IGZyYW1lLmxvYWRlcigpOwogICAg
IGlmIChtX29wdGlvbnMuc2VjdXJpdHlDaGVjayA9PSBEb1NlY3VyaXR5Q2hlY2sgJiYgKGZyYW1l
TG9hZGVyLnN0YXRlKCkgPT0gRnJhbWVTdGF0ZVByb3Zpc2lvbmFsIHx8ICFmcmFtZUxvYWRlci5h
Y3RpdmVEb2N1bWVudExvYWRlcigpIHx8IGZyYW1lTG9hZGVyLmFjdGl2ZURvY3VtZW50TG9hZGVy
KCktPmlzU3RvcHBpbmcoKSkpIHsKKyAgICAgICAgaWYgKGZyYW1lTG9hZGVyLnN0YXRlKCkgPT0g
RnJhbWVTdGF0ZVByb3Zpc2lvbmFsKQorICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RCgibG9hZDogRmFpbGVkIHNlY3VyaXR5IGNoZWNrIC0tIHN0YXRlIGlzIHByb3Zpc2lvbmFsIChm
cmFtZSA9ICVwKSIsICZmcmFtZSk7CisgICAgICAgIGVsc2UgaWYgKCFmcmFtZUxvYWRlci5hY3Rp
dmVEb2N1bWVudExvYWRlcigpKQorICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgi
bG9hZDogRmFpbGVkIHNlY3VyaXR5IGNoZWNrIC0tIG5vdCBhY3RpdmUgZG9jdW1lbnQgKGZyYW1l
ID0gJXApIiwgJmZyYW1lKTsKKyAgICAgICAgZWxzZSBpZiAoZnJhbWVMb2FkZXIuYWN0aXZlRG9j
dW1lbnRMb2FkZXIoKS0+aXNTdG9wcGluZygpKQorICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgibG9hZDogRmFpbGVkIHNlY3VyaXR5IGNoZWNrIC0tIGFjdGl2ZSBsb2FkZXIgaXMg
c3RvcHBpbmcgKGZyYW1lID0gJXApIiwgJmZyYW1lKTsKICAgICAgICAgZmFpbEJlZm9yZVN0YXJ0
aW5nKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0zMzcsNiArMzQ3LDcgQEAgdm9pZCBD
YWNoZWRSZXNvdXJjZTo6bG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciYgY2FjaGVkUmVzb3VyY2VM
b2FkZXIpCiAKICAgICBtX2xvYWRlciA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJh
dGVneSgpLT5sb2FkUmVzb3VyY2UoZnJhbWUsICp0aGlzLCByZXF1ZXN0LCBtX29wdGlvbnMpOwog
ICAgIGlmICghbV9sb2FkZXIpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgibG9h
ZDogVW5hYmxlIHRvIGNyZWF0ZSBTdWJyZXNvdXJjZUxvYWRlciAoZnJhbWUgPSAlcCkiLCAmZnJh
bWUpOwogICAgICAgICBmYWlsQmVmb3JlU3RhcnRpbmcoKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCmluZGV4IGFjMDI3MjUzZDc0ZWRlMzhhMDU1N2YyMzY0ZGUzOTBiODI5NjU4Mzku
LmY2OTJjMmRkOWVjZDFjYTI2N2ExY2UzNTE5YWFkNWE1NmJjNzAxNDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAt
ODAsNiArODAsOCBAQAogCiAjZGVmaW5lIFBSRUxPQURfREVCVUcgMAogCisjZGVmaW5lIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0lGKGlzQWx3YXlzT25Mb2dn
aW5nQWxsb3dlZCgpLCBOZXR3b3JrLCAiJXAgLSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6IiBmbXQs
IHRoaXMsICMjX19WQV9BUkdTX18pCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIENh
Y2hlZFJlc291cmNlKiBjcmVhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBD
YWNoZWRSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBTZXNzaW9uSUQgc2Vzc2lvbklEKQpAQCAt
NjA3LDExICs2MDksMTUgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENh
Y2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGUKICAgICAvLyBJZiBvbmx5
IHRoZSBmcmFnbWVudCBpZGVudGlmaWVycyBkaWZmZXIsIGl0IGlzIHRoZSBzYW1lIHJlc291cmNl
LgogICAgIHVybCA9IE1lbW9yeUNhY2hlOjpyZW1vdmVGcmFnbWVudElkZW50aWZpZXJJZk5lZWRl
ZCh1cmwpOwogCi0gICAgaWYgKCF1cmwuaXNWYWxpZCgpKQorICAgIGlmICghdXJsLmlzVmFsaWQo
KSkgeworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJyZXF1ZXN0UmVzb3VyY2U6IFVS
TCBpcyBpbnZhbGlkIChmcmFtZSA9ICVwKSIsIGZyYW1lKCkpOwogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICB9CiAKLSAgICBpZiAoIWNhblJlcXVlc3QodHlwZSwgdXJsLCByZXF1ZXN0Lm9w
dGlvbnMoKSwgcmVxdWVzdC5mb3JQcmVsb2FkKCkpKQorICAgIGlmICghY2FuUmVxdWVzdCh0eXBl
LCB1cmwsIHJlcXVlc3Qub3B0aW9ucygpLCByZXF1ZXN0LmZvclByZWxvYWQoKSkpIHsKKyAgICAg
ICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgicmVxdWVzdFJlc291cmNlOiBOb3QgYWxsb3dlZCB0
byByZXF1ZXN0IHJlc291cmNlIChmcmFtZSA9ICVwKSIsIGZyYW1lKCkpOwogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICB9CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAg
IGlmIChmcmFtZSgpICYmIGZyYW1lKCktPm1haW5GcmFtZSgpLnBhZ2UoKSAmJiBtX2RvY3VtZW50
TG9hZGVyKSB7CkBAIC02MTksNiArNjI1LDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
UmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGUKICAg
ICAgICAgYXV0byBibG9ja2VkU3RhdHVzID0gZnJhbWUoKS0+bWFpbkZyYW1lKCkucGFnZSgpLT51
c2VyQ29udGVudFByb3ZpZGVyKCkucHJvY2Vzc0NvbnRlbnRFeHRlbnNpb25SdWxlc0ZvckxvYWQo
cmVzb3VyY2VSZXF1ZXN0LnVybCgpLCB0b1Jlc291cmNlVHlwZSh0eXBlKSwgKm1fZG9jdW1lbnRM
b2FkZXIpOwogICAgICAgICBhcHBseUJsb2NrZWRTdGF0dXNUb1JlcXVlc3QoYmxvY2tlZFN0YXR1
cywgcmVzb3VyY2VSZXF1ZXN0KTsKICAgICAgICAgaWYgKGJsb2NrZWRTdGF0dXMuYmxvY2tlZExv
YWQpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInJlcXVlc3RSZXNvdXJj
ZTogUmVzb3VyY2UgYmxvY2tlZCBieSBjb250ZW50IGJsb2NrZXIgKGZyYW1lID0gJXApIiwgZnJh
bWUoKSk7CiAgICAgICAgICAgICBpZiAodHlwZSA9PSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWFp
blJlc291cmNlKSB7CiAgICAgICAgICAgICAgICAgYXV0byByZXNvdXJjZSA9IGNyZWF0ZVJlc291
cmNlKHR5cGUsIFdURk1vdmUocmVxdWVzdCksIHNlc3Npb25JRCgpKTsKICAgICAgICAgICAgICAg
ICBBU1NFUlQocmVzb3VyY2UpOwpAQCAtMTI5MCw0ICsxMjk3LDkgQEAgY29uc3QgUmVzb3VyY2VM
b2FkZXJPcHRpb25zJiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGVmYXVsdENhY2hlZFJlc291cmNl
T3B0aW9ucygKICAgICByZXR1cm4gb3B0aW9uczsKIH0KIAorYm9vbCBDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9k
b2N1bWVudExvYWRlciA/IG1fZG9jdW1lbnRMb2FkZXItPmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dl
ZCgpIDogdHJ1ZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCA1YWY3MWQyYWFhMmMzMzAzOWFlYzBlNmQ4ZmE3
ODEyMTc4Yjc3NDc5Li4xZGEyNDFhN2E2MTA5ZDA0OGM3MTYxNWUzOTNmN2I3MTg0NDdkYWJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuaApAQCAtMTQ1LDYgKzE0NSw4IEBAIHB1YmxpYzoKICAgICBSZXNvdXJjZVRpbWluZ0luZm9y
bWF0aW9uJiByZXNvdXJjZVRpbWluZ0luZm9ybWF0aW9uKCkgeyByZXR1cm4gbV9yZXNvdXJjZVRp
bWluZ0luZm87IH0KICNlbmRpZgogCisgICAgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQo
KSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDYWNoZWRSZXNvdXJjZUxvYWRlcihE
b2N1bWVudExvYWRlciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggZjhhYWFiZWYxNjRkNWMyNWEz
NmY5NTdkNGRlODFjN2U4MzkxNWYzNS4uYWJmODM2ODBiZDQ5NmVlOWE3NzI3YzY2NzM2ZjZhNzNj
YmI5MzE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaApAQCAtMjY0LDcgKzI2NCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgYm9vbCBhY3RpdmVET01PYmplY3RzQW5kQW5pbWF0aW9uc1N1c3Bl
bmRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnNTdXNw
ZW5kZWRDb3VudCA+IDA7IH0KIAogICAgICAgICBib29sIGlzVVJMQWxsb3dlZChjb25zdCBVUkwm
KSBjb25zdDsKLSAgICAgICAgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdDsK
KyAgICAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBj
b25zdDsKIAogICAgIC8vID09PT09PT09CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDU3NjFjYTEwZjFm
ODVlOWZkM2MxZTlhMjg4OWNkZWUwOGM1YjRiNDYuLmRjOWRiZWY4ZTZlM2JkNTQyMDY1MGQxYWEy
Yzk0NDUzMTJhOGQyOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMTQ4LDExICsxNDgsMTQgQEAgdm9p
ZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0KCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6
aXNNYWluKCkpOwogCi0gICAgaWYgKG1fZGVmZXJzTG9hZGluZykKKyAgICBpZiAobV9kZWZlcnNM
b2FkaW5nKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInN0YXJ0OiBMb2FkaW5n
IGlzIGRlZmVycmVkIChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3VyY2VJRCA9
ICVsbHUsIGlzTWFpblJlc291cmNlID0gJWQsIGlzU3luY2hyb25vdXMgPSAlZCkiLCBtX3BhcmFt
ZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9wYXJhbWV0ZXJzLmlk
ZW50aWZpZXIsIGlzTWFpblJlc291cmNlKCksIGlzU3luY2hyb25vdXMoKSk7CiAgICAgICAgIHJl
dHVybjsKKyAgICB9CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRSkKICAgICBpZiAoY2FuVXNl
Q2FjaGUob3JpZ2luYWxSZXF1ZXN0KCkpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9X
RUQoInN0YXJ0OiBSZXRyaWV2aW5nIHJlc291cmNlIGZyb20gY2FjaGUgKHBhZ2VJRCA9ICVsbHUs
IGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwg
aXNTeW5jaHJvbm91cyA9ICVkKSIsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVy
cy53ZWJGcmFtZUlELCBtX3BhcmFtZXRlcnMuaWRlbnRpZmllciwgaXNNYWluUmVzb3VyY2UoKSwg
aXNTeW5jaHJvbm91cygpKTsKICAgICAgICAgcmV0cmlldmVDYWNoZUVudHJ5KG9yaWdpbmFsUmVx
dWVzdCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTE5NSw2ICsxOTgsOCBAQCB2b2lk
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6cmV0cmlldmVDYWNoZUVudHJ5KGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCkKIAogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0
d29ya0xvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogeworICAgIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQoInN0YXJ0TmV0d29ya0xvYWQ6IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlE
ID0gJWxsdSwgcmVzb3VyY2VJRCA9ICVsbHUsIGlzTWFpblJlc291cmNlID0gJWQsIGlzU3luY2hy
b25vdXMgPSAlZCkiLCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJh
bWVJRCwgbV9wYXJhbWV0ZXJzLmlkZW50aWZpZXIsIGlzTWFpblJlc291cmNlKCksIGlzU3luY2hy
b25vdXMoKSk7CisKICAgICBjb25zdW1lU2FuZGJveEV4dGVuc2lvbnMoKTsKIAogICAgIGlmIChp
c1N5bmNocm9ub3VzKCkgfHwgbV9wYXJhbWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1lID4gMG1z
KQpAQCAtMjA1LDggKzIxMCw2IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzdGFydE5l
dHdvcmtMb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKICAgICAgICAgbV9idWZm
ZXJlZERhdGFGb3JDYWNoZSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7CiAjZW5kaWYKIAotICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInN0YXJ0TmV0d29ya0xvYWQ6IChwYWdlSUQgPSAlbGx1
LCBmcmFtZUlEID0gJWxsdSwgaXNNYWluUmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVk
KSIsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBpc01h
aW5SZXNvdXJjZSgpLCBpc1N5bmNocm9ub3VzKCkpOwotCiAgICAgTmV0d29ya0xvYWRQYXJhbWV0
ZXJzIHBhcmFtZXRlcnMgPSBtX3BhcmFtZXRlcnM7CiAgICAgcGFyYW1ldGVycy5kZWZlcnNMb2Fk
aW5nID0gbV9kZWZlcnNMb2FkaW5nOwogICAgIHBhcmFtZXRlcnMucmVxdWVzdCA9IHJlcXVlc3Q7
CkBAIC0yMTUsNiArMjE4LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0
d29ya0xvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogICAgIGF1dG8qIG5ldHdv
cmtTZXNzaW9uID0gU2Vzc2lvblRyYWNrZXI6Om5ldHdvcmtTZXNzaW9uKHBhcmFtZXRlcnMuc2Vz
c2lvbklEKTsKICAgICBpZiAoIW5ldHdvcmtTZXNzaW9uKSB7CiAgICAgICAgIFdURkxvZ0Fsd2F5
cygiQXR0ZW1wdGVkIHRvIGNyZWF0ZSBhIE5ldHdvcmtMb2FkIHdpdGggYSBzZXNzaW9uIChpZD0l
IiBQUkl1NjQgIikgdGhhdCBkb2VzIG5vdCBleGlzdC4iLCBwYXJhbWV0ZXJzLnNlc3Npb25JRC5z
ZXNzaW9uSUQoKSk7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoInN0YXJ0TmV0d29y
a0xvYWQ6IEF0dGVtcHRlZCB0byBjcmVhdGUgYSBOZXR3b3JrTG9hZCB3aXRoIGEgc2Vzc2lvbiB0
aGF0IGRvZXMgbm90IGV4aXN0IChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgcmVzb3Vy
Y2VJRCA9ICVsbHUsIHNlc3Npb25JRD0lbGx1KSIsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1f
cGFyYW1ldGVycy53ZWJGcmFtZUlELCBtX3BhcmFtZXRlcnMuaWRlbnRpZmllciwgcGFyYW1ldGVy
cy5zZXNzaW9uSUQuc2Vzc2lvbklEKCkpOwogICAgICAgICBkaWRGYWlsTG9hZGluZyhpbnRlcm5h
bEVycm9yKHJlcXVlc3QudXJsKCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTIyMiw2
ICsyMjYsMTEgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0d29ya0xvYWQo
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogI2Vsc2UKICAgICBtX25ldHdvcmtMb2Fk
ID0gc3RkOjptYWtlX3VuaXF1ZTxOZXR3b3JrTG9hZD4oKnRoaXMsIFdURk1vdmUocGFyYW1ldGVy
cykpOwogI2VuZGlmCisKKyAgICBpZiAobV9kZWZlcnNMb2FkaW5nKSB7CisgICAgICAgIFJFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoInN0YXJ0TmV0d29ya0xvYWQ6IENyZWF0ZWQsIGJ1dCBkZWZlcnJl
ZCAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1KSIsCisg
ICAgICAgICAgICBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJ
RCwgbV9wYXJhbWV0ZXJzLmlkZW50aWZpZXIpOworICAgIH0KIH0KIAogdm9pZCBOZXR3b3JrUmVz
b3VyY2VMb2FkZXI6OnNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnMpCkBAIC0yMzAsNiArMjM5
LDExIEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wg
ZGVmZXJzKQogICAgICAgICByZXR1cm47CiAgICAgbV9kZWZlcnNMb2FkaW5nID0gZGVmZXJzOwog
CisgICAgaWYgKGRlZmVycykKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic2V0RGVm
ZXJzTG9hZGluZzogRGVmZXJyaW5nIHJlc291cmNlIGxvYWQgKHBhZ2VJRCA9ICVsbHUsIGZyYW1l
SUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSkiLCBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBt
X3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9wYXJhbWV0ZXJzLmlkZW50aWZpZXIpOworICAgIGVs
c2UKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic2V0RGVmZXJzTG9hZGluZzogUmVz
dW1pbmcgZGVmZXJyZWQgcmVzb3VyY2UgbG9hZCAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVs
bHUsIHJlc291cmNlSUQgPSAlbGx1KSIsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1l
dGVycy53ZWJGcmFtZUlELCBtX3BhcmFtZXRlcnMuaWRlbnRpZmllcik7CisKICAgICBpZiAobV9u
ZXR3b3JrTG9hZCkgewogICAgICAgICBtX25ldHdvcmtMb2FkLT5zZXREZWZlcnNMb2FkaW5nKGRl
ZmVycyk7CiAgICAgICAgIHJldHVybjsKQEAgLTIzNyw2ICsyNTEsOCBAQCB2b2lkIE5ldHdvcmtS
ZXNvdXJjZUxvYWRlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKIAogICAgIGlmICgh
bV9kZWZlcnNMb2FkaW5nKQogICAgICAgICBzdGFydCgpOworICAgIGVsc2UKKyAgICAgICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRCgic2V0RGVmZXJzTG9hZGluZzogZGVmZXJzID0gVFJVRSwgYnV0
IG5vdGhpbmcgdG8gc3RvcCAocGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNl
SUQgPSAlbGx1KSIsIG1fcGFyYW1ldGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFt
ZUlELCBtX3BhcmFtZXRlcnMuaWRlbnRpZmllcik7CiB9CiAKIHZvaWQgTmV0d29ya1Jlc291cmNl
TG9hZGVyOjpjbGVhbnVwKCkKQEAgLTI3Myw2ICsyODksOSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjo6YWJvcnQoKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKKyAg
ICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJhYm9ydDogQ2FuY2VsaW5nIHJlc291cmNlIGxvYWQg
KHBhZ2VJRCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSkiLAorICAg
ICAgICBtX3BhcmFtZXRlcnMud2ViUGFnZUlELCBtX3BhcmFtZXRlcnMud2ViRnJhbWVJRCwgbV9w
YXJhbWV0ZXJzLmlkZW50aWZpZXIpOworCiAgICAgaWYgKG1fbmV0d29ya0xvYWQgJiYgIW1fZGlk
Q29udmVydFRvRG93bmxvYWQpIHsKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRSkKICAgICAgICAg
aWYgKGNhblVzZUNhY2hlKG1fbmV0d29ya0xvYWQtPmN1cnJlbnRSZXF1ZXN0KCkpKSB7CkBAIC0z
MjAsMTAgKzMzOSw4IEBAIGF1dG8gTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVz
cG9uc2UoUmVzb3VyY2VSZXNwb25zZSYmIHJlY2VpdmVkUmVzcG9uCiAgICAgaWYgKHNob3VsZFNl
bmREaWRSZWNlaXZlUmVzcG9uc2UpIHsKICAgICAgICAgaWYgKGlzU3luY2hyb25vdXMoKSkKICAg
ICAgICAgICAgIG1fc3luY2hyb25vdXNMb2FkRGF0YS0+cmVzcG9uc2UgPSBtX3Jlc3BvbnNlOwot
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoImRpZFJl
Y2VpdmVSZXNwb25zZTogU2VuZGluZyBkaWRSZWNlaXZlUmVzcG9uc2UgbWVzc2FnZSB0byB0aGUg
V2ViQ29udGVudCBwcm9jZXNzIChwYWdlSUQgPSAlbGx1LCBmcmFtZUlEID0gJWxsdSwgaXNNYWlu
UmVzb3VyY2UgPSAlZCwgaXNTeW5jaHJvbm91cyA9ICVkKSIsIHN0YXRpY19jYXN0PHVuc2lnbmVk
IGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYlBhZ2VJRCksIHN0YXRpY19jYXN0PHVuc2lnbmVk
IGxvbmcgbG9uZz4obV9wYXJhbWV0ZXJzLndlYkZyYW1lSUQpLCBpc01haW5SZXNvdXJjZSgpLCBp
c1N5bmNocm9ub3VzKCkpOworICAgICAgICBlbHNlCiAgICAgICAgICAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlKG1fcmVzcG9uc2UsIHNob3Vs
ZFdhaXRDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSkpOwotICAgICAgICB9CiAgICAgfQogCiAg
ICAgLy8gRm9yIG1haW4gcmVzb3VyY2VzLCB0aGUgd2ViIHByb2Nlc3MgaXMgcmVzcG9uc2libGUg
Zm9yIHNlbmRpbmcgYmFjayBhIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Q29udGludWVEaWRSZWNl
aXZlUmVzcG9uc2UgbWVzc2FnZS4KQEAgLTM0Myw2ICszNjAsMTEgQEAgYXV0byBOZXR3b3JrUmVz
b3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVjZWl2
ZWRSZXNwb24KIAogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVCdWZmZXIo
UmVmPFNoYXJlZEJ1ZmZlcj4mJiBidWZmZXIsIGludCByZXBvcnRlZEVuY29kZWREYXRhTGVuZ3Ro
KQogeworICAgIGlmICghbV9oYXNSZWNlaXZlZERhdGEpIHsKKyAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRCgiZGlkUmVjZWl2ZUJ1ZmZlcjogU3RhcnRlZCByZWNlaXZpbmcgZGF0YSAocGFn
ZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1KSIsIG1fcGFyYW1l
dGVycy53ZWJQYWdlSUQsIG1fcGFyYW1ldGVycy53ZWJGcmFtZUlELCBtX3BhcmFtZXRlcnMuaWRl
bnRpZmllcik7CisgICAgICAgIG1faGFzUmVjZWl2ZWREYXRhID0gdHJ1ZTsKKyAgICB9CisKICNp
ZiBFTkFCTEUoTkVUV09SS19DQUNIRSkKICAgICBBU1NFUlQoIW1fY2FjaGVFbnRyeUZvclZhbGlk
YXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5oCmluZGV4IDFkOGYyYjgxMTNkODU3ODdkZWM4MmVjODg1M2IxZGNi
NTcyZTNhNzcuLjdkZDI4MjliMDQ4OTBmYzNmZmNmNmZkYjE1NDNjNGVhZThlODJmYmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxv
YWRlci5oCkBAIC0xNTMsNiArMTUzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZGlkQ29udmVy
dFRvRG93bmxvYWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaWRDb25zdW1lU2FuZGJveEV4dGVu
c2lvbnMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kZWZlcnNMb2FkaW5nIHsgZmFsc2UgfTsKKyAg
ICBib29sIG1faGFzUmVjZWl2ZWREYXRhIHsgZmFsc2UgfTsKIAogICAgIFdlYkNvcmU6OlRpbWVy
IG1fYnVmZmVyaW5nVGltZXI7CiAjaWYgRU5BQkxFKE5FVFdPUktfQ0FDSEUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNw
cAppbmRleCAwYTc1NzllZjM1NWU2ZDJiYmZkMTk4Y2U4MzI0NDIwYzZmYWRkMDlhLi5mOGNiOTNk
MmRkNjAwZTk0OWU0MTU1YTlhOGUxNmIzYzNjMTlhM2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTU3
LDggKzU3LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLSNkZWZpbmUgUkVMRUFT
RV9MT0dfSUZfQUxMT1dFRChmbXQsIC4uLikgUkVMRUFTRV9MT0dfSUYobG9hZFBhcmFtZXRlcnMu
c2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBOZXR3b3JrLCAiJXAgLSBXZWJM
b2FkZXJTdHJhdGVneTo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCi0jZGVmaW5lIFJFTEVB
U0VfTE9HX0VSUk9SX0lGX0FMTE9XRUQoZm10LCAuLi4pIFJFTEVBU0VfTE9HX0VSUk9SX0lGKGxv
YWRQYXJhbWV0ZXJzLnNlc3Npb25JRC5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgTmV0d29y
aywgIiVwIC0gV2ViTG9hZGVyU3RyYXRlZ3k6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQor
I2RlZmluZSBSRUxFQVNFX0xPR19JRl9BTExPV0VEKHBlcm1pc3Npb25DaGVja2VyLCBmbXQsIC4u
LikgUkVMRUFTRV9MT0dfSUYocGVybWlzc2lvbkNoZWNrZXIuaXNBbHdheXNPbkxvZ2dpbmdBbGxv
d2VkKCksIE5ldHdvcmssICIlcCAtIFdlYkxvYWRlclN0cmF0ZWd5OjoiIGZtdCwgdGhpcywgIyNf
X1ZBX0FSR1NfXykKKyNkZWZpbmUgUkVMRUFTRV9MT0dfRVJST1JfSUZfQUxMT1dFRChwZXJtaXNz
aW9uQ2hlY2tlciwgZm10LCAuLi4pIFJFTEVBU0VfTE9HX0VSUk9SX0lGKHBlcm1pc3Npb25DaGVj
a2VyLmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBOZXR3b3JrLCAiJXAgLSBXZWJMb2FkZXJT
dHJhdGVneTo6IiBmbXQsIHRoaXMsICMjX19WQV9BUkdTX18pCiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCkBAIC03Niw2ICs3Niw4IEBAIFJlZlB0cjxTdWJyZXNvdXJjZUxvYWRlcj4gV2ViTG9hZGVy
U3RyYXRlZ3k6OmxvYWRSZXNvdXJjZShGcmFtZSYgZnJhbWUsIENhY2hlZFJlCiAgICAgUmVmUHRy
PFN1YnJlc291cmNlTG9hZGVyPiBsb2FkZXIgPSBTdWJyZXNvdXJjZUxvYWRlcjo6Y3JlYXRlKGZy
YW1lLCByZXNvdXJjZSwgcmVxdWVzdCwgb3B0aW9ucyk7CiAgICAgaWYgKGxvYWRlcikKICAgICAg
ICAgc2NoZWR1bGVMb2FkKCpsb2FkZXIsICZyZXNvdXJjZSwgZnJhbWUuZG9jdW1lbnQoKS0+cmVm
ZXJyZXJQb2xpY3koKSA9PSBSZWZlcnJlclBvbGljeTo6RGVmYXVsdCk7CisgICAgZWxzZQorICAg
ICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKGZyYW1lLCAibG9hZFJlc291cmNlOiBV
bmFibGUgdG8gY3JlYXRlIFN1YnJlc291cmNlTG9hZGVyIChmcmFtZSA9ICVwIiwgJmZyYW1lKTsK
ICAgICByZXR1cm4gbG9hZGVyOwogfQogCkBAIC0xNDksNiArMTUxLDcgQEAgdm9pZCBXZWJMb2Fk
ZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVyJiByZXNvdXJjZUxvYWRlciwg
Q2FjaGVkUmVzb3UKICAgICAvLyB0aGVuIHdlIHNob3VsZCByZW1lbWJlciB0aGUgUmVzb3VyY2VM
b2FkZXIgaW4gb3VyIHJlY29yZHMgYnV0IG5vdCBzY2hlZHVsZSBpdCBpbiB0aGUgTmV0d29ya1By
b2Nlc3MuCiAgICAgaWYgKHJlc291cmNlTG9hZGVyLmRvY3VtZW50TG9hZGVyKCktPnNjaGVkdWxl
QXJjaGl2ZUxvYWQocmVzb3VyY2VMb2FkZXIsIHJlc291cmNlTG9hZGVyLnJlcXVlc3QoKSkpIHsK
ICAgICAgICAgTE9HKE5ldHdvcmtTY2hlZHVsaW5nLCAiKFdlYlByb2Nlc3MpIFdlYkxvYWRlclN0
cmF0ZWd5OjpzY2hlZHVsZUxvYWQsIHVybCAnJXMnIHdpbGwgYmUgaGFuZGxlZCBhcyBhbiBhcmNo
aXZlIHJlc291cmNlLiIsIHJlc291cmNlTG9hZGVyLnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRh
KCkpOworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKHJlc291cmNlTG9hZGVyLCAic2No
ZWR1bGVMb2FkOiBVUkwgd2lsbCBiZSBoYW5kbGVkIGFzIGFuIGFyY2hpdmUgcmVzb3VyY2UgKGZy
YW1lID0gJXAsIHJlc291cmNlSUQgPSAlbGx1KSIsIHJlc291cmNlTG9hZGVyLmZyYW1lKCksIGlk
ZW50aWZpZXIpOwogICAgICAgICBtX3dlYlJlc291cmNlTG9hZGVycy5zZXQoaWRlbnRpZmllciwg
V2ViUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShyZXNvdXJjZUxvYWRlciwgdHJhY2tpbmdQYXJhbWV0
ZXJzKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xNTYsMTIgKzE1OSwxNCBAQCB2b2lk
IFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNl
TG9hZGVyLCBDYWNoZWRSZXNvdQogCiAgICAgaWYgKHJlc291cmNlTG9hZGVyLmRvY3VtZW50TG9h
ZGVyKCktPmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCktPm1heWJlTG9hZFJlc291cmNlKHJlc291cmNl
TG9hZGVyLCByZXNvdXJjZUxvYWRlci5yZXF1ZXN0KCksIHJlc291cmNlTG9hZGVyLnJlcXVlc3Qo
KS51cmwoKSkpIHsKICAgICAgICAgTE9HKE5ldHdvcmtTY2hlZHVsaW5nLCAiKFdlYlByb2Nlc3Mp
IFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQsIHVybCAnJXMnIHdpbGwgYmUgbG9hZGVk
IGZyb20gYXBwbGljYXRpb24gY2FjaGUuIiwgcmVzb3VyY2VMb2FkZXIudXJsKCkuc3RyaW5nKCku
dXRmOCgpLmRhdGEoKSk7CisgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQocmVzb3VyY2VM
b2FkZXIsICJzY2hlZHVsZUxvYWQ6IFVSTCB3aWxsIGJlIGxvYWRlZCBmcm9tIGFwcGxpY2F0aW9u
IGNhY2hlIChmcmFtZSA9ICVwLCByZXNvdXJjZUlEID0gJWxsdSkiLCByZXNvdXJjZUxvYWRlci5m
cmFtZSgpLCBpZGVudGlmaWVyKTsKICAgICAgICAgbV93ZWJSZXNvdXJjZUxvYWRlcnMuc2V0KGlk
ZW50aWZpZXIsIFdlYlJlc291cmNlTG9hZGVyOjpjcmVhdGUocmVzb3VyY2VMb2FkZXIsIHRyYWNr
aW5nUGFyYW1ldGVycykpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKHJlc291
cmNlTG9hZGVyLnJlcXVlc3QoKS51cmwoKS5wcm90b2NvbElzRGF0YSgpKSB7CiAgICAgICAgIExP
RyhOZXR3b3JrU2NoZWR1bGluZywgIihXZWJQcm9jZXNzKSBXZWJMb2FkZXJTdHJhdGVneTo6c2No
ZWR1bGVMb2FkLCB1cmwgJyVzJyB3aWxsIGJlIGxvYWRlZCBhcyBkYXRhLiIsIHJlc291cmNlTG9h
ZGVyLnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKHJlc291cmNlTG9hZGVyLCAic2NoZWR1bGVMb2FkOiBVUkwgd2lsbCBiZSBsb2Fk
ZWQgYXMgZGF0YSAoZnJhbWUgPSAlcCwgcmVzb3VyY2VJRCA9ICVsbHUpIiwgcmVzb3VyY2VMb2Fk
ZXIuZnJhbWUoKSwgaWRlbnRpZmllcik7CiAgICAgICAgIHN0YXJ0TG9jYWxMb2FkKHJlc291cmNl
TG9hZGVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTE2OSw2ICsxNzQsNyBAQCB2b2lk
IFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNl
TG9hZGVyLCBDYWNoZWRSZXNvdQogI2lmIFVTRShRVUlDS19MT09LKQogICAgIGlmIChyZXNvdXJj
ZUxvYWRlci5yZXF1ZXN0KCkudXJsKCkucHJvdG9jb2xJcyhRTFByZXZpZXdQcm90b2NvbCgpKSkg
ewogICAgICAgICBMT0coTmV0d29ya1NjaGVkdWxpbmcsICIoV2ViUHJvY2VzcykgV2ViTG9hZGVy
U3RyYXRlZ3k6OnNjaGVkdWxlTG9hZCwgdXJsICclcycgd2lsbCBiZSBoYW5kbGVkIGFzIGEgUXVp
Y2tMb29rIHJlc291cmNlLiIsIHJlc291cmNlTG9hZGVyLnVybCgpLnN0cmluZygpLnV0ZjgoKS5k
YXRhKCkpOworICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKHJlc291cmNlTG9hZGVyLCAi
c2NoZWR1bGVMb2FkOiBVUkwgd2lsbCBiZSBoYW5kbGVkIGFzIGEgUXVpY2tMb29rIHJlc291cmNl
IChmcmFtZSA9ICVwLCByZXNvdXJjZUlEID0gJWxsdSkiLCByZXNvdXJjZUxvYWRlci5mcmFtZSgp
LCBpZGVudGlmaWVyKTsKICAgICAgICAgc3RhcnRMb2NhbExvYWQocmVzb3VyY2VMb2FkZXIpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTc5LDYgKzE4NSw3IEBAIHZvaWQgV2ViTG9hZGVy
U3RyYXRlZ3k6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMb2FkZXIsIENh
Y2hlZFJlc291CiAgICAgLy8gaHR0cHM6Ly9ibG9ncy5nbm9tZS5vcmcvYWxleGwvMjAxMi8wMS8y
Ni9yZXNvdXJjZXMtaW4tZ2xpYi8KICAgICBpZiAocmVzb3VyY2VMb2FkZXIucmVxdWVzdCgpLnVy
bCgpLnByb3RvY29sSXMoInJlc291cmNlIikpIHsKICAgICAgICAgTE9HKE5ldHdvcmtTY2hlZHVs
aW5nLCAiKFdlYlByb2Nlc3MpIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQsIHVybCAn
JXMnIHdpbGwgYmUgaGFuZGxlZCBhcyBhIEdSZXNvdXJjZS4iLCByZXNvdXJjZUxvYWRlci51cmwo
KS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dF
RChyZXNvdXJjZUxvYWRlciwgInNjaGVkdWxlTG9hZDogVVJMIHdpbGwgYmUgaGFuZGxlZCBhcyBh
IEdSZXNvdXJjZSAoZnJhbWUgPSAlcCwgcmVzb3VyY2VJRCA9ICVsbHUpIiwgcmVzb3VyY2VMb2Fk
ZXIuZnJhbWUoKSwgaWRlbnRpZmllcik7CiAgICAgICAgIHN0YXJ0TG9jYWxMb2FkKHJlc291cmNl
TG9hZGVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTIwNyw3ICsyMTQsNyBAQCB2b2lk
IFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVzb3VyY2VMb2FkZXImIHJlc291cmNl
TG9hZGVyLCBDYWNoZWRSZXNvdQogICAgIEFTU0VSVCgobG9hZFBhcmFtZXRlcnMud2ViUGFnZUlE
ICYmIGxvYWRQYXJhbWV0ZXJzLndlYkZyYW1lSUQpIHx8IGxvYWRQYXJhbWV0ZXJzLmNsaWVudENy
ZWRlbnRpYWxQb2xpY3kgPT0gQ2xpZW50Q3JlZGVudGlhbFBvbGljeTo6Q2Fubm90QXNrQ2xpZW50
Rm9yQ3JlZGVudGlhbHMpOwogCiAgICAgaWYgKCFXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3
b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6U2NoZWR1bGVSZXNvdXJjZUxvYWQobG9hZFBhcmFtZXRlcnMpLCAw
KSkgewotICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKCJzY2hlZHVsZUxvYWQ6
IFVuYWJsZSB0byBzY2hlZHVsZSByZXNvdXJjZSB3aXRoIHRoZSBOZXR3b3JrUHJvY2VzcyAoZnJh
bWUgPSAlcCwgcHJpb3JpdHkgPSAlZCwgcGFnZUlEID0gJWxsdSwgZnJhbWVJRCA9ICVsbHUsIHJl
c291cmNlSUQgPSAlbGx1KSIsIHJlc291cmNlTG9hZGVyLmZyYW1lKCksIHN0YXRpY19jYXN0PGlu
dD4ocmVzb3VyY2VMb2FkZXIucmVxdWVzdCgpLnByaW9yaXR5KCkpLCBsb2FkUGFyYW1ldGVycy53
ZWJQYWdlSUQsIGxvYWRQYXJhbWV0ZXJzLmlkZW50aWZpZXIsIGxvYWRQYXJhbWV0ZXJzLndlYkZy
YW1lSUQpOworICAgICAgICBSRUxFQVNFX0xPR19FUlJPUl9JRl9BTExPV0VEKHJlc291cmNlTG9h
ZGVyLCAic2NoZWR1bGVMb2FkOiBVbmFibGUgdG8gc2NoZWR1bGUgcmVzb3VyY2Ugd2l0aCB0aGUg
TmV0d29ya1Byb2Nlc3MgKGZyYW1lID0gJXAsIHByaW9yaXR5ID0gJWQsIHBhZ2VJRCA9ICVsbHUs
IGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSkiLCByZXNvdXJjZUxvYWRlci5mcmFt
ZSgpLCBzdGF0aWNfY2FzdDxpbnQ+KHJlc291cmNlTG9hZGVyLnJlcXVlc3QoKS5wcmlvcml0eSgp
KSwgbG9hZFBhcmFtZXRlcnMud2ViUGFnZUlELCBsb2FkUGFyYW1ldGVycy5pZGVudGlmaWVyLCBs
b2FkUGFyYW1ldGVycy53ZWJGcmFtZUlEKTsKICAgICAgICAgLy8gV2UgcHJvYmFibHkgZmFpbGVk
IHRvIHNjaGVkdWxlIHRoaXMgbG9hZCB3aXRoIHRoZSBOZXR3b3JrUHJvY2VzcyBiZWNhdXNlIGl0
IGhhZCBjcmFzaGVkLgogICAgICAgICAvLyBUaGlzIGxvYWQgd2lsbCBuZXZlciBzdWNjZWVkIHNv
IHdlIHdpbGwgc2NoZWR1bGUgaXQgdG8gZmFpbCBhc3luY2hyb25vdXNseS4KICAgICAgICAgc2No
ZWR1bGVJbnRlcm5hbGx5RmFpbGVkTG9hZChyZXNvdXJjZUxvYWRlcik7CkBAIC0yMTUsNyArMjIy
LDcgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVMb2FkKFJlc291cmNlTG9hZGVy
JiByZXNvdXJjZUxvYWRlciwgQ2FjaGVkUmVzb3UKICAgICB9CiAKICAgICBhdXRvIHdlYlJlc291
cmNlTG9hZGVyID0gV2ViUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShyZXNvdXJjZUxvYWRlciwgdHJh
Y2tpbmdQYXJhbWV0ZXJzKTsKLSAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJzY2hlZHVsZUxv
YWQ6IFJlc291cmNlIGhhcyBiZWVuIHF1ZXVlZCBmb3Igc2NoZWR1bGluZyB3aXRoIHRoZSBOZXR3
b3JrUHJvY2VzcyAoZnJhbWUgPSAlcCwgcHJpb3JpdHkgPSAlZCwgcGFnZUlEID0gJWxsdSwgZnJh
bWVJRCA9ICVsbHUsIHJlc291cmNlSUQgPSAlbGx1LCBXZWJSZXNvdXJjZUxvYWRlciA9ICVwKSIs
IHJlc291cmNlTG9hZGVyLmZyYW1lKCksIHN0YXRpY19jYXN0PGludD4ocmVzb3VyY2VMb2FkZXIu
cmVxdWVzdCgpLnByaW9yaXR5KCkpLCBsb2FkUGFyYW1ldGVycy53ZWJQYWdlSUQsIGxvYWRQYXJh
bWV0ZXJzLndlYkZyYW1lSUQsIGxvYWRQYXJhbWV0ZXJzLmlkZW50aWZpZXIsIHdlYlJlc291cmNl
TG9hZGVyLnB0cigpKTsKKyAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKHJlc291cmNlTG9hZGVy
LCAic2NoZWR1bGVMb2FkOiBSZXNvdXJjZSBoYXMgYmVlbiBxdWV1ZWQgZm9yIHNjaGVkdWxpbmcg
d2l0aCB0aGUgTmV0d29ya1Byb2Nlc3MgKGZyYW1lID0gJXAsIHByaW9yaXR5ID0gJWQsIHBhZ2VJ
RCA9ICVsbHUsIGZyYW1lSUQgPSAlbGx1LCByZXNvdXJjZUlEID0gJWxsdSwgV2ViUmVzb3VyY2VM
b2FkZXIgPSAlcCkiLCByZXNvdXJjZUxvYWRlci5mcmFtZSgpLCBzdGF0aWNfY2FzdDxpbnQ+KHJl
c291cmNlTG9hZGVyLnJlcXVlc3QoKS5wcmlvcml0eSgpKSwgbG9hZFBhcmFtZXRlcnMud2ViUGFn
ZUlELCBsb2FkUGFyYW1ldGVycy53ZWJGcmFtZUlELCBsb2FkUGFyYW1ldGVycy5pZGVudGlmaWVy
LCB3ZWJSZXNvdXJjZUxvYWRlci5wdHIoKSk7CiAgICAgbV93ZWJSZXNvdXJjZUxvYWRlcnMuc2V0
KGlkZW50aWZpZXIsIFdURk1vdmUod2ViUmVzb3VyY2VMb2FkZXIpKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>