<?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>185883</bug_id>
          
          <creation_ts>2018-05-22 13:55:12 -0700</creation_ts>
          <short_desc>Optimized path zoom animation needs a valid UIImage and CGRect</short_desc>
          <delta_ts>2018-05-22 16:58:23 -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>New Bugs</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="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jonlee</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1426283</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-05-22 13:55:12 -0700</bug_when>
    <thetext>Optimized path zoom animation needs a valid UIImage and CGRect</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426287</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-05-22 13:58:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/40306056&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426288</commentid>
    <comment_count>2</comment_count>
      <attachid>341018</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-05-22 14:02:32 -0700</bug_when>
    <thetext>Created attachment 341018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426327</commentid>
    <comment_count>3</comment_count>
      <attachid>341031</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-05-22 14:42:59 -0700</bug_when>
    <thetext>Created attachment 341031
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426334</commentid>
    <comment_count>4</comment_count>
      <attachid>341033</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-05-22 14:54:10 -0700</bug_when>
    <thetext>Created attachment 341033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1426409</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-05-22 16:58:23 -0700</bug_when>
    <thetext>Committed r232090: &lt;https://trac.webkit.org/changeset/232090&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341018</attachid>
            <date>2018-05-22 14:02:32 -0700</date>
            <delta_ts>2018-05-22 14:42:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185883-20180523070230.patch</filename>
            <type>text/plain</type>
            <size>26996</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDUxYTJkNzcxYTU3ZmYw
Njg5OWM5OTc0ZjI5NzExMzg5YmE5NzgwYy4uNmYxODEzNTU0MTA3NGViZDI5ZWRmMzJhMDg4Mjdh
Y2Q5NGM1N2QwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA1LTIyICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBPcHRpbWl6ZWQgcGF0aCB6b29t
IGFuaW1hdGlvbiBuZWVkcyBhIHZhbGlkIFVJSW1hZ2UgYW5kIENHUmVjdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1ODgzCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80MDMwNjA1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQYXNzIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGVsZW1lbnQgdGhhdCB3
YXMgY2xpY2tlZCBvbnRvCisgICAgICAgIHRoZSBVSSBwcm9jZXNzLCBzbyBpdCBjYW4gcGVyZm9y
bSBhbiBhbmltYXRpb24gZnJvbSB0aGF0IHNwb3QuCisKKyAgICAgICAgVGhpcyBpbnZvbHZlZCBh
ZGRpbmcgYW4gSW50UmVjdCB0byB0aGUgUmVzb3VyY2VSZXF1ZXN0LCBhbmQgcGFzc2luZworICAg
ICAgICB0aGF0IGluZm8gaW50byBpdCBmcm9tIHRoZSBIVE1MQW5jaG9yRWxlbWVudCwgdXNpbmcg
YSBuZXcgc3RydWN0CisgICAgICAgIGNhbGxlZCBTeXN0ZW1QcmV2aWV3SW5mby4KKworICAgICAg
ICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFu
Y2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVx
dWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRS
ZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkUmVxdWVzdDo6RnJhbWVMb2FkUmVxdWVzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0Ojppc1N5c3RlbVByZXZpZXcgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkUmVxdWVzdDo6c3lzdGVtUHJldmlld1JlY3QgY29uc3QpOgor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6dXJsU2VsZWN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6Omxv
YWRVUkwpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXJUeXBlcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzeXN0ZW1QcmV2
aWV3UmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpz
ZXRTeXN0ZW1QcmV2aWV3UmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlcXVlc3RCYXNlLmg6CisKIDIwMTgtMDUtMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSBidWlsZCBieSBpZ25vcmluZyBzb21lIGRl
cHJlY2F0aW9uIHdhcm5pbmdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQzNGNjZjQzOTBmZjY5NDZhY2MxMTA2Zjli
ZTAzNTNjMTUwZWRjMjMuLjJkNDk0YmZiNTJlZGIyZjNhYTNkM2ZkMDI2ZWJhNDU4MjBlZGVlNWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTgtMDUtMjIgIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgorCisgICAgICAgIE9wdGltaXplZCBwYXRoIHpvb20gYW5pbWF0aW9uIG5l
ZWRzIGEgdmFsaWQgVUlJbWFnZSBhbmQgQ0dSZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODU4ODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQw
MzA2MDU2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRha2UgdGhlIHJlY3RhbmdsZSB0aGF0IHdhcyBwYXNzZWQgaW50byB0aGUgUmVzb3VyY2VSZXF1
ZXN0IGFuZAorICAgICAgICB1c2UgaXQgZm9yIHRoZSBvcmlnaW4gb2YgYW4gYW5pbWF0aW9uIGlu
dG8gUXVpY2tMb29rLgorCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5j
cHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZW5jb2Rl
KToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjpkZWNvZGUp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Eb3dubG9hZENsaWVudC5tbToKKyAgICAgICAg
KFdlYktpdDo6RG93bmxvYWRDbGllbnQ6OmRpZFN0YXJ0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvU3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbToKKyAgICAgICAgKC1bX1dLUHJl
dmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBpbml0V2l0aFN5c3RlbVByZXZpZXdDb250cm9sbGVyOmZy
b21SZWN0Ol0pOgorICAgICAgICAoLVtfV0tQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRlIHByZXNl
bnRpbmdWaWV3Q29udHJvbGxlcl0pOgorICAgICAgICAoLVtfV0tQcmV2aWV3Q29udHJvbGxlckRl
bGVnYXRlIHByZXZpZXdDb250cm9sbGVyOmZyYW1lRm9yUHJldmlld0l0ZW06aW5Tb3VyY2VWaWV3
Ol0pOgorICAgICAgICAoLVtfV0tQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRlIHByZXZpZXdDb250
cm9sbGVyOnRyYW5zaXRpb25JbWFnZUZvclByZXZpZXdJdGVtOmNvbnRlbnRSZWN0Ol0pOgorICAg
ICAgICAoV2ViS2l0OjpTeXN0ZW1QcmV2aWV3Q29udHJvbGxlcjo6c3RhcnQpOgorICAgICAgICAo
LVtfV0tQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRlIGluaXRXaXRoU3lzdGVtUHJldmlld0NvbnRy
b2xsZXI6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZFByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OkRvd25sb2FkUHJveHk6OnN5c3RlbVByZXZpZXdE
b3dubG9hZFJlY3QgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9TeXN0ZW1QcmV2aWV3Q29u
dHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJvb3RWaWV3VG9TY3JlZW5EaXJlY3QpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwogMjAxOC0wNS0xNyAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgU2FmYXJpIG9wdGltaXplZCBmbG93IHNob3Vs
ZCBiZSByZWxlYXNpbmcgdmlld2VyIHRvIHByZXZlbnQgbWVtb3J5IGdyb3d0aCB3aXRoIHN1YnNl
cXVlbnQgbGF1bmNoZXMvY2xvc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBbmNob3JFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1l
bnQuY3BwCmluZGV4IDg5YTM4YzE3ODJjMzhjM2IzYjEyYTJmZTEwZGI3MzA2NDBlYzk1ZjYuLmM2
ZDU3ZWVhMzk0ZDcyZDk5NjUwMzBjMTliNWQ2MDMzYWQ1MGI0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCkBAIC00MTcsMTQgKzQxNywxOSBAQCB2b2lkIEhU
TUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayhFdmVudCYgZXZlbnQpCiAgICAgfQogI2VuZGlm
CiAKLSAgICBib29sIGlzU3lzdGVtUHJldmlldyA9IGZhbHNlOworICAgIFN5c3RlbVByZXZpZXdJ
bmZvIHN5c3RlbVByZXZpZXdJbmZvOwogI2lmIFVTRShTWVNURU1fUFJFVklFVykKLSAgICBpc1N5
c3RlbVByZXZpZXcgPSBpc1N5c3RlbVByZXZpZXdMaW5rKCk7CisgICAgc3lzdGVtUHJldmlld0lu
Zm8uaXNTeXN0ZW1QcmV2aWV3ID0gaXNTeXN0ZW1QcmV2aWV3TGluaygpOworCisgICAgaWYgKHN5
c3RlbVByZXZpZXdJbmZvLmlzU3lzdGVtUHJldmlldykgeworICAgICAgICBpZiAoYXV0byogY2hp
bGQgPSBmaXJzdEVsZW1lbnRDaGlsZCgpKQorICAgICAgICAgICAgc3lzdGVtUHJldmlld0luZm8u
c3lzdGVtUHJldmlld1JlY3QgPSBjaGlsZC0+Ym91bmRzSW5Sb290Vmlld1NwYWNlKCk7CisgICAg
fQogI2VuZGlmCiAKICAgICBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2VuZFJlZmVycmVyID0g
aGFzUmVsKFJlbGF0aW9uOjpOb1JlZmVycmVyKSA/IE5ldmVyU2VuZFJlZmVycmVyIDogTWF5YmVT
ZW5kUmVmZXJyZXI7CiAgICAgYXV0byBuZXdGcmFtZU9wZW5lclBvbGljeSA9IGhhc1JlbChSZWxh
dGlvbjo6Tm9PcGVuZXIpID8gc3RkOjptYWtlX29wdGlvbmFsKE5ld0ZyYW1lT3BlbmVyUG9saWN5
OjpTdXBwcmVzcykgOiBzdGQ6Om51bGxvcHQ7Ci0gICAgZnJhbWUtPmxvYWRlcigpLnVybFNlbGVj
dGVkKGNvbXBsZXRlZFVSTCwgdGFyZ2V0KCksICZldmVudCwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2Nr
QmFja0ZvcndhcmRMaXN0OjpObywgc2hvdWxkU2VuZFJlZmVycmVyLCBkb2N1bWVudCgpLnNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lUb1Byb3BhZ2F0ZSgpLCBuZXdGcmFtZU9wZW5lclBvbGlj
eSwgZG93bmxvYWRBdHRyaWJ1dGUsIGlzU3lzdGVtUHJldmlldyk7CisgICAgZnJhbWUtPmxvYWRl
cigpLnVybFNlbGVjdGVkKGNvbXBsZXRlZFVSTCwgdGFyZ2V0KCksICZldmVudCwgTG9ja0hpc3Rv
cnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgc2hvdWxkU2VuZFJlZmVycmVyLCBkb2N1
bWVudCgpLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lUb1Byb3BhZ2F0ZSgpLCBuZXdGcmFt
ZU9wZW5lclBvbGljeSwgZG93bmxvYWRBdHRyaWJ1dGUsIHN5c3RlbVByZXZpZXdJbmZvKTsKIAog
ICAgIHNlbmRQaW5ncyhjb21wbGV0ZWRVUkwpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZFJlcXVlc3QuY3BwCmluZGV4IGMxNTQ3NzI4MTNkZWU0MzZhODIyMTI2MGYwMGM0ZmUy
YmU2ZTg3ZjIuLmFhYWNiYWNjYzFmYzkyNjM5ODRmNjQ5MzY5ZGQxNTk2NzNjZjJkOTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHAKQEAgLTM3LDcgKzM3LDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1GcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRS
ZXF1ZXN0KERvY3VtZW50JiByZXF1ZXN0ZXIsIFNlY3VyaXR5T3JpZ2luJiByZXF1ZXN0ZXJTZWN1
cml0eU9yaWdpbiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgZnJhbWVOYW1lLCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3
YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2Vu
ZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgYWxsb3dOYXZpZ2F0aW9uVG9J
bnZhbGlkVVJMLCBOZXdGcmFtZU9wZW5lclBvbGljeSBuZXdGcmFtZU9wZW5lclBvbGljeSwgU2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBJ
bml0aWF0ZWRCeU1haW5GcmFtZSBpbml0aWF0ZWRCeU1haW5GcmFtZSwgU2hvdWxkUmVwbGFjZURv
Y3VtZW50SWZKYXZhU2NyaXB0VVJMIHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVS
TCwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSwgYm9vbCBpc1N5c3RlbVBy
ZXZpZXcpCitGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KERvY3VtZW50JiByZXF1
ZXN0ZXIsIFNlY3VyaXR5T3JpZ2luJiByZXF1ZXN0ZXJTZWN1cml0eU9yaWdpbiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBM
b2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCBsb2NrQmFja0Zvcndh
cmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2VuZFJlZmVycmVyLCBBbGxvd05hdmln
YXRpb25Ub0ludmFsaWRVUkwgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMLCBOZXdGcmFtZU9w
ZW5lclBvbGljeSBuZXdGcmFtZU9wZW5lclBvbGljeSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBJbml0aWF0ZWRCeU1haW5GcmFtZSBp
bml0aWF0ZWRCeU1haW5GcmFtZSwgU2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJM
IHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCwgY29uc3QgQXRvbWljU3RyaW5n
JiBkb3dubG9hZEF0dHJpYnV0ZSwgY29uc3QgU3lzdGVtUHJldmlld0luZm8mIHN5c3RlbVByZXZp
ZXdJbmZvKQogICAgIDogbV9yZXF1ZXN0ZXIgeyBtYWtlUmVmKHJlcXVlc3RlcikgfQogICAgICwg
bV9yZXF1ZXN0ZXJTZWN1cml0eU9yaWdpbiB7IG1ha2VSZWYocmVxdWVzdGVyU2VjdXJpdHlPcmln
aW4pIH0KICAgICAsIG1fcmVzb3VyY2VSZXF1ZXN0IHsgcmVzb3VyY2VSZXF1ZXN0IH0KQEAgLTUx
LDcgKzUxLDcgQEAgRnJhbWVMb2FkUmVxdWVzdDo6RnJhbWVMb2FkUmVxdWVzdChEb2N1bWVudCYg
cmVxdWVzdGVyLCBTZWN1cml0eU9yaWdpbiYgcmVxdWVzdGUKICAgICAsIG1fc2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeSB7IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgfQogICAgICwg
bV9kb3dubG9hZEF0dHJpYnV0ZSB7IGRvd25sb2FkQXR0cmlidXRlIH0KICAgICAsIG1faW5pdGlh
dGVkQnlNYWluRnJhbWUgeyBpbml0aWF0ZWRCeU1haW5GcmFtZSB9Ci0gICAgLCBtX2lzU3lzdGVt
UHJldmlldyB7IGlzU3lzdGVtUHJldmlldyB9CisgICAgLCBtX3N5c3RlbVByZXZpZXdJbmZvIHsg
c3lzdGVtUHJldmlld0luZm8gfQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZFJlcXVlc3QuaAppbmRleCBkNmYxMGVkN2Q5MDBkNDYwZTE5MjBkNTRkZjQ3YzVkZjY4MDRmYWNk
Li5kYTAxZWI3NjU0OTViZTU1MzY1Y2EwYTgwMjE0NTA5ZmQzYmMyM2UzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgU2Vj
dXJpdHlPcmlnaW47CiAKIGNsYXNzIEZyYW1lTG9hZFJlcXVlc3QgewogcHVibGljOgotICAgIFdF
QkNPUkVfRVhQT1JUIEZyYW1lTG9hZFJlcXVlc3QoRG9jdW1lbnQmLCBTZWN1cml0eU9yaWdpbiYs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBMb2NrSGlz
dG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCwgU2hvdWxkU2VuZFJlZmVycmVyLCBBbGxvd05hdmln
YXRpb25Ub0ludmFsaWRVUkwsIE5ld0ZyYW1lT3BlbmVyUG9saWN5LCBTaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5LCBJbml0aWF0ZWRCeU1haW5GcmFtZSwgU2hvdWxkUmVwbGFjZURvY3VtZW50
SWZKYXZhU2NyaXB0VVJMID0gUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMLCBjb25zdCBB
dG9taWNTdHJpbmcmIGRvd25sb2FkQXR0cmlidXRlID0geyB9LCBib29sIGlzU3lzdGVtUHJldmll
dyA9IGZhbHNlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBGcmFtZUxvYWRSZXF1ZXN0KERvY3VtZW50
JiwgU2VjdXJpdHlPcmlnaW4mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcm
IGZyYW1lTmFtZSwgTG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QsIFNob3VsZFNlbmRS
ZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMLCBOZXdGcmFtZU9wZW5lclBvbGlj
eSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgSW5pdGlhdGVkQnlNYWluRnJhbWUsIFNo
b3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCA9IFJlcGxhY2VEb2N1bWVudElmSmF2
YVNjcmlwdFVSTCwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSA9IHsgfSwg
Y29uc3QgU3lzdGVtUHJldmlld0luZm8mID0geyB9KTsKICAgICBXRUJDT1JFX0VYUE9SVCBGcmFt
ZUxvYWRSZXF1ZXN0KEZyYW1lJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgU2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeSwgY29uc3QgU3Vic3RpdHV0ZURhdGEmID0gU3Vic3RpdHV0ZURhdGEo
KSk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB+RnJhbWVMb2FkUmVxdWVzdCgpOwpAQCAtODcsNyAr
ODcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmln
YXRpb24oYm9vbCB2YWx1ZSkgeyBtX2lzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTmF2aWdhdGlvbiA9
IHZhbHVlOyB9CiAgICAgYm9vbCBpc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24oKSBj
b25zdCB7IHJldHVybiBtX2lzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTmF2aWdhdGlvbjsgfQogCi0g
ICAgYm9vbCBpc1N5c3RlbVByZXZpZXcoKSBjb25zdCB7IHJldHVybiBtX2lzU3lzdGVtUHJldmll
dzsgfQorICAgIGJvb2wgaXNTeXN0ZW1QcmV2aWV3KCkgY29uc3QgeyByZXR1cm4gbV9zeXN0ZW1Q
cmV2aWV3SW5mby5pc1N5c3RlbVByZXZpZXc7IH0KKyAgICBjb25zdCBJbnRSZWN0JiBzeXN0ZW1Q
cmV2aWV3UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fc3lzdGVtUHJldmlld0luZm8uc3lzdGVtUHJl
dmlld1JlY3Q7IH0KIAogcHJpdmF0ZToKICAgICBSZWY8RG9jdW1lbnQ+IG1fcmVxdWVzdGVyOwpA
QCAtMTA5LDYgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgSW5pdGlhdGVkQnlNYWluRnJhbWUgbV9p
bml0aWF0ZWRCeU1haW5GcmFtZSB7IEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duIH07CiAg
ICAgYm9vbCBtX2lzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTmF2aWdhdGlvbiB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX2lzU3lzdGVtUHJldmlldyB7IGZhbHNlIH07CisgICAgU3lzdGVtUHJldmlld0lu
Zm8gbV9zeXN0ZW1QcmV2aWV3SW5mbzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDcyOWYyNTM4OWM2NDY5MGYwOGVi
NjBkNTYyMTUzNDllODQ4ODFiNTMuLjVkNmEyMmRjOTk5MWQ4ZWUzNWU5NjA2YjA2ZmI4MWJjMGMy
ZDIwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMzcwLDEzICsz
NzAsMTMgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y2hhbmdlTG9jYXRpb24oRnJhbWVMb2FkUmVxdWVz
dCYmIHJlcXVlc3QpCiAgICAgdXJsU2VsZWN0ZWQoV1RGTW92ZShyZXF1ZXN0KSwgbnVsbHB0cik7
CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKGNvbnN0IFVSTCYgdXJsLCBjb25z
dCBTdHJpbmcmIHBhc3NlZFRhcmdldCwgRXZlbnQqIHRyaWdnZXJpbmdFdmVudCwgTG9ja0hpc3Rv
cnkgbG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QgbG9ja0JhY2tGb3J3YXJkTGlzdCwg
U2hvdWxkU2VuZFJlZmVycmVyIHNob3VsZFNlbmRSZWZlcnJlciwgU2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBzdGQ6Om9wdGlvbmFsPE5l
d0ZyYW1lT3BlbmVyUG9saWN5PiBvcGVuZXJQb2xpY3ksIGNvbnN0IEF0b21pY1N0cmluZyYgZG93
bmxvYWRBdHRyaWJ1dGUsIGJvb2wgaXNTeXN0ZW1QcmV2aWV3KQordm9pZCBGcmFtZUxvYWRlcjo6
dXJsU2VsZWN0ZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcGFzc2VkVGFyZ2V0LCBF
dmVudCogdHJpZ2dlcmluZ0V2ZW50LCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tG
b3J3YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxk
U2VuZFJlZmVycmVyLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3ksIHN0ZDo6b3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQb2xpY3k+IG9wZW5l
clBvbGljeSwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSwgY29uc3QgU3lz
dGVtUHJldmlld0luZm8mIHN5c3RlbVByZXZpZXdJbmZvKQogewogICAgIGF1dG8qIGZyYW1lID0g
bGV4aWNhbEZyYW1lRnJvbUNvbW1vblZNKCk7CiAgICAgYXV0byBpbml0aWF0ZWRCeU1haW5GcmFt
ZSA9IGZyYW1lICYmIGZyYW1lLT5pc01haW5GcmFtZSgpID8gSW5pdGlhdGVkQnlNYWluRnJhbWU6
OlllcyA6IEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duOwogCiAgICAgTmV3RnJhbWVPcGVu
ZXJQb2xpY3kgbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBvcGVuZXJQb2xpY3kudmFsdWVfb3Ioc2hv
dWxkU2VuZFJlZmVycmVyID09IE5ldmVyU2VuZFJlZmVycmVyID8gTmV3RnJhbWVPcGVuZXJQb2xp
Y3k6OlN1cHByZXNzIDogTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93KTsKLSAgICB1cmxTZWxl
Y3RlZChGcmFtZUxvYWRSZXF1ZXN0KCptX2ZyYW1lLmRvY3VtZW50KCksIG1fZnJhbWUuZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgeyB1cmwgfSwgcGFzc2VkVGFyZ2V0LCBsb2NrSGlzdG9y
eSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgc2hvdWxkU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRp
b25Ub0ludmFsaWRVUkw6OlllcywgbmV3RnJhbWVPcGVuZXJQb2xpY3ksIHNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3ksIGluaXRpYXRlZEJ5TWFpbkZyYW1lLCBEb05vdFJlcGxhY2VEb2N1bWVu
dElmSmF2YVNjcmlwdFVSTCwgZG93bmxvYWRBdHRyaWJ1dGUsIGlzU3lzdGVtUHJldmlldyksIHRy
aWdnZXJpbmdFdmVudCk7CisgICAgdXJsU2VsZWN0ZWQoRnJhbWVMb2FkUmVxdWVzdCgqbV9mcmFt
ZS5kb2N1bWVudCgpLCBtX2ZyYW1lLmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIHsgdXJs
IH0sIHBhc3NlZFRhcmdldCwgbG9ja0hpc3RvcnksIGxvY2tCYWNrRm9yd2FyZExpc3QsIHNob3Vs
ZFNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIG5ld0ZyYW1l
T3BlbmVyUG9saWN5LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBpbml0aWF0ZWRCeU1h
aW5GcmFtZSwgRG9Ob3RSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwsIGRvd25sb2FkQXR0
cmlidXRlLCBzeXN0ZW1QcmV2aWV3SW5mbyksIHRyaWdnZXJpbmdFdmVudCk7CiB9CiAKIHZvaWQg
RnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKEZyYW1lTG9hZFJlcXVlc3QmJiBmcmFtZVJlcXVlc3Qs
IEV2ZW50KiB0cmlnZ2VyaW5nRXZlbnQpCkBAIC0xMzYyLDcgKzEzNjIsMTIgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6bG9hZFVSTChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVMb2FkUmVxdWVzdCwgY29u
c3QgU3RyaW5nJiByZWYKIAogICAgIC8vIE11c3QgZ3JhYiB0aGlzIG5vdywgc2luY2UgdGhpcyBs
b2FkIG1heSBzdG9wIHRoZSBwcmV2aW91cyBsb2FkIGFuZCBjbGVhciB0aGlzIGZsYWcuCiAgICAg
Ym9vbCBpc1JlZGlyZWN0ID0gbV9xdWlja1JlZGlyZWN0Q29taW5nOwotICAgIHJlcXVlc3Quc2V0
U3lzdGVtUHJldmlldyhmcmFtZUxvYWRSZXF1ZXN0LmlzU3lzdGVtUHJldmlldygpKTsKKyNpZiBV
U0UoU1lTVEVNX1BSRVZJRVcpCisgICAgYm9vbCBpc1N5c3RlbVByZXZpZXcgPSBmcmFtZUxvYWRS
ZXF1ZXN0LmlzU3lzdGVtUHJldmlldygpOworICAgIHJlcXVlc3Quc2V0U3lzdGVtUHJldmlldyhp
c1N5c3RlbVByZXZpZXcpOworICAgIGlmIChpc1N5c3RlbVByZXZpZXcpCisgICAgICAgIHJlcXVl
c3Quc2V0U3lzdGVtUHJldmlld1JlY3QoZnJhbWVMb2FkUmVxdWVzdC5zeXN0ZW1QcmV2aWV3UmVj
dCgpKTsKKyNlbmRpZgogICAgIGxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbihyZXF1ZXN0LCBhY3Rp
b24sIGxvY2tIaXN0b3J5LCBuZXdMb2FkVHlwZSwgZm9ybVN0YXRlLCBhbGxvd05hdmlnYXRpb25U
b0ludmFsaWRVUkwsIFt0aGlzLCBpc1JlZGlyZWN0LCBzYW1lVVJMLCBuZXdMb2FkVHlwZSwgcHJv
dGVjdGVkRnJhbWUgPSBtYWtlUmVmKG1fZnJhbWUpLCBjb21wbGV0aW9uSGFuZGxlciA9IGNvbXBs
ZXRpb25IYW5kbGVyQ2FsbGVyLnJlbGVhc2UoKV0gewogICAgICAgICBpZiAoaXNSZWRpcmVjdCkg
ewogICAgICAgICAgICAgbV9xdWlja1JlZGlyZWN0Q29taW5nID0gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5oCmluZGV4IDk1ZTE3MGE5MmNlNWU1NWVmNWNhMWVmMTFlZDgwZDhi
M2ViOGY5YmQuLmZiYzcyZWMxMjRhYzUwMGU3NmJlYmVmMDFhOGIwZDA2MjZkNDJhZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC0xMjEsNyArMTIxLDcgQEAgcHVibGljOgog
ICAgIHVuc2lnbmVkIGxvbmcgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBDbGllbnRDcmVkZW50aWFsUG9saWN5LCBjb25zdCBGZXRjaE9wdGlvbnMmLCBj
b25zdCBIVFRQSGVhZGVyTWFwJiwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBS
ZWZQdHI8U2hhcmVkQnVmZmVyPiYgZGF0YSk7CiAKICAgICB2b2lkIGNoYW5nZUxvY2F0aW9uKEZy
YW1lTG9hZFJlcXVlc3QmJik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cmxTZWxlY3RlZChj
b25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHRhcmdldCwgRXZlbnQqLCBMb2NrSGlzdG9yeSwgTG9j
a0JhY2tGb3J3YXJkTGlzdCwgU2hvdWxkU2VuZFJlZmVycmVyLCBTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5LCBzdGQ6Om9wdGlvbmFsPE5ld0ZyYW1lT3BlbmVyUG9saWN5PiA9IHN0ZDo6bnVs
bG9wdCwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSA9IG51bGxBdG9tKCks
IGJvb2wgaXNTeXN0ZW1QcmV2aWV3ID0gZmFsc2UpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
dXJsU2VsZWN0ZWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB0YXJnZXQsIEV2ZW50KiwgTG9j
a0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QsIFNob3VsZFNlbmRSZWZlcnJlciwgU2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeSwgc3RkOjpvcHRpb25hbDxOZXdGcmFtZU9wZW5lclBvbGlj
eT4gPSBzdGQ6Om51bGxvcHQsIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUg
PSBudWxsQXRvbSgpLCBjb25zdCBTeXN0ZW1QcmV2aWV3SW5mbyYgPSB7IH0pOwogICAgIHZvaWQg
c3VibWl0Rm9ybShSZWY8Rm9ybVN1Ym1pc3Npb24+JiYpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCByZWxvYWQoT3B0aW9uU2V0PFJlbG9hZE9wdGlvbj4gPSB7IH0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlclR5cGVzLmgKaW5kZXggNmRlMWI2ZmFhZmUyZTlhZDM1NGU2OTky
Y2I3NGVjOGFkM2MyOTMxMS4uNWQ2YWJmMWM1Zjc0MTJjYjcyYjEzODJhMWM0YWViMTg0Y2E2ODQ0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oCkBAIC0yOCw2ICsy
OCw4IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiSW50UmVjdC5oIgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGVudW0gRnJhbWVTdGF0ZSB7CkBAIC0xNDcsNiArMTQ5LDEyIEBAIGVu
dW0gY2xhc3MgSGFzSW5zZWN1cmVDb250ZW50IHsKICAgICBObywKIH07CiAKKworc3RydWN0IFN5
c3RlbVByZXZpZXdJbmZvIHsKKyAgICBJbnRSZWN0IHN5c3RlbVByZXZpZXdSZWN0OworICAgIGJv
b2wgaXNTeXN0ZW1QcmV2aWV3IHsgZmFsc2UgfTsKK307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRleCAzY2IxNTY5ODdlM2VmNWY3
ZmY4ZDkyMmVlY2RkOTMzYmNlYTAyZmU2Li40OWJkODJlMDVhNDQ5ODg4MWU0MWMzMjQxZDVkNmQy
YzdkMzdjYjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTU3Niw2ICs1NzYsNyBAQCB2b2lkIFJlc291
cmNlUmVxdWVzdEJhc2U6OnNldEhUVFBIZWFkZXJGaWVsZHMoSFRUUEhlYWRlck1hcCBoZWFkZXJG
aWVsZHMpCiAgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9CiAKKyNpZiBV
U0UoU1lTVEVNX1BSRVZJRVcpCiBib29sIFJlc291cmNlUmVxdWVzdEJhc2U6OmlzU3lzdGVtUHJl
dmlldygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1faXNTeXN0ZW1QcmV2aWV3OwpAQCAtNTg2LDYg
KzU4NywxNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnNldFN5c3RlbVByZXZpZXcoYm9v
bCBzKQogICAgIG1faXNTeXN0ZW1QcmV2aWV3ID0gczsKIH0KIAorY29uc3QgSW50UmVjdCYgUmVz
b3VyY2VSZXF1ZXN0QmFzZTo6c3lzdGVtUHJldmlld1JlY3QoKSBjb25zdAoreworICAgIHJldHVy
biBtX3N5c3RlbVByZXZpZXdSZWN0OworfQorCit2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnNl
dFN5c3RlbVByZXZpZXdSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgbV9zeXN0ZW1Q
cmV2aWV3UmVjdCA9IHJlY3Q7Cit9CisjZW5kaWYKKwogYm9vbCBlcXVhbElnbm9yaW5nSGVhZGVy
RmllbGRzKGNvbnN0IFJlc291cmNlUmVxdWVzdEJhc2UmIGEsIGNvbnN0IFJlc291cmNlUmVxdWVz
dEJhc2UmIGIpCiB7CiAgICAgaWYgKGEudXJsKCkgIT0gYi51cmwoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXgg
MDMwYTBiYjgyNTAzNGE0YzliZmFhZDdhYzc4N2FkY2UzNzNhNDkwMS4uYjkzMWNmNGUzMDI1NDdm
NTQ5N2MwZmY2NGNiOTc5OGI0Mjk5Yjc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTMwLDYgKzMwLDcgQEAK
IAogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgorI2lu
Y2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxv
YWRQcmlvcml0eS5oIgogCkBAIC0xNzEsOSArMTcyLDE0IEBAIHB1YmxpYzoKICAgICBTdHJpbmcg
aW5pdGlhdG9ySWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdG9ySWRlbnRpZmll
cjsgfQogICAgIHZvaWQgc2V0SW5pdGlhdG9ySWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIpIHsgbV9pbml0aWF0b3JJZGVudGlmaWVyID0gaWRlbnRpZmllcjsgfQogCisjaWYgVVNF
KFNZU1RFTV9QUkVWSUVXKQogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNTeXN0ZW1QcmV2aWV3
KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTeXN0ZW1QcmV2aWV3KGJvb2wp
OwogCisgICAgV0VCQ09SRV9FWFBPUlQgY29uc3QgSW50UmVjdCYgc3lzdGVtUHJldmlld1JlY3Qo
KSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN5c3RlbVByZXZpZXdSZWN0KGNv
bnN0IEludFJlY3QmKTsKKyNlbmRpZgorCiAjaWYgIVBMQVRGT1JNKENPQ09BKQogICAgIGJvb2wg
ZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICNl
bmRpZgpAQCAtMjMzLDcgKzIzOSwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgUmVxdWVzdGVyIG1fcmVx
dWVzdGVyIHsgUmVxdWVzdGVyOjpVbnNwZWNpZmllZCB9OwogICAgIFN0cmluZyBtX2luaXRpYXRv
cklkZW50aWZpZXI7CiAgICAgU3RyaW5nIG1fY2FjaGVQYXJ0aXRpb24geyBlbXB0eVN0cmluZygp
IH07CisjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQogICAgIGJvb2wgbV9pc1N5c3RlbVByZXZpZXcg
eyBmYWxzZSB9OworICAgIEludFJlY3QgbV9zeXN0ZW1QcmV2aWV3UmVjdDsKKyNlbmRpZgogCiBw
cml2YXRlOgogICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYXNSZXNvdXJjZVJlcXVlc3QoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
CmluZGV4IGU3NmZmNjRmMmEwZGM5MGVmMGRkZDY5NGYzNTBhNGQ2NzZmZWZiODkuLjk0ZDM1OTFi
N2ViODk5ZDFhMzQxZmEzZWY1OWYzMTljNDkxZmE2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTIzNyw3ICsxMjM3LDE0IEBAIHZv
aWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgUmVzb3VyY2VSZXF1CiB7CiAgICAgZW5jb2RlciA8PCByZXNvdXJjZVJlcXVlc3Qu
Y2FjaGVQYXJ0aXRpb24oKTsKICAgICBlbmNvZGVyIDw8IHJlc291cmNlUmVxdWVzdC5oaWRkZW5G
cm9tSW5zcGVjdG9yKCk7Ci0gICAgZW5jb2RlciA8PCByZXNvdXJjZVJlcXVlc3QuaXNTeXN0ZW1Q
cmV2aWV3KCk7CisKKyNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCisgICAgaWYgKHJlc291cmNlUmVx
dWVzdC5pc1N5c3RlbVByZXZpZXcoKSkgeworICAgICAgICBlbmNvZGVyIDw8IHRydWU7CisgICAg
ICAgIGVuY29kZXIgPDwgcmVzb3VyY2VSZXF1ZXN0LnN5c3RlbVByZXZpZXdSZWN0KCk7CisgICAg
fSBlbHNlCisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisjZW5kaWYKIAogICAgIGlmIChyZXNv
dXJjZVJlcXVlc3QuZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpKSB7CiAgICAgICAgIGVu
Y29kZXIgPDwgdHJ1ZTsKQEAgLTEyNjAsMTEgKzEyNjcsMjAgQEAgYm9vbCBBcmd1bWVudENvZGVy
PFJlc291cmNlUmVxdWVzdD46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVJlcXVl
c3QmIHIKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJlc291cmNlUmVxdWVzdC5zZXRIaWRk
ZW5Gcm9tSW5zcGVjdG9yKGlzSGlkZGVuRnJvbUluc3BlY3Rvcik7CiAKKyNpZiBVU0UoU1lTVEVN
X1BSRVZJRVcpCiAgICAgYm9vbCBpc1N5c3RlbVByZXZpZXc7CiAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShpc1N5c3RlbVByZXZpZXcpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmVzb3Vy
Y2VSZXF1ZXN0LnNldFN5c3RlbVByZXZpZXcoaXNTeXN0ZW1QcmV2aWV3KTsKIAorICAgIGlmIChp
c1N5c3RlbVByZXZpZXcpIHsKKyAgICAgICAgSW50UmVjdCBzeXN0ZW1QcmV2aWV3UmVjdDsKKyAg
ICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzeXN0ZW1QcmV2aWV3UmVjdCkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJlc291cmNlUmVxdWVzdC5zZXRTeXN0ZW1QcmV2aWV3
UmVjdChzeXN0ZW1QcmV2aWV3UmVjdCk7CisgICAgfQorI2VuZGlmCisKICAgICBib29sIGhhc1Bs
YXRmb3JtRGF0YTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc1BsYXRmb3JtRGF0YSkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL0Rvd25sb2FkQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
RG93bmxvYWRDbGllbnQubW0KaW5kZXggZjQ0NTQyY2JmOTg1NjgyNzhhZDc1YzljNzIyMjJjYzU2
Yjg5Y2U3MS4uOWVlYWJlMTA0NzlhNTc0ODkzNTc0ZDI5NTcwMjFjNDIzZWY3Zjk4MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRG93bmxvYWRDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRG93bmxvYWRDbGllbnQubW0KQEAgLTc4
LDcgKzc4LDcgQEAgdm9pZCBEb3dubG9hZENsaWVudDo6ZGlkU3RhcnQoV2ViUHJvY2Vzc1Bvb2wm
LCBEb3dubG9hZFByb3h5JiBkb3dubG9hZFByb3h5KQogICAgIGlmIChkb3dubG9hZFByb3h5Lmlz
U3lzdGVtUHJldmlld0Rvd25sb2FkKCkpIHsKICAgICAgICAgaWYgKGF1dG8qIHdlYlBhZ2UgPSBk
b3dubG9hZFByb3h5Lm9yaWdpbmF0aW5nUGFnZSgpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTog
VXBkYXRlIHRoZSBNSU1FLXR5cGUgb25jZSBpdCBpcyBrbm93biBpbiB0aGUgUmVzb3VyY2VSZXNw
b25zZS4KLSAgICAgICAgICAgIHdlYlBhZ2UtPnN5c3RlbVByZXZpZXdDb250cm9sbGVyKCktPnN0
YXJ0KEFTQ0lJTGl0ZXJhbCB7ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iIH0pOworICAgICAg
ICAgICAgd2ViUGFnZS0+c3lzdGVtUHJldmlld0NvbnRyb2xsZXIoKS0+c3RhcnQoQVNDSUlMaXRl
cmFsIHsgImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgfSwgZG93bmxvYWRQcm94eS5zeXN0ZW1Q
cmV2aWV3RG93bmxvYWRSZWN0KCkpOwogICAgICAgICB9CiAgICAgICAgIHRha2VBY3Rpdml0eVRv
a2VuKGRvd25sb2FkUHJveHkpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9TeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNvY29hLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2Nv
YS5tbQppbmRleCAzZjRlOWQ1NGJjZDc2NjNmZDQ0ODBkMTY1M2YxNTA5MTBlOGQzNjJhLi5lMDll
Zjk0ZjBiZjI1MjgxNjg4YWE4NmU1MTBjZjNhYzcwOTBkYTNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9TeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1N5c3RlbVByZXZpZXdDb250cm9sbGVy
Q29jb2EubW0KQEAgLTExMSwxNyArMTExLDE5IEBAIFNPRlRfTElOS19DTEFTUyhRdWlja0xvb2ss
IFFMSXRlbSk7CiAKIEBpbnRlcmZhY2UgX1dLUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA6IE5T
T2JqZWN0IDxRTFByZXZpZXdDb250cm9sbGVyRGVsZWdhdGU+IHsKICAgICBXZWJLaXQ6OlN5c3Rl
bVByZXZpZXdDb250cm9sbGVyKiBfcHJldmlld0NvbnRyb2xsZXI7CisgICAgV2ViQ29yZTo6SW50
UmVjdCBfbGlua1JlY3Q7CiB9OwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gX1dLUHJldmlld0Nv
bnRyb2xsZXJEZWxlZ2F0ZQogCi0tIChpZClpbml0V2l0aFN5c3RlbVByZXZpZXdDb250cm9sbGVy
OihXZWJLaXQ6OlN5c3RlbVByZXZpZXdDb250cm9sbGVyKilwcmV2aWV3Q29udHJvbGxlcgorLSAo
aWQpaW5pdFdpdGhTeXN0ZW1QcmV2aWV3Q29udHJvbGxlcjooV2ViS2l0OjpTeXN0ZW1QcmV2aWV3
Q29udHJvbGxlciopcHJldmlld0NvbnRyb2xsZXIgZnJvbVJlY3Q6KFdlYkNvcmU6OkludFJlY3Qp
cmVjdAogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQogICAgICAgICByZXR1cm4g
bmlsOwogCiAgICAgX3ByZXZpZXdDb250cm9sbGVyID0gcHJldmlld0NvbnRyb2xsZXI7CisgICAg
X2xpbmtSZWN0ID0gcmVjdDsKICAgICByZXR1cm4gc2VsZjsKIH0KIApAQCAtMTMxLDM1ICsxMzMs
NTcgQEAgU09GVF9MSU5LX0NMQVNTKFF1aWNrTG9vaywgUUxJdGVtKTsKICAgICAgICAgX3ByZXZp
ZXdDb250cm9sbGVyLT5jYW5jZWwoKTsKIH0KIAotLSAoQ0dSZWN0KXByZXZpZXdDb250cm9sbGVy
OihRTFByZXZpZXdDb250cm9sbGVyICopY29udHJvbGxlciBmcmFtZUZvclByZXZpZXdJdGVtOihp
ZCA8UUxQcmV2aWV3SXRlbT4paXRlbSBpblNvdXJjZVZpZXc6KFVJVmlldyAqICopdmlldworLSAo
VUlWaWV3Q29udHJvbGxlciAqKXByZXNlbnRpbmdWaWV3Q29udHJvbGxlcgogewogICAgIGlmICgh
X3ByZXZpZXdDb250cm9sbGVyKQotICAgICAgICByZXR1cm4gQ0dSZWN0WmVybzsKKyAgICAgICAg
cmV0dXJuIG5pbDsKIAotICAgIFVJVmlld0NvbnRyb2xsZXIgKnByZXNlbnRpbmdWaWV3Q29udHJv
bGxlciA9IF9wcmV2aWV3Q29udHJvbGxlci0+cGFnZSgpLnVpQ2xpZW50KCkucHJlc2VudGluZ1Zp
ZXdDb250cm9sbGVyKCk7CisgICAgcmV0dXJuIF9wcmV2aWV3Q29udHJvbGxlci0+cGFnZSgpLnVp
Q2xpZW50KCkucHJlc2VudGluZ1ZpZXdDb250cm9sbGVyKCk7Cit9CisKKy0gKENHUmVjdClwcmV2
aWV3Q29udHJvbGxlcjooUUxQcmV2aWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgZnJhbWVGb3JQ
cmV2aWV3SXRlbTooaWQgPFFMUHJldmlld0l0ZW0+KWl0ZW0gaW5Tb3VyY2VWaWV3OihVSVZpZXcg
KiAqKXZpZXcKK3sKKyAgICBVSVZpZXdDb250cm9sbGVyICpwcmVzZW50aW5nVmlld0NvbnRyb2xs
ZXIgPSBbc2VsZiBwcmVzZW50aW5nVmlld0NvbnRyb2xsZXJdOwogCiAgICAgaWYgKCFwcmVzZW50
aW5nVmlld0NvbnRyb2xsZXIpCiAgICAgICAgIHJldHVybiBDR1JlY3RaZXJvOwogCiAgICAgKnZp
ZXcgPSBwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIudmlldzsKLSAgICBDR1JlY3QgZnJhbWUgPSBw
cmVzZW50aW5nVmlld0NvbnRyb2xsZXIudmlldy5mcmFtZTsKLSAgICAvLyBDcmVhdGUgYSBzbWFs
bGVyIHJlY3RhbmdsZSBjZW50ZXJlZCBpbiB0aGUgZnJhbWUuCi0gICAgQ0dGbG9hdCBoYWxmV2lk
dGggPSBmcmFtZS5zaXplLndpZHRoIC8gMjsKLSAgICBDR0Zsb2F0IGhhbGZIZWlnaHQgPSBmcmFt
ZS5zaXplLmhlaWdodCAvIDI7Ci0gICAgZnJhbWUgPSBDR1JlY3RNYWtlKENHUmVjdEdldE1pZFgo
ZnJhbWUpIC0gaGFsZldpZHRoIC8gMiwgQ0dSZWN0R2V0TWlkWShmcmFtZSkgLSBoYWxmSGVpZ2h0
IC8gMiwgaGFsZldpZHRoLCBoYWxmSGVpZ2h0KTsKLSAgICByZXR1cm4gZnJhbWU7CisKKyAgICBp
ZiAoX2xpbmtSZWN0LmlzRW1wdHkoKSkgeworICAgICAgICBDR1JlY3QgZnJhbWU7CisgICAgICAg
IGZyYW1lLnNpemUud2lkdGggPSBwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIudmlldy5mcmFtZS5z
aXplLndpZHRoIC8gMi4wOworICAgICAgICBmcmFtZS5zaXplLmhlaWdodCA9IHByZXNlbnRpbmdW
aWV3Q29udHJvbGxlci52aWV3LmZyYW1lLnNpemUuaGVpZ2h0IC8gMi4wOworICAgICAgICBmcmFt
ZS5vcmlnaW4ueCA9IChwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIudmlldy5mcmFtZS5zaXplLndp
ZHRoIC0gZnJhbWUuc2l6ZS53aWR0aCkgLyAyLjA7CisgICAgICAgIGZyYW1lLm9yaWdpbi55ID0g
KHByZXNlbnRpbmdWaWV3Q29udHJvbGxlci52aWV3LmZyYW1lLnNpemUuaGVpZ2h0IC0gZnJhbWUu
c2l6ZS5oZWlnaHQpIC8gMi4wOworICAgICAgICByZXR1cm4gZnJhbWU7CisgICAgfQorCisgICAg
cmV0dXJuIF9wcmV2aWV3Q29udHJvbGxlci0+cGFnZSgpLnJvb3RWaWV3VG9TY3JlZW5EaXJlY3Qo
X2xpbmtSZWN0KTsKIH0KIAogLSAoVUlJbWFnZSAqKXByZXZpZXdDb250cm9sbGVyOihRTFByZXZp
ZXdDb250cm9sbGVyICopY29udHJvbGxlciB0cmFuc2l0aW9uSW1hZ2VGb3JQcmV2aWV3SXRlbToo
aWQgPFFMUHJldmlld0l0ZW0+KWl0ZW0gY29udGVudFJlY3Q6KENHUmVjdCAqKWNvbnRlbnRSZWN0
CiB7Ci0gICAgcmV0dXJuIG5pbDsKKyAgICAqY29udGVudFJlY3QgPSBDR1JlY3RaZXJvOworCisg
ICAgVUlWaWV3Q29udHJvbGxlciAqcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyID0gW3NlbGYgcHJl
c2VudGluZ1ZpZXdDb250cm9sbGVyXTsKKyAgICBpZiAocHJlc2VudGluZ1ZpZXdDb250cm9sbGVy
KSB7CisgICAgICAgIGlmIChfbGlua1JlY3QuaXNFbXB0eSgpKQorICAgICAgICAgICAgKmNvbnRl
bnRSZWN0ID0ge0NHUG9pbnRaZXJvLCB7cHJlc2VudGluZ1ZpZXdDb250cm9sbGVyLnZpZXcuZnJh
bWUuc2l6ZS53aWR0aCAvIDIuMCwgcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyLnZpZXcuZnJhbWUu
c2l6ZS5oZWlnaHQgLyAyLjB9fTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBXZWJDb3Jl
OjpJbnRSZWN0IHNjcmVlblJlY3QgPSBfcHJldmlld0NvbnRyb2xsZXItPnBhZ2UoKS5yb290Vmll
d1RvU2NyZWVuRGlyZWN0KF9saW5rUmVjdCk7CisgICAgICAgICAgICAqY29udGVudFJlY3QgPSB7
IENHUG9pbnRaZXJvLCB7IHN0YXRpY19jYXN0PENHRmxvYXQ+KHNjcmVlblJlY3Qud2lkdGgoKSks
IHN0YXRpY19jYXN0PENHRmxvYXQ+KHNjcmVlblJlY3QuaGVpZ2h0KCkpIH0gfTsKKyAgICAgICAg
fQorICAgIH0KKworICAgIHJldHVybiBbVUlJbWFnZSBuZXddOwogfQogCiBAZW5kCiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCi12b2lkIFN5c3RlbVByZXZpZXdDb250cm9sbGVyOjpzdGFydChjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKQordm9pZCBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlcjo6c3RhcnQo
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZnJvbVJlY3Qp
CiB7CiAgICAgQVNTRVJUKCFtX3FsUHJldmlld0NvbnRyb2xsZXIpOwogICAgIGlmIChtX3FsUHJl
dmlld0NvbnRyb2xsZXIpCkBAIC0xNzIsNyArMTk2LDcgQEAgdm9pZCBTeXN0ZW1QcmV2aWV3Q29u
dHJvbGxlcjo6c3RhcnQoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIAogICAgIG1fcWxQcmV2aWV3
Q29udHJvbGxlciA9IGFkb3B0TlMoW2FsbG9jUUxQcmV2aWV3Q29udHJvbGxlckluc3RhbmNlKCkg
aW5pdF0pOwogCi0gICAgbV9xbFByZXZpZXdDb250cm9sbGVyRGVsZWdhdGUgPSBhZG9wdE5TKFtb
X1dLUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhTeXN0ZW1QcmV2aWV3
Q29udHJvbGxlcjp0aGlzXSk7CisgICAgbV9xbFByZXZpZXdDb250cm9sbGVyRGVsZWdhdGUgPSBh
ZG9wdE5TKFtbX1dLUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhTeXN0
ZW1QcmV2aWV3Q29udHJvbGxlcjp0aGlzIGZyb21SZWN0OmZyb21SZWN0XSk7CiAgICAgW21fcWxQ
cmV2aWV3Q29udHJvbGxlciBzZXREZWxlZ2F0ZTptX3FsUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0
ZS5nZXQoKV07CiAKICAgICBtX3FsUHJldmlld0NvbnRyb2xsZXJEYXRhU291cmNlID0gYWRvcHRO
UyhbW19XS1ByZXZpZXdDb250cm9sbGVyRGF0YVNvdXJjZSBhbGxvY10gaW5pdFdpdGhNSU1FVHlw
ZTptaW1lVHlwZV0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRG93bmxv
YWRzL0Rvd25sb2FkUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZFByb3h5LmgKaW5kZXggOTAzYmM1NjM0Yjc0ZjUxOTlhMzRmMTYyMTJmN2Y0Y2VmZTdm
NjRlNy4uZTA3YWFjODk2MDM4MTU2MWE3MmNhNTRiNzU1NzM5Mjc5ODVlMzQwYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCkBAIC00
MSw2ICs0MSw3IEBAIGNsYXNzIERhdGE7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOworY2xhc3MgSW50UmVjdDsKIGNsYXNzIFByb3RlY3Rpb25T
cGFjZTsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwpAQCAt
OTEsNiArOTIsNyBAQCBwdWJsaWM6CiAKICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCiAgICAgYm9v
bCBpc1N5c3RlbVByZXZpZXdEb3dubG9hZCgpIGNvbnN0IHsgcmV0dXJuIHJlcXVlc3QoKS5pc1N5
c3RlbVByZXZpZXcoKTsgfQorICAgIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHN5c3RlbVByZXZp
ZXdEb3dubG9hZFJlY3QoKSBjb25zdCB7IHJldHVybiByZXF1ZXN0KCkuc3lzdGVtUHJldmlld1Jl
Y3QoKTsgfQogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9TeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvU3lzdGVtUHJldmlld0NvbnRyb2xsZXIuaAppbmRleCA4MDRiMjI4YmNjMjE0MTU4MzQwOGFk
NjkxODY1MGU5OTk0MDI0MWM2Li5iOGE2ODQ5OWY0OTA5MDM1YmQ2OTZlZDQzZmEyOTliMGMwZGNl
MjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TeXN0ZW1QcmV2aWV3Q29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N5c3RlbVByZXZpZXdDb250
cm9sbGVyLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIFVTRShTWVNURU1fUFJFVklFVykKIAor
I2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAj
aW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCkBAIC00Niw3ICs0Nyw3IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgY2FuUHJldmlldyhjb25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdDsKIAotICAg
IHZvaWQgc3RhcnQoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisgICAgdm9pZCBzdGFydChjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAgICAgdm9pZCB1
cGRhdGVQcm9ncmVzcyhmbG9hdCk7CiAgICAgdm9pZCBmaW5pc2goV2ViQ29yZTo6VVJMKTsKICAg
ICB2b2lkIGNhbmNlbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
aW5kZXggOWI1NjgyNTlkNDNhOWYxYTYzNTMxOTIwYzY1ZDVlNGE4MGU2NTdlZC4uMzQ2MzRhNjEw
ZmE0YzA1OGFmMTE1N2FjZWI1MTU3M2RhZjdmNDQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCkBAIC00NDM5LDcgKzQ0MzksMTIgQEAgdm9pZCBXZWJQYWdlUHJv
eHk6OnJvb3RWaWV3VG9TY3JlZW4oY29uc3QgSW50UmVjdCYgdmlld1JlY3QsIFJlZjxNZXNzYWdl
czo6V2ViUGEKIHsKICAgICByZXBseS0+c2VuZChtX3BhZ2VDbGllbnQucm9vdFZpZXdUb1NjcmVl
bih2aWV3UmVjdCkpOwogfQotICAgIAorCitJbnRSZWN0IFdlYlBhZ2VQcm94eTo6cm9vdFZpZXdU
b1NjcmVlbkRpcmVjdChjb25zdCBJbnRSZWN0JiB2aWV3UmVjdCkKK3sKKyAgICByZXR1cm4gbV9w
YWdlQ2xpZW50LnJvb3RWaWV3VG9TY3JlZW4odmlld1JlY3QpOworfQorCiAjaWYgUExBVEZPUk0o
SU9TKQogdm9pZCBXZWJQYWdlUHJveHk6OmFjY2Vzc2liaWxpdHlTY3JlZW5Ub1Jvb3RWaWV3KGNv
bnN0IEludFBvaW50JiBzY3JlZW5Qb2ludCwgSW50UG9pbnQmIHdpbmRvd1BvaW50KQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBmNTlkNThkNTE3M2VmNjYyY2M3
NGM0OTEyYjM4NWMyOTRhOTY4MzU2Li41NzZjZTk0OTkwMTI2MjA1ODYwNzUwNGNkMzk2M2YxNjA4
MzhkNzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTMwOSw2
ICsxMzA5LDggQEAgcHVibGljOgogICAgIFN1c3BlbmRlZFBhZ2VQcm94eSogc3VzcGVuZGVkUGFn
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VzcGVuZGVkUGFnZS5nZXQoKTsgfQogICAgIHZvaWQgc3Vz
cGVuZGVkUGFnZUNsb3NlZChTdXNwZW5kZWRQYWdlUHJveHkmKTsKIAorICAgIFdlYkNvcmU6Oklu
dFJlY3Qgcm9vdFZpZXdUb1NjcmVlbkRpcmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiB2aWV3
UmVjdCk7CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQmLCBXZWJQcm9j
ZXNzUHJveHkmLCB1aW50NjRfdCBwYWdlSUQsIFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYm
KTsKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341031</attachid>
            <date>2018-05-22 14:42:59 -0700</date>
            <delta_ts>2018-05-22 16:07:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185883-20180523074257.patch</filename>
            <type>text/plain</type>
            <size>27778</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDUxYTJkNzcxYTU3ZmYw
Njg5OWM5OTc0ZjI5NzExMzg5YmE5NzgwYy4uNmYxODEzNTU0MTA3NGViZDI5ZWRmMzJhMDg4Mjdh
Y2Q5NGM1N2QwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA1LTIyICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBPcHRpbWl6ZWQgcGF0aCB6b29t
IGFuaW1hdGlvbiBuZWVkcyBhIHZhbGlkIFVJSW1hZ2UgYW5kIENHUmVjdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1ODgzCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80MDMwNjA1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQYXNzIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGVsZW1lbnQgdGhhdCB3
YXMgY2xpY2tlZCBvbnRvCisgICAgICAgIHRoZSBVSSBwcm9jZXNzLCBzbyBpdCBjYW4gcGVyZm9y
bSBhbiBhbmltYXRpb24gZnJvbSB0aGF0IHNwb3QuCisKKyAgICAgICAgVGhpcyBpbnZvbHZlZCBh
ZGRpbmcgYW4gSW50UmVjdCB0byB0aGUgUmVzb3VyY2VSZXF1ZXN0LCBhbmQgcGFzc2luZworICAg
ICAgICB0aGF0IGluZm8gaW50byBpdCBmcm9tIHRoZSBIVE1MQW5jaG9yRWxlbWVudCwgdXNpbmcg
YSBuZXcgc3RydWN0CisgICAgICAgIGNhbGxlZCBTeXN0ZW1QcmV2aWV3SW5mby4KKworICAgICAg
ICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFu
Y2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVx
dWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRS
ZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkUmVxdWVzdDo6RnJhbWVMb2FkUmVxdWVzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0Ojppc1N5c3RlbVByZXZpZXcgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkUmVxdWVzdDo6c3lzdGVtUHJldmlld1JlY3QgY29uc3QpOgor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6dXJsU2VsZWN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6Omxv
YWRVUkwpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXJUeXBlcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzeXN0ZW1QcmV2
aWV3UmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpz
ZXRTeXN0ZW1QcmV2aWV3UmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlcXVlc3RCYXNlLmg6CisKIDIwMTgtMDUtMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSBidWlsZCBieSBpZ25vcmluZyBzb21lIGRl
cHJlY2F0aW9uIHdhcm5pbmdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQzNGNjZjQzOTBmZjY5NDZhY2MxMTA2Zjli
ZTAzNTNjMTUwZWRjMjMuLjJkNDk0YmZiNTJlZGIyZjNhYTNkM2ZkMDI2ZWJhNDU4MjBlZGVlNWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTgtMDUtMjIgIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgorCisgICAgICAgIE9wdGltaXplZCBwYXRoIHpvb20gYW5pbWF0aW9uIG5l
ZWRzIGEgdmFsaWQgVUlJbWFnZSBhbmQgQ0dSZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODU4ODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQw
MzA2MDU2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRha2UgdGhlIHJlY3RhbmdsZSB0aGF0IHdhcyBwYXNzZWQgaW50byB0aGUgUmVzb3VyY2VSZXF1
ZXN0IGFuZAorICAgICAgICB1c2UgaXQgZm9yIHRoZSBvcmlnaW4gb2YgYW4gYW5pbWF0aW9uIGlu
dG8gUXVpY2tMb29rLgorCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5j
cHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZW5jb2Rl
KToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjpkZWNvZGUp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Eb3dubG9hZENsaWVudC5tbToKKyAgICAgICAg
KFdlYktpdDo6RG93bmxvYWRDbGllbnQ6OmRpZFN0YXJ0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvU3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbToKKyAgICAgICAgKC1bX1dLUHJl
dmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBpbml0V2l0aFN5c3RlbVByZXZpZXdDb250cm9sbGVyOmZy
b21SZWN0Ol0pOgorICAgICAgICAoLVtfV0tQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRlIHByZXNl
bnRpbmdWaWV3Q29udHJvbGxlcl0pOgorICAgICAgICAoLVtfV0tQcmV2aWV3Q29udHJvbGxlckRl
bGVnYXRlIHByZXZpZXdDb250cm9sbGVyOmZyYW1lRm9yUHJldmlld0l0ZW06aW5Tb3VyY2VWaWV3
Ol0pOgorICAgICAgICAoLVtfV0tQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRlIHByZXZpZXdDb250
cm9sbGVyOnRyYW5zaXRpb25JbWFnZUZvclByZXZpZXdJdGVtOmNvbnRlbnRSZWN0Ol0pOgorICAg
ICAgICAoV2ViS2l0OjpTeXN0ZW1QcmV2aWV3Q29udHJvbGxlcjo6c3RhcnQpOgorICAgICAgICAo
LVtfV0tQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRlIGluaXRXaXRoU3lzdGVtUHJldmlld0NvbnRy
b2xsZXI6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZFByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OkRvd25sb2FkUHJveHk6OnN5c3RlbVByZXZpZXdE
b3dubG9hZFJlY3QgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9TeXN0ZW1QcmV2aWV3Q29u
dHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJvb3RWaWV3VG9TY3JlZW5EaXJlY3QpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKwogMjAxOC0wNS0xNyAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgU2FmYXJpIG9wdGltaXplZCBmbG93IHNob3Vs
ZCBiZSByZWxlYXNpbmcgdmlld2VyIHRvIHByZXZlbnQgbWVtb3J5IGdyb3d0aCB3aXRoIHN1YnNl
cXVlbnQgbGF1bmNoZXMvY2xvc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBbmNob3JFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1l
bnQuY3BwCmluZGV4IDg5YTM4YzE3ODJjMzhjM2IzYjEyYTJmZTEwZGI3MzA2NDBlYzk1ZjYuLmM2
ZDU3ZWVhMzk0ZDcyZDk5NjUwMzBjMTliNWQ2MDMzYWQ1MGI0ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCkBAIC00MTcsMTQgKzQxNywxOSBAQCB2b2lkIEhU
TUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayhFdmVudCYgZXZlbnQpCiAgICAgfQogI2VuZGlm
CiAKLSAgICBib29sIGlzU3lzdGVtUHJldmlldyA9IGZhbHNlOworICAgIFN5c3RlbVByZXZpZXdJ
bmZvIHN5c3RlbVByZXZpZXdJbmZvOwogI2lmIFVTRShTWVNURU1fUFJFVklFVykKLSAgICBpc1N5
c3RlbVByZXZpZXcgPSBpc1N5c3RlbVByZXZpZXdMaW5rKCk7CisgICAgc3lzdGVtUHJldmlld0lu
Zm8uaXNTeXN0ZW1QcmV2aWV3ID0gaXNTeXN0ZW1QcmV2aWV3TGluaygpOworCisgICAgaWYgKHN5
c3RlbVByZXZpZXdJbmZvLmlzU3lzdGVtUHJldmlldykgeworICAgICAgICBpZiAoYXV0byogY2hp
bGQgPSBmaXJzdEVsZW1lbnRDaGlsZCgpKQorICAgICAgICAgICAgc3lzdGVtUHJldmlld0luZm8u
c3lzdGVtUHJldmlld1JlY3QgPSBjaGlsZC0+Ym91bmRzSW5Sb290Vmlld1NwYWNlKCk7CisgICAg
fQogI2VuZGlmCiAKICAgICBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2VuZFJlZmVycmVyID0g
aGFzUmVsKFJlbGF0aW9uOjpOb1JlZmVycmVyKSA/IE5ldmVyU2VuZFJlZmVycmVyIDogTWF5YmVT
ZW5kUmVmZXJyZXI7CiAgICAgYXV0byBuZXdGcmFtZU9wZW5lclBvbGljeSA9IGhhc1JlbChSZWxh
dGlvbjo6Tm9PcGVuZXIpID8gc3RkOjptYWtlX29wdGlvbmFsKE5ld0ZyYW1lT3BlbmVyUG9saWN5
OjpTdXBwcmVzcykgOiBzdGQ6Om51bGxvcHQ7Ci0gICAgZnJhbWUtPmxvYWRlcigpLnVybFNlbGVj
dGVkKGNvbXBsZXRlZFVSTCwgdGFyZ2V0KCksICZldmVudCwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2Nr
QmFja0ZvcndhcmRMaXN0OjpObywgc2hvdWxkU2VuZFJlZmVycmVyLCBkb2N1bWVudCgpLnNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lUb1Byb3BhZ2F0ZSgpLCBuZXdGcmFtZU9wZW5lclBvbGlj
eSwgZG93bmxvYWRBdHRyaWJ1dGUsIGlzU3lzdGVtUHJldmlldyk7CisgICAgZnJhbWUtPmxvYWRl
cigpLnVybFNlbGVjdGVkKGNvbXBsZXRlZFVSTCwgdGFyZ2V0KCksICZldmVudCwgTG9ja0hpc3Rv
cnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgc2hvdWxkU2VuZFJlZmVycmVyLCBkb2N1
bWVudCgpLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lUb1Byb3BhZ2F0ZSgpLCBuZXdGcmFt
ZU9wZW5lclBvbGljeSwgZG93bmxvYWRBdHRyaWJ1dGUsIHN5c3RlbVByZXZpZXdJbmZvKTsKIAog
ICAgIHNlbmRQaW5ncyhjb21wbGV0ZWRVUkwpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZFJlcXVlc3QuY3BwCmluZGV4IGMxNTQ3NzI4MTNkZWU0MzZhODIyMTI2MGYwMGM0ZmUy
YmU2ZTg3ZjIuLmFhYWNiYWNjYzFmYzkyNjM5ODRmNjQ5MzY5ZGQxNTk2NzNjZjJkOTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHAKQEAgLTM3LDcgKzM3LDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1GcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRS
ZXF1ZXN0KERvY3VtZW50JiByZXF1ZXN0ZXIsIFNlY3VyaXR5T3JpZ2luJiByZXF1ZXN0ZXJTZWN1
cml0eU9yaWdpbiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgZnJhbWVOYW1lLCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3
YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2Vu
ZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgYWxsb3dOYXZpZ2F0aW9uVG9J
bnZhbGlkVVJMLCBOZXdGcmFtZU9wZW5lclBvbGljeSBuZXdGcmFtZU9wZW5lclBvbGljeSwgU2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBJ
bml0aWF0ZWRCeU1haW5GcmFtZSBpbml0aWF0ZWRCeU1haW5GcmFtZSwgU2hvdWxkUmVwbGFjZURv
Y3VtZW50SWZKYXZhU2NyaXB0VVJMIHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVS
TCwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSwgYm9vbCBpc1N5c3RlbVBy
ZXZpZXcpCitGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRSZXF1ZXN0KERvY3VtZW50JiByZXF1
ZXN0ZXIsIFNlY3VyaXR5T3JpZ2luJiByZXF1ZXN0ZXJTZWN1cml0eU9yaWdpbiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBM
b2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCBsb2NrQmFja0Zvcndh
cmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2VuZFJlZmVycmVyLCBBbGxvd05hdmln
YXRpb25Ub0ludmFsaWRVUkwgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMLCBOZXdGcmFtZU9w
ZW5lclBvbGljeSBuZXdGcmFtZU9wZW5lclBvbGljeSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBJbml0aWF0ZWRCeU1haW5GcmFtZSBp
bml0aWF0ZWRCeU1haW5GcmFtZSwgU2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJM
IHNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCwgY29uc3QgQXRvbWljU3RyaW5n
JiBkb3dubG9hZEF0dHJpYnV0ZSwgY29uc3QgU3lzdGVtUHJldmlld0luZm8mIHN5c3RlbVByZXZp
ZXdJbmZvKQogICAgIDogbV9yZXF1ZXN0ZXIgeyBtYWtlUmVmKHJlcXVlc3RlcikgfQogICAgICwg
bV9yZXF1ZXN0ZXJTZWN1cml0eU9yaWdpbiB7IG1ha2VSZWYocmVxdWVzdGVyU2VjdXJpdHlPcmln
aW4pIH0KICAgICAsIG1fcmVzb3VyY2VSZXF1ZXN0IHsgcmVzb3VyY2VSZXF1ZXN0IH0KQEAgLTUx
LDcgKzUxLDcgQEAgRnJhbWVMb2FkUmVxdWVzdDo6RnJhbWVMb2FkUmVxdWVzdChEb2N1bWVudCYg
cmVxdWVzdGVyLCBTZWN1cml0eU9yaWdpbiYgcmVxdWVzdGUKICAgICAsIG1fc2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeSB7IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgfQogICAgICwg
bV9kb3dubG9hZEF0dHJpYnV0ZSB7IGRvd25sb2FkQXR0cmlidXRlIH0KICAgICAsIG1faW5pdGlh
dGVkQnlNYWluRnJhbWUgeyBpbml0aWF0ZWRCeU1haW5GcmFtZSB9Ci0gICAgLCBtX2lzU3lzdGVt
UHJldmlldyB7IGlzU3lzdGVtUHJldmlldyB9CisgICAgLCBtX3N5c3RlbVByZXZpZXdJbmZvIHsg
c3lzdGVtUHJldmlld0luZm8gfQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZFJlcXVlc3QuaAppbmRleCBkNmYxMGVkN2Q5MDBkNDYwZTE5MjBkNTRkZjQ3YzVkZjY4MDRmYWNk
Li5kYTAxZWI3NjU0OTViZTU1MzY1Y2EwYTgwMjE0NTA5ZmQzYmMyM2UzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgU2Vj
dXJpdHlPcmlnaW47CiAKIGNsYXNzIEZyYW1lTG9hZFJlcXVlc3QgewogcHVibGljOgotICAgIFdF
QkNPUkVfRVhQT1JUIEZyYW1lTG9hZFJlcXVlc3QoRG9jdW1lbnQmLCBTZWN1cml0eU9yaWdpbiYs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBMb2NrSGlz
dG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCwgU2hvdWxkU2VuZFJlZmVycmVyLCBBbGxvd05hdmln
YXRpb25Ub0ludmFsaWRVUkwsIE5ld0ZyYW1lT3BlbmVyUG9saWN5LCBTaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5LCBJbml0aWF0ZWRCeU1haW5GcmFtZSwgU2hvdWxkUmVwbGFjZURvY3VtZW50
SWZKYXZhU2NyaXB0VVJMID0gUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMLCBjb25zdCBB
dG9taWNTdHJpbmcmIGRvd25sb2FkQXR0cmlidXRlID0geyB9LCBib29sIGlzU3lzdGVtUHJldmll
dyA9IGZhbHNlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBGcmFtZUxvYWRSZXF1ZXN0KERvY3VtZW50
JiwgU2VjdXJpdHlPcmlnaW4mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcm
IGZyYW1lTmFtZSwgTG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QsIFNob3VsZFNlbmRS
ZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMLCBOZXdGcmFtZU9wZW5lclBvbGlj
eSwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgSW5pdGlhdGVkQnlNYWluRnJhbWUsIFNo
b3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCA9IFJlcGxhY2VEb2N1bWVudElmSmF2
YVNjcmlwdFVSTCwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSA9IHsgfSwg
Y29uc3QgU3lzdGVtUHJldmlld0luZm8mID0geyB9KTsKICAgICBXRUJDT1JFX0VYUE9SVCBGcmFt
ZUxvYWRSZXF1ZXN0KEZyYW1lJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgU2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeSwgY29uc3QgU3Vic3RpdHV0ZURhdGEmID0gU3Vic3RpdHV0ZURhdGEo
KSk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB+RnJhbWVMb2FkUmVxdWVzdCgpOwpAQCAtODcsNyAr
ODcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmln
YXRpb24oYm9vbCB2YWx1ZSkgeyBtX2lzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTmF2aWdhdGlvbiA9
IHZhbHVlOyB9CiAgICAgYm9vbCBpc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24oKSBj
b25zdCB7IHJldHVybiBtX2lzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTmF2aWdhdGlvbjsgfQogCi0g
ICAgYm9vbCBpc1N5c3RlbVByZXZpZXcoKSBjb25zdCB7IHJldHVybiBtX2lzU3lzdGVtUHJldmll
dzsgfQorICAgIGJvb2wgaXNTeXN0ZW1QcmV2aWV3KCkgY29uc3QgeyByZXR1cm4gbV9zeXN0ZW1Q
cmV2aWV3SW5mby5pc1N5c3RlbVByZXZpZXc7IH0KKyAgICBjb25zdCBJbnRSZWN0JiBzeXN0ZW1Q
cmV2aWV3UmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fc3lzdGVtUHJldmlld0luZm8uc3lzdGVtUHJl
dmlld1JlY3Q7IH0KIAogcHJpdmF0ZToKICAgICBSZWY8RG9jdW1lbnQ+IG1fcmVxdWVzdGVyOwpA
QCAtMTA5LDYgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgSW5pdGlhdGVkQnlNYWluRnJhbWUgbV9p
bml0aWF0ZWRCeU1haW5GcmFtZSB7IEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duIH07CiAg
ICAgYm9vbCBtX2lzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTmF2aWdhdGlvbiB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX2lzU3lzdGVtUHJldmlldyB7IGZhbHNlIH07CisgICAgU3lzdGVtUHJldmlld0lu
Zm8gbV9zeXN0ZW1QcmV2aWV3SW5mbzsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDcyOWYyNTM4OWM2NDY5MGYwOGVi
NjBkNTYyMTUzNDllODQ4ODFiNTMuLjVkNmEyMmRjOTk5MWQ4ZWUzNWU5NjA2YjA2ZmI4MWJjMGMy
ZDIwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMzcwLDEzICsz
NzAsMTMgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y2hhbmdlTG9jYXRpb24oRnJhbWVMb2FkUmVxdWVz
dCYmIHJlcXVlc3QpCiAgICAgdXJsU2VsZWN0ZWQoV1RGTW92ZShyZXF1ZXN0KSwgbnVsbHB0cik7
CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKGNvbnN0IFVSTCYgdXJsLCBjb25z
dCBTdHJpbmcmIHBhc3NlZFRhcmdldCwgRXZlbnQqIHRyaWdnZXJpbmdFdmVudCwgTG9ja0hpc3Rv
cnkgbG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QgbG9ja0JhY2tGb3J3YXJkTGlzdCwg
U2hvdWxkU2VuZFJlZmVycmVyIHNob3VsZFNlbmRSZWZlcnJlciwgU2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBzdGQ6Om9wdGlvbmFsPE5l
d0ZyYW1lT3BlbmVyUG9saWN5PiBvcGVuZXJQb2xpY3ksIGNvbnN0IEF0b21pY1N0cmluZyYgZG93
bmxvYWRBdHRyaWJ1dGUsIGJvb2wgaXNTeXN0ZW1QcmV2aWV3KQordm9pZCBGcmFtZUxvYWRlcjo6
dXJsU2VsZWN0ZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcGFzc2VkVGFyZ2V0LCBF
dmVudCogdHJpZ2dlcmluZ0V2ZW50LCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tG
b3J3YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxk
U2VuZFJlZmVycmVyLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3ksIHN0ZDo6b3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQb2xpY3k+IG9wZW5l
clBvbGljeSwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSwgY29uc3QgU3lz
dGVtUHJldmlld0luZm8mIHN5c3RlbVByZXZpZXdJbmZvKQogewogICAgIGF1dG8qIGZyYW1lID0g
bGV4aWNhbEZyYW1lRnJvbUNvbW1vblZNKCk7CiAgICAgYXV0byBpbml0aWF0ZWRCeU1haW5GcmFt
ZSA9IGZyYW1lICYmIGZyYW1lLT5pc01haW5GcmFtZSgpID8gSW5pdGlhdGVkQnlNYWluRnJhbWU6
OlllcyA6IEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duOwogCiAgICAgTmV3RnJhbWVPcGVu
ZXJQb2xpY3kgbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBvcGVuZXJQb2xpY3kudmFsdWVfb3Ioc2hv
dWxkU2VuZFJlZmVycmVyID09IE5ldmVyU2VuZFJlZmVycmVyID8gTmV3RnJhbWVPcGVuZXJQb2xp
Y3k6OlN1cHByZXNzIDogTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93KTsKLSAgICB1cmxTZWxl
Y3RlZChGcmFtZUxvYWRSZXF1ZXN0KCptX2ZyYW1lLmRvY3VtZW50KCksIG1fZnJhbWUuZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgeyB1cmwgfSwgcGFzc2VkVGFyZ2V0LCBsb2NrSGlzdG9y
eSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgc2hvdWxkU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRp
b25Ub0ludmFsaWRVUkw6OlllcywgbmV3RnJhbWVPcGVuZXJQb2xpY3ksIHNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3ksIGluaXRpYXRlZEJ5TWFpbkZyYW1lLCBEb05vdFJlcGxhY2VEb2N1bWVu
dElmSmF2YVNjcmlwdFVSTCwgZG93bmxvYWRBdHRyaWJ1dGUsIGlzU3lzdGVtUHJldmlldyksIHRy
aWdnZXJpbmdFdmVudCk7CisgICAgdXJsU2VsZWN0ZWQoRnJhbWVMb2FkUmVxdWVzdCgqbV9mcmFt
ZS5kb2N1bWVudCgpLCBtX2ZyYW1lLmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIHsgdXJs
IH0sIHBhc3NlZFRhcmdldCwgbG9ja0hpc3RvcnksIGxvY2tCYWNrRm9yd2FyZExpc3QsIHNob3Vs
ZFNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIG5ld0ZyYW1l
T3BlbmVyUG9saWN5LCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBpbml0aWF0ZWRCeU1h
aW5GcmFtZSwgRG9Ob3RSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwsIGRvd25sb2FkQXR0
cmlidXRlLCBzeXN0ZW1QcmV2aWV3SW5mbyksIHRyaWdnZXJpbmdFdmVudCk7CiB9CiAKIHZvaWQg
RnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKEZyYW1lTG9hZFJlcXVlc3QmJiBmcmFtZVJlcXVlc3Qs
IEV2ZW50KiB0cmlnZ2VyaW5nRXZlbnQpCkBAIC0xMzYyLDcgKzEzNjIsMTIgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6bG9hZFVSTChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVMb2FkUmVxdWVzdCwgY29u
c3QgU3RyaW5nJiByZWYKIAogICAgIC8vIE11c3QgZ3JhYiB0aGlzIG5vdywgc2luY2UgdGhpcyBs
b2FkIG1heSBzdG9wIHRoZSBwcmV2aW91cyBsb2FkIGFuZCBjbGVhciB0aGlzIGZsYWcuCiAgICAg
Ym9vbCBpc1JlZGlyZWN0ID0gbV9xdWlja1JlZGlyZWN0Q29taW5nOwotICAgIHJlcXVlc3Quc2V0
U3lzdGVtUHJldmlldyhmcmFtZUxvYWRSZXF1ZXN0LmlzU3lzdGVtUHJldmlldygpKTsKKyNpZiBV
U0UoU1lTVEVNX1BSRVZJRVcpCisgICAgYm9vbCBpc1N5c3RlbVByZXZpZXcgPSBmcmFtZUxvYWRS
ZXF1ZXN0LmlzU3lzdGVtUHJldmlldygpOworICAgIHJlcXVlc3Quc2V0U3lzdGVtUHJldmlldyhp
c1N5c3RlbVByZXZpZXcpOworICAgIGlmIChpc1N5c3RlbVByZXZpZXcpCisgICAgICAgIHJlcXVl
c3Quc2V0U3lzdGVtUHJldmlld1JlY3QoZnJhbWVMb2FkUmVxdWVzdC5zeXN0ZW1QcmV2aWV3UmVj
dCgpKTsKKyNlbmRpZgogICAgIGxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbihyZXF1ZXN0LCBhY3Rp
b24sIGxvY2tIaXN0b3J5LCBuZXdMb2FkVHlwZSwgZm9ybVN0YXRlLCBhbGxvd05hdmlnYXRpb25U
b0ludmFsaWRVUkwsIFt0aGlzLCBpc1JlZGlyZWN0LCBzYW1lVVJMLCBuZXdMb2FkVHlwZSwgcHJv
dGVjdGVkRnJhbWUgPSBtYWtlUmVmKG1fZnJhbWUpLCBjb21wbGV0aW9uSGFuZGxlciA9IGNvbXBs
ZXRpb25IYW5kbGVyQ2FsbGVyLnJlbGVhc2UoKV0gewogICAgICAgICBpZiAoaXNSZWRpcmVjdCkg
ewogICAgICAgICAgICAgbV9xdWlja1JlZGlyZWN0Q29taW5nID0gZmFsc2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5oCmluZGV4IDk1ZTE3MGE5MmNlNWU1NWVmNWNhMWVmMTFlZDgwZDhi
M2ViOGY5YmQuLmZiYzcyZWMxMjRhYzUwMGU3NmJlYmVmMDFhOGIwZDA2MjZkNDJhZmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC0xMjEsNyArMTIxLDcgQEAgcHVibGljOgog
ICAgIHVuc2lnbmVkIGxvbmcgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBDbGllbnRDcmVkZW50aWFsUG9saWN5LCBjb25zdCBGZXRjaE9wdGlvbnMmLCBj
b25zdCBIVFRQSGVhZGVyTWFwJiwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBS
ZWZQdHI8U2hhcmVkQnVmZmVyPiYgZGF0YSk7CiAKICAgICB2b2lkIGNoYW5nZUxvY2F0aW9uKEZy
YW1lTG9hZFJlcXVlc3QmJik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cmxTZWxlY3RlZChj
b25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHRhcmdldCwgRXZlbnQqLCBMb2NrSGlzdG9yeSwgTG9j
a0JhY2tGb3J3YXJkTGlzdCwgU2hvdWxkU2VuZFJlZmVycmVyLCBTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5LCBzdGQ6Om9wdGlvbmFsPE5ld0ZyYW1lT3BlbmVyUG9saWN5PiA9IHN0ZDo6bnVs
bG9wdCwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSA9IG51bGxBdG9tKCks
IGJvb2wgaXNTeXN0ZW1QcmV2aWV3ID0gZmFsc2UpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
dXJsU2VsZWN0ZWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB0YXJnZXQsIEV2ZW50KiwgTG9j
a0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QsIFNob3VsZFNlbmRSZWZlcnJlciwgU2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeSwgc3RkOjpvcHRpb25hbDxOZXdGcmFtZU9wZW5lclBvbGlj
eT4gPSBzdGQ6Om51bGxvcHQsIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUg
PSBudWxsQXRvbSgpLCBjb25zdCBTeXN0ZW1QcmV2aWV3SW5mbyYgPSB7IH0pOwogICAgIHZvaWQg
c3VibWl0Rm9ybShSZWY8Rm9ybVN1Ym1pc3Npb24+JiYpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCByZWxvYWQoT3B0aW9uU2V0PFJlbG9hZE9wdGlvbj4gPSB7IH0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlclR5cGVzLmgKaW5kZXggNmRlMWI2ZmFhZmUyZTlhZDM1NGU2OTky
Y2I3NGVjOGFkM2MyOTMxMS4uNWQ2YWJmMWM1Zjc0MTJjYjcyYjEzODJhMWM0YWViMTg0Y2E2ODQ0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oCkBAIC0yOCw2ICsy
OCw4IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiSW50UmVjdC5oIgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGVudW0gRnJhbWVTdGF0ZSB7CkBAIC0xNDcsNiArMTQ5LDEyIEBAIGVu
dW0gY2xhc3MgSGFzSW5zZWN1cmVDb250ZW50IHsKICAgICBObywKIH07CiAKKworc3RydWN0IFN5
c3RlbVByZXZpZXdJbmZvIHsKKyAgICBJbnRSZWN0IHN5c3RlbVByZXZpZXdSZWN0OworICAgIGJv
b2wgaXNTeXN0ZW1QcmV2aWV3IHsgZmFsc2UgfTsKK307CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRleCAzY2IxNTY5ODdlM2VmNWY3
ZmY4ZDkyMmVlY2RkOTMzYmNlYTAyZmU2Li40OWJkODJlMDVhNDQ5ODg4MWU0MWMzMjQxZDVkNmQy
YzdkMzdjYjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTU3Niw2ICs1NzYsNyBAQCB2b2lkIFJlc291
cmNlUmVxdWVzdEJhc2U6OnNldEhUVFBIZWFkZXJGaWVsZHMoSFRUUEhlYWRlck1hcCBoZWFkZXJG
aWVsZHMpCiAgICAgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7CiB9CiAKKyNpZiBV
U0UoU1lTVEVNX1BSRVZJRVcpCiBib29sIFJlc291cmNlUmVxdWVzdEJhc2U6OmlzU3lzdGVtUHJl
dmlldygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1faXNTeXN0ZW1QcmV2aWV3OwpAQCAtNTg2LDYg
KzU4NywxNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnNldFN5c3RlbVByZXZpZXcoYm9v
bCBzKQogICAgIG1faXNTeXN0ZW1QcmV2aWV3ID0gczsKIH0KIAorY29uc3QgSW50UmVjdCYgUmVz
b3VyY2VSZXF1ZXN0QmFzZTo6c3lzdGVtUHJldmlld1JlY3QoKSBjb25zdAoreworICAgIHJldHVy
biBtX3N5c3RlbVByZXZpZXdSZWN0OworfQorCit2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnNl
dFN5c3RlbVByZXZpZXdSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgbV9zeXN0ZW1Q
cmV2aWV3UmVjdCA9IHJlY3Q7Cit9CisjZW5kaWYKKwogYm9vbCBlcXVhbElnbm9yaW5nSGVhZGVy
RmllbGRzKGNvbnN0IFJlc291cmNlUmVxdWVzdEJhc2UmIGEsIGNvbnN0IFJlc291cmNlUmVxdWVz
dEJhc2UmIGIpCiB7CiAgICAgaWYgKGEudXJsKCkgIT0gYi51cmwoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXgg
MDMwYTBiYjgyNTAzNGE0YzliZmFhZDdhYzc4N2FkY2UzNzNhNDkwMS4uYjkzMWNmNGUzMDI1NDdm
NTQ5N2MwZmY2NGNiOTc5OGI0Mjk5Yjc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTMwLDYgKzMwLDcgQEAK
IAogI2luY2x1ZGUgIkZvcm1EYXRhLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgorI2lu
Y2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxv
YWRQcmlvcml0eS5oIgogCkBAIC0xNzEsOSArMTcyLDE0IEBAIHB1YmxpYzoKICAgICBTdHJpbmcg
aW5pdGlhdG9ySWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdG9ySWRlbnRpZmll
cjsgfQogICAgIHZvaWQgc2V0SW5pdGlhdG9ySWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIpIHsgbV9pbml0aWF0b3JJZGVudGlmaWVyID0gaWRlbnRpZmllcjsgfQogCisjaWYgVVNF
KFNZU1RFTV9QUkVWSUVXKQogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNTeXN0ZW1QcmV2aWV3
KCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTeXN0ZW1QcmV2aWV3KGJvb2wp
OwogCisgICAgV0VCQ09SRV9FWFBPUlQgY29uc3QgSW50UmVjdCYgc3lzdGVtUHJldmlld1JlY3Qo
KSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN5c3RlbVByZXZpZXdSZWN0KGNv
bnN0IEludFJlY3QmKTsKKyNlbmRpZgorCiAjaWYgIVBMQVRGT1JNKENPQ09BKQogICAgIGJvb2wg
ZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICNl
bmRpZgpAQCAtMjMzLDcgKzIzOSwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgUmVxdWVzdGVyIG1fcmVx
dWVzdGVyIHsgUmVxdWVzdGVyOjpVbnNwZWNpZmllZCB9OwogICAgIFN0cmluZyBtX2luaXRpYXRv
cklkZW50aWZpZXI7CiAgICAgU3RyaW5nIG1fY2FjaGVQYXJ0aXRpb24geyBlbXB0eVN0cmluZygp
IH07CisjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQogICAgIGJvb2wgbV9pc1N5c3RlbVByZXZpZXcg
eyBmYWxzZSB9OworICAgIEludFJlY3QgbV9zeXN0ZW1QcmV2aWV3UmVjdDsKKyNlbmRpZgogCiBw
cml2YXRlOgogICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYXNSZXNvdXJjZVJlcXVlc3QoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
CmluZGV4IGU3NmZmNjRmMmEwZGM5MGVmMGRkZDY5NGYzNTBhNGQ2NzZmZWZiODkuLjk0ZDM1OTFi
N2ViODk5ZDFhMzQxZmEzZWY1OWYzMTljNDkxZmE2ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTIzNyw3ICsxMjM3LDE0IEBAIHZv
aWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgUmVzb3VyY2VSZXF1CiB7CiAgICAgZW5jb2RlciA8PCByZXNvdXJjZVJlcXVlc3Qu
Y2FjaGVQYXJ0aXRpb24oKTsKICAgICBlbmNvZGVyIDw8IHJlc291cmNlUmVxdWVzdC5oaWRkZW5G
cm9tSW5zcGVjdG9yKCk7Ci0gICAgZW5jb2RlciA8PCByZXNvdXJjZVJlcXVlc3QuaXNTeXN0ZW1Q
cmV2aWV3KCk7CisKKyNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCisgICAgaWYgKHJlc291cmNlUmVx
dWVzdC5pc1N5c3RlbVByZXZpZXcoKSkgeworICAgICAgICBlbmNvZGVyIDw8IHRydWU7CisgICAg
ICAgIGVuY29kZXIgPDwgcmVzb3VyY2VSZXF1ZXN0LnN5c3RlbVByZXZpZXdSZWN0KCk7CisgICAg
fSBlbHNlCisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisjZW5kaWYKIAogICAgIGlmIChyZXNv
dXJjZVJlcXVlc3QuZW5jb2RpbmdSZXF1aXJlc1BsYXRmb3JtRGF0YSgpKSB7CiAgICAgICAgIGVu
Y29kZXIgPDwgdHJ1ZTsKQEAgLTEyNjAsMTEgKzEyNjcsMjAgQEAgYm9vbCBBcmd1bWVudENvZGVy
PFJlc291cmNlUmVxdWVzdD46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVJlcXVl
c3QmIHIKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJlc291cmNlUmVxdWVzdC5zZXRIaWRk
ZW5Gcm9tSW5zcGVjdG9yKGlzSGlkZGVuRnJvbUluc3BlY3Rvcik7CiAKKyNpZiBVU0UoU1lTVEVN
X1BSRVZJRVcpCiAgICAgYm9vbCBpc1N5c3RlbVByZXZpZXc7CiAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShpc1N5c3RlbVByZXZpZXcpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmVzb3Vy
Y2VSZXF1ZXN0LnNldFN5c3RlbVByZXZpZXcoaXNTeXN0ZW1QcmV2aWV3KTsKIAorICAgIGlmIChp
c1N5c3RlbVByZXZpZXcpIHsKKyAgICAgICAgSW50UmVjdCBzeXN0ZW1QcmV2aWV3UmVjdDsKKyAg
ICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzeXN0ZW1QcmV2aWV3UmVjdCkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJlc291cmNlUmVxdWVzdC5zZXRTeXN0ZW1QcmV2aWV3
UmVjdChzeXN0ZW1QcmV2aWV3UmVjdCk7CisgICAgfQorI2VuZGlmCisKICAgICBib29sIGhhc1Bs
YXRmb3JtRGF0YTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc1BsYXRmb3JtRGF0YSkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL0Rvd25sb2FkQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
RG93bmxvYWRDbGllbnQubW0KaW5kZXggZjQ0NTQyY2JmOTg1NjgyNzhhZDc1YzljNzIyMjJjYzU2
Yjg5Y2U3MS4uOWVlYWJlMTA0NzlhNTc0ODkzNTc0ZDI5NTcwMjFjNDIzZWY3Zjk4MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRG93bmxvYWRDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvRG93bmxvYWRDbGllbnQubW0KQEAgLTc4
LDcgKzc4LDcgQEAgdm9pZCBEb3dubG9hZENsaWVudDo6ZGlkU3RhcnQoV2ViUHJvY2Vzc1Bvb2wm
LCBEb3dubG9hZFByb3h5JiBkb3dubG9hZFByb3h5KQogICAgIGlmIChkb3dubG9hZFByb3h5Lmlz
U3lzdGVtUHJldmlld0Rvd25sb2FkKCkpIHsKICAgICAgICAgaWYgKGF1dG8qIHdlYlBhZ2UgPSBk
b3dubG9hZFByb3h5Lm9yaWdpbmF0aW5nUGFnZSgpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTog
VXBkYXRlIHRoZSBNSU1FLXR5cGUgb25jZSBpdCBpcyBrbm93biBpbiB0aGUgUmVzb3VyY2VSZXNw
b25zZS4KLSAgICAgICAgICAgIHdlYlBhZ2UtPnN5c3RlbVByZXZpZXdDb250cm9sbGVyKCktPnN0
YXJ0KEFTQ0lJTGl0ZXJhbCB7ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iIH0pOworICAgICAg
ICAgICAgd2ViUGFnZS0+c3lzdGVtUHJldmlld0NvbnRyb2xsZXIoKS0+c3RhcnQoQVNDSUlMaXRl
cmFsIHsgImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgfSwgZG93bmxvYWRQcm94eS5zeXN0ZW1Q
cmV2aWV3RG93bmxvYWRSZWN0KCkpOwogICAgICAgICB9CiAgICAgICAgIHRha2VBY3Rpdml0eVRv
a2VuKGRvd25sb2FkUHJveHkpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9TeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNvY29hLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvU3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2Nv
YS5tbQppbmRleCAzZjRlOWQ1NGJjZDc2NjNmZDQ0ODBkMTY1M2YxNTA5MTBlOGQzNjJhLi5lMDll
Zjk0ZjBiZjI1MjgxNjg4YWE4NmU1MTBjZjNhYzcwOTBkYTNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9TeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1N5c3RlbVByZXZpZXdDb250cm9sbGVy
Q29jb2EubW0KQEAgLTExMSwxNyArMTExLDE5IEBAIFNPRlRfTElOS19DTEFTUyhRdWlja0xvb2ss
IFFMSXRlbSk7CiAKIEBpbnRlcmZhY2UgX1dLUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA6IE5T
T2JqZWN0IDxRTFByZXZpZXdDb250cm9sbGVyRGVsZWdhdGU+IHsKICAgICBXZWJLaXQ6OlN5c3Rl
bVByZXZpZXdDb250cm9sbGVyKiBfcHJldmlld0NvbnRyb2xsZXI7CisgICAgV2ViQ29yZTo6SW50
UmVjdCBfbGlua1JlY3Q7CiB9OwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gX1dLUHJldmlld0Nv
bnRyb2xsZXJEZWxlZ2F0ZQogCi0tIChpZClpbml0V2l0aFN5c3RlbVByZXZpZXdDb250cm9sbGVy
OihXZWJLaXQ6OlN5c3RlbVByZXZpZXdDb250cm9sbGVyKilwcmV2aWV3Q29udHJvbGxlcgorLSAo
aWQpaW5pdFdpdGhTeXN0ZW1QcmV2aWV3Q29udHJvbGxlcjooV2ViS2l0OjpTeXN0ZW1QcmV2aWV3
Q29udHJvbGxlciopcHJldmlld0NvbnRyb2xsZXIgZnJvbVJlY3Q6KFdlYkNvcmU6OkludFJlY3Qp
cmVjdAogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQogICAgICAgICByZXR1cm4g
bmlsOwogCiAgICAgX3ByZXZpZXdDb250cm9sbGVyID0gcHJldmlld0NvbnRyb2xsZXI7CisgICAg
X2xpbmtSZWN0ID0gcmVjdDsKICAgICByZXR1cm4gc2VsZjsKIH0KIApAQCAtMTMxLDM1ICsxMzMs
NTcgQEAgU09GVF9MSU5LX0NMQVNTKFF1aWNrTG9vaywgUUxJdGVtKTsKICAgICAgICAgX3ByZXZp
ZXdDb250cm9sbGVyLT5jYW5jZWwoKTsKIH0KIAotLSAoQ0dSZWN0KXByZXZpZXdDb250cm9sbGVy
OihRTFByZXZpZXdDb250cm9sbGVyICopY29udHJvbGxlciBmcmFtZUZvclByZXZpZXdJdGVtOihp
ZCA8UUxQcmV2aWV3SXRlbT4paXRlbSBpblNvdXJjZVZpZXc6KFVJVmlldyAqICopdmlldworLSAo
VUlWaWV3Q29udHJvbGxlciAqKXByZXNlbnRpbmdWaWV3Q29udHJvbGxlcgogewogICAgIGlmICgh
X3ByZXZpZXdDb250cm9sbGVyKQotICAgICAgICByZXR1cm4gQ0dSZWN0WmVybzsKKyAgICAgICAg
cmV0dXJuIG5pbDsKIAotICAgIFVJVmlld0NvbnRyb2xsZXIgKnByZXNlbnRpbmdWaWV3Q29udHJv
bGxlciA9IF9wcmV2aWV3Q29udHJvbGxlci0+cGFnZSgpLnVpQ2xpZW50KCkucHJlc2VudGluZ1Zp
ZXdDb250cm9sbGVyKCk7CisgICAgcmV0dXJuIF9wcmV2aWV3Q29udHJvbGxlci0+cGFnZSgpLnVp
Q2xpZW50KCkucHJlc2VudGluZ1ZpZXdDb250cm9sbGVyKCk7Cit9CisKKy0gKENHUmVjdClwcmV2
aWV3Q29udHJvbGxlcjooUUxQcmV2aWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgZnJhbWVGb3JQ
cmV2aWV3SXRlbTooaWQgPFFMUHJldmlld0l0ZW0+KWl0ZW0gaW5Tb3VyY2VWaWV3OihVSVZpZXcg
KiAqKXZpZXcKK3sKKyAgICBVSVZpZXdDb250cm9sbGVyICpwcmVzZW50aW5nVmlld0NvbnRyb2xs
ZXIgPSBbc2VsZiBwcmVzZW50aW5nVmlld0NvbnRyb2xsZXJdOwogCiAgICAgaWYgKCFwcmVzZW50
aW5nVmlld0NvbnRyb2xsZXIpCiAgICAgICAgIHJldHVybiBDR1JlY3RaZXJvOwogCiAgICAgKnZp
ZXcgPSBwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIudmlldzsKLSAgICBDR1JlY3QgZnJhbWUgPSBw
cmVzZW50aW5nVmlld0NvbnRyb2xsZXIudmlldy5mcmFtZTsKLSAgICAvLyBDcmVhdGUgYSBzbWFs
bGVyIHJlY3RhbmdsZSBjZW50ZXJlZCBpbiB0aGUgZnJhbWUuCi0gICAgQ0dGbG9hdCBoYWxmV2lk
dGggPSBmcmFtZS5zaXplLndpZHRoIC8gMjsKLSAgICBDR0Zsb2F0IGhhbGZIZWlnaHQgPSBmcmFt
ZS5zaXplLmhlaWdodCAvIDI7Ci0gICAgZnJhbWUgPSBDR1JlY3RNYWtlKENHUmVjdEdldE1pZFgo
ZnJhbWUpIC0gaGFsZldpZHRoIC8gMiwgQ0dSZWN0R2V0TWlkWShmcmFtZSkgLSBoYWxmSGVpZ2h0
IC8gMiwgaGFsZldpZHRoLCBoYWxmSGVpZ2h0KTsKLSAgICByZXR1cm4gZnJhbWU7CisKKyAgICBp
ZiAoX2xpbmtSZWN0LmlzRW1wdHkoKSkgeworICAgICAgICBDR1JlY3QgZnJhbWU7CisgICAgICAg
IGZyYW1lLnNpemUud2lkdGggPSBwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIudmlldy5mcmFtZS5z
aXplLndpZHRoIC8gMi4wOworICAgICAgICBmcmFtZS5zaXplLmhlaWdodCA9IHByZXNlbnRpbmdW
aWV3Q29udHJvbGxlci52aWV3LmZyYW1lLnNpemUuaGVpZ2h0IC8gMi4wOworICAgICAgICBmcmFt
ZS5vcmlnaW4ueCA9IChwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIudmlldy5mcmFtZS5zaXplLndp
ZHRoIC0gZnJhbWUuc2l6ZS53aWR0aCkgLyAyLjA7CisgICAgICAgIGZyYW1lLm9yaWdpbi55ID0g
KHByZXNlbnRpbmdWaWV3Q29udHJvbGxlci52aWV3LmZyYW1lLnNpemUuaGVpZ2h0IC0gZnJhbWUu
c2l6ZS5oZWlnaHQpIC8gMi4wOworICAgICAgICByZXR1cm4gZnJhbWU7CisgICAgfQorCisgICAg
cmV0dXJuIF9wcmV2aWV3Q29udHJvbGxlci0+cGFnZSgpLnJvb3RWaWV3VG9TY3JlZW5EaXJlY3Qo
X2xpbmtSZWN0KTsKIH0KIAogLSAoVUlJbWFnZSAqKXByZXZpZXdDb250cm9sbGVyOihRTFByZXZp
ZXdDb250cm9sbGVyICopY29udHJvbGxlciB0cmFuc2l0aW9uSW1hZ2VGb3JQcmV2aWV3SXRlbToo
aWQgPFFMUHJldmlld0l0ZW0+KWl0ZW0gY29udGVudFJlY3Q6KENHUmVjdCAqKWNvbnRlbnRSZWN0
CiB7Ci0gICAgcmV0dXJuIG5pbDsKKyAgICAqY29udGVudFJlY3QgPSBDR1JlY3RaZXJvOworCisg
ICAgVUlWaWV3Q29udHJvbGxlciAqcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyID0gW3NlbGYgcHJl
c2VudGluZ1ZpZXdDb250cm9sbGVyXTsKKyAgICBpZiAocHJlc2VudGluZ1ZpZXdDb250cm9sbGVy
KSB7CisgICAgICAgIGlmIChfbGlua1JlY3QuaXNFbXB0eSgpKQorICAgICAgICAgICAgKmNvbnRl
bnRSZWN0ID0ge0NHUG9pbnRaZXJvLCB7cHJlc2VudGluZ1ZpZXdDb250cm9sbGVyLnZpZXcuZnJh
bWUuc2l6ZS53aWR0aCAvIDIuMCwgcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyLnZpZXcuZnJhbWUu
c2l6ZS5oZWlnaHQgLyAyLjB9fTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBXZWJDb3Jl
OjpJbnRSZWN0IHNjcmVlblJlY3QgPSBfcHJldmlld0NvbnRyb2xsZXItPnBhZ2UoKS5yb290Vmll
d1RvU2NyZWVuRGlyZWN0KF9saW5rUmVjdCk7CisgICAgICAgICAgICAqY29udGVudFJlY3QgPSB7
IENHUG9pbnRaZXJvLCB7IHN0YXRpY19jYXN0PENHRmxvYXQ+KHNjcmVlblJlY3Qud2lkdGgoKSks
IHN0YXRpY19jYXN0PENHRmxvYXQ+KHNjcmVlblJlY3QuaGVpZ2h0KCkpIH0gfTsKKyAgICAgICAg
fQorICAgIH0KKworICAgIHJldHVybiBbVUlJbWFnZSBuZXddOwogfQogCiBAZW5kCiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCi12b2lkIFN5c3RlbVByZXZpZXdDb250cm9sbGVyOjpzdGFydChjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKQordm9pZCBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlcjo6c3RhcnQo
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZnJvbVJlY3Qp
CiB7CiAgICAgQVNTRVJUKCFtX3FsUHJldmlld0NvbnRyb2xsZXIpOwogICAgIGlmIChtX3FsUHJl
dmlld0NvbnRyb2xsZXIpCkBAIC0xNzIsNyArMTk2LDcgQEAgdm9pZCBTeXN0ZW1QcmV2aWV3Q29u
dHJvbGxlcjo6c3RhcnQoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIAogICAgIG1fcWxQcmV2aWV3
Q29udHJvbGxlciA9IGFkb3B0TlMoW2FsbG9jUUxQcmV2aWV3Q29udHJvbGxlckluc3RhbmNlKCkg
aW5pdF0pOwogCi0gICAgbV9xbFByZXZpZXdDb250cm9sbGVyRGVsZWdhdGUgPSBhZG9wdE5TKFtb
X1dLUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhTeXN0ZW1QcmV2aWV3
Q29udHJvbGxlcjp0aGlzXSk7CisgICAgbV9xbFByZXZpZXdDb250cm9sbGVyRGVsZWdhdGUgPSBh
ZG9wdE5TKFtbX1dLUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhTeXN0
ZW1QcmV2aWV3Q29udHJvbGxlcjp0aGlzIGZyb21SZWN0OmZyb21SZWN0XSk7CiAgICAgW21fcWxQ
cmV2aWV3Q29udHJvbGxlciBzZXREZWxlZ2F0ZTptX3FsUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0
ZS5nZXQoKV07CiAKICAgICBtX3FsUHJldmlld0NvbnRyb2xsZXJEYXRhU291cmNlID0gYWRvcHRO
UyhbW19XS1ByZXZpZXdDb250cm9sbGVyRGF0YVNvdXJjZSBhbGxvY10gaW5pdFdpdGhNSU1FVHlw
ZTptaW1lVHlwZV0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRG93bmxv
YWRzL0Rvd25sb2FkUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZFByb3h5LmgKaW5kZXggOTAzYmM1NjM0Yjc0ZjUxOTlhMzRmMTYyMTJmN2Y0Y2VmZTdm
NjRlNy4uZTA3YWFjODk2MDM4MTU2MWE3MmNhNTRiNzU1NzM5Mjc5ODVlMzQwYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCkBAIC00
MSw2ICs0MSw3IEBAIGNsYXNzIERhdGE7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOworY2xhc3MgSW50UmVjdDsKIGNsYXNzIFByb3RlY3Rpb25T
cGFjZTsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwpAQCAt
OTEsNiArOTIsNyBAQCBwdWJsaWM6CiAKICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCiAgICAgYm9v
bCBpc1N5c3RlbVByZXZpZXdEb3dubG9hZCgpIGNvbnN0IHsgcmV0dXJuIHJlcXVlc3QoKS5pc1N5
c3RlbVByZXZpZXcoKTsgfQorICAgIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHN5c3RlbVByZXZp
ZXdEb3dubG9hZFJlY3QoKSBjb25zdCB7IHJldHVybiByZXF1ZXN0KCkuc3lzdGVtUHJldmlld1Jl
Y3QoKTsgfQogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9TeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvU3lzdGVtUHJldmlld0NvbnRyb2xsZXIuaAppbmRleCA4MDRiMjI4YmNjMjE0MTU4MzQwOGFk
NjkxODY1MGU5OTk0MDI0MWM2Li5iOGE2ODQ5OWY0OTA5MDM1YmQ2OTZlZDQzZmEyOTliMGMwZGNl
MjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TeXN0ZW1QcmV2aWV3Q29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N5c3RlbVByZXZpZXdDb250
cm9sbGVyLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIFVTRShTWVNURU1fUFJFVklFVykKIAor
I2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAj
aW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCkBAIC00Niw3ICs0Nyw3IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgY2FuUHJldmlldyhjb25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdDsKIAotICAg
IHZvaWQgc3RhcnQoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisgICAgdm9pZCBzdGFydChjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAgICAgdm9pZCB1
cGRhdGVQcm9ncmVzcyhmbG9hdCk7CiAgICAgdm9pZCBmaW5pc2goV2ViQ29yZTo6VVJMKTsKICAg
ICB2b2lkIGNhbmNlbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
aW5kZXggOWI1NjgyNTlkNDNhOWYxYTYzNTMxOTIwYzY1ZDVlNGE4MGU2NTdlZC4uOGU1ODhlMjgw
NDM0ZjM5YzA5M2RhYmY5YzNlOGNmMjI5MzdhMTc2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCkBAIC0zOTczLDcgKzM5NzMsMTEgQEAgdm9pZCBXZWJQYWdlUHJv
eHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3QgZnJhbWVJRCwgY29u
c3QgU2VjdXIKIAogICAgIHVpbnQ2NF90IG5ld05hdmlnYXRpb25JRCA9IG5hdmlnYXRpb24tPm5h
dmlnYXRpb25JRCgpOwogICAgIG5hdmlnYXRpb24tPnNldFdhc1VzZXJJbml0aWF0ZWQoISFuYXZp
Z2F0aW9uQWN0aW9uRGF0YS51c2VyR2VzdHVyZVRva2VuSWRlbnRpZmllcik7CisjaWYgVVNFKFNZ
U1RFTV9QUkVWSUVXKQogICAgIG5hdmlnYXRpb24tPnNldFNob3VsZEZvcmNlRG93bmxvYWQoIW5h
dmlnYXRpb25BY3Rpb25EYXRhLmRvd25sb2FkQXR0cmlidXRlLmlzTnVsbCgpIHx8IHJlcXVlc3Qu
aXNTeXN0ZW1QcmV2aWV3KCkpOworI2Vsc2UKKyAgICBuYXZpZ2F0aW9uLT5zZXRTaG91bGRGb3Jj
ZURvd25sb2FkKCFuYXZpZ2F0aW9uQWN0aW9uRGF0YS5kb3dubG9hZEF0dHJpYnV0ZS5pc051bGwo
KSk7CisjZW5kaWYKICAgICBuYXZpZ2F0aW9uLT5zZXRDdXJyZW50UmVxdWVzdChSZXNvdXJjZVJl
cXVlc3QocmVxdWVzdCksIG1fcHJvY2Vzcy0+Y29yZVByb2Nlc3NJZGVudGlmaWVyKCkpOwogICAg
IG5hdmlnYXRpb24tPnNldEN1cnJlbnRSZXF1ZXN0SXNSZWRpcmVjdChuYXZpZ2F0aW9uQWN0aW9u
RGF0YS5pc1JlZGlyZWN0KTsKICAgICBuYXZpZ2F0aW9uLT5zZXRUcmVhdEFzU2FtZU9yaWdpbk5h
dmlnYXRpb24obmF2aWdhdGlvbkFjdGlvbkRhdGEudHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9u
KTsKQEAgLTQ0MzksNyArNDQ0MywxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cm9vdFZpZXdUb1Nj
cmVlbihjb25zdCBJbnRSZWN0JiB2aWV3UmVjdCwgUmVmPE1lc3NhZ2VzOjpXZWJQYQogewogICAg
IHJlcGx5LT5zZW5kKG1fcGFnZUNsaWVudC5yb290Vmlld1RvU2NyZWVuKHZpZXdSZWN0KSk7CiB9
Ci0gICAgCisKK0ludFJlY3QgV2ViUGFnZVByb3h5Ojpyb290Vmlld1RvU2NyZWVuRGlyZWN0KGNv
bnN0IEludFJlY3QmIHZpZXdSZWN0KQoreworICAgIHJldHVybiBtX3BhZ2VDbGllbnQucm9vdFZp
ZXdUb1NjcmVlbih2aWV3UmVjdCk7Cit9CisKICNpZiBQTEFURk9STShJT1MpCiB2b2lkIFdlYlBh
Z2VQcm94eTo6YWNjZXNzaWJpbGl0eVNjcmVlblRvUm9vdFZpZXcoY29uc3QgSW50UG9pbnQmIHNj
cmVlblBvaW50LCBJbnRQb2ludCYgd2luZG93UG9pbnQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCmluZGV4IGY1OWQ1OGQ1MTczZWY2NjJjYzc0YzQ5MTJiMzg1YzI5NGE5
NjgzNTYuLjU3NmNlOTQ5OTAxMjYyMDU4NjA3NTA0Y2QzOTYzZjE2MDgzOGQ3MjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMzA5LDYgKzEzMDksOCBAQCBwdWJs
aWM6CiAgICAgU3VzcGVuZGVkUGFnZVByb3h5KiBzdXNwZW5kZWRQYWdlKCkgY29uc3QgeyByZXR1
cm4gbV9zdXNwZW5kZWRQYWdlLmdldCgpOyB9CiAgICAgdm9pZCBzdXNwZW5kZWRQYWdlQ2xvc2Vk
KFN1c3BlbmRlZFBhZ2VQcm94eSYpOwogCisgICAgV2ViQ29yZTo6SW50UmVjdCByb290Vmlld1Rv
U2NyZWVuRGlyZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHZpZXdSZWN0KTsKKwogcHJpdmF0
ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlByb2Nlc3NQcm94eSYsIHVpbnQ2
NF90IHBhZ2VJRCwgUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxh
dGZvcm1Jbml0aWFsaXplKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341033</attachid>
            <date>2018-05-22 14:54:10 -0700</date>
            <delta_ts>2018-05-22 16:18:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185883-20180523075408.patch</filename>
            <type>text/plain</type>
            <size>27768</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxNTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDUxYTJkNzcxYTU3ZmYw
Njg5OWM5OTc0ZjI5NzExMzg5YmE5NzgwYy4uNmYxODEzNTU0MTA3NGViZDI5ZWRmMzJhMDg4Mjdh
Y2Q5NGM1N2QwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA1LTIyICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBPcHRpbWl6ZWQgcGF0aCB6b29t
IGFuaW1hdGlvbiBuZWVkcyBhIHZhbGlkIFVJSW1hZ2UgYW5kIENHUmVjdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1ODgzCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80MDMwNjA1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQYXNzIHRoZSBib3VuZGluZyBib3ggb2YgdGhlIGVsZW1lbnQgdGhhdCB3
YXMgY2xpY2tlZCBvbnRvCisgICAgICAgIHRoZSBVSSBwcm9jZXNzLCBzbyBpdCBjYW4gcGVyZm9y
bSBhbiBhbmltYXRpb24gZnJvbSB0aGF0IHNwb3QuCisKKyAgICAgICAgVGhpcyBpbnZvbHZlZCBh
ZGRpbmcgYW4gSW50UmVjdCB0byB0aGUgUmVzb3VyY2VSZXF1ZXN0LCBhbmQgcGFzc2luZworICAg
ICAgICB0aGF0IGluZm8gaW50byBpdCBmcm9tIHRoZSBIVE1MQW5jaG9yRWxlbWVudCwgdXNpbmcg
YSBuZXcgc3RydWN0CisgICAgICAgIGNhbGxlZCBTeXN0ZW1QcmV2aWV3SW5mby4KKworICAgICAg
ICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFu
Y2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVx
dWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0OjpGcmFtZUxvYWRS
ZXF1ZXN0KToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkUmVxdWVzdDo6RnJhbWVMb2FkUmVxdWVzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRSZXF1ZXN0Ojppc1N5c3RlbVByZXZpZXcgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkUmVxdWVzdDo6c3lzdGVtUHJldmlld1JlY3QgY29uc3QpOgor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlcjo6dXJsU2VsZWN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6Omxv
YWRVUkwpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2Fk
ZXJUeXBlcy5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzeXN0ZW1QcmV2
aWV3UmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpz
ZXRTeXN0ZW1QcmV2aWV3UmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlcXVlc3RCYXNlLmg6CisKIDIwMTgtMDUtMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSBidWlsZCBieSBpZ25vcmluZyBzb21lIGRl
cHJlY2F0aW9uIHdhcm5pbmdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQzNGNjZjQzOTBmZjY5NDZhY2MxMTA2Zjli
ZTAzNTNjMTUwZWRjMjMuLjEwNTg1MzFjNjM0ZDUwNzM0OTM4NmZmNGE5NTRiODk1MTYyYTJmNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTgtMDUtMjIgIERlYW4gSmFja3NvbiAgPGRp
bm9AYXBwbGUuY29tPgorCisgICAgICAgIE9wdGltaXplZCBwYXRoIHpvb20gYW5pbWF0aW9uIG5l
ZWRzIGEgdmFsaWQgVUlJbWFnZSBhbmQgQ0dSZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODU4ODMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQw
MzA2MDU2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRha2UgdGhlIHJlY3RhbmdsZSB0aGF0IHdhcyBwYXNzZWQgaW50byB0aGUgUmVzb3VyY2VSZXF1
ZXN0IGFuZAorICAgICAgICB1c2UgaXQgZm9yIHRoZSBvcmlnaW4gb2YgYW4gYW5pbWF0aW9uIGlu
dG8gUXVpY2tMb29rLgorCisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5j
cHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZW5jb2Rl
KToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjpkZWNvZGUp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Eb3dubG9hZENsaWVudC5tbToKKyAgICAgICAg
KFdlYktpdDo6RG93bmxvYWRDbGllbnQ6OmRpZFN0YXJ0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvU3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbToKKyAgICAgICAgKC1bX1dLUHJl
dmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBpbml0V2l0aFN5c3RlbVByZXZpZXdDb250cm9sbGVyOmZy
b21SZWN0Ol0pOgorICAgICAgICAoLVtfV0tQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRlIHByZXNl
bnRpbmdWaWV3Q29udHJvbGxlcl0pOgorICAgICAgICAoLVtfV0tQcmV2aWV3Q29udHJvbGxlckRl
bGVnYXRlIHByZXZpZXdDb250cm9sbGVyOmZyYW1lRm9yUHJldmlld0l0ZW06aW5Tb3VyY2VWaWV3
Ol0pOgorICAgICAgICAoLVtfV0tQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRlIHByZXZpZXdDb250
cm9sbGVyOnRyYW5zaXRpb25JbWFnZUZvclByZXZpZXdJdGVtOmNvbnRlbnRSZWN0Ol0pOgorICAg
ICAgICAoV2ViS2l0OjpTeXN0ZW1QcmV2aWV3Q29udHJvbGxlcjo6c3RhcnQpOgorICAgICAgICAo
LVtfV0tQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRlIGluaXRXaXRoU3lzdGVtUHJldmlld0NvbnRy
b2xsZXI6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZFByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OkRvd25sb2FkUHJveHk6OnN5c3RlbVByZXZpZXdE
b3dubG9hZFJlY3QgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9TeXN0ZW1QcmV2aWV3Q29u
dHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnN5bmNSb290Vmlld1RvU2NyZWVuKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisKIDIwMTgtMDUtMTcgIERlYW4gSmFja3NvbiAg
PGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFNhZmFyaSBvcHRpbWl6ZWQgZmxvdyBzaG91bGQg
YmUgcmVsZWFzaW5nIHZpZXdlciB0byBwcmV2ZW50IG1lbW9yeSBncm93dGggd2l0aCBzdWJzZXF1
ZW50IGxhdW5jaGVzL2Nsb3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QW5jaG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmNwcAppbmRleCA4OWEzOGMxNzgyYzM4YzNiM2IxMmEyZmUxMGRiNzMwNjQwZWM5NWY2Li5jNmQ1
N2VlYTM5NGQ3MmQ5OTY1MDMwYzE5YjVkNjAzM2FkNTBiNGQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcApAQCAtNDE3LDE0ICs0MTcsMTkgQEAgdm9pZCBIVE1M
QW5jaG9yRWxlbWVudDo6aGFuZGxlQ2xpY2soRXZlbnQmIGV2ZW50KQogICAgIH0KICNlbmRpZgog
Ci0gICAgYm9vbCBpc1N5c3RlbVByZXZpZXcgPSBmYWxzZTsKKyAgICBTeXN0ZW1QcmV2aWV3SW5m
byBzeXN0ZW1QcmV2aWV3SW5mbzsKICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCi0gICAgaXNTeXN0
ZW1QcmV2aWV3ID0gaXNTeXN0ZW1QcmV2aWV3TGluaygpOworICAgIHN5c3RlbVByZXZpZXdJbmZv
LmlzU3lzdGVtUHJldmlldyA9IGlzU3lzdGVtUHJldmlld0xpbmsoKTsKKworICAgIGlmIChzeXN0
ZW1QcmV2aWV3SW5mby5pc1N5c3RlbVByZXZpZXcpIHsKKyAgICAgICAgaWYgKGF1dG8qIGNoaWxk
ID0gZmlyc3RFbGVtZW50Q2hpbGQoKSkKKyAgICAgICAgICAgIHN5c3RlbVByZXZpZXdJbmZvLnN5
c3RlbVByZXZpZXdSZWN0ID0gY2hpbGQtPmJvdW5kc0luUm9vdFZpZXdTcGFjZSgpOworICAgIH0K
ICNlbmRpZgogCiAgICAgU2hvdWxkU2VuZFJlZmVycmVyIHNob3VsZFNlbmRSZWZlcnJlciA9IGhh
c1JlbChSZWxhdGlvbjo6Tm9SZWZlcnJlcikgPyBOZXZlclNlbmRSZWZlcnJlciA6IE1heWJlU2Vu
ZFJlZmVycmVyOwogICAgIGF1dG8gbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBoYXNSZWwoUmVsYXRp
b246Ok5vT3BlbmVyKSA/IHN0ZDo6bWFrZV9vcHRpb25hbChOZXdGcmFtZU9wZW5lclBvbGljeTo6
U3VwcHJlc3MpIDogc3RkOjpudWxsb3B0OwotICAgIGZyYW1lLT5sb2FkZXIoKS51cmxTZWxlY3Rl
ZChjb21wbGV0ZWRVUkwsIHRhcmdldCgpLCAmZXZlbnQsIExvY2tIaXN0b3J5OjpObywgTG9ja0Jh
Y2tGb3J3YXJkTGlzdDo6Tm8sIHNob3VsZFNlbmRSZWZlcnJlciwgZG9jdW1lbnQoKS5zaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdhdGUoKSwgbmV3RnJhbWVPcGVuZXJQb2xpY3ks
IGRvd25sb2FkQXR0cmlidXRlLCBpc1N5c3RlbVByZXZpZXcpOworICAgIGZyYW1lLT5sb2FkZXIo
KS51cmxTZWxlY3RlZChjb21wbGV0ZWRVUkwsIHRhcmdldCgpLCAmZXZlbnQsIExvY2tIaXN0b3J5
OjpObywgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8sIHNob3VsZFNlbmRSZWZlcnJlciwgZG9jdW1l
bnQoKS5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdhdGUoKSwgbmV3RnJhbWVP
cGVuZXJQb2xpY3ksIGRvd25sb2FkQXR0cmlidXRlLCBzeXN0ZW1QcmV2aWV3SW5mbyk7CiAKICAg
ICBzZW5kUGluZ3MoY29tcGxldGVkVVJMKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRSZXF1ZXN0LmNwcAppbmRleCBjMTU0NzcyODEzZGVlNDM2YTgyMjEyNjBmMDBjNGZlMmJl
NmU4N2YyLi5hYWFjYmFjY2MxZmM5MjYzOTg0ZjY0OTM2OWRkMTU5NjczY2YyZDkxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZFJlcXVlc3QuY3BwCkBAIC0zNyw3ICszNyw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRnJhbWVMb2FkUmVxdWVzdDo6RnJhbWVMb2FkUmVx
dWVzdChEb2N1bWVudCYgcmVxdWVzdGVyLCBTZWN1cml0eU9yaWdpbiYgcmVxdWVzdGVyU2VjdXJp
dHlPcmlnaW4sIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0LCBjb25zdCBT
dHJpbmcmIGZyYW1lTmFtZSwgTG9ja0hpc3RvcnkgbG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2Fy
ZExpc3QgbG9ja0JhY2tGb3J3YXJkTGlzdCwgU2hvdWxkU2VuZFJlZmVycmVyIHNob3VsZFNlbmRS
ZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGFsbG93TmF2aWdhdGlvblRvSW52
YWxpZFVSTCwgTmV3RnJhbWVPcGVuZXJQb2xpY3kgbmV3RnJhbWVPcGVuZXJQb2xpY3ksIFNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgSW5p
dGlhdGVkQnlNYWluRnJhbWUgaW5pdGlhdGVkQnlNYWluRnJhbWUsIFNob3VsZFJlcGxhY2VEb2N1
bWVudElmSmF2YVNjcmlwdFVSTCBzaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkws
IGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUsIGJvb2wgaXNTeXN0ZW1QcmV2
aWV3KQorRnJhbWVMb2FkUmVxdWVzdDo6RnJhbWVMb2FkUmVxdWVzdChEb2N1bWVudCYgcmVxdWVz
dGVyLCBTZWN1cml0eU9yaWdpbiYgcmVxdWVzdGVyU2VjdXJpdHlPcmlnaW4sIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgTG9j
a0hpc3RvcnkgbG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QgbG9ja0JhY2tGb3J3YXJk
TGlzdCwgU2hvdWxkU2VuZFJlZmVycmVyIHNob3VsZFNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0
aW9uVG9JbnZhbGlkVVJMIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgTmV3RnJhbWVPcGVu
ZXJQb2xpY3kgbmV3RnJhbWVPcGVuZXJQb2xpY3ksIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xp
Y3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgSW5pdGlhdGVkQnlNYWluRnJhbWUgaW5p
dGlhdGVkQnlNYWluRnJhbWUsIFNob3VsZFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCBz
aG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwsIGNvbnN0IEF0b21pY1N0cmluZyYg
ZG93bmxvYWRBdHRyaWJ1dGUsIGNvbnN0IFN5c3RlbVByZXZpZXdJbmZvJiBzeXN0ZW1QcmV2aWV3
SW5mbykKICAgICA6IG1fcmVxdWVzdGVyIHsgbWFrZVJlZihyZXF1ZXN0ZXIpIH0KICAgICAsIG1f
cmVxdWVzdGVyU2VjdXJpdHlPcmlnaW4geyBtYWtlUmVmKHJlcXVlc3RlclNlY3VyaXR5T3JpZ2lu
KSB9CiAgICAgLCBtX3Jlc291cmNlUmVxdWVzdCB7IHJlc291cmNlUmVxdWVzdCB9CkBAIC01MSw3
ICs1MSw3IEBAIEZyYW1lTG9hZFJlcXVlc3Q6OkZyYW1lTG9hZFJlcXVlc3QoRG9jdW1lbnQmIHJl
cXVlc3RlciwgU2VjdXJpdHlPcmlnaW4mIHJlcXVlc3RlCiAgICAgLCBtX3Nob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3kgeyBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IH0KICAgICAsIG1f
ZG93bmxvYWRBdHRyaWJ1dGUgeyBkb3dubG9hZEF0dHJpYnV0ZSB9CiAgICAgLCBtX2luaXRpYXRl
ZEJ5TWFpbkZyYW1lIHsgaW5pdGlhdGVkQnlNYWluRnJhbWUgfQotICAgICwgbV9pc1N5c3RlbVBy
ZXZpZXcgeyBpc1N5c3RlbVByZXZpZXcgfQorICAgICwgbV9zeXN0ZW1QcmV2aWV3SW5mbyB7IHN5
c3RlbVByZXZpZXdJbmZvIH0KIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRS
ZXF1ZXN0LmgKaW5kZXggZDZmMTBlZDdkOTAwZDQ2MGUxOTIwZDU0ZGY0N2M1ZGY2ODA0ZmFjZC4u
ZGEwMWViNzY1NDk1YmU1NTM2NWNhMGE4MDIxNDUwOWZkM2JjMjNlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkUmVxdWVzdC5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIFNlY3Vy
aXR5T3JpZ2luOwogCiBjbGFzcyBGcmFtZUxvYWRSZXF1ZXN0IHsKIHB1YmxpYzoKLSAgICBXRUJD
T1JFX0VYUE9SVCBGcmFtZUxvYWRSZXF1ZXN0KERvY3VtZW50JiwgU2VjdXJpdHlPcmlnaW4mLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgTG9ja0hpc3Rv
cnksIExvY2tCYWNrRm9yd2FyZExpc3QsIFNob3VsZFNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0
aW9uVG9JbnZhbGlkVVJMLCBOZXdGcmFtZU9wZW5lclBvbGljeSwgU2hvdWxkT3BlbkV4dGVybmFs
VVJMc1BvbGljeSwgSW5pdGlhdGVkQnlNYWluRnJhbWUsIFNob3VsZFJlcGxhY2VEb2N1bWVudElm
SmF2YVNjcmlwdFVSTCA9IFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCwgY29uc3QgQXRv
bWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSA9IHsgfSwgYm9vbCBpc1N5c3RlbVByZXZpZXcg
PSBmYWxzZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgRnJhbWVMb2FkUmVxdWVzdChEb2N1bWVudCYs
IFNlY3VyaXR5T3JpZ2luJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgU3RyaW5nJiBm
cmFtZU5hbWUsIExvY2tIaXN0b3J5LCBMb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVm
ZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCwgTmV3RnJhbWVPcGVuZXJQb2xpY3ks
IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3ksIEluaXRpYXRlZEJ5TWFpbkZyYW1lLCBTaG91
bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgPSBSZXBsYWNlRG9jdW1lbnRJZkphdmFT
Y3JpcHRVUkwsIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUgPSB7IH0sIGNv
bnN0IFN5c3RlbVByZXZpZXdJbmZvJiA9IHsgfSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgRnJhbWVM
b2FkUmVxdWVzdChGcmFtZSYsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3ksIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiA9IFN1YnN0aXR1dGVEYXRhKCkp
OwogCiAgICAgV0VCQ09SRV9FWFBPUlQgfkZyYW1lTG9hZFJlcXVlc3QoKTsKQEAgLTg3LDcgKzg3
LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0
aW9uKGJvb2wgdmFsdWUpIHsgbV9pc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24gPSB2
YWx1ZTsgfQogICAgIGJvb2wgaXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9pc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb247IH0KIAotICAg
IGJvb2wgaXNTeXN0ZW1QcmV2aWV3KCkgY29uc3QgeyByZXR1cm4gbV9pc1N5c3RlbVByZXZpZXc7
IH0KKyAgICBib29sIGlzU3lzdGVtUHJldmlldygpIGNvbnN0IHsgcmV0dXJuIG1fc3lzdGVtUHJl
dmlld0luZm8uaXNTeXN0ZW1QcmV2aWV3OyB9CisgICAgY29uc3QgSW50UmVjdCYgc3lzdGVtUHJl
dmlld1JlY3QoKSBjb25zdCB7IHJldHVybiBtX3N5c3RlbVByZXZpZXdJbmZvLnN5c3RlbVByZXZp
ZXdSZWN0OyB9CiAKIHByaXZhdGU6CiAgICAgUmVmPERvY3VtZW50PiBtX3JlcXVlc3RlcjsKQEAg
LTEwOSw2ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIEluaXRpYXRlZEJ5TWFpbkZyYW1lIG1faW5p
dGlhdGVkQnlNYWluRnJhbWUgeyBJbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93biB9OwogICAg
IGJvb2wgbV9pc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24geyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc1N5c3RlbVByZXZpZXcgeyBmYWxzZSB9OworICAgIFN5c3RlbVByZXZpZXdJbmZv
IG1fc3lzdGVtUHJldmlld0luZm87CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA3MjlmMjUzODljNjQ2OTBmMDhlYjYw
ZDU2MjE1MzQ5ZTg0ODgxYjUzLi41ZDZhMjJkYzk5OTFkOGVlMzVlOTYwNmIwNmZiODFiYzBjMmQy
MDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTM3MCwxMyArMzcw
LDEzIEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNoYW5nZUxvY2F0aW9uKEZyYW1lTG9hZFJlcXVlc3Qm
JiByZXF1ZXN0KQogICAgIHVybFNlbGVjdGVkKFdURk1vdmUocmVxdWVzdCksIG51bGxwdHIpOwog
fQogCi12b2lkIEZyYW1lTG9hZGVyOjp1cmxTZWxlY3RlZChjb25zdCBVUkwmIHVybCwgY29uc3Qg
U3RyaW5nJiBwYXNzZWRUYXJnZXQsIEV2ZW50KiB0cmlnZ2VyaW5nRXZlbnQsIExvY2tIaXN0b3J5
IGxvY2tIaXN0b3J5LCBMb2NrQmFja0ZvcndhcmRMaXN0IGxvY2tCYWNrRm9yd2FyZExpc3QsIFNo
b3VsZFNlbmRSZWZlcnJlciBzaG91bGRTZW5kUmVmZXJyZXIsIFNob3VsZE9wZW5FeHRlcm5hbFVS
THNQb2xpY3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgc3RkOjpvcHRpb25hbDxOZXdG
cmFtZU9wZW5lclBvbGljeT4gb3BlbmVyUG9saWN5LCBjb25zdCBBdG9taWNTdHJpbmcmIGRvd25s
b2FkQXR0cmlidXRlLCBib29sIGlzU3lzdGVtUHJldmlldykKK3ZvaWQgRnJhbWVMb2FkZXI6OnVy
bFNlbGVjdGVkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHBhc3NlZFRhcmdldCwgRXZl
bnQqIHRyaWdnZXJpbmdFdmVudCwgTG9ja0hpc3RvcnkgbG9ja0hpc3RvcnksIExvY2tCYWNrRm9y
d2FyZExpc3QgbG9ja0JhY2tGb3J3YXJkTGlzdCwgU2hvdWxkU2VuZFJlZmVycmVyIHNob3VsZFNl
bmRSZWZlcnJlciwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5LCBzdGQ6Om9wdGlvbmFsPE5ld0ZyYW1lT3BlbmVyUG9saWN5PiBvcGVuZXJQ
b2xpY3ksIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUsIGNvbnN0IFN5c3Rl
bVByZXZpZXdJbmZvJiBzeXN0ZW1QcmV2aWV3SW5mbykKIHsKICAgICBhdXRvKiBmcmFtZSA9IGxl
eGljYWxGcmFtZUZyb21Db21tb25WTSgpOwogICAgIGF1dG8gaW5pdGlhdGVkQnlNYWluRnJhbWUg
PSBmcmFtZSAmJiBmcmFtZS0+aXNNYWluRnJhbWUoKSA/IEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpZ
ZXMgOiBJbml0aWF0ZWRCeU1haW5GcmFtZTo6VW5rbm93bjsKIAogICAgIE5ld0ZyYW1lT3BlbmVy
UG9saWN5IG5ld0ZyYW1lT3BlbmVyUG9saWN5ID0gb3BlbmVyUG9saWN5LnZhbHVlX29yKHNob3Vs
ZFNlbmRSZWZlcnJlciA9PSBOZXZlclNlbmRSZWZlcnJlciA/IE5ld0ZyYW1lT3BlbmVyUG9saWN5
OjpTdXBwcmVzcyA6IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdyk7Ci0gICAgdXJsU2VsZWN0
ZWQoRnJhbWVMb2FkUmVxdWVzdCgqbV9mcmFtZS5kb2N1bWVudCgpLCBtX2ZyYW1lLmRvY3VtZW50
KCktPnNlY3VyaXR5T3JpZ2luKCksIHsgdXJsIH0sIHBhc3NlZFRhcmdldCwgbG9ja0hpc3Rvcnks
IGxvY2tCYWNrRm9yd2FyZExpc3QsIHNob3VsZFNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9u
VG9JbnZhbGlkVVJMOjpZZXMsIG5ld0ZyYW1lT3BlbmVyUG9saWN5LCBzaG91bGRPcGVuRXh0ZXJu
YWxVUkxzUG9saWN5LCBpbml0aWF0ZWRCeU1haW5GcmFtZSwgRG9Ob3RSZXBsYWNlRG9jdW1lbnRJ
ZkphdmFTY3JpcHRVUkwsIGRvd25sb2FkQXR0cmlidXRlLCBpc1N5c3RlbVByZXZpZXcpLCB0cmln
Z2VyaW5nRXZlbnQpOworICAgIHVybFNlbGVjdGVkKEZyYW1lTG9hZFJlcXVlc3QoKm1fZnJhbWUu
ZG9jdW1lbnQoKSwgbV9mcmFtZS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCB7IHVybCB9
LCBwYXNzZWRUYXJnZXQsIGxvY2tIaXN0b3J5LCBsb2NrQmFja0ZvcndhcmRMaXN0LCBzaG91bGRT
ZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBuZXdGcmFtZU9w
ZW5lclBvbGljeSwgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgaW5pdGlhdGVkQnlNYWlu
RnJhbWUsIERvTm90UmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMLCBkb3dubG9hZEF0dHJp
YnV0ZSwgc3lzdGVtUHJldmlld0luZm8pLCB0cmlnZ2VyaW5nRXZlbnQpOwogfQogCiB2b2lkIEZy
YW1lTG9hZGVyOjp1cmxTZWxlY3RlZChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVSZXF1ZXN0LCBF
dmVudCogdHJpZ2dlcmluZ0V2ZW50KQpAQCAtMTM2Miw3ICsxMzYyLDEyIEBAIHZvaWQgRnJhbWVM
b2FkZXI6OmxvYWRVUkwoRnJhbWVMb2FkUmVxdWVzdCYmIGZyYW1lTG9hZFJlcXVlc3QsIGNvbnN0
IFN0cmluZyYgcmVmCiAKICAgICAvLyBNdXN0IGdyYWIgdGhpcyBub3csIHNpbmNlIHRoaXMgbG9h
ZCBtYXkgc3RvcCB0aGUgcHJldmlvdXMgbG9hZCBhbmQgY2xlYXIgdGhpcyBmbGFnLgogICAgIGJv
b2wgaXNSZWRpcmVjdCA9IG1fcXVpY2tSZWRpcmVjdENvbWluZzsKLSAgICByZXF1ZXN0LnNldFN5
c3RlbVByZXZpZXcoZnJhbWVMb2FkUmVxdWVzdC5pc1N5c3RlbVByZXZpZXcoKSk7CisjaWYgVVNF
KFNZU1RFTV9QUkVWSUVXKQorICAgIGJvb2wgaXNTeXN0ZW1QcmV2aWV3ID0gZnJhbWVMb2FkUmVx
dWVzdC5pc1N5c3RlbVByZXZpZXcoKTsKKyAgICByZXF1ZXN0LnNldFN5c3RlbVByZXZpZXcoaXNT
eXN0ZW1QcmV2aWV3KTsKKyAgICBpZiAoaXNTeXN0ZW1QcmV2aWV3KQorICAgICAgICByZXF1ZXN0
LnNldFN5c3RlbVByZXZpZXdSZWN0KGZyYW1lTG9hZFJlcXVlc3Quc3lzdGVtUHJldmlld1JlY3Qo
KSk7CisjZW5kaWYKICAgICBsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24ocmVxdWVzdCwgYWN0aW9u
LCBsb2NrSGlzdG9yeSwgbmV3TG9hZFR5cGUsIGZvcm1TdGF0ZSwgYWxsb3dOYXZpZ2F0aW9uVG9J
bnZhbGlkVVJMLCBbdGhpcywgaXNSZWRpcmVjdCwgc2FtZVVSTCwgbmV3TG9hZFR5cGUsIHByb3Rl
Y3RlZEZyYW1lID0gbWFrZVJlZihtX2ZyYW1lKSwgY29tcGxldGlvbkhhbmRsZXIgPSBjb21wbGV0
aW9uSGFuZGxlckNhbGxlci5yZWxlYXNlKCldIHsKICAgICAgICAgaWYgKGlzUmVkaXJlY3QpIHsK
ICAgICAgICAgICAgIG1fcXVpY2tSZWRpcmVjdENvbWluZyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuaAppbmRleCA5NWUxNzBhOTJjZTVlNTVlZjVjYTFlZjExZWQ4MGQ4YjNl
YjhmOWJkLi5mYmM3MmVjMTI0YWM1MDBlNzZiZWJlZjAxYThiMGQwNjI2ZDQyYWZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtMTIxLDcgKzEyMSw3IEBAIHB1YmxpYzoKICAg
ICB1bnNpZ25lZCBsb25nIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiwgQ2xpZW50Q3JlZGVudGlhbFBvbGljeSwgY29uc3QgRmV0Y2hPcHRpb25zJiwgY29u
c3QgSFRUUEhlYWRlck1hcCYsIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4mIGRhdGEpOwogCiAgICAgdm9pZCBjaGFuZ2VMb2NhdGlvbihGcmFt
ZUxvYWRSZXF1ZXN0JiYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXJsU2VsZWN0ZWQoY29u
c3QgVVJMJiwgY29uc3QgU3RyaW5nJiB0YXJnZXQsIEV2ZW50KiwgTG9ja0hpc3RvcnksIExvY2tC
YWNrRm9yd2FyZExpc3QsIFNob3VsZFNlbmRSZWZlcnJlciwgU2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeSwgc3RkOjpvcHRpb25hbDxOZXdGcmFtZU9wZW5lclBvbGljeT4gPSBzdGQ6Om51bGxv
cHQsIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUgPSBudWxsQXRvbSgpLCBi
b29sIGlzU3lzdGVtUHJldmlldyA9IGZhbHNlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVy
bFNlbGVjdGVkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBFdmVudCosIExvY2tI
aXN0b3J5LCBMb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIsIFNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3ksIHN0ZDo6b3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQb2xpY3k+
ID0gc3RkOjpudWxsb3B0LCBjb25zdCBBdG9taWNTdHJpbmcmIGRvd25sb2FkQXR0cmlidXRlID0g
bnVsbEF0b20oKSwgY29uc3QgU3lzdGVtUHJldmlld0luZm8mID0geyB9KTsKICAgICB2b2lkIHN1
Ym1pdEZvcm0oUmVmPEZvcm1TdWJtaXNzaW9uPiYmKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgcmVsb2FkKE9wdGlvblNldDxSZWxvYWRPcHRpb24+ID0geyB9KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oCmluZGV4IDZkZTFiNmZhYWZlMmU5YWQzNTRlNjk5MmNi
NzRlYzhhZDNjMjkzMTEuLjVkNmFiZjFjNWY3NDEyY2I3MmIxMzgyYTFjNGFlYjE4NGNhNjg0NGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclR5cGVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaApAQCAtMjgsNiArMjgs
OCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkludFJlY3QuaCIKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBlbnVtIEZyYW1lU3RhdGUgewpAQCAtMTQ3LDYgKzE0OSwxMiBAQCBlbnVt
IGNsYXNzIEhhc0luc2VjdXJlQ29udGVudCB7CiAgICAgTm8sCiB9OwogCisKK3N0cnVjdCBTeXN0
ZW1QcmV2aWV3SW5mbyB7CisgICAgSW50UmVjdCBzeXN0ZW1QcmV2aWV3UmVjdDsKKyAgICBib29s
IGlzU3lzdGVtUHJldmlldyB7IGZhbHNlIH07Cit9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKaW5kZXggM2NiMTU2OTg3ZTNlZjVmN2Zm
OGQ5MjJlZWNkZDkzM2JjZWEwMmZlNi4uNDliZDgyZTA1YTQ0OTg4ODFlNDFjMzI0MWQ1ZDZkMmM3
ZDM3Y2I4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCkBAIC01NzYsNiArNTc2LDcgQEAgdm9pZCBSZXNvdXJj
ZVJlcXVlc3RCYXNlOjpzZXRIVFRQSGVhZGVyRmllbGRzKEhUVFBIZWFkZXJNYXAgaGVhZGVyRmll
bGRzKQogICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNlOwogfQogCisjaWYgVVNF
KFNZU1RFTV9QUkVWSUVXKQogYm9vbCBSZXNvdXJjZVJlcXVlc3RCYXNlOjppc1N5c3RlbVByZXZp
ZXcoKSBjb25zdAogewogICAgIHJldHVybiBtX2lzU3lzdGVtUHJldmlldzsKQEAgLTU4Niw2ICs1
ODcsMTcgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRTeXN0ZW1QcmV2aWV3KGJvb2wg
cykKICAgICBtX2lzU3lzdGVtUHJldmlldyA9IHM7CiB9CiAKK2NvbnN0IEludFJlY3QmIFJlc291
cmNlUmVxdWVzdEJhc2U6OnN5c3RlbVByZXZpZXdSZWN0KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9zeXN0ZW1QcmV2aWV3UmVjdDsKK30KKwordm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRT
eXN0ZW1QcmV2aWV3UmVjdChjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIG1fc3lzdGVtUHJl
dmlld1JlY3QgPSByZWN0OworfQorI2VuZGlmCisKIGJvb2wgZXF1YWxJZ25vcmluZ0hlYWRlckZp
ZWxkcyhjb25zdCBSZXNvdXJjZVJlcXVlc3RCYXNlJiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3RC
YXNlJiBiKQogewogICAgIGlmIChhLnVybCgpICE9IGIudXJsKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDAz
MGEwYmI4MjUwMzRhNGM5YmZhYWQ3YWM3ODdhZGNlMzczYTQ5MDEuLmI5MzFjZjRlMzAyNTQ3ZjU0
OTdjMGZmNjRjYjk3OThiNDI5OWI3OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC0zMCw2ICszMCw3IEBACiAK
ICNpbmNsdWRlICJGb3JtRGF0YS5oIgogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKKyNpbmNs
dWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVVJMLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
UHJpb3JpdHkuaCIKIApAQCAtMTcxLDkgKzE3MiwxNCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGlu
aXRpYXRvcklkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYXRvcklkZW50aWZpZXI7
IH0KICAgICB2b2lkIHNldEluaXRpYXRvcklkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyKSB7IG1faW5pdGlhdG9ySWRlbnRpZmllciA9IGlkZW50aWZpZXI7IH0KIAorI2lmIFVTRShT
WVNURU1fUFJFVklFVykKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzU3lzdGVtUHJldmlldygp
IGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0U3lzdGVtUHJldmlldyhib29sKTsK
IAorICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IEludFJlY3QmIHN5c3RlbVByZXZpZXdSZWN0KCkg
Y29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRTeXN0ZW1QcmV2aWV3UmVjdChjb25z
dCBJbnRSZWN0Jik7CisjZW5kaWYKKwogI2lmICFQTEFURk9STShDT0NPQSkKICAgICBib29sIGVu
Y29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAjZW5k
aWYKQEAgLTIzMyw3ICsyMzksMTAgQEAgcHJvdGVjdGVkOgogICAgIFJlcXVlc3RlciBtX3JlcXVl
c3RlciB7IFJlcXVlc3Rlcjo6VW5zcGVjaWZpZWQgfTsKICAgICBTdHJpbmcgbV9pbml0aWF0b3JJ
ZGVudGlmaWVyOwogICAgIFN0cmluZyBtX2NhY2hlUGFydGl0aW9uIHsgZW1wdHlTdHJpbmcoKSB9
OworI2lmIFVTRShTWVNURU1fUFJFVklFVykKICAgICBib29sIG1faXNTeXN0ZW1QcmV2aWV3IHsg
ZmFsc2UgfTsKKyAgICBJbnRSZWN0IG1fc3lzdGVtUHJldmlld1JlY3Q7CisjZW5kaWYKIAogcHJp
dmF0ZToKICAgICBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGFzUmVzb3VyY2VSZXF1ZXN0KCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApp
bmRleCBlNzZmZjY0ZjJhMGRjOTBlZjBkZGQ2OTRmMzUwYTRkNjc2ZmVmYjg5Li45NGQzNTkxYjdl
Yjg5OWQxYTM0MWZhM2VmNTlmMzE5YzQ5MWZhNmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTEyMzcsNyArMTIzNywxNCBAQCB2b2lk
IEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VSZXF1ZXN0Pjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIs
IGNvbnN0IFJlc291cmNlUmVxdQogewogICAgIGVuY29kZXIgPDwgcmVzb3VyY2VSZXF1ZXN0LmNh
Y2hlUGFydGl0aW9uKCk7CiAgICAgZW5jb2RlciA8PCByZXNvdXJjZVJlcXVlc3QuaGlkZGVuRnJv
bUluc3BlY3RvcigpOwotICAgIGVuY29kZXIgPDwgcmVzb3VyY2VSZXF1ZXN0LmlzU3lzdGVtUHJl
dmlldygpOworCisjaWYgVVNFKFNZU1RFTV9QUkVWSUVXKQorICAgIGlmIChyZXNvdXJjZVJlcXVl
c3QuaXNTeXN0ZW1QcmV2aWV3KCkpIHsKKyAgICAgICAgZW5jb2RlciA8PCB0cnVlOworICAgICAg
ICBlbmNvZGVyIDw8IHJlc291cmNlUmVxdWVzdC5zeXN0ZW1QcmV2aWV3UmVjdCgpOworICAgIH0g
ZWxzZQorICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworI2VuZGlmCiAKICAgICBpZiAocmVzb3Vy
Y2VSZXF1ZXN0LmVuY29kaW5nUmVxdWlyZXNQbGF0Zm9ybURhdGEoKSkgewogICAgICAgICBlbmNv
ZGVyIDw8IHRydWU7CkBAIC0xMjYwLDExICsxMjY3LDIwIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxS
ZXNvdXJjZVJlcXVlc3Q+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUmVzb3VyY2VSZXF1ZXN0
JiByCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXNvdXJjZVJlcXVlc3Quc2V0SGlkZGVu
RnJvbUluc3BlY3Rvcihpc0hpZGRlbkZyb21JbnNwZWN0b3IpOwogCisjaWYgVVNFKFNZU1RFTV9Q
UkVWSUVXKQogICAgIGJvb2wgaXNTeXN0ZW1QcmV2aWV3OwogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoaXNTeXN0ZW1QcmV2aWV3KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJlc291cmNl
UmVxdWVzdC5zZXRTeXN0ZW1QcmV2aWV3KGlzU3lzdGVtUHJldmlldyk7CiAKKyAgICBpZiAoaXNT
eXN0ZW1QcmV2aWV3KSB7CisgICAgICAgIEludFJlY3Qgc3lzdGVtUHJldmlld1JlY3Q7CisgICAg
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc3lzdGVtUHJldmlld1JlY3QpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICByZXNvdXJjZVJlcXVlc3Quc2V0U3lzdGVtUHJldmlld1Jl
Y3Qoc3lzdGVtUHJldmlld1JlY3QpOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBoYXNQbGF0
Zm9ybURhdGE7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNQbGF0Zm9ybURhdGEpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9Eb3dubG9hZENsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0Rv
d25sb2FkQ2xpZW50Lm1tCmluZGV4IGY0NDU0MmNiZjk4NTY4Mjc4YWQ3NWM5YzcyMjIyY2M1NmI4
OWNlNzEuLjllZWFiZTEwNDc5YTU3NDg5MzU3NGQyOTU3MDIxYzQyM2VmN2Y5ODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0Rvd25sb2FkQ2xpZW50Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0Rvd25sb2FkQ2xpZW50Lm1tCkBAIC03OCw3
ICs3OCw3IEBAIHZvaWQgRG93bmxvYWRDbGllbnQ6OmRpZFN0YXJ0KFdlYlByb2Nlc3NQb29sJiwg
RG93bmxvYWRQcm94eSYgZG93bmxvYWRQcm94eSkKICAgICBpZiAoZG93bmxvYWRQcm94eS5pc1N5
c3RlbVByZXZpZXdEb3dubG9hZCgpKSB7CiAgICAgICAgIGlmIChhdXRvKiB3ZWJQYWdlID0gZG93
bmxvYWRQcm94eS5vcmlnaW5hdGluZ1BhZ2UoKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFVw
ZGF0ZSB0aGUgTUlNRS10eXBlIG9uY2UgaXQgaXMga25vd24gaW4gdGhlIFJlc291cmNlUmVzcG9u
c2UuCi0gICAgICAgICAgICB3ZWJQYWdlLT5zeXN0ZW1QcmV2aWV3Q29udHJvbGxlcigpLT5zdGFy
dChBU0NJSUxpdGVyYWwgeyAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiB9KTsKKyAgICAgICAg
ICAgIHdlYlBhZ2UtPnN5c3RlbVByZXZpZXdDb250cm9sbGVyKCktPnN0YXJ0KEFTQ0lJTGl0ZXJh
bCB7ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iIH0sIGRvd25sb2FkUHJveHkuc3lzdGVtUHJl
dmlld0Rvd25sb2FkUmVjdCgpKTsKICAgICAgICAgfQogICAgICAgICB0YWtlQWN0aXZpdHlUb2tl
bihkb3dubG9hZFByb3h5KTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvU3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1N5c3RlbVByZXZpZXdDb250cm9sbGVyQ29jb2Eu
bW0KaW5kZXggM2Y0ZTlkNTRiY2Q3NjYzZmQ0NDgwZDE2NTNmMTUwOTEwZThkMzYyYS4uZDgwZTZi
MGE5Y2QxYjM2YTVmZDAwMDVlYTdiZWE3ZTBlZTI4M2FhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvU3lzdGVtUHJldmlld0NvbnRyb2xsZXJDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9TeXN0ZW1QcmV2aWV3Q29udHJvbGxlckNv
Y29hLm1tCkBAIC0xMTEsMTcgKzExMSwxOSBAQCBTT0ZUX0xJTktfQ0xBU1MoUXVpY2tMb29rLCBR
TEl0ZW0pOwogCiBAaW50ZXJmYWNlIF9XS1ByZXZpZXdDb250cm9sbGVyRGVsZWdhdGUgOiBOU09i
amVjdCA8UUxQcmV2aWV3Q29udHJvbGxlckRlbGVnYXRlPiB7CiAgICAgV2ViS2l0OjpTeXN0ZW1Q
cmV2aWV3Q29udHJvbGxlciogX3ByZXZpZXdDb250cm9sbGVyOworICAgIFdlYkNvcmU6OkludFJl
Y3QgX2xpbmtSZWN0OwogfTsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIF9XS1ByZXZpZXdDb250
cm9sbGVyRGVsZWdhdGUKIAotLSAoaWQpaW5pdFdpdGhTeXN0ZW1QcmV2aWV3Q29udHJvbGxlcjoo
V2ViS2l0OjpTeXN0ZW1QcmV2aWV3Q29udHJvbGxlciopcHJldmlld0NvbnRyb2xsZXIKKy0gKGlk
KWluaXRXaXRoU3lzdGVtUHJldmlld0NvbnRyb2xsZXI6KFdlYktpdDo6U3lzdGVtUHJldmlld0Nv
bnRyb2xsZXIqKXByZXZpZXdDb250cm9sbGVyIGZyb21SZWN0OihXZWJDb3JlOjpJbnRSZWN0KXJl
Y3QKIHsKICAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKICAgICAgICAgcmV0dXJuIG5p
bDsKIAogICAgIF9wcmV2aWV3Q29udHJvbGxlciA9IHByZXZpZXdDb250cm9sbGVyOworICAgIF9s
aW5rUmVjdCA9IHJlY3Q7CiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKQEAgLTEzMSwzNSArMTMzLDU3
IEBAIFNPRlRfTElOS19DTEFTUyhRdWlja0xvb2ssIFFMSXRlbSk7CiAgICAgICAgIF9wcmV2aWV3
Q29udHJvbGxlci0+Y2FuY2VsKCk7CiB9CiAKLS0gKENHUmVjdClwcmV2aWV3Q29udHJvbGxlcjoo
UUxQcmV2aWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgZnJhbWVGb3JQcmV2aWV3SXRlbTooaWQg
PFFMUHJldmlld0l0ZW0+KWl0ZW0gaW5Tb3VyY2VWaWV3OihVSVZpZXcgKiAqKXZpZXcKKy0gKFVJ
Vmlld0NvbnRyb2xsZXIgKilwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIKIHsKICAgICBpZiAoIV9w
cmV2aWV3Q29udHJvbGxlcikKLSAgICAgICAgcmV0dXJuIENHUmVjdFplcm87CisgICAgICAgIHJl
dHVybiBuaWw7CiAKLSAgICBVSVZpZXdDb250cm9sbGVyICpwcmVzZW50aW5nVmlld0NvbnRyb2xs
ZXIgPSBfcHJldmlld0NvbnRyb2xsZXItPnBhZ2UoKS51aUNsaWVudCgpLnByZXNlbnRpbmdWaWV3
Q29udHJvbGxlcigpOworICAgIHJldHVybiBfcHJldmlld0NvbnRyb2xsZXItPnBhZ2UoKS51aUNs
aWVudCgpLnByZXNlbnRpbmdWaWV3Q29udHJvbGxlcigpOworfQorCistIChDR1JlY3QpcHJldmll
d0NvbnRyb2xsZXI6KFFMUHJldmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyIGZyYW1lRm9yUHJl
dmlld0l0ZW06KGlkIDxRTFByZXZpZXdJdGVtPilpdGVtIGluU291cmNlVmlldzooVUlWaWV3ICog
Kil2aWV3Cit7CisgICAgVUlWaWV3Q29udHJvbGxlciAqcHJlc2VudGluZ1ZpZXdDb250cm9sbGVy
ID0gW3NlbGYgcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyXTsKIAogICAgIGlmICghcHJlc2VudGlu
Z1ZpZXdDb250cm9sbGVyKQogICAgICAgICByZXR1cm4gQ0dSZWN0WmVybzsKIAogICAgICp2aWV3
ID0gcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyLnZpZXc7Ci0gICAgQ0dSZWN0IGZyYW1lID0gcHJl
c2VudGluZ1ZpZXdDb250cm9sbGVyLnZpZXcuZnJhbWU7Ci0gICAgLy8gQ3JlYXRlIGEgc21hbGxl
ciByZWN0YW5nbGUgY2VudGVyZWQgaW4gdGhlIGZyYW1lLgotICAgIENHRmxvYXQgaGFsZldpZHRo
ID0gZnJhbWUuc2l6ZS53aWR0aCAvIDI7Ci0gICAgQ0dGbG9hdCBoYWxmSGVpZ2h0ID0gZnJhbWUu
c2l6ZS5oZWlnaHQgLyAyOwotICAgIGZyYW1lID0gQ0dSZWN0TWFrZShDR1JlY3RHZXRNaWRYKGZy
YW1lKSAtIGhhbGZXaWR0aCAvIDIsIENHUmVjdEdldE1pZFkoZnJhbWUpIC0gaGFsZkhlaWdodCAv
IDIsIGhhbGZXaWR0aCwgaGFsZkhlaWdodCk7Ci0gICAgcmV0dXJuIGZyYW1lOworCisgICAgaWYg
KF9saW5rUmVjdC5pc0VtcHR5KCkpIHsKKyAgICAgICAgQ0dSZWN0IGZyYW1lOworICAgICAgICBm
cmFtZS5zaXplLndpZHRoID0gcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyLnZpZXcuZnJhbWUuc2l6
ZS53aWR0aCAvIDIuMDsKKyAgICAgICAgZnJhbWUuc2l6ZS5oZWlnaHQgPSBwcmVzZW50aW5nVmll
d0NvbnRyb2xsZXIudmlldy5mcmFtZS5zaXplLmhlaWdodCAvIDIuMDsKKyAgICAgICAgZnJhbWUu
b3JpZ2luLnggPSAocHJlc2VudGluZ1ZpZXdDb250cm9sbGVyLnZpZXcuZnJhbWUuc2l6ZS53aWR0
aCAtIGZyYW1lLnNpemUud2lkdGgpIC8gMi4wOworICAgICAgICBmcmFtZS5vcmlnaW4ueSA9IChw
cmVzZW50aW5nVmlld0NvbnRyb2xsZXIudmlldy5mcmFtZS5zaXplLmhlaWdodCAtIGZyYW1lLnNp
emUuaGVpZ2h0KSAvIDIuMDsKKyAgICAgICAgcmV0dXJuIGZyYW1lOworICAgIH0KKworICAgIHJl
dHVybiBfcHJldmlld0NvbnRyb2xsZXItPnBhZ2UoKS5zeW5jUm9vdFZpZXdUb1NjcmVlbihfbGlu
a1JlY3QpOwogfQogCiAtIChVSUltYWdlICopcHJldmlld0NvbnRyb2xsZXI6KFFMUHJldmlld0Nv
bnRyb2xsZXIgKiljb250cm9sbGVyIHRyYW5zaXRpb25JbWFnZUZvclByZXZpZXdJdGVtOihpZCA8
UUxQcmV2aWV3SXRlbT4paXRlbSBjb250ZW50UmVjdDooQ0dSZWN0ICopY29udGVudFJlY3QKIHsK
LSAgICByZXR1cm4gbmlsOworICAgICpjb250ZW50UmVjdCA9IENHUmVjdFplcm87CisKKyAgICBV
SVZpZXdDb250cm9sbGVyICpwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIgPSBbc2VsZiBwcmVzZW50
aW5nVmlld0NvbnRyb2xsZXJdOworICAgIGlmIChwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIpIHsK
KyAgICAgICAgaWYgKF9saW5rUmVjdC5pc0VtcHR5KCkpCisgICAgICAgICAgICAqY29udGVudFJl
Y3QgPSB7Q0dQb2ludFplcm8sIHtwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIudmlldy5mcmFtZS5z
aXplLndpZHRoIC8gMi4wLCBwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIudmlldy5mcmFtZS5zaXpl
LmhlaWdodCAvIDIuMH19OworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIFdlYkNvcmU6Oklu
dFJlY3Qgc2NyZWVuUmVjdCA9IF9wcmV2aWV3Q29udHJvbGxlci0+cGFnZSgpLnN5bmNSb290Vmll
d1RvU2NyZWVuKF9saW5rUmVjdCk7CisgICAgICAgICAgICAqY29udGVudFJlY3QgPSB7IENHUG9p
bnRaZXJvLCB7IHN0YXRpY19jYXN0PENHRmxvYXQ+KHNjcmVlblJlY3Qud2lkdGgoKSksIHN0YXRp
Y19jYXN0PENHRmxvYXQ+KHNjcmVlblJlY3QuaGVpZ2h0KCkpIH0gfTsKKyAgICAgICAgfQorICAg
IH0KKworICAgIHJldHVybiBbVUlJbWFnZSBuZXddOwogfQogCiBAZW5kCiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCi12b2lkIFN5c3RlbVByZXZpZXdDb250cm9sbGVyOjpzdGFydChjb25zdCBTdHJp
bmcmIG1pbWVUeXBlKQordm9pZCBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlcjo6c3RhcnQoY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZnJvbVJlY3QpCiB7CiAg
ICAgQVNTRVJUKCFtX3FsUHJldmlld0NvbnRyb2xsZXIpOwogICAgIGlmIChtX3FsUHJldmlld0Nv
bnRyb2xsZXIpCkBAIC0xNzIsNyArMTk2LDcgQEAgdm9pZCBTeXN0ZW1QcmV2aWV3Q29udHJvbGxl
cjo6c3RhcnQoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKIAogICAgIG1fcWxQcmV2aWV3Q29udHJv
bGxlciA9IGFkb3B0TlMoW2FsbG9jUUxQcmV2aWV3Q29udHJvbGxlckluc3RhbmNlKCkgaW5pdF0p
OwogCi0gICAgbV9xbFByZXZpZXdDb250cm9sbGVyRGVsZWdhdGUgPSBhZG9wdE5TKFtbX1dLUHJl
dmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhTeXN0ZW1QcmV2aWV3Q29udHJv
bGxlcjp0aGlzXSk7CisgICAgbV9xbFByZXZpZXdDb250cm9sbGVyRGVsZWdhdGUgPSBhZG9wdE5T
KFtbX1dLUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhTeXN0ZW1QcmV2
aWV3Q29udHJvbGxlcjp0aGlzIGZyb21SZWN0OmZyb21SZWN0XSk7CiAgICAgW21fcWxQcmV2aWV3
Q29udHJvbGxlciBzZXREZWxlZ2F0ZTptX3FsUHJldmlld0NvbnRyb2xsZXJEZWxlZ2F0ZS5nZXQo
KV07CiAKICAgICBtX3FsUHJldmlld0NvbnRyb2xsZXJEYXRhU291cmNlID0gYWRvcHROUyhbW19X
S1ByZXZpZXdDb250cm9sbGVyRGF0YVNvdXJjZSBhbGxvY10gaW5pdFdpdGhNSU1FVHlwZTptaW1l
VHlwZV0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRG93bmxvYWRzL0Rv
d25sb2FkUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZFByb3h5LmgKaW5kZXggOTAzYmM1NjM0Yjc0ZjUxOTlhMzRmMTYyMTJmN2Y0Y2VmZTdmNjRlNy4u
ZTA3YWFjODk2MDM4MTU2MWE3MmNhNTRiNzU1NzM5Mjc5ODVlMzQwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5oCkBAIC00MSw2ICs0
MSw3IEBAIGNsYXNzIERhdGE7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlOworY2xhc3MgSW50UmVjdDsKIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsK
IGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwpAQCAtOTEsNiAr
OTIsNyBAQCBwdWJsaWM6CiAKICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCiAgICAgYm9vbCBpc1N5
c3RlbVByZXZpZXdEb3dubG9hZCgpIGNvbnN0IHsgcmV0dXJuIHJlcXVlc3QoKS5pc1N5c3RlbVBy
ZXZpZXcoKTsgfQorICAgIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHN5c3RlbVByZXZpZXdEb3du
bG9hZFJlY3QoKSBjb25zdCB7IHJldHVybiByZXF1ZXN0KCkuc3lzdGVtUHJldmlld1JlY3QoKTsg
fQogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9TeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvU3lz
dGVtUHJldmlld0NvbnRyb2xsZXIuaAppbmRleCA4MDRiMjI4YmNjMjE0MTU4MzQwOGFkNjkxODY1
MGU5OTk0MDI0MWM2Li5iOGE2ODQ5OWY0OTA5MDM1YmQ2OTZlZDQzZmEyOTliMGMwZGNlMjkzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9TeXN0ZW1QcmV2aWV3Q29udHJvbGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1N5c3RlbVByZXZpZXdDb250cm9sbGVy
LmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2lmIFVTRShTWVNURU1fUFJFVklFVykKIAorI2luY2x1
ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgogCkBAIC00Niw3ICs0Nyw3IEBAIHB1YmxpYzoKIAogICAgIGJv
b2wgY2FuUHJldmlldyhjb25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdDsKIAotICAgIHZvaWQg
c3RhcnQoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisgICAgdm9pZCBzdGFydChjb25zdCBTdHJp
bmcmIG1pbWVUeXBlLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAgICAgdm9pZCB1cGRhdGVQ
cm9ncmVzcyhmbG9hdCk7CiAgICAgdm9pZCBmaW5pc2goV2ViQ29yZTo6VVJMKTsKICAgICB2b2lk
IGNhbmNlbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
OWI1NjgyNTlkNDNhOWYxYTYzNTMxOTIwYzY1ZDVlNGE4MGU2NTdlZC4uNGNhYWUyODkxMGJmYmMy
ZjhhZTBhNWE0Y2Q5MzM1ZjAyOTdhOTcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC0zOTczLDcgKzM5NzMsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3QgZnJhbWVJRCwgY29uc3QgU2Vj
dXIKIAogICAgIHVpbnQ2NF90IG5ld05hdmlnYXRpb25JRCA9IG5hdmlnYXRpb24tPm5hdmlnYXRp
b25JRCgpOwogICAgIG5hdmlnYXRpb24tPnNldFdhc1VzZXJJbml0aWF0ZWQoISFuYXZpZ2F0aW9u
QWN0aW9uRGF0YS51c2VyR2VzdHVyZVRva2VuSWRlbnRpZmllcik7CisjaWYgVVNFKFNZU1RFTV9Q
UkVWSUVXKQogICAgIG5hdmlnYXRpb24tPnNldFNob3VsZEZvcmNlRG93bmxvYWQoIW5hdmlnYXRp
b25BY3Rpb25EYXRhLmRvd25sb2FkQXR0cmlidXRlLmlzTnVsbCgpIHx8IHJlcXVlc3QuaXNTeXN0
ZW1QcmV2aWV3KCkpOworI2Vsc2UKKyAgICBuYXZpZ2F0aW9uLT5zZXRTaG91bGRGb3JjZURvd25s
b2FkKCFuYXZpZ2F0aW9uQWN0aW9uRGF0YS5kb3dubG9hZEF0dHJpYnV0ZS5pc051bGwoKSk7Cisj
ZW5kaWYKICAgICBuYXZpZ2F0aW9uLT5zZXRDdXJyZW50UmVxdWVzdChSZXNvdXJjZVJlcXVlc3Qo
cmVxdWVzdCksIG1fcHJvY2Vzcy0+Y29yZVByb2Nlc3NJZGVudGlmaWVyKCkpOwogICAgIG5hdmln
YXRpb24tPnNldEN1cnJlbnRSZXF1ZXN0SXNSZWRpcmVjdChuYXZpZ2F0aW9uQWN0aW9uRGF0YS5p
c1JlZGlyZWN0KTsKICAgICBuYXZpZ2F0aW9uLT5zZXRUcmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRp
b24obmF2aWdhdGlvbkFjdGlvbkRhdGEudHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uKTsKQEAg
LTQ0MzksNyArNDQ0MywxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cm9vdFZpZXdUb1NjcmVlbihj
b25zdCBJbnRSZWN0JiB2aWV3UmVjdCwgUmVmPE1lc3NhZ2VzOjpXZWJQYQogewogICAgIHJlcGx5
LT5zZW5kKG1fcGFnZUNsaWVudC5yb290Vmlld1RvU2NyZWVuKHZpZXdSZWN0KSk7CiB9Ci0gICAg
CisKK0ludFJlY3QgV2ViUGFnZVByb3h5OjpzeW5jUm9vdFZpZXdUb1NjcmVlbihjb25zdCBJbnRS
ZWN0JiB2aWV3UmVjdCkKK3sKKyAgICByZXR1cm4gbV9wYWdlQ2xpZW50LnJvb3RWaWV3VG9TY3Jl
ZW4odmlld1JlY3QpOworfQorCiAjaWYgUExBVEZPUk0oSU9TKQogdm9pZCBXZWJQYWdlUHJveHk6
OmFjY2Vzc2liaWxpdHlTY3JlZW5Ub1Jvb3RWaWV3KGNvbnN0IEludFBvaW50JiBzY3JlZW5Qb2lu
dCwgSW50UG9pbnQmIHdpbmRvd1BvaW50KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCBmNTlkNThkNTE3M2VmNjYyY2M3NGM0OTEyYjM4NWMyOTRhOTY4MzU2Li4z
OTIwODVkZGU1ZWQxZTcxYzFhZTUzZjQxNjdkYTBlMDMxOWVjNzkzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTMwOSw2ICsxMzA5LDggQEAgcHVibGljOgogICAg
IFN1c3BlbmRlZFBhZ2VQcm94eSogc3VzcGVuZGVkUGFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Vz
cGVuZGVkUGFnZS5nZXQoKTsgfQogICAgIHZvaWQgc3VzcGVuZGVkUGFnZUNsb3NlZChTdXNwZW5k
ZWRQYWdlUHJveHkmKTsKIAorICAgIFdlYkNvcmU6OkludFJlY3Qgc3luY1Jvb3RWaWV3VG9TY3Jl
ZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgdmlld1JlY3QpOworCiBwcml2YXRlOgogICAgIFdl
YlBhZ2VQcm94eShQYWdlQ2xpZW50JiwgV2ViUHJvY2Vzc1Byb3h5JiwgdWludDY0X3QgcGFnZUlE
LCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJik7CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRp
YWxpemUoKTsK
</data>
<flag name="review"
          id="359234"
          type_id="1"
          status="+"
          setter="jonlee"
    />
          </attachment>
      

    </bug>

</bugzilla>