<?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>206091</bug_id>
          
          <creation_ts>2020-01-10 14:16:22 -0800</creation_ts>
          <short_desc>Introduce ENABLE_META_VIEWPORT and use it in some WK2 code</short_desc>
          <delta_ts>2020-01-10 17:47:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1605292</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-10 14:16:22 -0800</bug_when>
    <thetext>Introduce ENABLE_META_VIEWPORT and use it in some WK2 code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605294</commentid>
    <comment_count>1</comment_count>
      <attachid>387373</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-10 14:18:35 -0800</bug_when>
    <thetext>Created attachment 387373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605303</commentid>
    <comment_count>2</comment_count>
      <attachid>387375</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-10 14:36:16 -0800</bug_when>
    <thetext>Created attachment 387375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605324</commentid>
    <comment_count>3</comment_count>
      <attachid>387379</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-10 14:57:58 -0800</bug_when>
    <thetext>Created attachment 387379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605440</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-10 17:46:18 -0800</bug_when>
    <thetext>https://trac.webkit.org/r254384</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605442</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-10 17:47:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/58497343&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387373</attachid>
            <date>2020-01-10 14:18:35 -0800</date>
            <delta_ts>2020-01-10 14:36:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206091-20200110141835.patch</filename>
            <type>text/plain</type>
            <size>26482</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE5MDMzY2I3OTY2ZmE5MWVhY2UwNzUz
MGYyNTY3ZmQyNTc4NmVkMzkuLmE0NDU1MWI2NzVlYTI4ODRjYWRhNzA4NWU3MjAxNjc3M2Q1YTIx
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDEtMTAgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIEVOQUJMRV9NRVRBX1ZJRVdQ
T1JUIGFuZCB1c2UgaXQgaW4gc29tZSBXSzIgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBEZWZpbmUgRU5BQkxFX01FVEFfVklFV1BP
UlQgZm9yIGlPUyBhbmQgQ2/DtnJkaW5hdGVkIEdyYXBoaWNzLgorCisgICAgICAgICogd3RmL0Zl
YXR1cmVEZWZpbmVzLmg6CisKIDIwMjAtMDEtMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRvcHQgVEFSR0VUX09TX01BQ0NBVEFMWVNUIGluIG1v
cmUgcGxhY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmYxMTBlMTg0NmE4NjgyZWMwN2MwNjFkYTYyOTZhYjU5
N2NjODYxYi4uYjYzNWZmMzgxOGFmMzhiZTY1OWJiMmU4YjI1MmUzYmRlOGZlZjg1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAxLTEwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBFTkFCTEVfTUVUQV9WSUVXUE9S
VCBhbmQgdXNlIGl0IGluIHNvbWUgV0syIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjA5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGRpZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hhbmdl
ZCgpIGlzIHVzZWQgZm9yIGEgQ29vcmRpbmF0ZWQgR3JhcGhpY3MgYXNzZXJ0aW9uLCBzbworICAg
ICAgICBzaG91bGQgYmUgI2lmIEFTU0VSVF9FTkFCTEVEIHJhdGhlciB0aGFuICNpZm5kZWYgTkRF
QlVHLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50Ojp1cGRhdGVWaWV3cG9ydEFyZ3VtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6c3VzcGVuZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisKIDIwMjAtMDEtMTAg
IEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5d
IFN1cHBvcnQgYXV0aGVudGljYXRvckdldE5leHRBc3NlcnRpb24KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDhmYzk4
NzA4MGJlOWY0YjhlZDZiNTBmMTU5MTQxMGRhOWE2NjY4NS4uNDE1MTczOGJkNGE5NmUxMGVlNDVk
NDkyMDllZDAwZGVjYzY2YzNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAyMC0wMS0x
MCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRy
b2R1Y2UgRU5BQkxFX01FVEFfVklFV1BPUlQgYW5kIHVzZSBpdCBpbiBzb21lIFdLMiBjb2RlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYwOTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFVz
ZSBFTkFCTEUoTUVUQV9WSUVXUE9SVCkgcmF0aGVyIHRoYW4gUExBVEZPUk0oSU9TX0ZBTUlMWSkg
dG8gZW5hYmxlIHZhcmlvdXMKKyAgICAgICAgYml0cyBvZiB2aWV3cG9ydC1yZWxhdGVkIGNvZGUu
CisKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAg
KElQQzo6QXJndW1lbnRDb2RlcjxWaWV3cG9ydEFyZ3VtZW50cz46OmRlY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8Vmlld3BvcnRBdHRyaWJ1dGVzPjo6ZW5jb2RlKToKKyAgICAg
ICAgKElQQzo6QXJndW1lbnRDb2RlcjxWaWV3cG9ydEF0dHJpYnV0ZXM+OjpkZWNvZGUpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQv
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cDoKKyAgICAgICAgKFdLUGFnZVNldElnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJW
aWV3IF9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246XSk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1cmF0
aW9uIGNvbnN0KToKKwogMjAyMC0wMS0xMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCAtW1dLV2ViVmlldyBfZGlkQ29tbWl0TGF5ZXJU
cmVlOl0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IDU4NGM4OTlkYjBmODM5YTg2NDdmNGY4
NTBkZTI4MDMzYjExNzU5Y2EuLjJmZjZkZTIzN2FhYzEwMzMzYTE0MGI4ZWEzNzk5ZDkzNzkwZjUw
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKKysrIGIvU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtMjI3LDYgKzIyNywxMCBAQCB0aGUgcHVi
bGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTc5MTY3Pi4gKi8KICNlbmRp
ZgogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfTUVUQV9WSUVXUE9SVCkKKyNkZWZpbmUg
RU5BQkxFX01FVEFfVklFV1BPUlQgMQorI2VuZGlmCisKICNlbmRpZiAvKiBQTEFURk9STShJT1Nf
RkFNSUxZKSAqLwogCiAvKiAtLS0tLS0tLS0gQXBwbGUgd2F0Y2hPUyBwb3J0IC0tLS0tLS0tLSAq
LwpAQCAtMzk0LDYgKzM5OCwxNSBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93
ZWJraXQub3JnL2IvMTc5MTY3Pi4gKi8KIAogI2VuZGlmIC8qIFBMQVRGT1JNKFdJTl9DQUlSTykg
Ki8KIAorLyogLS0tLS0tLS0tIENvb3JkaW5hdGVkIEdyYXBoaWNzIC0tLS0tLS0tLSAqLworI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKworI2lmICFkZWZpbmVkKEVOQUJMRV9NRVRBX1ZJ
RVdQT1JUKQorI2RlZmluZSBFTkFCTEVfTUVUQV9WSUVXUE9SVCAxCisjZW5kaWYKKworI2VuZGlm
IC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKwogLyogRU5BQkxFIG1hY3JvIGRlZmF1bHRz
IGZvciBXZWJDb3JlICovCiAvKiBEbyBub3QgdXNlIFBMQVRGT1JNKCkgdGVzdHMgaW4gdGhpcyBz
ZWN0aW9uICEgKi8KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZmRlNWVmMmIyZjYzNWRm
MzdiN2UzNGIwODliMzFjOGQyODBlOWFhMS4uMjRiYWM2ZGZkZTJhMjUzYmIzM2Q0MmQwYzEyM2E5
YmI1NDQ5ZTcxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0zNjkxLDcgKzM2OTEsNyBA
QCBWaWV3cG9ydEFyZ3VtZW50cyBEb2N1bWVudDo6dmlld3BvcnRBcmd1bWVudHMoKSBjb25zdAog
dm9pZCBEb2N1bWVudDo6dXBkYXRlVmlld3BvcnRBcmd1bWVudHMoKQogewogICAgIGlmIChwYWdl
KCkgJiYgZnJhbWUoKS0+aXNNYWluRnJhbWUoKSkgewotI2lmbmRlZiBOREVCVUcKKyNpZiBBU1NF
UlRfRU5BQkxFRAogICAgICAgICBtX2RpZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hhbmdl
ZCA9IHRydWU7CiAjZW5kaWYKICAgICAgICAgcGFnZSgpLT5jaHJvbWUoKS5kaXNwYXRjaFZpZXdw
b3J0UHJvcGVydGllc0RpZENoYW5nZSh2aWV3cG9ydEFyZ3VtZW50cygpKTsKQEAgLTUyOTUsNyAr
NTI5NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbiByZWFz
b24pCiAgICAgZm9yIChhdXRvKiBlbGVtZW50IDogbV9kb2N1bWVudFN1c3BlbnNpb25DYWxsYmFj
a0VsZW1lbnRzKQogICAgICAgICBlbGVtZW50LT5wcmVwYXJlRm9yRG9jdW1lbnRTdXNwZW5zaW9u
KCk7CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgQVNTRVJUX0VOQUJMRUQKICAgICAvLyBDbGVhciB0
aGUgdXBkYXRlIGZsYWcgdG8gYmUgYWJsZSB0byBjaGVjayBpZiB0aGUgdmlld3BvcnQgYXJndW1l
bnRzIHVwZGF0ZQogICAgIC8vIGlzIGRpc3BhdGNoZWQsIGFmdGVyIHRoZSBkb2N1bWVudCBpcyBy
ZXN0b3JlZCBmcm9tIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCiAgICAgbV9kaWREaXNwYXRjaFZp
ZXdwb3J0UHJvcGVydGllc0NoYW5nZWQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
MmY5YmJjNzdiMmQyYTU2Y2NhZDBjOTU3NTcyMTRjNTY1ZjM1MjRkOC4uNjM4ZDA0MGYzN2QyMjQ1
N2RmZGQxY2ExNDAzYTVhNjdiNGYzN2I1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTQxNSw3
ICs0MTUsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgVmlld3BvcnRBcmd1bWVudHMg
dmlld3BvcnRBcmd1bWVudHMoKSBjb25zdDsKIAogICAgIE9wdGlvblNldDxEaXNhYmxlZEFkYXB0
YXRpb25zPiBkaXNhYmxlZEFkYXB0YXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9kaXNhYmxlZEFk
YXB0YXRpb25zOyB9Ci0jaWZuZGVmIE5ERUJVRworI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgYm9v
bCBkaWREaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0NoYW5nZWQoKSBjb25zdCB7IHJldHVybiBt
X2RpZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hhbmdlZDsgfQogI2VuZGlmCiAKQEAgLTIw
MjIsNyArMjAyMiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc0hhZENhcHR1cmVNZWRpYVN0
cmVhbVRyYWNrIHsgZmFsc2UgfTsKICNlbmRpZgogCi0jaWZuZGVmIE5ERUJVRworI2lmIEFTU0VS
VF9FTkFCTEVECiAgICAgYm9vbCBtX2RpZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hhbmdl
ZCB7IGZhbHNlIH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAKaW5kZXggOGUwOGEzM2RkZDFlZTQ0YjkyMzY3YmNkZDlkMTIxZmZj
MDZhZDU1Ny4uN2MxZWY3Nzg3YTdlYmE5YmEyN2VjYTY3ZjRiNWM0ZDg2NjQxYjY5YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC02Mzcs
NyArNjM3LDkgQEAgT3B0aW9uYWw8RmxvYXRRdWFkPiBBcmd1bWVudENvZGVyPEZsb2F0UXVhZD46
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owog
ICAgIHJldHVybiBmbG9hdFF1YWQ7CiB9CisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
IAorI2lmIEVOQUJMRShNRVRBX1ZJRVdQT1JUKQogdm9pZCBBcmd1bWVudENvZGVyPFZpZXdwb3J0
QXJndW1lbnRzPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFZpZXdwb3J0QXJndW1l
bnRzJiB2aWV3cG9ydEFyZ3VtZW50cykKIHsKICAgICBTaW1wbGVBcmd1bWVudENvZGVyPFZpZXdw
b3J0QXJndW1lbnRzPjo6ZW5jb2RlKGVuY29kZXIsIHZpZXdwb3J0QXJndW1lbnRzKTsKQEAgLTY1
NSw4ICs2NTcsMTggQEAgT3B0aW9uYWw8Vmlld3BvcnRBcmd1bWVudHM+IEFyZ3VtZW50Q29kZXI8
Vmlld3BvcnRBcmd1bWVudHM+OjpkZWNvZGUoRGVjb2RlciYgZGUKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKICAgICByZXR1cm4gdmlld3BvcnRBcmd1bWVudHM7CiB9Ci0jZW5kaWYgLy8g
UExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorI2VuZGlmIC8vIEVOQUJMRShNRVRBX1ZJRVdQT1JUKQor
Cit2b2lkIEFyZ3VtZW50Q29kZXI8Vmlld3BvcnRBdHRyaWJ1dGVzPjo6ZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIsIGNvbnN0IFZpZXdwb3J0QXR0cmlidXRlcyYgdmlld3BvcnRBdHRyaWJ1dGVzKQor
eworICAgIFNpbXBsZUFyZ3VtZW50Q29kZXI8Vmlld3BvcnRBdHRyaWJ1dGVzPjo6ZW5jb2RlKGVu
Y29kZXIsIHZpZXdwb3J0QXR0cmlidXRlcyk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxWaWV3
cG9ydEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgVmlld3BvcnRBdHRyaWJ1
dGVzJiB2aWV3cG9ydEF0dHJpYnV0ZXMpCit7CisgICAgcmV0dXJuIFNpbXBsZUFyZ3VtZW50Q29k
ZXI8Vmlld3BvcnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKGRlY29kZXIsIHZpZXdwb3J0QXR0cmlidXRl
cyk7Cit9CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxJbnRQb2ludD46OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyLCBjb25zdCBJbnRQb2ludCYgaW50UG9pbnQpCiB7CkBAIC03NjMsMTYgKzc3NSw2IEBA
IGJvb2wgQXJndW1lbnRDb2RlcjxMZW5ndGg+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTGVu
Z3RoJiBsZW5ndGgpCiAgICAgcmV0dXJuIFNpbXBsZUFyZ3VtZW50Q29kZXI8TGVuZ3RoPjo6ZGVj
b2RlKGRlY29kZXIsIGxlbmd0aCk7CiB9CiAKLXZvaWQgQXJndW1lbnRDb2RlcjxWaWV3cG9ydEF0
dHJpYnV0ZXM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgVmlld3BvcnRBdHRyaWJ1
dGVzJiB2aWV3cG9ydEF0dHJpYnV0ZXMpCi17Ci0gICAgU2ltcGxlQXJndW1lbnRDb2RlcjxWaWV3
cG9ydEF0dHJpYnV0ZXM+OjplbmNvZGUoZW5jb2Rlciwgdmlld3BvcnRBdHRyaWJ1dGVzKTsKLX0K
LQotYm9vbCBBcmd1bWVudENvZGVyPFZpZXdwb3J0QXR0cmlidXRlcz46OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyLCBWaWV3cG9ydEF0dHJpYnV0ZXMmIHZpZXdwb3J0QXR0cmlidXRlcykKLXsKLSAg
ICByZXR1cm4gU2ltcGxlQXJndW1lbnRDb2RlcjxWaWV3cG9ydEF0dHJpYnV0ZXM+OjpkZWNvZGUo
ZGVjb2Rlciwgdmlld3BvcnRBdHRyaWJ1dGVzKTsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVyPFZl
bG9jaXR5RGF0YT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBWZWxvY2l0eURhdGEm
IHZlbG9jaXR5RGF0YSkKIHsKICAgICBlbmNvZGVyIDw8IHZlbG9jaXR5RGF0YS5ob3Jpem9udGFs
VmVsb2NpdHkgPDwgdmVsb2NpdHlEYXRhLnZlcnRpY2FsVmVsb2NpdHkgPDwgdmVsb2NpdHlEYXRh
LnNjYWxlQ2hhbmdlUmF0ZSA8PCB2ZWxvY2l0eURhdGEubGFzdFVwZGF0ZVRpbWU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDM0ODJkMDUwZTRi
ZWZjMTAyZTMxNmQwMTk4YjAwNGVmNjA4NDUxYmUuLjg0ZDQzOWM1MDU0MDRiN2U1OTA1YjM2ZTdk
ZWM3Njg5ZGRmYTk0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5oCkBAIC0xNDgsNiArMTQ4LDkgQEAgY2xhc3MgU2VsZWN0aW9uUmVjdDsKIHN0cnVj
dCBIaWdobGlnaHQ7CiBzdHJ1Y3QgUGFzdGVib2FyZEltYWdlOwogc3RydWN0IFBhc3RlYm9hcmRX
ZWJDb250ZW50OworI2VuZGlmCisKKyNpZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkKIHN0cnVjdCBW
aWV3cG9ydEFyZ3VtZW50czsKICNlbmRpZgogCkBAIC0yOTUsMTMgKzI5OCwyMSBAQCB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UXVhZD4gewogICAgIHN0YXRp
YyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRRdWFkJik7CiAgICAg
c3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0UXVhZD4gZGVjb2RlKERlY29kZXImKTsKIH07
CisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorI2lmIEVOQUJMRShNRVRBX1ZJRVdQ
T1JUKQogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpWaWV3cG9ydEFy
Z3VtZW50cz4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29y
ZTo6Vmlld3BvcnRBcmd1bWVudHMmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYs
IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJik7CiAgICAgc3RhdGljIE9wdGlvbmFsPFdlYkNv
cmU6OlZpZXdwb3J0QXJndW1lbnRzPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKLSNlbmRpZiAvLyBQ
TEFURk9STShJT1NfRkFNSUxZKQorCisjZW5kaWYKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXM+IHsKKyAgICBzdGF0aWMgdm9pZCBl
bmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYpOworICAg
IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVz
Jik7Cit9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkludFBv
aW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYpOwpAQCAtMzM2LDExICszNDcsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6Okxlbmd0aD4gewogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVy
JiwgV2ViQ29yZTo6TGVuZ3RoJik7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcz4gewotICAgIHN0YXRpYyB2b2lkIGVuY29k
ZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzJik7Ci0gICAgc3Rh
dGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMmKTsK
LX07Ci0KIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VmVsb2NpdHlE
YXRhPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpW
ZWxvY2l0eURhdGEmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6
OlZlbG9jaXR5RGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCBlMTU4NjIxY2M0ODg1NDc3MzliYmM4NjZjOWMzNzU4
MWM2YjJmY2QzLi43MGMzZWExYWI1MmRhYzI3Y2QxZWZhM2RkZDkyZmY1ZmE1NGVmYjlkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cApAQCAtODQsMjEgKzg0LDI1IEBAIHZvaWQgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5j
b2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IGNvbG9yU3Bh
Y2U7CiAgICAgZW5jb2RlciA8PCB1c2VTeXN0ZW1BcHBlYXJhbmNlOwogI2VuZGlmCi0jaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBlbmNvZGVyIDw8IHNjcmVlblNpemU7Ci0gICAgZW5jb2Rl
ciA8PCBhdmFpbGFibGVTY3JlZW5TaXplOwotICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVTY3JlZW5T
aXplOwotICAgIGVuY29kZXIgPDwgdGV4dEF1dG9zaXppbmdXaWR0aDsKKworI2lmIEVOQUJMRShN
RVRBX1ZJRVdQT1JUKQogICAgIGVuY29kZXIgPDwgaWdub3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHM7
CiAgICAgZW5jb2RlciA8PCB2aWV3cG9ydENvbmZpZ3VyYXRpb25WaWV3TGF5b3V0U2l6ZTsKICAg
ICBlbmNvZGVyIDw8IHZpZXdwb3J0Q29uZmlndXJhdGlvbkxheW91dFNpemVTY2FsZUZhY3RvcjsK
ICAgICBlbmNvZGVyIDw8IHZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1FZmZlY3RpdmVEZXZp
Y2VXaWR0aDsKICAgICBlbmNvZGVyIDw8IHZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdTaXplOwor
ICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50czsKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBlbmNvZGVyIDw8IHNjcmVlblNpemU7CisgICAgZW5j
b2RlciA8PCBhdmFpbGFibGVTY3JlZW5TaXplOworICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVTY3Jl
ZW5TaXplOworICAgIGVuY29kZXIgPDwgdGV4dEF1dG9zaXppbmdXaWR0aDsKICAgICBlbmNvZGVy
IDw8IG1heGltdW1Vbm9ic2N1cmVkU2l6ZTsKICAgICBlbmNvZGVyIDw8IGRldmljZU9yaWVudGF0
aW9uOwogICAgIGVuY29kZXIgPDwga2V5Ym9hcmRJc0F0dGFjaGVkOwogICAgIGVuY29kZXIgPDwg
Y2FuU2hvd1doaWxlTG9ja2VkOwotICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVWaWV3cG9ydEFyZ3Vt
ZW50czsKICNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGVuY29kZXIgPDwgc21hcnRJ
bnNlcnREZWxldGVFbmFibGVkOwpAQCAtMjc1LDE1ICsyNzksNyBAQCBPcHRpb25hbDxXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzPiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBD
OjpEZWNvZAogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogI2VuZGlmCiAKLSNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5zY3Jl
ZW5TaXplKSkKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHBhcmFtZXRlcnMuYXZhaWxhYmxlU2NyZWVuU2l6ZSkpCi0gICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLm92ZXJyaWRl
U2NyZWVuU2l6ZSkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShwYXJhbWV0ZXJzLnRleHRBdXRvc2l6aW5nV2lkdGgpKQotICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworI2lmIEVOQUJMRShNRVRBX1ZJRVdQT1JUKQogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocGFyYW1ldGVycy5pZ25vcmVzVmlld3BvcnRTY2FsZUxpbWl0cykpCiAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0
ZXJzLnZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdMYXlvdXRTaXplKSkKQEAgLTI5NCw2ICsyOTAs
MjIgQEAgT3B0aW9uYWw8V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycz4gV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2QKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMudmlld3BvcnRDb25maWd1cmF0
aW9uVmlld1NpemUpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIE9wdGlvbmFs
PE9wdGlvbmFsPFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzPj4gb3ZlcnJpZGVWaWV3cG9ydEFy
Z3VtZW50czsKKyAgICBkZWNvZGVyID4+IG92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHM7CisgICAg
aWYgKCFvdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzKQorICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworICAgIHBhcmFtZXRlcnMub3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50cyA9IFdURk1vdmUo
Km92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMpOworI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5zY3JlZW5TaXplKSkK
KyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBh
cmFtZXRlcnMuYXZhaWxhYmxlU2NyZWVuU2l6ZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLm92ZXJyaWRlU2NyZWVuU2l6
ZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShwYXJhbWV0ZXJzLnRleHRBdXRvc2l6aW5nV2lkdGgpKQorICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5tYXhpbXVtVW5vYnNj
dXJlZFNpemUpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocGFyYW1ldGVycy5kZXZpY2VPcmllbnRhdGlvbikpCkBAIC0zMDIsMTIgKzMxNCw2
IEBAIE9wdGlvbmFsPFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM+IFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmNhblNob3dXaGlsZUxvY2tlZCkp
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICBPcHRpb25hbDxPcHRpb25hbDxX
ZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cz4+IG92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHM7Ci0g
ICAgZGVjb2RlciA+PiBvdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzOwotICAgIGlmICghb3ZlcnJp
ZGVWaWV3cG9ydEFyZ3VtZW50cykKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICBw
YXJhbWV0ZXJzLm92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMgPSBXVEZNb3ZlKCpvdmVycmlkZVZp
ZXdwb3J0QXJndW1lbnRzKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYjNk
NTlhZGYxNDA2YTAyMmNkZWNhMzk2NDA0MWIxMzlmZjI4YWI2NS4uNzQxMzc1ZTJiYjVlNjhjOWE1
ZmU4NjU1ZjE4NTUxZDY3N2Y2MjlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTQ1LDIxICsxNDUsMjMgQEAgc3RydWN0IFdl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIENvbG9yU3BhY2VEYXRhIGNvbG9yU3BhY2U7
CiAgICAgYm9vbCB1c2VTeXN0ZW1BcHBlYXJhbmNlOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICBXZWJDb3JlOjpGbG9hdFNpemUgc2NyZWVuU2l6ZTsKLSAgICBXZWJDb3Jl
OjpGbG9hdFNpemUgYXZhaWxhYmxlU2NyZWVuU2l6ZTsKLSAgICBXZWJDb3JlOjpGbG9hdFNpemUg
b3ZlcnJpZGVTY3JlZW5TaXplOwotICAgIGZsb2F0IHRleHRBdXRvc2l6aW5nV2lkdGg7CisjaWYg
RU5BQkxFKE1FVEFfVklFV1BPUlQpCiAgICAgYm9vbCBpZ25vcmVzVmlld3BvcnRTY2FsZUxpbWl0
czsKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgdmlld3BvcnRDb25maWd1cmF0aW9uVmlld0xheW91
dFNpemU7CiAgICAgZG91YmxlIHZpZXdwb3J0Q29uZmlndXJhdGlvbkxheW91dFNpemVTY2FsZUZh
Y3RvcjsKICAgICBkb3VibGUgdmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUVmZmVjdGl2ZURl
dmljZVdpZHRoOwogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWV3cG9ydENvbmZpZ3VyYXRpb25W
aWV3U2l6ZTsKKyAgICBPcHRpb25hbDxXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cz4gb3ZlcnJp
ZGVWaWV3cG9ydEFyZ3VtZW50czsKKyNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisg
ICAgV2ViQ29yZTo6RmxvYXRTaXplIHNjcmVlblNpemU7CisgICAgV2ViQ29yZTo6RmxvYXRTaXpl
IGF2YWlsYWJsZVNjcmVlblNpemU7CisgICAgV2ViQ29yZTo6RmxvYXRTaXplIG92ZXJyaWRlU2Ny
ZWVuU2l6ZTsKKyAgICBmbG9hdCB0ZXh0QXV0b3NpemluZ1dpZHRoOwogICAgIFdlYkNvcmU6OkZs
b2F0U2l6ZSBtYXhpbXVtVW5vYnNjdXJlZFNpemU7CiAgICAgaW50MzJfdCBkZXZpY2VPcmllbnRh
dGlvbiB7IDAgfTsKICAgICBib29sIGtleWJvYXJkSXNBdHRhY2hlZCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBjYW5TaG93V2hpbGVMb2NrZWQgeyBmYWxzZSB9OwotICAgIE9wdGlvbmFsPFdlYkNvcmU6
OlZpZXdwb3J0QXJndW1lbnRzPiBvdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzOwogI2VuZGlmCiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBzbWFydEluc2VydERlbGV0ZUVuYWJsZWQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCBkZDc5NmI4MzMyMzU5
ZTFjM2IxZTU1NzVmZDdhMDMzNTNjYjFmYWMyLi5lY2NmNGFlMzU2NjE5NjgwNTdhN2NmZWViMmQ5
NTQzMWU5MjQ0NGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
QEAgLTI4NzMsNyArMjg3Myw3IEBAIHZvaWQgV0tQYWdlQ2FsbEFmdGVyTmV4dFByZXNlbnRhdGlv
blVwZGF0ZShXS1BhZ2VSZWYgcGFnZVJlZiwgdm9pZCogY29udGV4dCwgV0tQCiAKIHZvaWQgV0tQ
YWdlU2V0SWdub3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHMoV0tQYWdlUmVmIHBhZ2UsIGJvb2wgaWdu
b3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHMpCiB7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNp
ZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkKICAgICB0b0ltcGwocGFnZSktPnNldEZvcmNlQWx3YXlz
VXNlclNjYWxhYmxlKGlnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzKTsKICNlbmRpZgogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYmY5
ZmY4ZDM3NzlkMmYzOWEwN2M3ZmVmYWYyOGViNmY5NWI2MDAwOC4uODM5MzNlMGYxYWVhM2M1NGQy
OTc2NmZhMGFkODkyODY4YzRhNTE2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0zNDksMTEgKzM0OSwxNCBAQCAtICh2b2lkKV9pbml0
aWFsaXplV2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1
cmF0aW9uCiAgICAgW3NlbGYgX3JlZ2lzdGVyRm9yTm90aWZpY2F0aW9uc107CiAKICAgICBfcGFn
ZS0+Y29udGVudFNpemVDYXRlZ29yeURpZENoYW5nZShbc2VsZiBfY29udGVudFNpemVDYXRlZ29y
eV0pOwotICAgIF9wYWdlLT5zZXRGb3JjZUFsd2F5c1VzZXJTY2FsYWJsZShbX2NvbmZpZ3VyYXRp
b24gaWdub3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHNdKTsKIAogICAgIENGTm90aWZpY2F0aW9uQ2Vu
dGVyQWRkT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIo
KSwgKF9fYnJpZGdlIGNvbnN0IHZvaWQgKikoc2VsZiksIGhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFi
aWxpdHlDaGFuZ2VkQ2FsbGJhY2ssIChDRlN0cmluZ1JlZilbTlNTdHJpbmcgc3RyaW5nV2l0aFVU
RjhTdHJpbmc6a0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlm
aWNhdGlvbl0sIG51bGxwdHIsIENGTm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yQ29hbGVz
Y2UpOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKKyNpZiBFTkFCTEUoTUVUQV9W
SUVXUE9SVCkKKyAgICBfcGFnZS0+c2V0Rm9yY2VBbHdheXNVc2VyU2NhbGFibGUoW19jb25maWd1
cmF0aW9uIGlnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzXSk7CisjZW5kaWYKKwogI2lmIFBMQVRG
T1JNKE1BQykKICAgICBfaW1wbCA9IG1ha2VVbmlxdWU8V2ViS2l0OjpXZWJWaWV3SW1wbD4oc2Vs
Ziwgc2VsZiwgcHJvY2Vzc1Bvb2wsIHBhZ2VDb25maWd1cmF0aW9uLmNvcHlSZWYoKSk7CiAgICAg
X3BhZ2UgPSAmX2ltcGwtPnBhZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCmluZGV4IGJiMTIwMWRhMTBkODFlMWM2MTlmNjRiMDI2ZmJiNjEwMjlmZjhhZjUuLjZi
NTRkNjM0MDkyNTUwNWU4NmRlOWJlNDM0ZDgwNzkyZDM3ZmI2MTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNzUzMywyMCArNzUzMywyNCBAQCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKFdlYlBy
b2Nlc3NQcm94eSYgcHJvYwogICAgIHBhcmFtZXRlcnMuY29sb3JTcGFjZSA9IHBhZ2VDbGllbnQo
KS5jb2xvclNwYWNlKCk7CiAgICAgcGFyYW1ldGVycy51c2VTeXN0ZW1BcHBlYXJhbmNlID0gbV91
c2VTeXN0ZW1BcHBlYXJhbmNlOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkK
KyAgICBwYXJhbWV0ZXJzLmlnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzID0gbV9mb3JjZUFsd2F5
c1VzZXJTY2FsYWJsZTsKKyAgICBwYXJhbWV0ZXJzLnZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdM
YXlvdXRTaXplID0gbV92aWV3cG9ydENvbmZpZ3VyYXRpb25WaWV3TGF5b3V0U2l6ZTsKKyAgICBw
YXJhbWV0ZXJzLnZpZXdwb3J0Q29uZmlndXJhdGlvbkxheW91dFNpemVTY2FsZUZhY3RvciA9IG1f
dmlld3BvcnRDb25maWd1cmF0aW9uTGF5b3V0U2l6ZVNjYWxlRmFjdG9yOworICAgIHBhcmFtZXRl
cnMudmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUVmZmVjdGl2ZURldmljZVdpZHRoID0gbV92
aWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtRWZmZWN0aXZlRGV2aWNlV2lkdGg7CisgICAgcGFy
YW1ldGVycy5vdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzID0gbV9vdmVycmlkZVZpZXdwb3J0QXJn
dW1lbnRzOworI2VuZGlmCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHBhcmFtZXRl
cnMuc2NyZWVuU2l6ZSA9IHNjcmVlblNpemUoKTsKICAgICBwYXJhbWV0ZXJzLmF2YWlsYWJsZVNj
cmVlblNpemUgPSBhdmFpbGFibGVTY3JlZW5TaXplKCk7CiAgICAgcGFyYW1ldGVycy5vdmVycmlk
ZVNjcmVlblNpemUgPSBvdmVycmlkZVNjcmVlblNpemUoKTsKICAgICBwYXJhbWV0ZXJzLnRleHRB
dXRvc2l6aW5nV2lkdGggPSB0ZXh0QXV0b3NpemluZ1dpZHRoKCk7CiAgICAgcGFyYW1ldGVycy5t
aW1lVHlwZXNXaXRoQ3VzdG9tQ29udGVudFByb3ZpZGVycyA9IHBhZ2VDbGllbnQoKS5taW1lVHlw
ZXNXaXRoQ3VzdG9tQ29udGVudFByb3ZpZGVycygpOwotICAgIHBhcmFtZXRlcnMuaWdub3Jlc1Zp
ZXdwb3J0U2NhbGVMaW1pdHMgPSBtX2ZvcmNlQWx3YXlzVXNlclNjYWxhYmxlOwotICAgIHBhcmFt
ZXRlcnMudmlld3BvcnRDb25maWd1cmF0aW9uVmlld0xheW91dFNpemUgPSBtX3ZpZXdwb3J0Q29u
ZmlndXJhdGlvblZpZXdMYXlvdXRTaXplOwotICAgIHBhcmFtZXRlcnMudmlld3BvcnRDb25maWd1
cmF0aW9uTGF5b3V0U2l6ZVNjYWxlRmFjdG9yID0gbV92aWV3cG9ydENvbmZpZ3VyYXRpb25MYXlv
dXRTaXplU2NhbGVGYWN0b3I7Ci0gICAgcGFyYW1ldGVycy52aWV3cG9ydENvbmZpZ3VyYXRpb25N
aW5pbXVtRWZmZWN0aXZlRGV2aWNlV2lkdGggPSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmlt
dW1FZmZlY3RpdmVEZXZpY2VXaWR0aDsKICAgICBwYXJhbWV0ZXJzLm1heGltdW1Vbm9ic2N1cmVk
U2l6ZSA9IG1fbWF4aW11bVVub2JzY3VyZWRTaXplOwogICAgIHBhcmFtZXRlcnMuZGV2aWNlT3Jp
ZW50YXRpb24gPSBtX2RldmljZU9yaWVudGF0aW9uOwogICAgIHBhcmFtZXRlcnMua2V5Ym9hcmRJ
c0F0dGFjaGVkID0gaXNJbkhhcmR3YXJlS2V5Ym9hcmRNb2RlKCk7Ci0gICAgcGFyYW1ldGVycy5v
dmVycmlkZVZpZXdwb3J0QXJndW1lbnRzID0gbV9vdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzOwog
ICAgIHBhcmFtZXRlcnMuY2FuU2hvd1doaWxlTG9ja2VkID0gbV9jb25maWd1cmF0aW9uLT5jYW5T
aG93V2hpbGVMb2NrZWQoKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IDkxNDRlNjg3NTZlZTdhOWFlNzllZDQ2NTlkNTRjMzI3ZjQ1OTBiZTEuLmQw
MmUzYzFkZTJmZjE3M2Y5ODAwM2NmODE1MGRhM2ViYjY4ZjliNjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yMjg1LDcgKzIyODUsNiBAQCBwcml2YXRlOgogCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBPcHRpb25hbDxXZWJDb3JlOjpJbnB1dE1vZGU+
IG1fcGVuZGluZ0lucHV0TW9kZUNoYW5nZTsKLSAgICBPcHRpb25hbDxXZWJDb3JlOjpWaWV3cG9y
dEFyZ3VtZW50cz4gbV9vdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzOwogICAgIFRyYW5zYWN0aW9u
SUQgbV9maXJzdExheWVyVHJlZVRyYW5zYWN0aW9uSWRBZnRlckRpZENvbW1pdExvYWQ7CiAgICAg
aW50MzJfdCBtX2RldmljZU9yaWVudGF0aW9uIHsgMCB9OwogICAgIGJvb2wgbV9oYXNSZWNlaXZl
ZExheWVyVHJlZVRyYW5zYWN0aW9uQWZ0ZXJEaWRDb21taXRMb2FkIHsgdHJ1ZSB9OwpAQCAtMjU5
NCwxNCArMjU5MywxOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9yZXF1aXJlc1RhcmdldE1vbml0
b3JpbmcgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAg
IEZ1bmN0aW9uPGJvb2woKT4gbV9kZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNzaW9uSGFuZGxl
ckZvclRlc3Rpbmc7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50
cz4gbV9kZWZlcnJlZEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50czsKLSAgICBib29sIG1fd2FpdGlu
Z0ZvclBvc3RMYXlvdXRFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXNpbmdFbGVtZW50IHsgZmFs
c2UgfTsKKyNpZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkKICAgICBib29sIG1fZm9yY2VBbHdheXNV
c2VyU2NhbGFibGUgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX3ZpZXdwb3J0
Q29uZmlndXJhdGlvblZpZXdMYXlvdXRTaXplOwogICAgIGRvdWJsZSBtX3ZpZXdwb3J0Q29uZmln
dXJhdGlvbkxheW91dFNpemVTY2FsZUZhY3RvciB7IDEgfTsKICAgICBkb3VibGUgbV92aWV3cG9y
dENvbmZpZ3VyYXRpb25NaW5pbXVtRWZmZWN0aXZlRGV2aWNlV2lkdGggeyAwIH07CisgICAgT3B0
aW9uYWw8V2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHM+IG1fb3ZlcnJpZGVWaWV3cG9ydEFyZ3Vt
ZW50czsKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBGdW5jdGlvbjxi
b29sKCk+IG1fZGV2aWNlT3JpZW50YXRpb25Vc2VyUGVybWlzc2lvbkhhbmRsZXJGb3JUZXN0aW5n
OworICAgIHN0ZDo6dW5pcXVlX3B0cjxFbGVtZW50RGlkRm9jdXNBcmd1bWVudHM+IG1fZGVmZXJy
ZWRFbGVtZW50RGlkRm9jdXNBcmd1bWVudHM7CisgICAgYm9vbCBtX3dhaXRpbmdGb3JQb3N0TGF5
b3V0RWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzaW5nRWxlbWVudCB7IGZhbHNlIH07CiAgICAg
V2ViQ29yZTo6RmxvYXRTaXplIG1fbWF4aW11bVVub2JzY3VyZWRTaXplOwogICAgIGJvb2wgbV9s
YXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQgeyBmYWxzZSB9OwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDdlYmUxZGYwZjI5
ZDQ5MjMyYzhiYTEyYWFlMGIzMDMxOTE0MThkYTUuLmI0ZGE5MTg4YmRhYjg0MTYyY2Y3NDYwZDVh
MmNlMzMxNWVkMzY3ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCkBAIC00MjIsOCArNDIyLDEwIEBAIFdlYlBhZ2U6OldlYlBhZ2UoUGFnZUlkZW50
aWZpZXIgcGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAg
ICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUg
c3RhdGUpIHsgaWYgKHN0YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBwYWdl
U3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVyZXNpc0R1cmF0aW9uKQogICAg
ICwgbV9jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwocGFyYW1ldGVycy5jYW5SdW5CZWZv
cmVVbmxvYWRDb25maXJtUGFuZWwpCiAgICAgLCBtX2NhblJ1bk1vZGFsKHBhcmFtZXRlcnMuY2Fu
UnVuTW9kYWwpCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBFTkFCTEUoTUVUQV9WSUVX
UE9SVCkKICAgICAsIG1fZm9yY2VBbHdheXNVc2VyU2NhbGFibGUocGFyYW1ldGVycy5pZ25vcmVz
Vmlld3BvcnRTY2FsZUxpbWl0cykKKyNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgLCBtX3NjcmVlblNpemUocGFyYW1ldGVycy5zY3JlZW5TaXplKQogICAgICwgbV9hdmFpbGFi
bGVTY3JlZW5TaXplKHBhcmFtZXRlcnMuYXZhaWxhYmxlU2NyZWVuU2l6ZSkKICAgICAsIG1fb3Zl
cnJpZGVTY3JlZW5TaXplKHBhcmFtZXRlcnMub3ZlcnJpZGVTY3JlZW5TaXplKQpAQCAtNTgxNSw2
ICs1ODE3LDcgQEAgdm9pZCBXZWJQYWdlOjpkaWRDb21taXRMb2FkKFdlYkZyYW1lKiBmcmFtZSkK
ICAgICAgICAgaWYgKHBhZ2UgJiYgcGFnZS0+cGFnZVNjYWxlRmFjdG9yKCkgIT0gMSkKICAgICAg
ICAgICAgIHNjYWxlUGFnZSgxLCBJbnRQb2ludCgpKTsKICAgICB9CisKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIG1faGFzUmVjZWl2ZWRWaXNpYmxlQ29udGVudFJlY3RzQWZ0ZXJEaWRD
b21taXRMb2FkID0gZmFsc2U7CiAgICAgbV9oYXNSZXN0b3JlZEV4cG9zZWRDb250ZW50UmVjdEFm
dGVyRGlkQ29tbWl0TG9hZCA9IGZhbHNlOwpAQCAtNTgyNiw3ICs1ODI5LDkgQEAgdm9pZCBXZWJQ
YWdlOjpkaWRDb21taXRMb2FkKFdlYkZyYW1lKiBmcmFtZSkKICNpZiBFTkFCTEUoSU9TX1RPVUNI
X0VWRU5UUykKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5ldmVudERpc3BhdGNoZXIoKS5j
bGVhclF1ZXVlZFRvdWNoRXZlbnRzRm9yUGFnZSgqdGhpcyk7CiAjZW5kaWYKKyNlbmRpZiAvLyBQ
TEFURk9STShJT1NfRkFNSUxZKQogCisjaWYgRU5BQkxFKE1FVEFfVklFV1BPUlQpCiAgICAgcmVz
ZXRWaWV3cG9ydERlZmF1bHRDb25maWd1cmF0aW9uKGZyYW1lKTsKICAgICBjb25zdCBGcmFtZSog
Y29yZUZyYW1lID0gZnJhbWUtPmNvcmVGcmFtZSgpOwogICAgIApAQCAtNTg0NCw3ICs1ODQ5LDcg
QEAgdm9pZCBXZWJQYWdlOjpkaWRDb21taXRMb2FkKFdlYkZyYW1lKiBmcmFtZSkKIAogICAgIGlm
ICh2aWV3cG9ydENoYW5nZWQpCiAgICAgICAgIHZpZXdwb3J0Q29uZmlndXJhdGlvbkNoYW5nZWQo
KTsKLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShNRVRBX1ZJRVdQT1JUKQogCiAjaWYgRU5BQkxF
KFZJRVdQT1JUX1JFU0laSU5HKQogICAgIG1fc2hyaW5rVG9GaXRDb250ZW50VGltZXIuc3RvcCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGUzNTJk
NDQ2YTM0OWFjMmY1YmRlODdhMmNhZTEyNjA2ZjlhMTc2MzIuLjA3YzQ1MjExYjczNWIyZjEwZTk2
ZTFhYzBiMzIxZjk2YWM2MWMyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKQEAgLTk2NywxMCArOTY3LDggQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRl
VmlzaWJpbGl0eVN0YXRlKGJvb2wgaXNJbml0aWFsU3RhdGUgPSBmYWxzZSk7CiAKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQotICAgIHZvaWQgc2V0Vmlld3BvcnRDb25maWd1cmF0aW9uVmlld0xh
eW91dFNpemUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiwgZG91YmxlIHNjYWxlRmFjdG9yLCBk
b3VibGUgbWluaW11bUVmZmVjdGl2ZURldmljZVdpZHRoKTsKICAgICB2b2lkIHNldE1heGltdW1V
bm9ic2N1cmVkU2l6ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lkIHNldERl
dmljZU9yaWVudGF0aW9uKGludDMyX3QpOwotICAgIHZvaWQgc2V0T3ZlcnJpZGVWaWV3cG9ydEFy
Z3VtZW50cyhjb25zdCBPcHRpb25hbDxXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cz4mKTsKICAg
ICB2b2lkIGR5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXpl
JiB2aWV3TGF5b3V0U2l6ZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBtYXhpbXVtVW5vYnNj
dXJlZFNpemUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0RXhwb3NlZENvbnRlbnRS
ZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdldFVub2JzY3VyZWRSZWN0LCBjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdldFVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29v
cmRpbmF0ZXMsIGNvbnN0IFdlYkNvcmU6OkZsb2F0Qm94RXh0ZW50JiB0YXJnZXRVbm9ic2N1cmVk
U2FmZUFyZWFJbnNldHMsIGRvdWJsZSBzY2FsZSwgaW50MzJfdCBkZXZpY2VPcmllbnRhdGlvbiwg
RHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZUlEKTsKICAgICBib29sIHNjYWxlV2FzU2V0QnlVSVBy
b2Nlc3MoKSBjb25zdCB7IHJldHVybiBtX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3M7IH0KICAgICB2
b2lkIHdpbGxTdGFydFVzZXJUcmlnZ2VyZWRab29taW5nKCk7CkBAIC05ODIsNyArOTgwLDYgQEAg
cHVibGljOgogICAgIHZvaWQgZGlkRmluaXNoQ29udGVudENoYW5nZU9ic2VydmluZyhXS0NvbnRl
bnRDaGFuZ2UpOwogCiAgICAgYm9vbCBwbGF0Zm9ybVByZWZlcnNUZXh0TGVnaWJpbGl0eUJhc2Vk
Wm9vbVNjYWxpbmcoKSBjb25zdDsKLSAgICBjb25zdCBXZWJDb3JlOjpWaWV3cG9ydENvbmZpZ3Vy
YXRpb24mIHZpZXdwb3J0Q29uZmlndXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRD
b25maWd1cmF0aW9uOyB9CiAKICAgICB2b2lkIGhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlD
aGFuZ2VkKGJvb2wga2V5Ym9hcmRJc0F0dGFjaGVkKTsKIApAQCAtOTkxLDYgKzk4OCwxMiBAQCBw
dWJsaWM6CiAgICAgYm9vbCBjYW5TaG93V2hpbGVMb2NrZWQoKSBjb25zdCB7IHJldHVybiBtX2Nh
blNob3dXaGlsZUxvY2tlZDsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkK
KyAgICB2b2lkIHNldFZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdMYXlvdXRTaXplKGNvbnN0IFdl
YkNvcmU6OkZsb2F0U2l6ZSYsIGRvdWJsZSBzY2FsZUZhY3RvciwgZG91YmxlIG1pbmltdW1FZmZl
Y3RpdmVEZXZpY2VXaWR0aCk7CisgICAgdm9pZCBzZXRPdmVycmlkZVZpZXdwb3J0QXJndW1lbnRz
KGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzPiYpOworICAgIGNvbnN0
IFdlYkNvcmU6OlZpZXdwb3J0Q29uZmlndXJhdGlvbiYgdmlld3BvcnRDb25maWd1cmF0aW9uKCkg
Y29uc3QgeyByZXR1cm4gbV92aWV3cG9ydENvbmZpZ3VyYXRpb247IH0KKyNlbmRpZgorCiAjaWYg
RU5BQkxFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiAgICAgT3B0aW9uYWw8ZmxvYXQ+IHNjYWxlRnJv
bVVJUHJvY2Vzcyhjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvJikgY29uc3Q7CiAg
ICAgdm9pZCB1cGRhdGVWaXNpYmxlQ29udGVudFJlY3RzKGNvbnN0IFZpc2libGVDb250ZW50UmVj
dFVwZGF0ZUluZm8mLCBNb25vdG9uaWNUaW1lIG9sZGVzdFRpbWVzdGFtcCk7CkBAIC0xMjg3LDkg
KzEyOTAsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNXZWJQYWdlTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpF
bmNvZGVyPiYpOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICB2b2lkIHJlc2V0Vmll
d3BvcnREZWZhdWx0Q29uZmlndXJhdGlvbihXZWJGcmFtZSogbWFpbkZyYW1lLCBib29sIGhhc01v
YmlsZURvY1R5cGUgPSBmYWxzZSk7Ci0gICAgZW51bSBjbGFzcyBab29tVG9Jbml0aWFsU2NhbGUg
eyBObywgWWVzIH07Ci0gICAgdm9pZCB2aWV3cG9ydENvbmZpZ3VyYXRpb25DaGFuZ2VkKFpvb21U
b0luaXRpYWxTY2FsZSA9IFpvb21Ub0luaXRpYWxTY2FsZTo6Tm8pOwogICAgIHZvaWQgdXBkYXRl
Vmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cygpOwogCiAgICAgc3RhdGljIHZvaWQgY29u
dmVydFNlbGVjdGlvblJlY3RzVG9Sb290VmlldyhXZWJDb3JlOjpGcmFtZVZpZXcqLCBWZWN0b3I8
V2ViQ29yZTo6U2VsZWN0aW9uUmVjdD4mKTsKQEAgLTEzMTAsOCArMTMxMCwxNSBAQCBwcml2YXRl
OgogICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IHNoYXJlYWJsZUJpdG1hcFNuYXBzaG90Rm9y
Tm9kZShXZWJDb3JlOjpFbGVtZW50Jik7CiAgICAgV2ViQXV0b2NvcnJlY3Rpb25Db250ZXh0IGF1
dG9jb3JyZWN0aW9uQ29udGV4dCgpOwogICAgIGJvb2wgYXBwbHlBdXRvY29ycmVjdGlvbkludGVy
bmFsKGNvbnN0IFN0cmluZyYgY29ycmVjdGlvbiwgY29uc3QgU3RyaW5nJiBvcmlnaW5hbFRleHQp
OworI2VuZGlmCisKKyNpZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkKKyAgICB2b2lkIHJlc2V0Vmll
d3BvcnREZWZhdWx0Q29uZmlndXJhdGlvbihXZWJGcmFtZSogbWFpbkZyYW1lLCBib29sIGhhc01v
YmlsZURvY1R5cGUgPSBmYWxzZSk7CisgICAgZW51bSBjbGFzcyBab29tVG9Jbml0aWFsU2NhbGUg
eyBObywgWWVzIH07CisgICAgdm9pZCB2aWV3cG9ydENvbmZpZ3VyYXRpb25DaGFuZ2VkKFpvb21U
b0luaXRpYWxTY2FsZSA9IFpvb21Ub0luaXRpYWxTY2FsZTo6Tm8pOwogICAgIGJvb2wgc2hvdWxk
SWdub3JlTWV0YVZpZXdwb3J0KCkgY29uc3Q7CiAjZW5kaWYKKwogI2lmIEVOQUJMRShURVhUX0FV
VE9TSVpJTkcpCiAgICAgdm9pZCB0ZXh0QXV0b1NpemluZ0FkanVzdG1lbnRUaW1lckZpcmVkKCk7
CiAgICAgdm9pZCByZXNldFRleHRBdXRvc2l6aW5nKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387375</attachid>
            <date>2020-01-10 14:36:16 -0800</date>
            <delta_ts>2020-01-10 14:57:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206091-20200110143615.patch</filename>
            <type>text/plain</type>
            <size>29363</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE5MDMzY2I3OTY2ZmE5MWVhY2UwNzUz
MGYyNTY3ZmQyNTc4NmVkMzkuLmE0NDU1MWI2NzVlYTI4ODRjYWRhNzA4NWU3MjAxNjc3M2Q1YTIx
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDEtMTAgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIEVOQUJMRV9NRVRBX1ZJRVdQ
T1JUIGFuZCB1c2UgaXQgaW4gc29tZSBXSzIgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBEZWZpbmUgRU5BQkxFX01FVEFfVklFV1BP
UlQgZm9yIGlPUyBhbmQgQ2/DtnJkaW5hdGVkIEdyYXBoaWNzLgorCisgICAgICAgICogd3RmL0Zl
YXR1cmVEZWZpbmVzLmg6CisKIDIwMjAtMDEtMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRvcHQgVEFSR0VUX09TX01BQ0NBVEFMWVNUIGluIG1v
cmUgcGxhY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmYxMTBlMTg0NmE4NjgyZWMwN2MwNjFkYTYyOTZhYjU5
N2NjODYxYi4uYjYzNWZmMzgxOGFmMzhiZTY1OWJiMmU4YjI1MmUzYmRlOGZlZjg1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAxLTEwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBFTkFCTEVfTUVUQV9WSUVXUE9S
VCBhbmQgdXNlIGl0IGluIHNvbWUgV0syIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjA5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGRpZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hhbmdl
ZCgpIGlzIHVzZWQgZm9yIGEgQ29vcmRpbmF0ZWQgR3JhcGhpY3MgYXNzZXJ0aW9uLCBzbworICAg
ICAgICBzaG91bGQgYmUgI2lmIEFTU0VSVF9FTkFCTEVEIHJhdGhlciB0aGFuICNpZm5kZWYgTkRF
QlVHLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50Ojp1cGRhdGVWaWV3cG9ydEFyZ3VtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6c3VzcGVuZCk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisKIDIwMjAtMDEtMTAg
IEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5d
IFN1cHBvcnQgYXV0aGVudGljYXRvckdldE5leHRBc3NlcnRpb24KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDhmYzk4
NzA4MGJlOWY0YjhlZDZiNTBmMTU5MTQxMGRhOWE2NjY4NS4uNDE1MTczOGJkNGE5NmUxMGVlNDVk
NDkyMDllZDAwZGVjYzY2YzNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAyMC0wMS0x
MCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBJbnRy
b2R1Y2UgRU5BQkxFX01FVEFfVklFV1BPUlQgYW5kIHVzZSBpdCBpbiBzb21lIFdLMiBjb2RlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYwOTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFVz
ZSBFTkFCTEUoTUVUQV9WSUVXUE9SVCkgcmF0aGVyIHRoYW4gUExBVEZPUk0oSU9TX0ZBTUlMWSkg
dG8gZW5hYmxlIHZhcmlvdXMKKyAgICAgICAgYml0cyBvZiB2aWV3cG9ydC1yZWxhdGVkIGNvZGUu
CisKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAg
KElQQzo6QXJndW1lbnRDb2RlcjxWaWV3cG9ydEFyZ3VtZW50cz46OmRlY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8Vmlld3BvcnRBdHRyaWJ1dGVzPjo6ZW5jb2RlKToKKyAgICAg
ICAgKElQQzo6QXJndW1lbnRDb2RlcjxWaWV3cG9ydEF0dHJpYnV0ZXM+OjpkZWNvZGUpOgorICAg
ICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQv
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cDoKKyAgICAgICAgKFdLUGFnZVNldElnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJW
aWV3IF9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246XSk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dmlld3BvcnRDb25maWd1cmF0
aW9uIGNvbnN0KToKKwogMjAyMC0wMS0xMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCAtW1dLV2ViVmlldyBfZGlkQ29tbWl0TGF5ZXJU
cmVlOl0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCmluZGV4IDU4NGM4OTlkYjBmODM5YTg2NDdmNGY4
NTBkZTI4MDMzYjExNzU5Y2EuLjJmZjZkZTIzN2FhYzEwMzMzYTE0MGI4ZWEzNzk5ZDkzNzkwZjUw
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKKysrIGIvU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaApAQCAtMjI3LDYgKzIyNywxMCBAQCB0aGUgcHVi
bGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTc5MTY3Pi4gKi8KICNlbmRp
ZgogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfTUVUQV9WSUVXUE9SVCkKKyNkZWZpbmUg
RU5BQkxFX01FVEFfVklFV1BPUlQgMQorI2VuZGlmCisKICNlbmRpZiAvKiBQTEFURk9STShJT1Nf
RkFNSUxZKSAqLwogCiAvKiAtLS0tLS0tLS0gQXBwbGUgd2F0Y2hPUyBwb3J0IC0tLS0tLS0tLSAq
LwpAQCAtMzk0LDYgKzM5OCwxNSBAQCB0aGUgcHVibGljIGlPUyBTREsuIFNlZSA8aHR0cHM6Ly93
ZWJraXQub3JnL2IvMTc5MTY3Pi4gKi8KIAogI2VuZGlmIC8qIFBMQVRGT1JNKFdJTl9DQUlSTykg
Ki8KIAorLyogLS0tLS0tLS0tIENvb3JkaW5hdGVkIEdyYXBoaWNzIC0tLS0tLS0tLSAqLworI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKworI2lmICFkZWZpbmVkKEVOQUJMRV9NRVRBX1ZJ
RVdQT1JUKQorI2RlZmluZSBFTkFCTEVfTUVUQV9WSUVXUE9SVCAxCisjZW5kaWYKKworI2VuZGlm
IC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKwogLyogRU5BQkxFIG1hY3JvIGRlZmF1bHRz
IGZvciBXZWJDb3JlICovCiAvKiBEbyBub3QgdXNlIFBMQVRGT1JNKCkgdGVzdHMgaW4gdGhpcyBz
ZWN0aW9uICEgKi8KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZmRlNWVmMmIyZjYzNWRm
MzdiN2UzNGIwODliMzFjOGQyODBlOWFhMS4uMjRiYWM2ZGZkZTJhMjUzYmIzM2Q0MmQwYzEyM2E5
YmI1NDQ5ZTcxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0zNjkxLDcgKzM2OTEsNyBA
QCBWaWV3cG9ydEFyZ3VtZW50cyBEb2N1bWVudDo6dmlld3BvcnRBcmd1bWVudHMoKSBjb25zdAog
dm9pZCBEb2N1bWVudDo6dXBkYXRlVmlld3BvcnRBcmd1bWVudHMoKQogewogICAgIGlmIChwYWdl
KCkgJiYgZnJhbWUoKS0+aXNNYWluRnJhbWUoKSkgewotI2lmbmRlZiBOREVCVUcKKyNpZiBBU1NF
UlRfRU5BQkxFRAogICAgICAgICBtX2RpZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hhbmdl
ZCA9IHRydWU7CiAjZW5kaWYKICAgICAgICAgcGFnZSgpLT5jaHJvbWUoKS5kaXNwYXRjaFZpZXdw
b3J0UHJvcGVydGllc0RpZENoYW5nZSh2aWV3cG9ydEFyZ3VtZW50cygpKTsKQEAgLTUyOTUsNyAr
NTI5NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbiByZWFz
b24pCiAgICAgZm9yIChhdXRvKiBlbGVtZW50IDogbV9kb2N1bWVudFN1c3BlbnNpb25DYWxsYmFj
a0VsZW1lbnRzKQogICAgICAgICBlbGVtZW50LT5wcmVwYXJlRm9yRG9jdW1lbnRTdXNwZW5zaW9u
KCk7CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgQVNTRVJUX0VOQUJMRUQKICAgICAvLyBDbGVhciB0
aGUgdXBkYXRlIGZsYWcgdG8gYmUgYWJsZSB0byBjaGVjayBpZiB0aGUgdmlld3BvcnQgYXJndW1l
bnRzIHVwZGF0ZQogICAgIC8vIGlzIGRpc3BhdGNoZWQsIGFmdGVyIHRoZSBkb2N1bWVudCBpcyBy
ZXN0b3JlZCBmcm9tIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCiAgICAgbV9kaWREaXNwYXRjaFZp
ZXdwb3J0UHJvcGVydGllc0NoYW5nZWQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXgg
MmY5YmJjNzdiMmQyYTU2Y2NhZDBjOTU3NTcyMTRjNTY1ZjM1MjRkOC4uNjM4ZDA0MGYzN2QyMjQ1
N2RmZGQxY2ExNDAzYTVhNjdiNGYzN2I1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTQxNSw3
ICs0MTUsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgVmlld3BvcnRBcmd1bWVudHMg
dmlld3BvcnRBcmd1bWVudHMoKSBjb25zdDsKIAogICAgIE9wdGlvblNldDxEaXNhYmxlZEFkYXB0
YXRpb25zPiBkaXNhYmxlZEFkYXB0YXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9kaXNhYmxlZEFk
YXB0YXRpb25zOyB9Ci0jaWZuZGVmIE5ERUJVRworI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgYm9v
bCBkaWREaXNwYXRjaFZpZXdwb3J0UHJvcGVydGllc0NoYW5nZWQoKSBjb25zdCB7IHJldHVybiBt
X2RpZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hhbmdlZDsgfQogI2VuZGlmCiAKQEAgLTIw
MjIsNyArMjAyMiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc0hhZENhcHR1cmVNZWRpYVN0
cmVhbVRyYWNrIHsgZmFsc2UgfTsKICNlbmRpZgogCi0jaWZuZGVmIE5ERUJVRworI2lmIEFTU0VS
VF9FTkFCTEVECiAgICAgYm9vbCBtX2RpZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hhbmdl
ZCB7IGZhbHNlIH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5jcHAKaW5kZXggOGUwOGEzM2RkZDFlZTQ0YjkyMzY3YmNkZDlkMTIxZmZj
MDZhZDU1Ny4uN2MxZWY3Nzg3YTdlYmE5YmEyN2VjYTY3ZjRiNWM0ZDg2NjQxYjY5YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC02Mzcs
NyArNjM3LDkgQEAgT3B0aW9uYWw8RmxvYXRRdWFkPiBBcmd1bWVudENvZGVyPEZsb2F0UXVhZD46
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owog
ICAgIHJldHVybiBmbG9hdFF1YWQ7CiB9CisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
IAorI2lmIEVOQUJMRShNRVRBX1ZJRVdQT1JUKQogdm9pZCBBcmd1bWVudENvZGVyPFZpZXdwb3J0
QXJndW1lbnRzPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFZpZXdwb3J0QXJndW1l
bnRzJiB2aWV3cG9ydEFyZ3VtZW50cykKIHsKICAgICBTaW1wbGVBcmd1bWVudENvZGVyPFZpZXdw
b3J0QXJndW1lbnRzPjo6ZW5jb2RlKGVuY29kZXIsIHZpZXdwb3J0QXJndW1lbnRzKTsKQEAgLTY1
NSw4ICs2NTcsMTggQEAgT3B0aW9uYWw8Vmlld3BvcnRBcmd1bWVudHM+IEFyZ3VtZW50Q29kZXI8
Vmlld3BvcnRBcmd1bWVudHM+OjpkZWNvZGUoRGVjb2RlciYgZGUKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKICAgICByZXR1cm4gdmlld3BvcnRBcmd1bWVudHM7CiB9Ci0jZW5kaWYgLy8g
UExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorI2VuZGlmIC8vIEVOQUJMRShNRVRBX1ZJRVdQT1JUKQor
Cit2b2lkIEFyZ3VtZW50Q29kZXI8Vmlld3BvcnRBdHRyaWJ1dGVzPjo6ZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIsIGNvbnN0IFZpZXdwb3J0QXR0cmlidXRlcyYgdmlld3BvcnRBdHRyaWJ1dGVzKQor
eworICAgIFNpbXBsZUFyZ3VtZW50Q29kZXI8Vmlld3BvcnRBdHRyaWJ1dGVzPjo6ZW5jb2RlKGVu
Y29kZXIsIHZpZXdwb3J0QXR0cmlidXRlcyk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxWaWV3
cG9ydEF0dHJpYnV0ZXM+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgVmlld3BvcnRBdHRyaWJ1
dGVzJiB2aWV3cG9ydEF0dHJpYnV0ZXMpCit7CisgICAgcmV0dXJuIFNpbXBsZUFyZ3VtZW50Q29k
ZXI8Vmlld3BvcnRBdHRyaWJ1dGVzPjo6ZGVjb2RlKGRlY29kZXIsIHZpZXdwb3J0QXR0cmlidXRl
cyk7Cit9CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxJbnRQb2ludD46OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyLCBjb25zdCBJbnRQb2ludCYgaW50UG9pbnQpCiB7CkBAIC03NjMsMTYgKzc3NSw2IEBA
IGJvb2wgQXJndW1lbnRDb2RlcjxMZW5ndGg+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTGVu
Z3RoJiBsZW5ndGgpCiAgICAgcmV0dXJuIFNpbXBsZUFyZ3VtZW50Q29kZXI8TGVuZ3RoPjo6ZGVj
b2RlKGRlY29kZXIsIGxlbmd0aCk7CiB9CiAKLXZvaWQgQXJndW1lbnRDb2RlcjxWaWV3cG9ydEF0
dHJpYnV0ZXM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgVmlld3BvcnRBdHRyaWJ1
dGVzJiB2aWV3cG9ydEF0dHJpYnV0ZXMpCi17Ci0gICAgU2ltcGxlQXJndW1lbnRDb2RlcjxWaWV3
cG9ydEF0dHJpYnV0ZXM+OjplbmNvZGUoZW5jb2Rlciwgdmlld3BvcnRBdHRyaWJ1dGVzKTsKLX0K
LQotYm9vbCBBcmd1bWVudENvZGVyPFZpZXdwb3J0QXR0cmlidXRlcz46OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyLCBWaWV3cG9ydEF0dHJpYnV0ZXMmIHZpZXdwb3J0QXR0cmlidXRlcykKLXsKLSAg
ICByZXR1cm4gU2ltcGxlQXJndW1lbnRDb2RlcjxWaWV3cG9ydEF0dHJpYnV0ZXM+OjpkZWNvZGUo
ZGVjb2Rlciwgdmlld3BvcnRBdHRyaWJ1dGVzKTsKLX0KLQogdm9pZCBBcmd1bWVudENvZGVyPFZl
bG9jaXR5RGF0YT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBWZWxvY2l0eURhdGEm
IHZlbG9jaXR5RGF0YSkKIHsKICAgICBlbmNvZGVyIDw8IHZlbG9jaXR5RGF0YS5ob3Jpem9udGFs
VmVsb2NpdHkgPDwgdmVsb2NpdHlEYXRhLnZlcnRpY2FsVmVsb2NpdHkgPDwgdmVsb2NpdHlEYXRh
LnNjYWxlQ2hhbmdlUmF0ZSA8PCB2ZWxvY2l0eURhdGEubGFzdFVwZGF0ZVRpbWU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDM0ODJkMDUwZTRi
ZWZjMTAyZTMxNmQwMTk4YjAwNGVmNjA4NDUxYmUuLjg0ZDQzOWM1MDU0MDRiN2U1OTA1YjM2ZTdk
ZWM3Njg5ZGRmYTk0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVB
cmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5oCkBAIC0xNDgsNiArMTQ4LDkgQEAgY2xhc3MgU2VsZWN0aW9uUmVjdDsKIHN0cnVj
dCBIaWdobGlnaHQ7CiBzdHJ1Y3QgUGFzdGVib2FyZEltYWdlOwogc3RydWN0IFBhc3RlYm9hcmRX
ZWJDb250ZW50OworI2VuZGlmCisKKyNpZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkKIHN0cnVjdCBW
aWV3cG9ydEFyZ3VtZW50czsKICNlbmRpZgogCkBAIC0yOTUsMTMgKzI5OCwyMSBAQCB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UXVhZD4gewogICAgIHN0YXRp
YyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRRdWFkJik7CiAgICAg
c3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6OkZsb2F0UXVhZD4gZGVjb2RlKERlY29kZXImKTsKIH07
CisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorI2lmIEVOQUJMRShNRVRBX1ZJRVdQ
T1JUKQogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpWaWV3cG9ydEFy
Z3VtZW50cz4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29y
ZTo6Vmlld3BvcnRBcmd1bWVudHMmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYs
IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJik7CiAgICAgc3RhdGljIE9wdGlvbmFsPFdlYkNv
cmU6OlZpZXdwb3J0QXJndW1lbnRzPiBkZWNvZGUoRGVjb2RlciYpOwogfTsKLSNlbmRpZiAvLyBQ
TEFURk9STShJT1NfRkFNSUxZKQorCisjZW5kaWYKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1l
bnRDb2RlcjxXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXM+IHsKKyAgICBzdGF0aWMgdm9pZCBl
bmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYpOworICAg
IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVz
Jik7Cit9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkludFBv
aW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYpOwpAQCAtMzM2LDExICszNDcsNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6Okxlbmd0aD4gewogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVy
JiwgV2ViQ29yZTo6TGVuZ3RoJik7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcz4gewotICAgIHN0YXRpYyB2b2lkIGVuY29k
ZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzJik7Ci0gICAgc3Rh
dGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMmKTsK
LX07Ci0KIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6VmVsb2NpdHlE
YXRhPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpW
ZWxvY2l0eURhdGEmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6
OlZlbG9jaXR5RGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCBlMTU4NjIxY2M0ODg1NDc3MzliYmM4NjZjOWMzNzU4
MWM2YjJmY2QzLi43MGMzZWExYWI1MmRhYzI3Y2QxZWZhM2RkZDkyZmY1ZmE1NGVmYjlkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cApAQCAtODQsMjEgKzg0LDI1IEBAIHZvaWQgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5j
b2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IGNvbG9yU3Bh
Y2U7CiAgICAgZW5jb2RlciA8PCB1c2VTeXN0ZW1BcHBlYXJhbmNlOwogI2VuZGlmCi0jaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBlbmNvZGVyIDw8IHNjcmVlblNpemU7Ci0gICAgZW5jb2Rl
ciA8PCBhdmFpbGFibGVTY3JlZW5TaXplOwotICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVTY3JlZW5T
aXplOwotICAgIGVuY29kZXIgPDwgdGV4dEF1dG9zaXppbmdXaWR0aDsKKworI2lmIEVOQUJMRShN
RVRBX1ZJRVdQT1JUKQogICAgIGVuY29kZXIgPDwgaWdub3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHM7
CiAgICAgZW5jb2RlciA8PCB2aWV3cG9ydENvbmZpZ3VyYXRpb25WaWV3TGF5b3V0U2l6ZTsKICAg
ICBlbmNvZGVyIDw8IHZpZXdwb3J0Q29uZmlndXJhdGlvbkxheW91dFNpemVTY2FsZUZhY3RvcjsK
ICAgICBlbmNvZGVyIDw8IHZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1FZmZlY3RpdmVEZXZp
Y2VXaWR0aDsKICAgICBlbmNvZGVyIDw8IHZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdTaXplOwor
ICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50czsKKyNlbmRpZgorCisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBlbmNvZGVyIDw8IHNjcmVlblNpemU7CisgICAgZW5j
b2RlciA8PCBhdmFpbGFibGVTY3JlZW5TaXplOworICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVTY3Jl
ZW5TaXplOworICAgIGVuY29kZXIgPDwgdGV4dEF1dG9zaXppbmdXaWR0aDsKICAgICBlbmNvZGVy
IDw8IG1heGltdW1Vbm9ic2N1cmVkU2l6ZTsKICAgICBlbmNvZGVyIDw8IGRldmljZU9yaWVudGF0
aW9uOwogICAgIGVuY29kZXIgPDwga2V5Ym9hcmRJc0F0dGFjaGVkOwogICAgIGVuY29kZXIgPDwg
Y2FuU2hvd1doaWxlTG9ja2VkOwotICAgIGVuY29kZXIgPDwgb3ZlcnJpZGVWaWV3cG9ydEFyZ3Vt
ZW50czsKICNlbmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGVuY29kZXIgPDwgc21hcnRJ
bnNlcnREZWxldGVFbmFibGVkOwpAQCAtMjc1LDE1ICsyNzksNyBAQCBPcHRpb25hbDxXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzPiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBD
OjpEZWNvZAogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogI2VuZGlmCiAKLSNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5zY3Jl
ZW5TaXplKSkKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHBhcmFtZXRlcnMuYXZhaWxhYmxlU2NyZWVuU2l6ZSkpCi0gICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLm92ZXJyaWRl
U2NyZWVuU2l6ZSkpCi0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShwYXJhbWV0ZXJzLnRleHRBdXRvc2l6aW5nV2lkdGgpKQotICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworI2lmIEVOQUJMRShNRVRBX1ZJRVdQT1JUKQogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocGFyYW1ldGVycy5pZ25vcmVzVmlld3BvcnRTY2FsZUxpbWl0cykpCiAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0
ZXJzLnZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdMYXlvdXRTaXplKSkKQEAgLTI5NCw2ICsyOTAs
MjIgQEAgT3B0aW9uYWw8V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycz4gV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2QKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMudmlld3BvcnRDb25maWd1cmF0
aW9uVmlld1NpemUpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIE9wdGlvbmFs
PE9wdGlvbmFsPFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzPj4gb3ZlcnJpZGVWaWV3cG9ydEFy
Z3VtZW50czsKKyAgICBkZWNvZGVyID4+IG92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHM7CisgICAg
aWYgKCFvdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzKQorICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworICAgIHBhcmFtZXRlcnMub3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50cyA9IFdURk1vdmUo
Km92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMpOworI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5zY3JlZW5TaXplKSkK
KyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBh
cmFtZXRlcnMuYXZhaWxhYmxlU2NyZWVuU2l6ZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLm92ZXJyaWRlU2NyZWVuU2l6
ZSkpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShwYXJhbWV0ZXJzLnRleHRBdXRvc2l6aW5nV2lkdGgpKQorICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5tYXhpbXVtVW5vYnNj
dXJlZFNpemUpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocGFyYW1ldGVycy5kZXZpY2VPcmllbnRhdGlvbikpCkBAIC0zMDIsMTIgKzMxNCw2
IEBAIE9wdGlvbmFsPFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM+IFdlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmNhblNob3dXaGlsZUxvY2tlZCkp
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICBPcHRpb25hbDxPcHRpb25hbDxX
ZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cz4+IG92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHM7Ci0g
ICAgZGVjb2RlciA+PiBvdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzOwotICAgIGlmICghb3ZlcnJp
ZGVWaWV3cG9ydEFyZ3VtZW50cykKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICBw
YXJhbWV0ZXJzLm92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMgPSBXVEZNb3ZlKCpvdmVycmlkZVZp
ZXdwb3J0QXJndW1lbnRzKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggYjNk
NTlhZGYxNDA2YTAyMmNkZWNhMzk2NDA0MWIxMzlmZjI4YWI2NS4uNzQxMzc1ZTJiYjVlNjhjOWE1
ZmU4NjU1ZjE4NTUxZDY3N2Y2MjlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMTQ1LDIxICsxNDUsMjMgQEAgc3RydWN0IFdl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIENvbG9yU3BhY2VEYXRhIGNvbG9yU3BhY2U7
CiAgICAgYm9vbCB1c2VTeXN0ZW1BcHBlYXJhbmNlOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICBXZWJDb3JlOjpGbG9hdFNpemUgc2NyZWVuU2l6ZTsKLSAgICBXZWJDb3Jl
OjpGbG9hdFNpemUgYXZhaWxhYmxlU2NyZWVuU2l6ZTsKLSAgICBXZWJDb3JlOjpGbG9hdFNpemUg
b3ZlcnJpZGVTY3JlZW5TaXplOwotICAgIGZsb2F0IHRleHRBdXRvc2l6aW5nV2lkdGg7CisjaWYg
RU5BQkxFKE1FVEFfVklFV1BPUlQpCiAgICAgYm9vbCBpZ25vcmVzVmlld3BvcnRTY2FsZUxpbWl0
czsKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgdmlld3BvcnRDb25maWd1cmF0aW9uVmlld0xheW91
dFNpemU7CiAgICAgZG91YmxlIHZpZXdwb3J0Q29uZmlndXJhdGlvbkxheW91dFNpemVTY2FsZUZh
Y3RvcjsKICAgICBkb3VibGUgdmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUVmZmVjdGl2ZURl
dmljZVdpZHRoOwogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWV3cG9ydENvbmZpZ3VyYXRpb25W
aWV3U2l6ZTsKKyAgICBPcHRpb25hbDxXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cz4gb3ZlcnJp
ZGVWaWV3cG9ydEFyZ3VtZW50czsKKyNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisg
ICAgV2ViQ29yZTo6RmxvYXRTaXplIHNjcmVlblNpemU7CisgICAgV2ViQ29yZTo6RmxvYXRTaXpl
IGF2YWlsYWJsZVNjcmVlblNpemU7CisgICAgV2ViQ29yZTo6RmxvYXRTaXplIG92ZXJyaWRlU2Ny
ZWVuU2l6ZTsKKyAgICBmbG9hdCB0ZXh0QXV0b3NpemluZ1dpZHRoOwogICAgIFdlYkNvcmU6OkZs
b2F0U2l6ZSBtYXhpbXVtVW5vYnNjdXJlZFNpemU7CiAgICAgaW50MzJfdCBkZXZpY2VPcmllbnRh
dGlvbiB7IDAgfTsKICAgICBib29sIGtleWJvYXJkSXNBdHRhY2hlZCB7IGZhbHNlIH07CiAgICAg
Ym9vbCBjYW5TaG93V2hpbGVMb2NrZWQgeyBmYWxzZSB9OwotICAgIE9wdGlvbmFsPFdlYkNvcmU6
OlZpZXdwb3J0QXJndW1lbnRzPiBvdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzOwogI2VuZGlmCiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgYm9vbCBzbWFydEluc2VydERlbGV0ZUVuYWJsZWQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCBkZDc5NmI4MzMyMzU5
ZTFjM2IxZTU1NzVmZDdhMDMzNTNjYjFmYWMyLi5lY2NmNGFlMzU2NjE5NjgwNTdhN2NmZWViMmQ5
NTQzMWU5MjQ0NGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAK
QEAgLTI4NzMsNyArMjg3Myw3IEBAIHZvaWQgV0tQYWdlQ2FsbEFmdGVyTmV4dFByZXNlbnRhdGlv
blVwZGF0ZShXS1BhZ2VSZWYgcGFnZVJlZiwgdm9pZCogY29udGV4dCwgV0tQCiAKIHZvaWQgV0tQ
YWdlU2V0SWdub3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHMoV0tQYWdlUmVmIHBhZ2UsIGJvb2wgaWdu
b3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHMpCiB7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNp
ZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkKICAgICB0b0ltcGwocGFnZSktPnNldEZvcmNlQWx3YXlz
VXNlclNjYWxhYmxlKGlnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzKTsKICNlbmRpZgogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYmY5
ZmY4ZDM3NzlkMmYzOWEwN2M3ZmVmYWYyOGViNmY5NWI2MDAwOC4uODM5MzNlMGYxYWVhM2M1NGQy
OTc2NmZhMGFkODkyODY4YzRhNTE2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0zNDksMTEgKzM0OSwxNCBAQCAtICh2b2lkKV9pbml0
aWFsaXplV2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1
cmF0aW9uCiAgICAgW3NlbGYgX3JlZ2lzdGVyRm9yTm90aWZpY2F0aW9uc107CiAKICAgICBfcGFn
ZS0+Y29udGVudFNpemVDYXRlZ29yeURpZENoYW5nZShbc2VsZiBfY29udGVudFNpemVDYXRlZ29y
eV0pOwotICAgIF9wYWdlLT5zZXRGb3JjZUFsd2F5c1VzZXJTY2FsYWJsZShbX2NvbmZpZ3VyYXRp
b24gaWdub3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHNdKTsKIAogICAgIENGTm90aWZpY2F0aW9uQ2Vu
dGVyQWRkT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIo
KSwgKF9fYnJpZGdlIGNvbnN0IHZvaWQgKikoc2VsZiksIGhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFi
aWxpdHlDaGFuZ2VkQ2FsbGJhY2ssIChDRlN0cmluZ1JlZilbTlNTdHJpbmcgc3RyaW5nV2l0aFVU
RjhTdHJpbmc6a0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlm
aWNhdGlvbl0sIG51bGxwdHIsIENGTm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yQ29hbGVz
Y2UpOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKKyNpZiBFTkFCTEUoTUVUQV9W
SUVXUE9SVCkKKyAgICBfcGFnZS0+c2V0Rm9yY2VBbHdheXNVc2VyU2NhbGFibGUoW19jb25maWd1
cmF0aW9uIGlnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzXSk7CisjZW5kaWYKKwogI2lmIFBMQVRG
T1JNKE1BQykKICAgICBfaW1wbCA9IG1ha2VVbmlxdWU8V2ViS2l0OjpXZWJWaWV3SW1wbD4oc2Vs
Ziwgc2VsZiwgcHJvY2Vzc1Bvb2wsIHBhZ2VDb25maWd1cmF0aW9uLmNvcHlSZWYoKSk7CiAgICAg
X3BhZ2UgPSAmX2ltcGwtPnBhZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCmluZGV4IGJiMTIwMWRhMTBkODFlMWM2MTlmNjRiMDI2ZmJiNjEwMjlmZjhhZjUuLjZi
NTRkNjM0MDkyNTUwNWU4NmRlOWJlNDM0ZDgwNzkyZDM3ZmI2MTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNzUzMywyMCArNzUzMywyNCBAQCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzIFdlYlBhZ2VQcm94eTo6Y3JlYXRpb25QYXJhbWV0ZXJzKFdlYlBy
b2Nlc3NQcm94eSYgcHJvYwogICAgIHBhcmFtZXRlcnMuY29sb3JTcGFjZSA9IHBhZ2VDbGllbnQo
KS5jb2xvclNwYWNlKCk7CiAgICAgcGFyYW1ldGVycy51c2VTeXN0ZW1BcHBlYXJhbmNlID0gbV91
c2VTeXN0ZW1BcHBlYXJhbmNlOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkK
KyAgICBwYXJhbWV0ZXJzLmlnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzID0gbV9mb3JjZUFsd2F5
c1VzZXJTY2FsYWJsZTsKKyAgICBwYXJhbWV0ZXJzLnZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdM
YXlvdXRTaXplID0gbV92aWV3cG9ydENvbmZpZ3VyYXRpb25WaWV3TGF5b3V0U2l6ZTsKKyAgICBw
YXJhbWV0ZXJzLnZpZXdwb3J0Q29uZmlndXJhdGlvbkxheW91dFNpemVTY2FsZUZhY3RvciA9IG1f
dmlld3BvcnRDb25maWd1cmF0aW9uTGF5b3V0U2l6ZVNjYWxlRmFjdG9yOworICAgIHBhcmFtZXRl
cnMudmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUVmZmVjdGl2ZURldmljZVdpZHRoID0gbV92
aWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtRWZmZWN0aXZlRGV2aWNlV2lkdGg7CisgICAgcGFy
YW1ldGVycy5vdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzID0gbV9vdmVycmlkZVZpZXdwb3J0QXJn
dW1lbnRzOworI2VuZGlmCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHBhcmFtZXRl
cnMuc2NyZWVuU2l6ZSA9IHNjcmVlblNpemUoKTsKICAgICBwYXJhbWV0ZXJzLmF2YWlsYWJsZVNj
cmVlblNpemUgPSBhdmFpbGFibGVTY3JlZW5TaXplKCk7CiAgICAgcGFyYW1ldGVycy5vdmVycmlk
ZVNjcmVlblNpemUgPSBvdmVycmlkZVNjcmVlblNpemUoKTsKICAgICBwYXJhbWV0ZXJzLnRleHRB
dXRvc2l6aW5nV2lkdGggPSB0ZXh0QXV0b3NpemluZ1dpZHRoKCk7CiAgICAgcGFyYW1ldGVycy5t
aW1lVHlwZXNXaXRoQ3VzdG9tQ29udGVudFByb3ZpZGVycyA9IHBhZ2VDbGllbnQoKS5taW1lVHlw
ZXNXaXRoQ3VzdG9tQ29udGVudFByb3ZpZGVycygpOwotICAgIHBhcmFtZXRlcnMuaWdub3Jlc1Zp
ZXdwb3J0U2NhbGVMaW1pdHMgPSBtX2ZvcmNlQWx3YXlzVXNlclNjYWxhYmxlOwotICAgIHBhcmFt
ZXRlcnMudmlld3BvcnRDb25maWd1cmF0aW9uVmlld0xheW91dFNpemUgPSBtX3ZpZXdwb3J0Q29u
ZmlndXJhdGlvblZpZXdMYXlvdXRTaXplOwotICAgIHBhcmFtZXRlcnMudmlld3BvcnRDb25maWd1
cmF0aW9uTGF5b3V0U2l6ZVNjYWxlRmFjdG9yID0gbV92aWV3cG9ydENvbmZpZ3VyYXRpb25MYXlv
dXRTaXplU2NhbGVGYWN0b3I7Ci0gICAgcGFyYW1ldGVycy52aWV3cG9ydENvbmZpZ3VyYXRpb25N
aW5pbXVtRWZmZWN0aXZlRGV2aWNlV2lkdGggPSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmlt
dW1FZmZlY3RpdmVEZXZpY2VXaWR0aDsKICAgICBwYXJhbWV0ZXJzLm1heGltdW1Vbm9ic2N1cmVk
U2l6ZSA9IG1fbWF4aW11bVVub2JzY3VyZWRTaXplOwogICAgIHBhcmFtZXRlcnMuZGV2aWNlT3Jp
ZW50YXRpb24gPSBtX2RldmljZU9yaWVudGF0aW9uOwogICAgIHBhcmFtZXRlcnMua2V5Ym9hcmRJ
c0F0dGFjaGVkID0gaXNJbkhhcmR3YXJlS2V5Ym9hcmRNb2RlKCk7Ci0gICAgcGFyYW1ldGVycy5v
dmVycmlkZVZpZXdwb3J0QXJndW1lbnRzID0gbV9vdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzOwog
ICAgIHBhcmFtZXRlcnMuY2FuU2hvd1doaWxlTG9ja2VkID0gbV9jb25maWd1cmF0aW9uLT5jYW5T
aG93V2hpbGVMb2NrZWQoKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IDkxNDRlNjg3NTZlZTdhOWFlNzllZDQ2NTlkNTRjMzI3ZjQ1OTBiZTEuLmQw
MmUzYzFkZTJmZjE3M2Y5ODAwM2NmODE1MGRhM2ViYjY4ZjliNjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yMjg1LDcgKzIyODUsNiBAQCBwcml2YXRlOgogCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBPcHRpb25hbDxXZWJDb3JlOjpJbnB1dE1vZGU+
IG1fcGVuZGluZ0lucHV0TW9kZUNoYW5nZTsKLSAgICBPcHRpb25hbDxXZWJDb3JlOjpWaWV3cG9y
dEFyZ3VtZW50cz4gbV9vdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzOwogICAgIFRyYW5zYWN0aW9u
SUQgbV9maXJzdExheWVyVHJlZVRyYW5zYWN0aW9uSWRBZnRlckRpZENvbW1pdExvYWQ7CiAgICAg
aW50MzJfdCBtX2RldmljZU9yaWVudGF0aW9uIHsgMCB9OwogICAgIGJvb2wgbV9oYXNSZWNlaXZl
ZExheWVyVHJlZVRyYW5zYWN0aW9uQWZ0ZXJEaWRDb21taXRMb2FkIHsgdHJ1ZSB9OwpAQCAtMjU5
NCwxNCArMjU5MywxOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9yZXF1aXJlc1RhcmdldE1vbml0
b3JpbmcgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAg
IEZ1bmN0aW9uPGJvb2woKT4gbV9kZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNzaW9uSGFuZGxl
ckZvclRlc3Rpbmc7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50
cz4gbV9kZWZlcnJlZEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50czsKLSAgICBib29sIG1fd2FpdGlu
Z0ZvclBvc3RMYXlvdXRFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXNpbmdFbGVtZW50IHsgZmFs
c2UgfTsKKyNpZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkKICAgICBib29sIG1fZm9yY2VBbHdheXNV
c2VyU2NhbGFibGUgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX3ZpZXdwb3J0
Q29uZmlndXJhdGlvblZpZXdMYXlvdXRTaXplOwogICAgIGRvdWJsZSBtX3ZpZXdwb3J0Q29uZmln
dXJhdGlvbkxheW91dFNpemVTY2FsZUZhY3RvciB7IDEgfTsKICAgICBkb3VibGUgbV92aWV3cG9y
dENvbmZpZ3VyYXRpb25NaW5pbXVtRWZmZWN0aXZlRGV2aWNlV2lkdGggeyAwIH07CisgICAgT3B0
aW9uYWw8V2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHM+IG1fb3ZlcnJpZGVWaWV3cG9ydEFyZ3Vt
ZW50czsKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBGdW5jdGlvbjxi
b29sKCk+IG1fZGV2aWNlT3JpZW50YXRpb25Vc2VyUGVybWlzc2lvbkhhbmRsZXJGb3JUZXN0aW5n
OworICAgIHN0ZDo6dW5pcXVlX3B0cjxFbGVtZW50RGlkRm9jdXNBcmd1bWVudHM+IG1fZGVmZXJy
ZWRFbGVtZW50RGlkRm9jdXNBcmd1bWVudHM7CisgICAgYm9vbCBtX3dhaXRpbmdGb3JQb3N0TGF5
b3V0RWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzaW5nRWxlbWVudCB7IGZhbHNlIH07CiAgICAg
V2ViQ29yZTo6RmxvYXRTaXplIG1fbWF4aW11bVVub2JzY3VyZWRTaXplOwogICAgIGJvb2wgbV9s
YXN0T2JzZXJ2ZWRTdGF0ZVdhc0JhY2tncm91bmQgeyBmYWxzZSB9OwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDdlYmUxZGYwZjI5
ZDQ5MjMyYzhiYTEyYWFlMGIzMDMxOTE0MThkYTUuLmI0ZGE5MTg4YmRhYjg0MTYyY2Y3NDYwZDVh
MmNlMzMxNWVkMzY3ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCkBAIC00MjIsOCArNDIyLDEwIEBAIFdlYlBhZ2U6OldlYlBhZ2UoUGFnZUlkZW50
aWZpZXIgcGFnZUlELCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAg
ICAsIG1fcGFnZVNjcm9sbGVkSHlzdGVyZXNpcyhbdGhpc10oUEFMOjpIeXN0ZXJlc2lzU3RhdGUg
c3RhdGUpIHsgaWYgKHN0YXRlID09IFBBTDo6SHlzdGVyZXNpc1N0YXRlOjpTdG9wcGVkKSBwYWdl
U3RvcHBlZFNjcm9sbGluZygpOyB9LCBwYWdlU2Nyb2xsSHlzdGVyZXNpc0R1cmF0aW9uKQogICAg
ICwgbV9jYW5SdW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwocGFyYW1ldGVycy5jYW5SdW5CZWZv
cmVVbmxvYWRDb25maXJtUGFuZWwpCiAgICAgLCBtX2NhblJ1bk1vZGFsKHBhcmFtZXRlcnMuY2Fu
UnVuTW9kYWwpCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBFTkFCTEUoTUVUQV9WSUVX
UE9SVCkKICAgICAsIG1fZm9yY2VBbHdheXNVc2VyU2NhbGFibGUocGFyYW1ldGVycy5pZ25vcmVz
Vmlld3BvcnRTY2FsZUxpbWl0cykKKyNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgLCBtX3NjcmVlblNpemUocGFyYW1ldGVycy5zY3JlZW5TaXplKQogICAgICwgbV9hdmFpbGFi
bGVTY3JlZW5TaXplKHBhcmFtZXRlcnMuYXZhaWxhYmxlU2NyZWVuU2l6ZSkKICAgICAsIG1fb3Zl
cnJpZGVTY3JlZW5TaXplKHBhcmFtZXRlcnMub3ZlcnJpZGVTY3JlZW5TaXplKQpAQCAtNTgxNSw2
ICs1ODE3LDcgQEAgdm9pZCBXZWJQYWdlOjpkaWRDb21taXRMb2FkKFdlYkZyYW1lKiBmcmFtZSkK
ICAgICAgICAgaWYgKHBhZ2UgJiYgcGFnZS0+cGFnZVNjYWxlRmFjdG9yKCkgIT0gMSkKICAgICAg
ICAgICAgIHNjYWxlUGFnZSgxLCBJbnRQb2ludCgpKTsKICAgICB9CisKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIG1faGFzUmVjZWl2ZWRWaXNpYmxlQ29udGVudFJlY3RzQWZ0ZXJEaWRD
b21taXRMb2FkID0gZmFsc2U7CiAgICAgbV9oYXNSZXN0b3JlZEV4cG9zZWRDb250ZW50UmVjdEFm
dGVyRGlkQ29tbWl0TG9hZCA9IGZhbHNlOwpAQCAtNTgyNiw3ICs1ODI5LDkgQEAgdm9pZCBXZWJQ
YWdlOjpkaWRDb21taXRMb2FkKFdlYkZyYW1lKiBmcmFtZSkKICNpZiBFTkFCTEUoSU9TX1RPVUNI
X0VWRU5UUykKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5ldmVudERpc3BhdGNoZXIoKS5j
bGVhclF1ZXVlZFRvdWNoRXZlbnRzRm9yUGFnZSgqdGhpcyk7CiAjZW5kaWYKKyNlbmRpZiAvLyBQ
TEFURk9STShJT1NfRkFNSUxZKQogCisjaWYgRU5BQkxFKE1FVEFfVklFV1BPUlQpCiAgICAgcmVz
ZXRWaWV3cG9ydERlZmF1bHRDb25maWd1cmF0aW9uKGZyYW1lKTsKICAgICBjb25zdCBGcmFtZSog
Y29yZUZyYW1lID0gZnJhbWUtPmNvcmVGcmFtZSgpOwogICAgIApAQCAtNTg0NCw3ICs1ODQ5LDcg
QEAgdm9pZCBXZWJQYWdlOjpkaWRDb21taXRMb2FkKFdlYkZyYW1lKiBmcmFtZSkKIAogICAgIGlm
ICh2aWV3cG9ydENoYW5nZWQpCiAgICAgICAgIHZpZXdwb3J0Q29uZmlndXJhdGlvbkNoYW5nZWQo
KTsKLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShNRVRBX1ZJRVdQT1JUKQogCiAjaWYgRU5BQkxF
KFZJRVdQT1JUX1JFU0laSU5HKQogICAgIG1fc2hyaW5rVG9GaXRDb250ZW50VGltZXIuc3RvcCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGUzNTJk
NDQ2YTM0OWFjMmY1YmRlODdhMmNhZTEyNjA2ZjlhMTc2MzIuLjRkODg2YmNhMTFkMDNlMzY5NzBk
MDQ1NTVlODc2NDAxNTJhOTZmNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKQEAgLTEwNywxMCArMTA3LDEzIEBAIHR5cGVkZWYgc3RydWN0IF9BdGtPYmpl
Y3QgQXRrT2JqZWN0OwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW5jbHVkZSAiR2VzdHVy
ZVR5cGVzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRQb2ludEhhc2guaD4KLSNpbmNsdWRlIDxX
ZWJDb3JlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV0tDb250
ZW50T2JzZXJ2YXRpb24uaD4KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FVEFfVklFV1BPUlQpCisj
aW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydENvbmZpZ3VyYXRpb24uaD4KKyNlbmRpZgorCiAjaWYg
RU5BQkxFKEFQUExJQ0FUSU9OX01BTklGRVNUKQogI2luY2x1ZGUgPFdlYkNvcmUvQXBwbGljYXRp
b25NYW5pZmVzdC5oPgogI2VuZGlmCkBAIC02MzYsOSArNjM5LDYgQEAgcHVibGljOgogICAgIGlu
dDMyX3QgZGV2aWNlT3JpZW50YXRpb24oKSBjb25zdCB7IHJldHVybiBtX2RldmljZU9yaWVudGF0
aW9uOyB9CiAgICAgdm9pZCBkaWRSZWNlaXZlTW9iaWxlRG9jVHlwZShib29sKTsKIAotICAgIHZv
aWQgc2V0VXNlVGVzdGluZ1ZpZXdwb3J0Q29uZmlndXJhdGlvbihib29sIHVzZVRlc3RpbmdWaWV3
cG9ydCkgeyBtX3VzZVRlc3RpbmdWaWV3cG9ydENvbmZpZ3VyYXRpb24gPSB1c2VUZXN0aW5nVmll
d3BvcnQ7IH0KLSAgICBib29sIGlzVXNpbmdUZXN0aW5nVmlld3BvcnRDb25maWd1cmF0aW9uKCkg
Y29uc3QgeyByZXR1cm4gbV91c2VUZXN0aW5nVmlld3BvcnRDb25maWd1cmF0aW9uOyB9Ci0KICAg
ICBkb3VibGUgbWluaW11bVBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0OwogICAgIGRvdWJsZSBtYXhp
bXVtUGFnZVNjYWxlRmFjdG9yKCkgY29uc3Q7CiAgICAgZG91YmxlIG1heGltdW1QYWdlU2NhbGVG
YWN0b3JJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlKCkgY29uc3Q7CkBAIC05NjcsMTAgKzk2Nyw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZVZpc2liaWxpdHlTdGF0ZShib29sIGlzSW5pdGlhbFN0
YXRlID0gZmFsc2UpOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICB2b2lkIHNldFZp
ZXdwb3J0Q29uZmlndXJhdGlvblZpZXdMYXlvdXRTaXplKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6
ZSYsIGRvdWJsZSBzY2FsZUZhY3RvciwgZG91YmxlIG1pbmltdW1FZmZlY3RpdmVEZXZpY2VXaWR0
aCk7CiAgICAgdm9pZCBzZXRNYXhpbXVtVW5vYnNjdXJlZFNpemUoY29uc3QgV2ViQ29yZTo6Rmxv
YXRTaXplJik7CiAgICAgdm9pZCBzZXREZXZpY2VPcmllbnRhdGlvbihpbnQzMl90KTsKLSAgICB2
b2lkIHNldE92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMoY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6
Vmlld3BvcnRBcmd1bWVudHM+Jik7CiAgICAgdm9pZCBkeW5hbWljVmlld3BvcnRTaXplVXBkYXRl
KGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgdmlld0xheW91dFNpemUsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0U2l6ZSYgbWF4aW11bVVub2JzY3VyZWRTaXplLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJl
Y3QmIHRhcmdldEV4cG9zZWRDb250ZW50UmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0
YXJnZXRVbm9ic2N1cmVkUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRVbm9i
c2N1cmVkUmVjdEluU2Nyb2xsVmlld0Nvb3JkaW5hdGVzLCBjb25zdCBXZWJDb3JlOjpGbG9hdEJv
eEV4dGVudCYgdGFyZ2V0VW5vYnNjdXJlZFNhZmVBcmVhSW5zZXRzLCBkb3VibGUgc2NhbGUsIGlu
dDMyX3QgZGV2aWNlT3JpZW50YXRpb24sIER5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGVJRCk7CiAg
ICAgYm9vbCBzY2FsZVdhc1NldEJ5VUlQcm9jZXNzKCkgY29uc3QgeyByZXR1cm4gbV9zY2FsZVdh
c1NldEJ5VUlQcm9jZXNzOyB9CiAgICAgdm9pZCB3aWxsU3RhcnRVc2VyVHJpZ2dlcmVkWm9vbWlu
ZygpOwpAQCAtOTgyLDcgKzk4MCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZEZpbmlzaENvbnRl
bnRDaGFuZ2VPYnNlcnZpbmcoV0tDb250ZW50Q2hhbmdlKTsKIAogICAgIGJvb2wgcGxhdGZvcm1Q
cmVmZXJzVGV4dExlZ2liaWxpdHlCYXNlZFpvb21TY2FsaW5nKCkgY29uc3Q7Ci0gICAgY29uc3Qg
V2ViQ29yZTo6Vmlld3BvcnRDb25maWd1cmF0aW9uJiB2aWV3cG9ydENvbmZpZ3VyYXRpb24oKSBj
b25zdCB7IHJldHVybiBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbjsgfQogCiAgICAgdm9pZCBoYXJk
d2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZChib29sIGtleWJvYXJkSXNBdHRhY2hlZCk7
CiAKQEAgLTk5MSw2ICs5ODgsMTUgQEAgcHVibGljOgogICAgIGJvb2wgY2FuU2hvd1doaWxlTG9j
a2VkKCkgY29uc3QgeyByZXR1cm4gbV9jYW5TaG93V2hpbGVMb2NrZWQ7IH0KICNlbmRpZgogCisj
aWYgRU5BQkxFKE1FVEFfVklFV1BPUlQpCisgICAgdm9pZCBzZXRWaWV3cG9ydENvbmZpZ3VyYXRp
b25WaWV3TGF5b3V0U2l6ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmLCBkb3VibGUgc2NhbGVG
YWN0b3IsIGRvdWJsZSBtaW5pbXVtRWZmZWN0aXZlRGV2aWNlV2lkdGgpOworICAgIHZvaWQgc2V0
T3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBPcHRpb25hbDxXZWJDb3JlOjpWaWV3cG9y
dEFyZ3VtZW50cz4mKTsKKyAgICBjb25zdCBXZWJDb3JlOjpWaWV3cG9ydENvbmZpZ3VyYXRpb24m
IHZpZXdwb3J0Q29uZmlndXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRDb25maWd1
cmF0aW9uOyB9CisKKyAgICB2b2lkIHNldFVzZVRlc3RpbmdWaWV3cG9ydENvbmZpZ3VyYXRpb24o
Ym9vbCB1c2VUZXN0aW5nVmlld3BvcnQpIHsgbV91c2VUZXN0aW5nVmlld3BvcnRDb25maWd1cmF0
aW9uID0gdXNlVGVzdGluZ1ZpZXdwb3J0OyB9CisgICAgYm9vbCBpc1VzaW5nVGVzdGluZ1ZpZXdw
b3J0Q29uZmlndXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdXNlVGVzdGluZ1ZpZXdwb3J0Q29u
ZmlndXJhdGlvbjsgfQorI2VuZGlmCisKICNpZiBFTkFCTEUoVUlfU0lERV9DT01QT1NJVElORykK
ICAgICBPcHRpb25hbDxmbG9hdD4gc2NhbGVGcm9tVUlQcm9jZXNzKGNvbnN0IFZpc2libGVDb250
ZW50UmVjdFVwZGF0ZUluZm8mKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVZpc2libGVDb250ZW50
UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYsIE1vbm90b25pY1RpbWUg
b2xkZXN0VGltZXN0YW1wKTsKQEAgLTEyODcsOSArMTI5Myw2IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBkaWRSZWNlaXZlU3luY1dlYlBhZ2VNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVj
b2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+Jik7CiAKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQotICAgIHZvaWQgcmVzZXRWaWV3cG9ydERlZmF1bHRDb25maWd1cmF0aW9uKFdl
YkZyYW1lKiBtYWluRnJhbWUsIGJvb2wgaGFzTW9iaWxlRG9jVHlwZSA9IGZhbHNlKTsKLSAgICBl
bnVtIGNsYXNzIFpvb21Ub0luaXRpYWxTY2FsZSB7IE5vLCBZZXMgfTsKLSAgICB2b2lkIHZpZXdw
b3J0Q29uZmlndXJhdGlvbkNoYW5nZWQoWm9vbVRvSW5pdGlhbFNjYWxlID0gWm9vbVRvSW5pdGlh
bFNjYWxlOjpObyk7CiAgICAgdm9pZCB1cGRhdGVWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVu
aXRzKCk7CiAKICAgICBzdGF0aWMgdm9pZCBjb252ZXJ0U2VsZWN0aW9uUmVjdHNUb1Jvb3RWaWV3
KFdlYkNvcmU6OkZyYW1lVmlldyosIFZlY3RvcjxXZWJDb3JlOjpTZWxlY3Rpb25SZWN0PiYpOwpA
QCAtMTMxMCw4ICsxMzEzLDE1IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1h
cD4gc2hhcmVhYmxlQml0bWFwU25hcHNob3RGb3JOb2RlKFdlYkNvcmU6OkVsZW1lbnQmKTsKICAg
ICBXZWJBdXRvY29ycmVjdGlvbkNvbnRleHQgYXV0b2NvcnJlY3Rpb25Db250ZXh0KCk7CiAgICAg
Ym9vbCBhcHBseUF1dG9jb3JyZWN0aW9uSW50ZXJuYWwoY29uc3QgU3RyaW5nJiBjb3JyZWN0aW9u
LCBjb25zdCBTdHJpbmcmIG9yaWdpbmFsVGV4dCk7CisjZW5kaWYKKworI2lmIEVOQUJMRShNRVRB
X1ZJRVdQT1JUKQorICAgIHZvaWQgcmVzZXRWaWV3cG9ydERlZmF1bHRDb25maWd1cmF0aW9uKFdl
YkZyYW1lKiBtYWluRnJhbWUsIGJvb2wgaGFzTW9iaWxlRG9jVHlwZSA9IGZhbHNlKTsKKyAgICBl
bnVtIGNsYXNzIFpvb21Ub0luaXRpYWxTY2FsZSB7IE5vLCBZZXMgfTsKKyAgICB2b2lkIHZpZXdw
b3J0Q29uZmlndXJhdGlvbkNoYW5nZWQoWm9vbVRvSW5pdGlhbFNjYWxlID0gWm9vbVRvSW5pdGlh
bFNjYWxlOjpObyk7CiAgICAgYm9vbCBzaG91bGRJZ25vcmVNZXRhVmlld3BvcnQoKSBjb25zdDsK
ICNlbmRpZgorCiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICB2b2lkIHRleHRBdXRv
U2l6aW5nQWRqdXN0bWVudFRpbWVyRmlyZWQoKTsKICAgICB2b2lkIHJlc2V0VGV4dEF1dG9zaXpp
bmcoKTsKQEAgLTE3MDYsMTAgKzE3MTYsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9hbHdheXNT
aG93c0hvcml6b250YWxTY3JvbGxlciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2Fsd2F5c1Nob3dz
VmVydGljYWxTY3JvbGxlciB7IGZhbHNlIH07CiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQot
ICAgIGJvb2wgbV9pZ25vcmVWaWV3cG9ydFNjYWxpbmdDb25zdHJhaW50cyB7IGZhbHNlIH07Ci0j
ZW5kaWYKLQogI2lmIEVOQUJMRShQUklNQVJZX1NOQVBTSE9UVEVEX1BMVUdJTl9IRVVSSVNUSUMp
CiAgICAgYm9vbCBtX3JlYWR5VG9GaW5kUHJpbWFyeVNuYXBzaG90dGVkUGx1Z2luIHsgZmFsc2Ug
fTsKICAgICBib29sIG1fZGlkRmluZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdpbiB7IGZhbHNlIH07
CkBAIC0xODkyLDcgKzE4OTgsMTQgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoSU9TX1RPVUNIX0VW
RU5UUykKICAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiBtX3BlbmRpbmdTeW5jaHJv
bm91c1RvdWNoRXZlbnRSZXBseTsKICNlbmRpZgotICAgIAorCisjaWYgRU5BQkxFKE1FVEFfVklF
V1BPUlQpCisgICAgV2ViQ29yZTo6Vmlld3BvcnRDb25maWd1cmF0aW9uIG1fdmlld3BvcnRDb25m
aWd1cmF0aW9uOworICAgIGJvb2wgbV91c2VUZXN0aW5nVmlld3BvcnRDb25maWd1cmF0aW9uIHsg
ZmFsc2UgfTsKKyAgICBib29sIG1fZm9yY2VBbHdheXNVc2VyU2NhbGFibGUgeyBmYWxzZSB9Owor
ICAgIGJvb2wgbV9pZ25vcmVWaWV3cG9ydFNjYWxpbmdDb25zdHJhaW50cyB7IGZhbHNlIH07Cisj
ZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgUmVmUHRyPFdlYkNvcmU6OlJh
bmdlPiBtX2N1cnJlbnRXb3JkUmFuZ2U7CiAgICAgUmVmUHRyPFdlYkNvcmU6Ok5vZGU+IG1faW50
ZXJhY3Rpb25Ob2RlOwpAQCAtMTkwNywxNiArMTkyMCwxMiBAQCBwcml2YXRlOgogICAgIFdlYkNv
cmU6OkZsb2F0UG9pbnQgbV9wb3RlbnRpYWxUYXBMb2NhdGlvbjsKICAgICBSZWZQdHI8V2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW4+IG1fcG90ZW50aWFsVGFwU2VjdXJpdHlPcmlnaW47CiAKLSAgICBX
ZWJDb3JlOjpWaWV3cG9ydENvbmZpZ3VyYXRpb24gbV92aWV3cG9ydENvbmZpZ3VyYXRpb247Ci0K
ICAgICBib29sIG1faGFzUmVjZWl2ZWRWaXNpYmxlQ29udGVudFJlY3RzQWZ0ZXJEaWRDb21taXRM
b2FkIHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzUmVzdG9yZWRFeHBvc2VkQ29udGVudFJlY3RB
ZnRlckRpZENvbW1pdExvYWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zY2FsZVdhc1NldEJ5VUlQ
cm9jZXNzIHsgZmFsc2UgfTsKICAgICBib29sIG1fdXNlckhhc0NoYW5nZWRQYWdlU2NhbGVGYWN0
b3IgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNTdGFibGVQYWdlU2NhbGVGYWN0b3IgeyB0cnVl
IH07Ci0gICAgYm9vbCBtX3VzZVRlc3RpbmdWaWV3cG9ydENvbmZpZ3VyYXRpb24geyBmYWxzZSB9
OwogICAgIGJvb2wgbV9pc0luU3RhYmxlU3RhdGUgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2ZvcmNl
QWx3YXlzVXNlclNjYWxhYmxlIHsgZmFsc2UgfTsKICAgICBNb25vdG9uaWNUaW1lIG1fb2xkZXN0
Tm9uU3RhYmxlVXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0c1RpbWVzdGFtcDsKICAgICBTZWNvbmRz
IG1fZXN0aW1hdGVkTGF0ZW5jeSB7IDAgfTsKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV9zY3Jl
ZW5TaXplOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387379</attachid>
            <date>2020-01-10 14:57:58 -0800</date>
            <delta_ts>2020-01-10 15:33:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206091-20200110145757.patch</filename>
            <type>text/plain</type>
            <size>28918</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE5MDMzY2I3OTY2ZmE5MWVhY2UwNzUz
MGYyNTY3ZmQyNTc4NmVkMzkuLmY0ZjM4MTg0M2E1MTY5MDZhMDIyNDdiZjJjYjgyYWQwMGJlYWIz
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDEtMTAgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIEVOQUJMRV9NRVRBX1ZJRVdQ
T1JUIGFuZCB1c2UgaXQgaW4gc29tZSBXSzIgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRGVmaW5lIEVOQUJMRV9NRVRBX1ZJRVdQT1JUIGZvciBp
T1MuCisKKyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKwogMjAyMC0wMS0wOSAgVGlt
IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBUQVJH
RVRfT1NfTUFDQ0FUQUxZU1QgaW4gbW9yZSBwbGFjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZjExMGUxODQ2
YTg2ODJlYzA3YzA2MWRhNjI5NmFiNTk3Y2M4NjFiLi5iNjM1ZmYzODE4YWYzOGJlNjU5YmIyZThi
MjUyZTNiZGU4ZmVmODVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDEtMTAg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9k
dWNlIEVOQUJMRV9NRVRBX1ZJRVdQT1JUIGFuZCB1c2UgaXQgaW4gc29tZSBXSzIgY29kZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MDkxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgZGlkRGlzcGF0Y2hW
aWV3cG9ydFByb3BlcnRpZXNDaGFuZ2VkKCkgaXMgdXNlZCBmb3IgYSBDb29yZGluYXRlZCBHcmFw
aGljcyBhc3NlcnRpb24sIHNvCisgICAgICAgIHNob3VsZCBiZSAjaWYgQVNTRVJUX0VOQUJMRUQg
cmF0aGVyIHRoYW4gI2lmbmRlZiBOREVCVUcuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnVwZGF0ZVZpZXdwb3J0QXJndW1lbnRzKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzdXNwZW5kKToKKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuaDoKKwogMjAyMC0wMS0xMCAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFtXZWJBdXRobl0gU3VwcG9ydCBhdXRoZW50aWNhdG9yR2V0TmV4dEFzc2Vy
dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCBkOGZjOTg3MDgwYmU5ZjRiOGVkNmI1MGYxNTkxNDEwZGE5YTY2Njg1
Li40MTUxNzM4YmQ0YTk2ZTEwZWU0NWQ0OTIwOWVkMDBkZWNjNjZjM2E2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDMzIEBACisyMDIwLTAxLTEwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBFTkFCTEVfTUVUQV9WSUVXUE9SVCBhbmQgdXNl
IGl0IGluIHNvbWUgV0syIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwNjA5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorICAgICAgICAKKyAgICAgICAgVXNlIEVOQUJMRShNRVRBX1ZJRVdQT1JUKSByYXRoZXIgdGhh
biBQTEFURk9STShJT1NfRkFNSUxZKSB0byBlbmFibGUgdmFyaW91cworICAgICAgICBiaXRzIG9m
IHZpZXdwb3J0LXJlbGF0ZWQgY29kZS4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFZpZXdwb3J0QXJndW1l
bnRzPjo6ZGVjb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxWaWV3cG9ydEF0dHJp
YnV0ZXM+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFZpZXdwb3J0QXR0
cmlidXRlcz46OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAg
ICAgICAgKiBTaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgorICAgICAgICAoV0tQYWdlU2V0SWdub3Jlc1ZpZXdw
b3J0U2NhbGVMaW1pdHMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjpd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRDb21taXRMb2FkKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjp2aWV3cG9ydENvbmZpZ3VyYXRpb24gY29uc3QpOgorCiAyMDIwLTAxLTEwICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIC1bV0tX
ZWJWaWV3IF9kaWRDb21taXRMYXllclRyZWU6XQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
RmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXgg
NTg0Yzg5OWRiMGY4MzlhODY0N2Y0Zjg1MGRlMjgwMzNiMTE3NTljYS4uMTdjZDZhMmNjM2VhYWI4
MDhiZTYyM2ExOGQwMThmNWU0MTBlNTZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVh
dHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC0y
MjcsNiArMjI3LDEwIEBAIHRoZSBwdWJsaWMgaU9TIFNESy4gU2VlIDxodHRwczovL3dlYmtpdC5v
cmcvYi8xNzkxNjc+LiAqLwogI2VuZGlmCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9N
RVRBX1ZJRVdQT1JUKQorI2RlZmluZSBFTkFCTEVfTUVUQV9WSUVXUE9SVCAxCisjZW5kaWYKKwog
I2VuZGlmIC8qIFBMQVRGT1JNKElPU19GQU1JTFkpICovCiAKIC8qIC0tLS0tLS0tLSBBcHBsZSB3
YXRjaE9TIHBvcnQgLS0tLS0tLS0tICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmZGU1
ZWYyYjJmNjM1ZGYzN2I3ZTM0YjA4OWIzMWM4ZDI4MGU5YWExLi4yNGJhYzZkZmRlMmEyNTNiYjMz
ZDQyZDBjMTIzYTliYjU0NDllNzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTM2OTEs
NyArMzY5MSw3IEBAIFZpZXdwb3J0QXJndW1lbnRzIERvY3VtZW50Ojp2aWV3cG9ydEFyZ3VtZW50
cygpIGNvbnN0CiB2b2lkIERvY3VtZW50Ojp1cGRhdGVWaWV3cG9ydEFyZ3VtZW50cygpCiB7CiAg
ICAgaWYgKHBhZ2UoKSAmJiBmcmFtZSgpLT5pc01haW5GcmFtZSgpKSB7Ci0jaWZuZGVmIE5ERUJV
RworI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgICAgIG1fZGlkRGlzcGF0Y2hWaWV3cG9ydFByb3Bl
cnRpZXNDaGFuZ2VkID0gdHJ1ZTsKICNlbmRpZgogICAgICAgICBwYWdlKCktPmNocm9tZSgpLmRp
c3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzRGlkQ2hhbmdlKHZpZXdwb3J0QXJndW1lbnRzKCkpOwpA
QCAtNTI5NSw3ICs1Mjk1LDcgQEAgdm9pZCBEb2N1bWVudDo6c3VzcGVuZChSZWFzb25Gb3JTdXNw
ZW5zaW9uIHJlYXNvbikKICAgICBmb3IgKGF1dG8qIGVsZW1lbnQgOiBtX2RvY3VtZW50U3VzcGVu
c2lvbkNhbGxiYWNrRWxlbWVudHMpCiAgICAgICAgIGVsZW1lbnQtPnByZXBhcmVGb3JEb2N1bWVu
dFN1c3BlbnNpb24oKTsKIAotI2lmbmRlZiBOREVCVUcKKyNpZiBBU1NFUlRfRU5BQkxFRAogICAg
IC8vIENsZWFyIHRoZSB1cGRhdGUgZmxhZyB0byBiZSBhYmxlIHRvIGNoZWNrIGlmIHRoZSB2aWV3
cG9ydCBhcmd1bWVudHMgdXBkYXRlCiAgICAgLy8gaXMgZGlzcGF0Y2hlZCwgYWZ0ZXIgdGhlIGRv
Y3VtZW50IGlzIHJlc3RvcmVkIGZyb20gdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4KICAgICBtX2Rp
ZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hhbmdlZCA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAppbmRleCAyZjliYmM3N2IyZDJhNTZjY2FkMGM5NTc1NzIxNGM1NjVmMzUyNGQ4Li42Mzhk
MDQwZjM3ZDIyNDU3ZGZkZDFjYTE0MDNhNWE2N2I0ZjM3YjViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aApAQCAtNDE1LDcgKzQxNSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBWaWV3cG9y
dEFyZ3VtZW50cyB2aWV3cG9ydEFyZ3VtZW50cygpIGNvbnN0OwogCiAgICAgT3B0aW9uU2V0PERp
c2FibGVkQWRhcHRhdGlvbnM+IGRpc2FibGVkQWRhcHRhdGlvbnMoKSBjb25zdCB7IHJldHVybiBt
X2Rpc2FibGVkQWRhcHRhdGlvbnM7IH0KLSNpZm5kZWYgTkRFQlVHCisjaWYgQVNTRVJUX0VOQUJM
RUQKICAgICBib29sIGRpZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hhbmdlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fZGlkRGlzcGF0Y2hWaWV3cG9ydFByb3BlcnRpZXNDaGFuZ2VkOyB9CiAjZW5k
aWYKIApAQCAtMjAyMiw3ICsyMDIyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzSGFkQ2Fw
dHVyZU1lZGlhU3RyZWFtVHJhY2sgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSNpZm5kZWYgTkRFQlVH
CisjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBib29sIG1fZGlkRGlzcGF0Y2hWaWV3cG9ydFByb3Bl
cnRpZXNDaGFuZ2VkIHsgZmFsc2UgfTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCA4ZTA4YTMzZGRkMWVlNDRiOTIzNjdi
Y2RkOWQxMjFmZmMwNmFkNTU3Li43YzFlZjc3ODdhN2ViYTliYTI3ZWNhNjdmNGI1YzRkODY2NDFi
NjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5j
cHAKQEAgLTYzNyw3ICs2MzcsOSBAQCBPcHRpb25hbDxGbG9hdFF1YWQ+IEFyZ3VtZW50Q29kZXI8
RmxvYXRRdWFkPjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CiAgICAgcmV0dXJuIGZsb2F0UXVhZDsKIH0KKyNlbmRpZiAvLyBQTEFURk9STShJ
T1NfRkFNSUxZKQogCisjaWYgRU5BQkxFKE1FVEFfVklFV1BPUlQpCiB2b2lkIEFyZ3VtZW50Q29k
ZXI8Vmlld3BvcnRBcmd1bWVudHM+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgVmll
d3BvcnRBcmd1bWVudHMmIHZpZXdwb3J0QXJndW1lbnRzKQogewogICAgIFNpbXBsZUFyZ3VtZW50
Q29kZXI8Vmlld3BvcnRBcmd1bWVudHM+OjplbmNvZGUoZW5jb2Rlciwgdmlld3BvcnRBcmd1bWVu
dHMpOwpAQCAtNjU1LDggKzY1NywxOCBAQCBPcHRpb25hbDxWaWV3cG9ydEFyZ3VtZW50cz4gQXJn
dW1lbnRDb2RlcjxWaWV3cG9ydEFyZ3VtZW50cz46OmRlY29kZShEZWNvZGVyJiBkZQogICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OwogICAgIHJldHVybiB2aWV3cG9ydEFyZ3VtZW50czsKIH0K
LSNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQogCisjZW5kaWYgLy8gRU5BQkxFKE1FVEFf
VklFV1BPUlQpCisKK3ZvaWQgQXJndW1lbnRDb2RlcjxWaWV3cG9ydEF0dHJpYnV0ZXM+OjplbmNv
ZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgVmlld3BvcnRBdHRyaWJ1dGVzJiB2aWV3cG9ydEF0
dHJpYnV0ZXMpCit7CisgICAgU2ltcGxlQXJndW1lbnRDb2RlcjxWaWV3cG9ydEF0dHJpYnV0ZXM+
OjplbmNvZGUoZW5jb2Rlciwgdmlld3BvcnRBdHRyaWJ1dGVzKTsKK30KKworYm9vbCBBcmd1bWVu
dENvZGVyPFZpZXdwb3J0QXR0cmlidXRlcz46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBWaWV3
cG9ydEF0dHJpYnV0ZXMmIHZpZXdwb3J0QXR0cmlidXRlcykKK3sKKyAgICByZXR1cm4gU2ltcGxl
QXJndW1lbnRDb2RlcjxWaWV3cG9ydEF0dHJpYnV0ZXM+OjpkZWNvZGUoZGVjb2Rlciwgdmlld3Bv
cnRBdHRyaWJ1dGVzKTsKK30KIAogdm9pZCBBcmd1bWVudENvZGVyPEludFBvaW50Pjo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEludFBvaW50JiBpbnRQb2ludCkKIHsKQEAgLTc2Mywx
NiArNzc1LDYgQEAgYm9vbCBBcmd1bWVudENvZGVyPExlbmd0aD46OmRlY29kZShEZWNvZGVyJiBk
ZWNvZGVyLCBMZW5ndGgmIGxlbmd0aCkKICAgICByZXR1cm4gU2ltcGxlQXJndW1lbnRDb2RlcjxM
ZW5ndGg+OjpkZWNvZGUoZGVjb2RlciwgbGVuZ3RoKTsKIH0KIAotdm9pZCBBcmd1bWVudENvZGVy
PFZpZXdwb3J0QXR0cmlidXRlcz46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBWaWV3
cG9ydEF0dHJpYnV0ZXMmIHZpZXdwb3J0QXR0cmlidXRlcykKLXsKLSAgICBTaW1wbGVBcmd1bWVu
dENvZGVyPFZpZXdwb3J0QXR0cmlidXRlcz46OmVuY29kZShlbmNvZGVyLCB2aWV3cG9ydEF0dHJp
YnV0ZXMpOwotfQotCi1ib29sIEFyZ3VtZW50Q29kZXI8Vmlld3BvcnRBdHRyaWJ1dGVzPjo6ZGVj
b2RlKERlY29kZXImIGRlY29kZXIsIFZpZXdwb3J0QXR0cmlidXRlcyYgdmlld3BvcnRBdHRyaWJ1
dGVzKQotewotICAgIHJldHVybiBTaW1wbGVBcmd1bWVudENvZGVyPFZpZXdwb3J0QXR0cmlidXRl
cz46OmRlY29kZShkZWNvZGVyLCB2aWV3cG9ydEF0dHJpYnV0ZXMpOwotfQotCiB2b2lkIEFyZ3Vt
ZW50Q29kZXI8VmVsb2NpdHlEYXRhPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFZl
bG9jaXR5RGF0YSYgdmVsb2NpdHlEYXRhKQogewogICAgIGVuY29kZXIgPDwgdmVsb2NpdHlEYXRh
Lmhvcml6b250YWxWZWxvY2l0eSA8PCB2ZWxvY2l0eURhdGEudmVydGljYWxWZWxvY2l0eSA8PCB2
ZWxvY2l0eURhdGEuc2NhbGVDaGFuZ2VSYXRlIDw8IHZlbG9jaXR5RGF0YS5sYXN0VXBkYXRlVGlt
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXgg
MzQ4MmQwNTBlNGJlZmMxMDJlMzE2ZDAxOThiMDA0ZWY2MDg0NTFiZS4uODRkNDM5YzUwNTQwNGI3
ZTU5MDViMzZlN2RlYzc2ODlkZGZhOTQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTE0OCw2ICsxNDgsOSBAQCBjbGFzcyBTZWxlY3Rpb25S
ZWN0Owogc3RydWN0IEhpZ2hsaWdodDsKIHN0cnVjdCBQYXN0ZWJvYXJkSW1hZ2U7CiBzdHJ1Y3Qg
UGFzdGVib2FyZFdlYkNvbnRlbnQ7CisjZW5kaWYKKworI2lmIEVOQUJMRShNRVRBX1ZJRVdQT1JU
KQogc3RydWN0IFZpZXdwb3J0QXJndW1lbnRzOwogI2VuZGlmCiAKQEAgLTI5NSwxMyArMjk4LDIx
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmxvYXRRdWFkPiB7
CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpGbG9hdFF1
YWQmKTsKICAgICBzdGF0aWMgT3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRRdWFkPiBkZWNvZGUoRGVj
b2RlciYpOwogfTsKKyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQogCisjaWYgRU5BQkxF
KE1FVEFfVklFV1BPUlQpCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6
OlZpZXdwb3J0QXJndW1lbnRzPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBj
b25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpOwogICAgIHN0YXRpYyBib29sIGRlY29k
ZShEZWNvZGVyJiwgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKTsKICAgICBzdGF0aWMgT3B0
aW9uYWw8V2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHM+IGRlY29kZShEZWNvZGVyJik7CiB9Owot
I2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNlbmRpZgorCit0ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcz4geworICAgIHN0
YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1
dGVzJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBXZWJDb3JlOjpWaWV3cG9y
dEF0dHJpYnV0ZXMmKTsKK307CiAKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2Vi
Q29yZTo6SW50UG9pbnQ+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0
IFdlYkNvcmU6OkludFBvaW50Jik7CkBAIC0zMzYsMTEgKzM0Nyw2IEBAIHRlbXBsYXRlPD4gc3Ry
dWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6TGVuZ3RoPiB7CiAgICAgc3RhdGljIGJvb2wgZGVj
b2RlKERlY29kZXImLCBXZWJDb3JlOjpMZW5ndGgmKTsKIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzPiB7Ci0gICAgc3RhdGlj
IHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMm
KTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFdlYkNvcmU6OlZpZXdwb3J0QXR0
cmlidXRlcyYpOwotfTsKLQogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpWZWxvY2l0eURhdGE+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0
IFdlYkNvcmU6OlZlbG9jaXR5RGF0YSYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVy
JiwgV2ViQ29yZTo6VmVsb2NpdHlEYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGUxNTg2MjFjYzQ4ODU0NzczOWJi
Yzg2NmM5YzM3NTgxYzZiMmZjZDMuLjcwYzNlYTFhYjUyZGFjMjdjZDFlZmEzZGRkOTJmZjVmYTU0
ZWZiOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCkBAIC04NCwyMSArODQsMjUgQEAgdm9pZCBXZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIg
PDwgY29sb3JTcGFjZTsKICAgICBlbmNvZGVyIDw8IHVzZVN5c3RlbUFwcGVhcmFuY2U7CiAjZW5k
aWYKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGVuY29kZXIgPDwgc2NyZWVuU2l6ZTsK
LSAgICBlbmNvZGVyIDw8IGF2YWlsYWJsZVNjcmVlblNpemU7Ci0gICAgZW5jb2RlciA8PCBvdmVy
cmlkZVNjcmVlblNpemU7Ci0gICAgZW5jb2RlciA8PCB0ZXh0QXV0b3NpemluZ1dpZHRoOworCisj
aWYgRU5BQkxFKE1FVEFfVklFV1BPUlQpCiAgICAgZW5jb2RlciA8PCBpZ25vcmVzVmlld3BvcnRT
Y2FsZUxpbWl0czsKICAgICBlbmNvZGVyIDw8IHZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdMYXlv
dXRTaXplOwogICAgIGVuY29kZXIgPDwgdmlld3BvcnRDb25maWd1cmF0aW9uTGF5b3V0U2l6ZVNj
YWxlRmFjdG9yOwogICAgIGVuY29kZXIgPDwgdmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUVm
ZmVjdGl2ZURldmljZVdpZHRoOwogICAgIGVuY29kZXIgPDwgdmlld3BvcnRDb25maWd1cmF0aW9u
Vmlld1NpemU7CisgICAgZW5jb2RlciA8PCBvdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzOworI2Vu
ZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGVuY29kZXIgPDwgc2NyZWVuU2l6
ZTsKKyAgICBlbmNvZGVyIDw8IGF2YWlsYWJsZVNjcmVlblNpemU7CisgICAgZW5jb2RlciA8PCBv
dmVycmlkZVNjcmVlblNpemU7CisgICAgZW5jb2RlciA8PCB0ZXh0QXV0b3NpemluZ1dpZHRoOwog
ICAgIGVuY29kZXIgPDwgbWF4aW11bVVub2JzY3VyZWRTaXplOwogICAgIGVuY29kZXIgPDwgZGV2
aWNlT3JpZW50YXRpb247CiAgICAgZW5jb2RlciA8PCBrZXlib2FyZElzQXR0YWNoZWQ7CiAgICAg
ZW5jb2RlciA8PCBjYW5TaG93V2hpbGVMb2NrZWQ7Ci0gICAgZW5jb2RlciA8PCBvdmVycmlkZVZp
ZXdwb3J0QXJndW1lbnRzOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgZW5jb2Rl
ciA8PCBzbWFydEluc2VydERlbGV0ZUVuYWJsZWQ7CkBAIC0yNzUsMTUgKzI3OSw3IEBAIE9wdGlv
bmFsPFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM+IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM6
OmRlY29kZShJUEM6OkRlY29kCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJh
bWV0ZXJzLnNjcmVlblNpemUpKQotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5hdmFpbGFibGVTY3JlZW5TaXplKSkKLSAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRl
cnMub3ZlcnJpZGVTY3JlZW5TaXplKSkKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLSAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMudGV4dEF1dG9zaXppbmdXaWR0aCkpCi0g
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisjaWYgRU5BQkxFKE1FVEFfVklFV1BPUlQpCiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmlnbm9yZXNWaWV3cG9ydFNjYWxlTGlt
aXRzKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHBhcmFtZXRlcnMudmlld3BvcnRDb25maWd1cmF0aW9uVmlld0xheW91dFNpemUpKQpAQCAt
Mjk0LDYgKzI5MCwyMiBAQCBPcHRpb25hbDxXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzPiBXZWJQ
YWdlQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZAogICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy52aWV3cG9y
dENvbmZpZ3VyYXRpb25WaWV3U2l6ZSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Cisg
ICAgT3B0aW9uYWw8T3B0aW9uYWw8V2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHM+PiBvdmVycmlk
ZVZpZXdwb3J0QXJndW1lbnRzOworICAgIGRlY29kZXIgPj4gb3ZlcnJpZGVWaWV3cG9ydEFyZ3Vt
ZW50czsKKyAgICBpZiAoIW92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMpCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgcGFyYW1ldGVycy5vdmVycmlkZVZpZXdwb3J0QXJndW1lbnRz
ID0gV1RGTW92ZSgqb3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50cyk7CisjZW5kaWYKKworI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnNj
cmVlblNpemUpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocGFyYW1ldGVycy5hdmFpbGFibGVTY3JlZW5TaXplKSkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMub3ZlcnJp
ZGVTY3JlZW5TaXplKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHBhcmFtZXRlcnMudGV4dEF1dG9zaXppbmdXaWR0aCkpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLm1h
eGltdW1Vbm9ic2N1cmVkU2l6ZSkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLmRldmljZU9yaWVudGF0aW9uKSkKQEAgLTMw
MiwxMiArMzE0LDYgQEAgT3B0aW9uYWw8V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycz4gV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2QKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMuY2FuU2hvd1do
aWxlTG9ja2VkKSkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgIE9wdGlvbmFs
PE9wdGlvbmFsPFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzPj4gb3ZlcnJpZGVWaWV3cG9ydEFy
Z3VtZW50czsKLSAgICBkZWNvZGVyID4+IG92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHM7Ci0gICAg
aWYgKCFvdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzKQotICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwotICAgIHBhcmFtZXRlcnMub3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50cyA9IFdURk1vdmUo
Km92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NP
QSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMu
aAppbmRleCBiM2Q1OWFkZjE0MDZhMDIyY2RlY2EzOTY0MDQxYjEzOWZmMjhhYjY1Li43NDEzNzVl
MmJiNWU2OGM5YTVmZTg2NTVmMTg1NTFkNjc3ZjYyOWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0xNDUsMjEgKzE0NSwyMyBA
QCBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgQ29sb3JTcGFjZURhdGEg
Y29sb3JTcGFjZTsKICAgICBib29sIHVzZVN5c3RlbUFwcGVhcmFuY2U7CiAjZW5kaWYKLSNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQotICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBzY3JlZW5TaXplOwot
ICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXplOwotICAgIFdlYkNvcmU6
OkZsb2F0U2l6ZSBvdmVycmlkZVNjcmVlblNpemU7Ci0gICAgZmxvYXQgdGV4dEF1dG9zaXppbmdX
aWR0aDsKKyNpZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkKICAgICBib29sIGlnbm9yZXNWaWV3cG9y
dFNjYWxlTGltaXRzOwogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSB2aWV3cG9ydENvbmZpZ3VyYXRp
b25WaWV3TGF5b3V0U2l6ZTsKICAgICBkb3VibGUgdmlld3BvcnRDb25maWd1cmF0aW9uTGF5b3V0
U2l6ZVNjYWxlRmFjdG9yOwogICAgIGRvdWJsZSB2aWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVt
RWZmZWN0aXZlRGV2aWNlV2lkdGg7CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIHZpZXdwb3J0Q29u
ZmlndXJhdGlvblZpZXdTaXplOworICAgIE9wdGlvbmFsPFdlYkNvcmU6OlZpZXdwb3J0QXJndW1l
bnRzPiBvdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzOworI2VuZGlmCisjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKKyAgICBXZWJDb3JlOjpGbG9hdFNpemUgc2NyZWVuU2l6ZTsKKyAgICBXZWJDb3Jl
OjpGbG9hdFNpemUgYXZhaWxhYmxlU2NyZWVuU2l6ZTsKKyAgICBXZWJDb3JlOjpGbG9hdFNpemUg
b3ZlcnJpZGVTY3JlZW5TaXplOworICAgIGZsb2F0IHRleHRBdXRvc2l6aW5nV2lkdGg7CiAgICAg
V2ViQ29yZTo6RmxvYXRTaXplIG1heGltdW1Vbm9ic2N1cmVkU2l6ZTsKICAgICBpbnQzMl90IGRl
dmljZU9yaWVudGF0aW9uIHsgMCB9OwogICAgIGJvb2wga2V5Ym9hcmRJc0F0dGFjaGVkIHsgZmFs
c2UgfTsKICAgICBib29sIGNhblNob3dXaGlsZUxvY2tlZCB7IGZhbHNlIH07Ci0gICAgT3B0aW9u
YWw8V2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHM+IG92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHM7
CiAjZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIHNtYXJ0SW5zZXJ0RGVsZXRl
RW5hYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IGRk
Nzk2YjgzMzIzNTllMWMzYjFlNTU3NWZkN2EwMzM1M2NiMWZhYzIuLmVjY2Y0YWUzNTY2MTk2ODA1
N2E3Y2ZlZWIyZDk1NDMxZTkyNDQ0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcApAQCAtMjg3Myw3ICsyODczLDcgQEAgdm9pZCBXS1BhZ2VDYWxsQWZ0ZXJOZXh0
UHJlc2VudGF0aW9uVXBkYXRlKFdLUGFnZVJlZiBwYWdlUmVmLCB2b2lkKiBjb250ZXh0LCBXS1AK
IAogdm9pZCBXS1BhZ2VTZXRJZ25vcmVzVmlld3BvcnRTY2FsZUxpbWl0cyhXS1BhZ2VSZWYgcGFn
ZSwgYm9vbCBpZ25vcmVzVmlld3BvcnRTY2FsZUxpbWl0cykKIHsKLSNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQorI2lmIEVOQUJMRShNRVRBX1ZJRVdQT1JUKQogICAgIHRvSW1wbChwYWdlKS0+c2V0
Rm9yY2VBbHdheXNVc2VyU2NhbGFibGUoaWdub3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHMpOwogI2Vu
ZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQppbmRleCBiZjlmZjhkMzc3OWQyZjM5YTA3YzdmZWZhZjI4ZWI2Zjk1YjYwMDA4Li44MzkzM2Uw
ZjFhZWEzYzU0ZDI5NzY2ZmEwYWQ4OTI4NjhjNGE1MTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTM0OSwxMSArMzQ5LDE0IEBAIC0g
KHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlv
biAqKWNvbmZpZ3VyYXRpb24KICAgICBbc2VsZiBfcmVnaXN0ZXJGb3JOb3RpZmljYXRpb25zXTsK
IAogICAgIF9wYWdlLT5jb250ZW50U2l6ZUNhdGVnb3J5RGlkQ2hhbmdlKFtzZWxmIF9jb250ZW50
U2l6ZUNhdGVnb3J5XSk7Ci0gICAgX3BhZ2UtPnNldEZvcmNlQWx3YXlzVXNlclNjYWxhYmxlKFtf
Y29uZmlndXJhdGlvbiBpZ25vcmVzVmlld3BvcnRTY2FsZUxpbWl0c10pOwogCiAgICAgQ0ZOb3Rp
ZmljYXRpb25DZW50ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5v
dGlmeUNlbnRlcigpLCAoX19icmlkZ2UgY29uc3Qgdm9pZCAqKShzZWxmKSwgaGFyZHdhcmVLZXli
b2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRDYWxsYmFjaywgKENGU3RyaW5nUmVmKVtOU1N0cmluZyBz
dHJpbmdXaXRoVVRGOFN0cmluZzprR1NFdmVudEhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlD
aGFuZ2VkTm90aWZpY2F0aW9uXSwgbnVsbHB0ciwgQ0ZOb3RpZmljYXRpb25TdXNwZW5zaW9uQmVo
YXZpb3JDb2FsZXNjZSk7CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorI2lmIEVO
QUJMRShNRVRBX1ZJRVdQT1JUKQorICAgIF9wYWdlLT5zZXRGb3JjZUFsd2F5c1VzZXJTY2FsYWJs
ZShbX2NvbmZpZ3VyYXRpb24gaWdub3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHNdKTsKKyNlbmRpZgor
CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIF9pbXBsID0gbWFrZVVuaXF1ZTxXZWJLaXQ6OldlYlZp
ZXdJbXBsPihzZWxmLCBzZWxmLCBwcm9jZXNzUG9vbCwgcGFnZUNvbmZpZ3VyYXRpb24uY29weVJl
ZigpKTsKICAgICBfcGFnZSA9ICZfaW1wbC0+cGFnZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYmIxMjAxZGExMGQ4MWUxYzYxOWY2NGIwMjZmYmI2MTAy
OWZmOGFmNS4uNmI1NGQ2MzQwOTI1NTA1ZTg2ZGU5YmU0MzRkODA3OTJkMzdmYjYxMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03NTMzLDIwICs3NTMzLDI0
IEBAIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5OjpjcmVhdGlvblBhcmFt
ZXRlcnMoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jCiAgICAgcGFyYW1ldGVycy5jb2xvclNwYWNlID0g
cGFnZUNsaWVudCgpLmNvbG9yU3BhY2UoKTsKICAgICBwYXJhbWV0ZXJzLnVzZVN5c3RlbUFwcGVh
cmFuY2UgPSBtX3VzZVN5c3RlbUFwcGVhcmFuY2U7CiAjZW5kaWYKKworI2lmIEVOQUJMRShNRVRB
X1ZJRVdQT1JUKQorICAgIHBhcmFtZXRlcnMuaWdub3Jlc1ZpZXdwb3J0U2NhbGVMaW1pdHMgPSBt
X2ZvcmNlQWx3YXlzVXNlclNjYWxhYmxlOworICAgIHBhcmFtZXRlcnMudmlld3BvcnRDb25maWd1
cmF0aW9uVmlld0xheW91dFNpemUgPSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvblZpZXdMYXlvdXRT
aXplOworICAgIHBhcmFtZXRlcnMudmlld3BvcnRDb25maWd1cmF0aW9uTGF5b3V0U2l6ZVNjYWxl
RmFjdG9yID0gbV92aWV3cG9ydENvbmZpZ3VyYXRpb25MYXlvdXRTaXplU2NhbGVGYWN0b3I7Cisg
ICAgcGFyYW1ldGVycy52aWV3cG9ydENvbmZpZ3VyYXRpb25NaW5pbXVtRWZmZWN0aXZlRGV2aWNl
V2lkdGggPSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1FZmZlY3RpdmVEZXZpY2VXaWR0
aDsKKyAgICBwYXJhbWV0ZXJzLm92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMgPSBtX292ZXJyaWRl
Vmlld3BvcnRBcmd1bWVudHM7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgcGFyYW1ldGVycy5zY3JlZW5TaXplID0gc2NyZWVuU2l6ZSgpOwogICAgIHBhcmFtZXRlcnMu
YXZhaWxhYmxlU2NyZWVuU2l6ZSA9IGF2YWlsYWJsZVNjcmVlblNpemUoKTsKICAgICBwYXJhbWV0
ZXJzLm92ZXJyaWRlU2NyZWVuU2l6ZSA9IG92ZXJyaWRlU2NyZWVuU2l6ZSgpOwogICAgIHBhcmFt
ZXRlcnMudGV4dEF1dG9zaXppbmdXaWR0aCA9IHRleHRBdXRvc2l6aW5nV2lkdGgoKTsKICAgICBw
YXJhbWV0ZXJzLm1pbWVUeXBlc1dpdGhDdXN0b21Db250ZW50UHJvdmlkZXJzID0gcGFnZUNsaWVu
dCgpLm1pbWVUeXBlc1dpdGhDdXN0b21Db250ZW50UHJvdmlkZXJzKCk7Ci0gICAgcGFyYW1ldGVy
cy5pZ25vcmVzVmlld3BvcnRTY2FsZUxpbWl0cyA9IG1fZm9yY2VBbHdheXNVc2VyU2NhbGFibGU7
Ci0gICAgcGFyYW1ldGVycy52aWV3cG9ydENvbmZpZ3VyYXRpb25WaWV3TGF5b3V0U2l6ZSA9IG1f
dmlld3BvcnRDb25maWd1cmF0aW9uVmlld0xheW91dFNpemU7Ci0gICAgcGFyYW1ldGVycy52aWV3
cG9ydENvbmZpZ3VyYXRpb25MYXlvdXRTaXplU2NhbGVGYWN0b3IgPSBtX3ZpZXdwb3J0Q29uZmln
dXJhdGlvbkxheW91dFNpemVTY2FsZUZhY3RvcjsKLSAgICBwYXJhbWV0ZXJzLnZpZXdwb3J0Q29u
ZmlndXJhdGlvbk1pbmltdW1FZmZlY3RpdmVEZXZpY2VXaWR0aCA9IG1fdmlld3BvcnRDb25maWd1
cmF0aW9uTWluaW11bUVmZmVjdGl2ZURldmljZVdpZHRoOwogICAgIHBhcmFtZXRlcnMubWF4aW11
bVVub2JzY3VyZWRTaXplID0gbV9tYXhpbXVtVW5vYnNjdXJlZFNpemU7CiAgICAgcGFyYW1ldGVy
cy5kZXZpY2VPcmllbnRhdGlvbiA9IG1fZGV2aWNlT3JpZW50YXRpb247CiAgICAgcGFyYW1ldGVy
cy5rZXlib2FyZElzQXR0YWNoZWQgPSBpc0luSGFyZHdhcmVLZXlib2FyZE1vZGUoKTsKLSAgICBw
YXJhbWV0ZXJzLm92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMgPSBtX292ZXJyaWRlVmlld3BvcnRB
cmd1bWVudHM7CiAgICAgcGFyYW1ldGVycy5jYW5TaG93V2hpbGVMb2NrZWQgPSBtX2NvbmZpZ3Vy
YXRpb24tPmNhblNob3dXaGlsZUxvY2tlZCgpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOTE0NGU2ODc1NmVlN2E5YWU3OWVkNDY1OWQ1NGMzMjdm
NDU5MGJlMS4uZDAyZTNjMWRlMmZmMTczZjk4MDAzY2Y4MTUwZGEzZWJiNjhmOWI2MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTIyODUsNyArMjI4NSw2IEBAIHBy
aXZhdGU6CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIE9wdGlvbmFsPFdlYkNvcmU6
OklucHV0TW9kZT4gbV9wZW5kaW5nSW5wdXRNb2RlQ2hhbmdlOwotICAgIE9wdGlvbmFsPFdlYkNv
cmU6OlZpZXdwb3J0QXJndW1lbnRzPiBtX292ZXJyaWRlVmlld3BvcnRBcmd1bWVudHM7CiAgICAg
VHJhbnNhY3Rpb25JRCBtX2ZpcnN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEFmdGVyRGlkQ29tbWl0
TG9hZDsKICAgICBpbnQzMl90IG1fZGV2aWNlT3JpZW50YXRpb24geyAwIH07CiAgICAgYm9vbCBt
X2hhc1JlY2VpdmVkTGF5ZXJUcmVlVHJhbnNhY3Rpb25BZnRlckRpZENvbW1pdExvYWQgeyB0cnVl
IH07CkBAIC0yNTk0LDE0ICsyNTkzLDE4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3JlcXVpcmVz
VGFyZ2V0TW9uaXRvcmluZyB7IGZhbHNlIH07CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCi0gICAgRnVuY3Rpb248Ym9vbCgpPiBtX2RldmljZU9yaWVudGF0aW9uVXNlclBlcm1p
c3Npb25IYW5kbGVyRm9yVGVzdGluZzsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8RWxlbWVudERpZEZv
Y3VzQXJndW1lbnRzPiBtX2RlZmVycmVkRWxlbWVudERpZEZvY3VzQXJndW1lbnRzOwotICAgIGJv
b2wgbV93YWl0aW5nRm9yUG9zdExheW91dEVkaXRvclN0YXRlVXBkYXRlQWZ0ZXJGb2N1c2luZ0Vs
ZW1lbnQgeyBmYWxzZSB9OworI2lmIEVOQUJMRShNRVRBX1ZJRVdQT1JUKQogICAgIGJvb2wgbV9m
b3JjZUFsd2F5c1VzZXJTY2FsYWJsZSB7IGZhbHNlIH07CiAgICAgV2ViQ29yZTo6RmxvYXRTaXpl
IG1fdmlld3BvcnRDb25maWd1cmF0aW9uVmlld0xheW91dFNpemU7CiAgICAgZG91YmxlIG1fdmll
d3BvcnRDb25maWd1cmF0aW9uTGF5b3V0U2l6ZVNjYWxlRmFjdG9yIHsgMSB9OwogICAgIGRvdWJs
ZSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1FZmZlY3RpdmVEZXZpY2VXaWR0aCB7IDAg
fTsKKyAgICBPcHRpb25hbDxXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cz4gbV9vdmVycmlkZVZp
ZXdwb3J0QXJndW1lbnRzOworI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAg
IEZ1bmN0aW9uPGJvb2woKT4gbV9kZXZpY2VPcmllbnRhdGlvblVzZXJQZXJtaXNzaW9uSGFuZGxl
ckZvclRlc3Rpbmc7CisgICAgc3RkOjp1bmlxdWVfcHRyPEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50
cz4gbV9kZWZlcnJlZEVsZW1lbnREaWRGb2N1c0FyZ3VtZW50czsKKyAgICBib29sIG1fd2FpdGlu
Z0ZvclBvc3RMYXlvdXRFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXNpbmdFbGVtZW50IHsgZmFs
c2UgfTsKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV9tYXhpbXVtVW5vYnNjdXJlZFNpemU7CiAg
ICAgYm9vbCBtX2xhc3RPYnNlcnZlZFN0YXRlV2FzQmFja2dyb3VuZCB7IGZhbHNlIH07CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
N2ViZTFkZjBmMjlkNDkyMzJjOGJhMTJhYWUwYjMwMzE5MTQxOGRhNS4uYjRkYTkxODhiZGFiODQx
NjJjZjc0NjBkNWEyY2UzMzE1ZWQzNjdmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTQyMiw4ICs0MjIsMTAgQEAgV2ViUGFnZTo6V2ViUGFn
ZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJh
bWV0ZXJzKQogICAgICwgbV9wYWdlU2Nyb2xsZWRIeXN0ZXJlc2lzKFt0aGlzXShQQUw6Okh5c3Rl
cmVzaXNTdGF0ZSBzdGF0ZSkgeyBpZiAoc3RhdGUgPT0gUEFMOjpIeXN0ZXJlc2lzU3RhdGU6OlN0
b3BwZWQpIHBhZ2VTdG9wcGVkU2Nyb2xsaW5nKCk7IH0sIHBhZ2VTY3JvbGxIeXN0ZXJlc2lzRHVy
YXRpb24pCiAgICAgLCBtX2NhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChwYXJhbWV0ZXJz
LmNhblJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCkKICAgICAsIG1fY2FuUnVuTW9kYWwocGFy
YW1ldGVycy5jYW5SdW5Nb2RhbCkKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIEVOQUJM
RShNRVRBX1ZJRVdQT1JUKQogICAgICwgbV9mb3JjZUFsd2F5c1VzZXJTY2FsYWJsZShwYXJhbWV0
ZXJzLmlnbm9yZXNWaWV3cG9ydFNjYWxlTGltaXRzKQorI2VuZGlmCisjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICAsIG1fc2NyZWVuU2l6ZShwYXJhbWV0ZXJzLnNjcmVlblNpemUpCiAgICAg
LCBtX2F2YWlsYWJsZVNjcmVlblNpemUocGFyYW1ldGVycy5hdmFpbGFibGVTY3JlZW5TaXplKQog
ICAgICwgbV9vdmVycmlkZVNjcmVlblNpemUocGFyYW1ldGVycy5vdmVycmlkZVNjcmVlblNpemUp
CkBAIC01ODE1LDYgKzU4MTcsNyBAQCB2b2lkIFdlYlBhZ2U6OmRpZENvbW1pdExvYWQoV2ViRnJh
bWUqIGZyYW1lKQogICAgICAgICBpZiAocGFnZSAmJiBwYWdlLT5wYWdlU2NhbGVGYWN0b3IoKSAh
PSAxKQogICAgICAgICAgICAgc2NhbGVQYWdlKDEsIEludFBvaW50KCkpOwogICAgIH0KKwogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgbV9oYXNSZWNlaXZlZFZpc2libGVDb250ZW50UmVj
dHNBZnRlckRpZENvbW1pdExvYWQgPSBmYWxzZTsKICAgICBtX2hhc1Jlc3RvcmVkRXhwb3NlZENv
bnRlbnRSZWN0QWZ0ZXJEaWRDb21taXRMb2FkID0gZmFsc2U7CkBAIC01ODI2LDcgKzU4MjksOSBA
QCB2b2lkIFdlYlBhZ2U6OmRpZENvbW1pdExvYWQoV2ViRnJhbWUqIGZyYW1lKQogI2lmIEVOQUJM
RShJT1NfVE9VQ0hfRVZFTlRTKQogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmV2ZW50RGlz
cGF0Y2hlcigpLmNsZWFyUXVldWVkVG91Y2hFdmVudHNGb3JQYWdlKCp0aGlzKTsKICNlbmRpZgor
I2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKKyNpZiBFTkFCTEUoTUVUQV9WSUVXUE9S
VCkKICAgICByZXNldFZpZXdwb3J0RGVmYXVsdENvbmZpZ3VyYXRpb24oZnJhbWUpOwogICAgIGNv
bnN0IEZyYW1lKiBjb3JlRnJhbWUgPSBmcmFtZS0+Y29yZUZyYW1lKCk7CiAgICAgCkBAIC01ODQ0
LDcgKzU4NDksNyBAQCB2b2lkIFdlYlBhZ2U6OmRpZENvbW1pdExvYWQoV2ViRnJhbWUqIGZyYW1l
KQogCiAgICAgaWYgKHZpZXdwb3J0Q2hhbmdlZCkKICAgICAgICAgdmlld3BvcnRDb25maWd1cmF0
aW9uQ2hhbmdlZCgpOwotI2VuZGlmCisjZW5kaWYgLy8gRU5BQkxFKE1FVEFfVklFV1BPUlQpCiAK
ICNpZiBFTkFCTEUoVklFV1BPUlRfUkVTSVpJTkcpCiAgICAgbV9zaHJpbmtUb0ZpdENvbnRlbnRU
aW1lci5zdG9wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
aW5kZXggZTM1MmQ0NDZhMzQ5YWMyZjViZGU4N2EyY2FlMTI2MDZmOWExNzYzMi4uNGQ4ODZiY2Ex
MWQwM2UzNjk3MGQwNDU1NWU4NzY0MDE1MmE5NmY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTA3LDEwICsxMDcsMTMgQEAgdHlwZWRlZiBzdHJ1
Y3QgX0F0a09iamVjdCBBdGtPYmplY3Q7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbmNs
dWRlICJHZXN0dXJlVHlwZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ludFBvaW50SGFzaC5oPgot
I2luY2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRDb25maWd1cmF0aW9uLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9XS0NvbnRlbnRPYnNlcnZhdGlvbi5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVUQV9W
SUVXUE9SVCkKKyNpbmNsdWRlIDxXZWJDb3JlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5oPgorI2Vu
ZGlmCisKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAjaW5jbHVkZSA8V2ViQ29y
ZS9BcHBsaWNhdGlvbk1hbmlmZXN0Lmg+CiAjZW5kaWYKQEAgLTYzNiw5ICs2MzksNiBAQCBwdWJs
aWM6CiAgICAgaW50MzJfdCBkZXZpY2VPcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGV2
aWNlT3JpZW50YXRpb247IH0KICAgICB2b2lkIGRpZFJlY2VpdmVNb2JpbGVEb2NUeXBlKGJvb2wp
OwogCi0gICAgdm9pZCBzZXRVc2VUZXN0aW5nVmlld3BvcnRDb25maWd1cmF0aW9uKGJvb2wgdXNl
VGVzdGluZ1ZpZXdwb3J0KSB7IG1fdXNlVGVzdGluZ1ZpZXdwb3J0Q29uZmlndXJhdGlvbiA9IHVz
ZVRlc3RpbmdWaWV3cG9ydDsgfQotICAgIGJvb2wgaXNVc2luZ1Rlc3RpbmdWaWV3cG9ydENvbmZp
Z3VyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3VzZVRlc3RpbmdWaWV3cG9ydENvbmZpZ3VyYXRp
b247IH0KLQogICAgIGRvdWJsZSBtaW5pbXVtUGFnZVNjYWxlRmFjdG9yKCkgY29uc3Q7CiAgICAg
ZG91YmxlIG1heGltdW1QYWdlU2NhbGVGYWN0b3IoKSBjb25zdDsKICAgICBkb3VibGUgbWF4aW11
bVBhZ2VTY2FsZUZhY3Rvcklnbm9yaW5nQWx3YXlzU2NhbGFibGUoKSBjb25zdDsKQEAgLTk2Nywx
MCArOTY3LDggQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlVmlzaWJpbGl0eVN0YXRlKGJvb2wg
aXNJbml0aWFsU3RhdGUgPSBmYWxzZSk7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAg
IHZvaWQgc2V0Vmlld3BvcnRDb25maWd1cmF0aW9uVmlld0xheW91dFNpemUoY29uc3QgV2ViQ29y
ZTo6RmxvYXRTaXplJiwgZG91YmxlIHNjYWxlRmFjdG9yLCBkb3VibGUgbWluaW11bUVmZmVjdGl2
ZURldmljZVdpZHRoKTsKICAgICB2b2lkIHNldE1heGltdW1Vbm9ic2N1cmVkU2l6ZShjb25zdCBX
ZWJDb3JlOjpGbG9hdFNpemUmKTsKICAgICB2b2lkIHNldERldmljZU9yaWVudGF0aW9uKGludDMy
X3QpOwotICAgIHZvaWQgc2V0T3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBPcHRpb25h
bDxXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cz4mKTsKICAgICB2b2lkIGR5bmFtaWNWaWV3cG9y
dFNpemVVcGRhdGUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiB2aWV3TGF5b3V0U2l6ZSwgY29u
c3QgV2ViQ29yZTo6RmxvYXRTaXplJiBtYXhpbXVtVW5vYnNjdXJlZFNpemUsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYgdGFyZ2V0RXhwb3NlZENvbnRlbnRSZWN0LCBjb25zdCBXZWJDb3JlOjpG
bG9hdFJlY3QmIHRhcmdldFVub2JzY3VyZWRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3Qm
IHRhcmdldFVub2JzY3VyZWRSZWN0SW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXMsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0Qm94RXh0ZW50JiB0YXJnZXRVbm9ic2N1cmVkU2FmZUFyZWFJbnNldHMsIGRvdWJs
ZSBzY2FsZSwgaW50MzJfdCBkZXZpY2VPcmllbnRhdGlvbiwgRHluYW1pY1ZpZXdwb3J0U2l6ZVVw
ZGF0ZUlEKTsKICAgICBib29sIHNjYWxlV2FzU2V0QnlVSVByb2Nlc3MoKSBjb25zdCB7IHJldHVy
biBtX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3M7IH0KICAgICB2b2lkIHdpbGxTdGFydFVzZXJUcmln
Z2VyZWRab29taW5nKCk7CkBAIC05ODIsNyArOTgwLDYgQEAgcHVibGljOgogICAgIHZvaWQgZGlk
RmluaXNoQ29udGVudENoYW5nZU9ic2VydmluZyhXS0NvbnRlbnRDaGFuZ2UpOwogCiAgICAgYm9v
bCBwbGF0Zm9ybVByZWZlcnNUZXh0TGVnaWJpbGl0eUJhc2VkWm9vbVNjYWxpbmcoKSBjb25zdDsK
LSAgICBjb25zdCBXZWJDb3JlOjpWaWV3cG9ydENvbmZpZ3VyYXRpb24mIHZpZXdwb3J0Q29uZmln
dXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRDb25maWd1cmF0aW9uOyB9CiAKICAg
ICB2b2lkIGhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2VkKGJvb2wga2V5Ym9hcmRJ
c0F0dGFjaGVkKTsKIApAQCAtOTkxLDYgKzk4OCwxNSBAQCBwdWJsaWM6CiAgICAgYm9vbCBjYW5T
aG93V2hpbGVMb2NrZWQoKSBjb25zdCB7IHJldHVybiBtX2NhblNob3dXaGlsZUxvY2tlZDsgfQog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVUQV9WSUVXUE9SVCkKKyAgICB2b2lkIHNldFZpZXdwb3J0
Q29uZmlndXJhdGlvblZpZXdMYXlvdXRTaXplKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYsIGRv
dWJsZSBzY2FsZUZhY3RvciwgZG91YmxlIG1pbmltdW1FZmZlY3RpdmVEZXZpY2VXaWR0aCk7Cisg
ICAgdm9pZCBzZXRPdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzKGNvbnN0IE9wdGlvbmFsPFdlYkNv
cmU6OlZpZXdwb3J0QXJndW1lbnRzPiYpOworICAgIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0Q29u
ZmlndXJhdGlvbiYgdmlld3BvcnRDb25maWd1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV92aWV3
cG9ydENvbmZpZ3VyYXRpb247IH0KKworICAgIHZvaWQgc2V0VXNlVGVzdGluZ1ZpZXdwb3J0Q29u
ZmlndXJhdGlvbihib29sIHVzZVRlc3RpbmdWaWV3cG9ydCkgeyBtX3VzZVRlc3RpbmdWaWV3cG9y
dENvbmZpZ3VyYXRpb24gPSB1c2VUZXN0aW5nVmlld3BvcnQ7IH0KKyAgICBib29sIGlzVXNpbmdU
ZXN0aW5nVmlld3BvcnRDb25maWd1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV91c2VUZXN0aW5n
Vmlld3BvcnRDb25maWd1cmF0aW9uOyB9CisjZW5kaWYKKwogI2lmIEVOQUJMRShVSV9TSURFX0NP
TVBPU0lUSU5HKQogICAgIE9wdGlvbmFsPGZsb2F0PiBzY2FsZUZyb21VSVByb2Nlc3MoY29uc3Qg
VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRlVmlz
aWJsZUNvbnRlbnRSZWN0cyhjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvJiwgTW9u
b3RvbmljVGltZSBvbGRlc3RUaW1lc3RhbXApOwpAQCAtMTI4Nyw5ICsxMjkzLDYgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jV2ViUGFnZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4mKTsKIAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgdm9pZCByZXNldFZpZXdwb3J0RGVmYXVsdENvbmZp
Z3VyYXRpb24oV2ViRnJhbWUqIG1haW5GcmFtZSwgYm9vbCBoYXNNb2JpbGVEb2NUeXBlID0gZmFs
c2UpOwotICAgIGVudW0gY2xhc3MgWm9vbVRvSW5pdGlhbFNjYWxlIHsgTm8sIFllcyB9OwotICAg
IHZvaWQgdmlld3BvcnRDb25maWd1cmF0aW9uQ2hhbmdlZChab29tVG9Jbml0aWFsU2NhbGUgPSBa
b29tVG9Jbml0aWFsU2NhbGU6Ok5vKTsKICAgICB2b2lkIHVwZGF0ZVZpZXdwb3J0U2l6ZUZvckNT
U1ZpZXdwb3J0VW5pdHMoKTsKIAogICAgIHN0YXRpYyB2b2lkIGNvbnZlcnRTZWxlY3Rpb25SZWN0
c1RvUm9vdFZpZXcoV2ViQ29yZTo6RnJhbWVWaWV3KiwgVmVjdG9yPFdlYkNvcmU6OlNlbGVjdGlv
blJlY3Q+Jik7CkBAIC0xMzEwLDggKzEzMTMsMTUgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8U2hh
cmVhYmxlQml0bWFwPiBzaGFyZWFibGVCaXRtYXBTbmFwc2hvdEZvck5vZGUoV2ViQ29yZTo6RWxl
bWVudCYpOwogICAgIFdlYkF1dG9jb3JyZWN0aW9uQ29udGV4dCBhdXRvY29ycmVjdGlvbkNvbnRl
eHQoKTsKICAgICBib29sIGFwcGx5QXV0b2NvcnJlY3Rpb25JbnRlcm5hbChjb25zdCBTdHJpbmcm
IGNvcnJlY3Rpb24sIGNvbnN0IFN0cmluZyYgb3JpZ2luYWxUZXh0KTsKKyNlbmRpZgorCisjaWYg
RU5BQkxFKE1FVEFfVklFV1BPUlQpCisgICAgdm9pZCByZXNldFZpZXdwb3J0RGVmYXVsdENvbmZp
Z3VyYXRpb24oV2ViRnJhbWUqIG1haW5GcmFtZSwgYm9vbCBoYXNNb2JpbGVEb2NUeXBlID0gZmFs
c2UpOworICAgIGVudW0gY2xhc3MgWm9vbVRvSW5pdGlhbFNjYWxlIHsgTm8sIFllcyB9OworICAg
IHZvaWQgdmlld3BvcnRDb25maWd1cmF0aW9uQ2hhbmdlZChab29tVG9Jbml0aWFsU2NhbGUgPSBa
b29tVG9Jbml0aWFsU2NhbGU6Ok5vKTsKICAgICBib29sIHNob3VsZElnbm9yZU1ldGFWaWV3cG9y
dCgpIGNvbnN0OwogI2VuZGlmCisKICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgIHZv
aWQgdGV4dEF1dG9TaXppbmdBZGp1c3RtZW50VGltZXJGaXJlZCgpOwogICAgIHZvaWQgcmVzZXRU
ZXh0QXV0b3NpemluZygpOwpAQCAtMTcwNiwxMCArMTcxNiw2IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2Fsd2F5c1Nob3dzSG9yaXpvbnRhbFNjcm9sbGVyIHsgZmFsc2UgfTsKICAgICBib29sIG1f
YWx3YXlzU2hvd3NWZXJ0aWNhbFNjcm9sbGVyIHsgZmFsc2UgfTsKIAotI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCi0gICAgYm9vbCBtX2lnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRzIHsg
ZmFsc2UgfTsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKFBSSU1BUllfU05BUFNIT1RURURfUExVR0lO
X0hFVVJJU1RJQykKICAgICBib29sIG1fcmVhZHlUb0ZpbmRQcmltYXJ5U25hcHNob3R0ZWRQbHVn
aW4geyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaWRGaW5kUHJpbWFyeVNuYXBzaG90dGVkUGx1Z2lu
IHsgZmFsc2UgfTsKQEAgLTE4OTIsNyArMTg5OCwxNCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShJ
T1NfVE9VQ0hfRVZFTlRTKQogICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+IG1fcGVu
ZGluZ1N5bmNocm9ub3VzVG91Y2hFdmVudFJlcGx5OwogI2VuZGlmCi0gICAgCisKKyNpZiBFTkFC
TEUoTUVUQV9WSUVXUE9SVCkKKyAgICBXZWJDb3JlOjpWaWV3cG9ydENvbmZpZ3VyYXRpb24gbV92
aWV3cG9ydENvbmZpZ3VyYXRpb247CisgICAgYm9vbCBtX3VzZVRlc3RpbmdWaWV3cG9ydENvbmZp
Z3VyYXRpb24geyBmYWxzZSB9OworICAgIGJvb2wgbV9mb3JjZUFsd2F5c1VzZXJTY2FsYWJsZSB7
IGZhbHNlIH07CisgICAgYm9vbCBtX2lnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRzIHsg
ZmFsc2UgfTsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBSZWZQdHI8
V2ViQ29yZTo6UmFuZ2U+IG1fY3VycmVudFdvcmRSYW5nZTsKICAgICBSZWZQdHI8V2ViQ29yZTo6
Tm9kZT4gbV9pbnRlcmFjdGlvbk5vZGU7CkBAIC0xOTA3LDE2ICsxOTIwLDEyIEBAIHByaXZhdGU6
CiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBtX3BvdGVudGlhbFRhcExvY2F0aW9uOwogICAgIFJl
ZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gbV9wb3RlbnRpYWxUYXBTZWN1cml0eU9yaWdp
bjsKIAotICAgIFdlYkNvcmU6OlZpZXdwb3J0Q29uZmlndXJhdGlvbiBtX3ZpZXdwb3J0Q29uZmln
dXJhdGlvbjsKLQogICAgIGJvb2wgbV9oYXNSZWNlaXZlZFZpc2libGVDb250ZW50UmVjdHNBZnRl
ckRpZENvbW1pdExvYWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNSZXN0b3JlZEV4cG9zZWRD
b250ZW50UmVjdEFmdGVyRGlkQ29tbWl0TG9hZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3NjYWxl
V2FzU2V0QnlVSVByb2Nlc3MgeyBmYWxzZSB9OwogICAgIGJvb2wgbV91c2VySGFzQ2hhbmdlZFBh
Z2VTY2FsZUZhY3RvciB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc1N0YWJsZVBhZ2VTY2FsZUZh
Y3RvciB7IHRydWUgfTsKLSAgICBib29sIG1fdXNlVGVzdGluZ1ZpZXdwb3J0Q29uZmlndXJhdGlv
biB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzSW5TdGFibGVTdGF0ZSB7IHRydWUgfTsKLSAgICBi
b29sIG1fZm9yY2VBbHdheXNVc2VyU2NhbGFibGUgeyBmYWxzZSB9OwogICAgIE1vbm90b25pY1Rp
bWUgbV9vbGRlc3ROb25TdGFibGVVcGRhdGVWaXNpYmxlQ29udGVudFJlY3RzVGltZXN0YW1wOwog
ICAgIFNlY29uZHMgbV9lc3RpbWF0ZWRMYXRlbmN5IHsgMCB9OwogICAgIFdlYkNvcmU6OkZsb2F0
U2l6ZSBtX3NjcmVlblNpemU7Cg==
</data>
<flag name="review"
          id="403180"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>