<?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>221869</bug_id>
          
          <creation_ts>2021-02-13 12:25:08 -0800</creation_ts>
          <short_desc>[macOS] Add a ShareableBitmap with decoded image data to WebHitTestResultData</short_desc>
          <delta_ts>2021-02-15 15:04:17 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>221917</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>hi</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1728937</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-13 12:25:08 -0800</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729311</commentid>
    <comment_count>1</comment_count>
      <attachid>420351</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-15 13:09:12 -0800</bug_when>
    <thetext>Created attachment 420351
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729341</commentid>
    <comment_count>2</comment_count>
      <attachid>420363</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-15 13:33:00 -0800</bug_when>
    <thetext>Created attachment 420363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729375</commentid>
    <comment_count>3</comment_count>
      <attachid>420363</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-02-15 14:27:00 -0800</bug_when>
    <thetext>Comment on attachment 420363
Patch

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729406</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-15 15:03:09 -0800</bug_when>
    <thetext>Committed r272884: &lt;https://commits.webkit.org/r272884&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420363.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729411</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-15 15:04:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/74367381&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420351</attachid>
            <date>2021-02-15 13:09:12 -0800</date>
            <delta_ts>2021-02-15 13:32:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221869-20210215130911.patch</filename>
            <type>text/plain</type>
            <size>19907</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ0OTY3YTYzNTdhZjM1YTEz
MWZkNjllYzgyNjVjMTg1ZjA1NjM0OWQuLjBmYjJhYTZjMzdiYzI4ODNiNzQwNzFlNzBkMDNkZDhj
Nzg3MDdmNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDItMTMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBBZGQgYSBT
aGFyZWFibGVCaXRtYXAgd2l0aCBkZWNvZGVkIGltYWdlIGRhdGEgdG8gV2ViSGl0VGVzdFJlc3Vs
dERhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MTg2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBgV2ViSGl0VGVzdFJlc3VsdERhdGE6OmltYWdlQml0bWFwYDsgd2UnbGwgdXNlIHRoaXMgaW4g
ZnV0dXJlIHBhdGNoZXMgdG8gdmVuZCBkZWNvZGVkIGltYWdlIGRhdGEgdG8gc3lzdGVtCisgICAg
ICAgIGZyYW1ld29ya3MgZm9yIGltYWdlIGV4dHJhY3Rpb24uCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViSGl0VGVzdFJlc3VsdERhdGEuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJIaXRUZXN0UmVz
dWx0RGF0YTo6V2ViSGl0VGVzdFJlc3VsdERhdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJIaXRU
ZXN0UmVzdWx0RGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViSGl0VGVz
dFJlc3VsdERhdGE6OmRlY29kZSk6CisKKyAgICAgICAgQWRkIGBpbWFnZUJpdG1hcGAgYW5kIGRl
Y29kaW5nL2VuY29kaW5nIHN1cHBvcnQgdXNpbmcgYFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlYC4K
KworICAgICAgICAqIFNoYXJlZC9XZWJIaXRUZXN0UmVzdWx0RGF0YS5oOgorICAgICAgICAqIFNv
dXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvU2hhcmVhYmxlQml0bWFwVXRpbGl0
aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OmNyZWF0ZVNoYXJlYWJsZUJpdG1hcCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9TaGFyZWFibGVCaXRtYXBVdGls
aXRpZXMuaDogQWRkZWQuCisKKyAgICAgICAgUHVsbCBsb2dpYyB0byBkZWNvZGUgcmVuZGVyZWQg
aW1hZ2UgZGF0YSBpbnRvIGEgYml0bWFwIGludG8gYSBzZXBhcmF0ZSBoZWxwZXIgZnVuY3Rpb247
IHVzZSB0aGlzIGhlbHBlciBmdW5jdGlvbgorICAgICAgICBpbiBgV2ViSGl0VGVzdFJlc3VsdERh
dGFgLCBhcyB3ZWxsIGFzIGEgY291cGxlIG9mIGV4aXN0aW5nIGNhbGwgc2l0ZXMgaW4gYFdlYlBh
Z2VgLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpyZXF1ZXN0SW1hZ2VFeHRyYWN0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6c2hhcmVhYmxlQml0bWFwIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6aW1hZ2VQb3NpdGlvbklu
Zm9ybWF0aW9uKToKKwogMjAyMS0wMi0xMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBbV2VicGFnZSB0cmFuc2xhdGlvbl0gQWRkIHN1cHBvcnQgZm9y
IHRoZSAtX3RyYW5zbGF0ZTogYWN0aW9uIG9uIFdLQ29udGVudFZpZXcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHREYXRhLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHREYXRhLmNwcAppbmRleCBkYWY5MDA0ZThiN2NlYjk0
YmUwYTJjMTA4NzNhYTRkYTU3MWZmZmQ0Li5iNjJkYjM3ZjE2OGY2Nzg3NTc3ODUyZWEyYzY0OTJi
YWE1ZThkYjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJIaXRUZXN0UmVz
dWx0RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdERh
dGEuY3BwCkBAIC0yMCwxMyArMjAsMTQgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJIaXRUZXN0UmVzdWx0RGF0YS5oIgogCisjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwVXRp
bGl0aWVzLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9Eb2N1bWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWUuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSGl0VGVzdFJlc3VsdC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvTm9kZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyT2Jq
ZWN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJJbWFnZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgpAQCAtOTEsNiArOTIsOSBAQCBXZWJIaXRUZXN0UmVzdWx0RGF0YTo6
V2ViSGl0VGVzdFJlc3VsdERhdGEoY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYgaGl0VGVz
dAogICAgICAgICAgICAgaW1hZ2VTaXplID0gYnVmZmVyLT5zaXplKCk7CiAgICAgICAgIH0KICAg
ICB9CisKKyAgICBpZiAoYXV0byB0YXJnZXQgPSBtYWtlUmVmUHRyKGhpdFRlc3RSZXN1bHQuaW5u
ZXJOb25TaGFyZWROb2RlKCkpOyB0YXJnZXQgJiYgaXM8UmVuZGVySW1hZ2U+KHRhcmdldC0+cmVu
ZGVyZXIoKSkpCisgICAgICAgIGltYWdlQml0bWFwID0gY3JlYXRlU2hhcmVhYmxlQml0bWFwKCpk
b3duY2FzdDxSZW5kZXJJbWFnZT4odGFyZ2V0LT5yZW5kZXJlcigpKSk7CiB9CiAKIFdlYkhpdFRl
c3RSZXN1bHREYXRhOjp+V2ViSGl0VGVzdFJlc3VsdERhdGEoKQpAQCAtMTIzLDYgKzEyNywxMSBA
QCB2b2lkIFdlYkhpdFRlc3RSZXN1bHREYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAogCiAgICAgZW5jb2RlciA8PCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxl
IHsgV1RGTW92ZShpbWFnZUhhbmRsZSksIGltYWdlU2l6ZSB9OwogCisgICAgU2hhcmVhYmxlQml0
bWFwOjpIYW5kbGUgaW1hZ2VCaXRtYXBIYW5kbGU7CisgICAgaWYgKGltYWdlQml0bWFwKQorICAg
ICAgICBpbWFnZUJpdG1hcC0+Y3JlYXRlSGFuZGxlKGltYWdlQml0bWFwSGFuZGxlLCBTaGFyZWRN
ZW1vcnk6OlByb3RlY3Rpb246OlJlYWRPbmx5KTsKKyAgICBlbmNvZGVyIDw8IGltYWdlQml0bWFw
SGFuZGxlOworCiAgICAgYm9vbCBoYXNMaW5rVGV4dEluZGljYXRvciA9IGxpbmtUZXh0SW5kaWNh
dG9yOwogICAgIGVuY29kZXIgPDwgaGFzTGlua1RleHRJbmRpY2F0b3I7CiAgICAgaWYgKGhhc0xp
bmtUZXh0SW5kaWNhdG9yKQpAQCAtMTY4LDYgKzE3NywxMyBAQCBib29sIFdlYkhpdFRlc3RSZXN1
bHREYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJIaXRUZXN0UmVzdWx0RGF0
YSYgaAogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIFNoYXJlYWJsZUJp
dG1hcDo6SGFuZGxlIGltYWdlQml0bWFwSGFuZGxlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
aW1hZ2VCaXRtYXBIYW5kbGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWlt
YWdlQml0bWFwSGFuZGxlLmlzTnVsbCgpKQorICAgICAgICBoaXRUZXN0UmVzdWx0RGF0YS5pbWFn
ZUJpdG1hcCA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlQml0bWFwSGFuZGxlLCBTaGFy
ZWRNZW1vcnk6OlByb3RlY3Rpb246OlJlYWRPbmx5KTsKKwogICAgIGJvb2wgaGFzTGlua1RleHRJ
bmRpY2F0b3I7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNMaW5rVGV4dEluZGljYXRvcikp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkhpdFRlc3RSZXN1bHREYXRhLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJIaXRUZXN0
UmVzdWx0RGF0YS5oCmluZGV4IDEwNDYyYjRjZmVhNGY0NDhjMGIzZTU3MDY1ZDkyNmM0ZWE3MTYx
MmIuLjA1ZWVkZDhmMDNlODE0M2ZjOGFkZjYxMTBmODkxZWFlNjg4MjYyMWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHREYXRhLmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdERhdGEuaApAQCAtMjAsNiArMjAsNyBAQAog
I3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlICJTaGFyZWFi
bGVCaXRtYXAuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L0RpY3Rpb25hcnlQb3B1cEluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UG9pbnQuaD4K
QEAgLTYyLDggKzYzLDkgQEAgc3RydWN0IFdlYkhpdFRlc3RSZXN1bHREYXRhIHsKIAogICAgIFN0
cmluZyBsb29rdXBUZXh0OwogICAgIFN0cmluZyB0b29sVGlwVGV4dDsKLSAgICBSZWZQdHI8V2Vi
S2l0OjpTaGFyZWRNZW1vcnk+IGltYWdlU2hhcmVkTWVtb3J5OworICAgIFJlZlB0cjxTaGFyZWRN
ZW1vcnk+IGltYWdlU2hhcmVkTWVtb3J5OwogICAgIHVpbnQ2NF90IGltYWdlU2l6ZTsKKyAgICBS
ZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBpbWFnZUJpdG1hcDsKIAogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBSZXRhaW5QdHI8RERBY3Rpb25Db250ZXh0PiBkZXRlY3RlZERhdGFBY3Rpb25Db250ZXh0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQv
U291cmNlcy50eHQKaW5kZXggODc1ODYyZThkMTdlZTI0ZGFkNGY3YjFlZmQwNWQ0NWRkMTkzZjQ2
Yi4uMDFiOTE4OTQ4OTM2YjYyMDZkNDU0MGYzOGE0ZGIwN2QzYWQ4ZDhlNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0
CkBAIC02NjMsNiArNjYzLDcgQEAgV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCiBXZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCiAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
U2Vzc2lvblN0YXRlQ29udmVyc2lvbi5jcHAKK1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvU2hh
cmVhYmxlQml0bWFwVXRpbGl0aWVzLmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbG9yQ2hvb3Nl
ci5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBjMTA2MTMxYTliMTY5YTU0Nzk1NmM2YWE4OWQwYWRkNDc2MDU2ZmU0Li4zMGM2OGJlODllNTgz
MzdjNDZhMjFjZTIxODk0ZTk3NGZjY2M1MzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5NzgsNiArMTk3OCw3IEBACiAJCUY0MzhD
RDFDMjI0MTQyMTQwMERFNkREQSAvKiBXS1dlYnBhZ2VQcmVmZXJlbmNlcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQzOENEMUIyMjQxNDBBNjAwREU2
RERBIC8qIFdLV2VicGFnZVByZWZlcmVuY2VzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHVibGljLCApOyB9OyB9OwogCQlGNDM4Q0QxRjIyNDE0RDQwMDBERTZEREEgLyogV0tXZWJw
YWdlUHJlZmVyZW5jZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjQzOENEMUUyMjQxNEQ0MDAwREU2RERBIC8qIFdLV2VicGFnZVByZWZl
cmVuY2VzSW50ZXJuYWwuaCAqLzsgfTsKIAkJRjQzOENEMjEyMjQxRjY5NTAwREU2RERBIC8qIFdL
V2VicGFnZVByZWZlcmVuY2VzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjQzOENEMjAyMjQxRjY5NTAwREU2RERBIC8qIFdLV2VicGFnZVBy
ZWZlcmVuY2VzUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUY0M0E5Q0UwMjVENzJGMUMwMDk5MEUyNiAvKiBTaGFyZWFibGVCaXRtYXBV
dGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY0M0E5Q0REMjVENzJFMEMwMDk5MEUyNiAvKiBTaGFyZWFibGVCaXRtYXBVdGlsaXRpZXMuaCAq
LzsgfTsKIAkJRjQ0MjkxOTIxRkE1OTFDOTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDI5MTkxMUZBNTkx
MDcwMDJDQzkzRSAvKiBfV0tBdHRhY2htZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQ0MjkxOTYxRkE1OTQyQTAwMkNDOTNFIC8qIF9XS0F0
dGFjaG1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQ0MjkxOTUxRkE1OTQyQTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnRJbnRlcm5h
bC5oICovOyB9OwogCQlGNDQ4MTU2NDIzODc4MjAwMDA5ODI2NTcgLyogV0tEZWZlcnJpbmdHZXN0
dXJlUmVjb2duaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjQ0ODE1NjIyMzg3ODIwMDAwOTgyNjU3IC8qIFdLRGVmZXJyaW5nR2VzdHVyZVJlY29n
bml6ZXIuaCAqLzsgfTsKQEAgLTU4MTgsNiArNTgxOSw5IEBACiAJCUY0MzhDRDFEMjI0MTRBRDYw
MERFNkREQSAvKiBXS1dlYnBhZ2VQcmVmZXJlbmNlcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdLV2VicGFnZVByZWZlcmVuY2VzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
NDM4Q0QxRTIyNDE0RDQwMDBERTZEREEgLyogV0tXZWJwYWdlUHJlZmVyZW5jZXNJbnRlcm5hbC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS1dlYnBhZ2VQcmVmZXJlbmNlc0ludGVybmFsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MzhDRDIwMjI0MUY2OTUwMERFNkREQSAvKiBXS1dlYnBh
Z2VQcmVmZXJlbmNlc1ByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tXZWJwYWdlUHJlZmVyZW5j
ZXNQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0M0E5Q0NCMjVENUQ1
M0MwMDk5MEUyNiAvKiBRdWFydHouZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBRdWFydHou
ZnJhbWV3b3JrOyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9RdWFydHouZnJhbWV3
b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKKwkJRjQzQTlDREQyNUQ3MkUwQzAwOTkwRTI2
IC8qIFNoYXJlYWJsZUJpdG1hcFV0aWxpdGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWFibGVC
aXRtYXBVdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQzQTlDREUy
NUQ3MkUyRDAwOTkwRTI2IC8qIFNoYXJlYWJsZUJpdG1hcFV0aWxpdGllcy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTaGFyZWFibGVCaXRtYXBVdGlsaXRpZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGNDQyOTE5MTFGQTU5MTA3MDAyQ0M5M0UgLyogX1dLQXR0YWNobWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBfV0tBdHRhY2htZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUY0NDI5MTkzMUZBNTkzMTEwMDJDQzkzRSAvKiBfV0tBdHRhY2htZW50Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gX1dLQXR0YWNobWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRjQ0MjkxOTUxRkE1OTQyQTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnRJbnRlcm5h
bC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBfV0tBdHRhY2htZW50SW50ZXJuYWwuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTk1NDQsNiArOTU0OCw4IEBACiAJCQkJQkMxMTFBREUxMTJGNUI5
QTAwMzM3QkFCIC8qIG1hYyAqLywKIAkJCQkxQTcyODQ0NDE5NTlFRDEwMDAwN0JDRTUgLyogU2Vz
c2lvblN0YXRlQ29udmVyc2lvbi5jcHAgKi8sCiAJCQkJMUE3Mjg0NDUxOTU5RUQxMDAwMDdCQ0U1
IC8qIFNlc3Npb25TdGF0ZUNvbnZlcnNpb24uaCAqLywKKwkJCQlGNDNBOUNERTI1RDcyRTJEMDA5
OTBFMjYgLyogU2hhcmVhYmxlQml0bWFwVXRpbGl0aWVzLmNwcCAqLywKKwkJCQlGNDNBOUNERDI1
RDcyRTBDMDA5OTBFMjYgLyogU2hhcmVhYmxlQml0bWFwVXRpbGl0aWVzLmggKi8sCiAJCQkJQ0VE
QTEyREUxNTJDQ0FFODAwRDlFMDhEIC8qIFdlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oICovLAog
CQkJCUJDMTExQTUzMTEyRjRGQkIwMDMzN0JBQiAvKiBXZWJDaHJvbWVDbGllbnQuY3BwICovLAog
CQkJCUJDMDMyRDYwMTBGNDM3OEQwMDU4QzE1QSAvKiBXZWJDaHJvbWVDbGllbnQuaCAqLywKQEAg
LTExOTgzLDYgKzExOTg5LDcgQEAKIAkJCQkxQTAwMkQ0OTE5NkIzNDVEMDBCOUFENDQgLyogU2Vz
c2lvblN0YXRlQ29kaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkJFQjZERjIyRkJCMTZCMDAy
Njk4NjcgLyogU2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
NjQyMEU1MTJEQ0UyRkYwMENBQUUyQyAvKiBTaGFyZWFibGVCaXRtYXAuaCBpbiBIZWFkZXJzICov
LAorCQkJCUY0M0E5Q0UwMjVENzJGMUMwMDk5MEUyNiAvKiBTaGFyZWFibGVCaXRtYXBVdGlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMjE3NDYxMTY0QzIwRTMwMDM3QTVDMSAvKiBTaGFy
ZWFibGVSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE4MzQ5NDIyNEVGNDY3ODAwQkRD
OUE4IC8qIFNoYXJlZEJ1ZmZlckNvcHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEQzE4RkY2RUYy
QTMxMzBDMTMwMTc2NyAvKiBTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNlLmggaW4gSGVhZGVycyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9T
aGFyZWFibGVCaXRtYXBVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1NoYXJlYWJsZUJpdG1hcFV0aWxpdGllcy5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWEx
N2VhNmYxODNmMzg4NGYyNjc2NTNiNjVhZDE5NTFlNTI1OTZlMAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9TaGFyZWFibGVCaXRtYXBV
dGlsaXRpZXMuY3BwCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwVXRpbGl0aWVzLmgiCisKKyNpbmNsdWRl
ICJTaGFyZWFibGVCaXRtYXAuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlZEltYWdlLmg+Cisj
aW5jbHVkZSA8V2ViQ29yZS9HZW9tZXRyeVV0aWxpdGllcy5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
R3JhcGhpY3NDb250ZXh0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVlbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVySW1h
Z2UuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKwor
UmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gY3JlYXRlU2hhcmVhYmxlQml0bWFwKFJlbmRlckltYWdl
JiByZW5kZXJJbWFnZSwgT3B0aW9uYWw8RmxvYXRTaXplPiBzY3JlZW5TaXplSW5QaXhlbHMpCit7
CisgICAgYXV0byogY2FjaGVkSW1hZ2UgPSByZW5kZXJJbWFnZS5jYWNoZWRJbWFnZSgpOworICAg
IGlmICghY2FjaGVkSW1hZ2UgfHwgY2FjaGVkSW1hZ2UtPmVycm9yT2NjdXJyZWQoKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBhdXRvKiBpbWFnZSA9IGNhY2hlZEltYWdlLT5pbWFn
ZUZvclJlbmRlcmVyKCZyZW5kZXJJbWFnZSk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+d2lk
dGgoKSA8PSAxIHx8IGltYWdlLT5oZWlnaHQoKSA8PSAxKQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgIGF1dG8gYml0bWFwU2l6ZSA9IGNhY2hlZEltYWdlLT5pbWFnZVNpemVGb3JSZW5k
ZXJlcigmcmVuZGVySW1hZ2UpOworICAgIGlmIChzY3JlZW5TaXplSW5QaXhlbHMpIHsKKyAgICAg
ICAgYXV0byBzY2FsZWRTaXplID0gbGFyZ2VzdFJlY3RXaXRoQXNwZWN0UmF0aW9JbnNpZGVSZWN0
KGJpdG1hcFNpemUud2lkdGgoKSAvIGJpdG1hcFNpemUuaGVpZ2h0KCksIHsgRmxvYXRQb2ludCgp
LCAqc2NyZWVuU2l6ZUluUGl4ZWxzIH0pLnNpemUoKTsKKyAgICAgICAgYml0bWFwU2l6ZSA9IHNj
YWxlZFNpemUud2lkdGgoKSA8IGJpdG1hcFNpemUud2lkdGgoKSA/IHNjYWxlZFNpemUgOiBiaXRt
YXBTaXplOworICAgIH0KKworICAgIC8vIEZJWE1FOiBPbmx5IHNlbGVjdCBFeHRlbmRlZENvbG9y
IG9uIGltYWdlcyBrbm93biB0byBuZWVkIHdpZGUgZ2FtdXQuCisgICAgU2hhcmVhYmxlQml0bWFw
OjpDb25maWd1cmF0aW9uIGJpdG1hcENvbmZpZ3VyYXRpb247CisjaWYgVVNFKENHKQorICAgIGJp
dG1hcENvbmZpZ3VyYXRpb24uY29sb3JTcGFjZS5jZ0NvbG9yU3BhY2UgPSBzY3JlZW5Db2xvclNw
YWNlKHJlbmRlckltYWdlLmZyYW1lKCkubWFpbkZyYW1lKCkudmlldygpKTsKKyNlbmRpZgorCisg
ICAgYXV0byBzaGFyZWRCaXRtYXAgPSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZVNoYXJlYWJsZShJ
bnRTaXplKGJpdG1hcFNpemUpLCBiaXRtYXBDb25maWd1cmF0aW9uKTsKKyAgICBpZiAoIXNoYXJl
ZEJpdG1hcCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBhdXRvIGdyYXBoaWNzQ29u
dGV4dCA9IHNoYXJlZEJpdG1hcC0+Y3JlYXRlR3JhcGhpY3NDb250ZXh0KCk7CisgICAgaWYgKCFn
cmFwaGljc0NvbnRleHQpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgZ3JhcGhpY3ND
b250ZXh0LT5kcmF3SW1hZ2UoKmltYWdlLCBGbG9hdFJlY3QoMCwgMCwgYml0bWFwU2l6ZS53aWR0
aCgpLCBiaXRtYXBTaXplLmhlaWdodCgpKSwgeyByZW5kZXJJbWFnZS5pbWFnZU9yaWVudGF0aW9u
KCkgfSk7CisgICAgcmV0dXJuIHNoYXJlZEJpdG1hcDsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1NoYXJlYWJsZUJpdG1hcFV0aWxp
dGllcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1NoYXJlYWJs
ZUJpdG1hcFV0aWxpdGllcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwNWI3YzUyMzZmOGFmNTI3MjhiODAyMGI0
NGYwMThmNzM4YzBhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvU2hhcmVhYmxlQml0bWFwVXRpbGl0aWVzLmgKQEAgLTAsMCArMSw0
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9GbG9h
dFNpemUuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFJlbmRlckltYWdlOworfQorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworY2xhc3MgU2hhcmVhYmxlQml0bWFwOworCitSZWZQdHI8U2hhcmVh
YmxlQml0bWFwPiBjcmVhdGVTaGFyZWFibGVCaXRtYXAoV2ViQ29yZTo6UmVuZGVySW1hZ2UmLCBP
cHRpb25hbDxXZWJDb3JlOjpGbG9hdFNpemU+IHNjcmVlblNpemVJblBpeGVscyA9IFdURjo6bnVs
bG9wdCk7CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCmluZGV4IDc2M2JjYWI4Njk2MmM3OWI2NzJmYzMzMzEyM2M3MTRlYzJjZTEzNjYuLjk5NmVi
NTk3YWNjY2YwZWY5NmQzZDE5Mzc4OGU5M2Q2MzRlY2RlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02NCw2ICs2NCw3IEBACiAjaW5jbHVk
ZSAiU2Vzc2lvblN0YXRlLmgiCiAjaW5jbHVkZSAiU2Vzc2lvblN0YXRlQ29udmVyc2lvbi5oIgog
I2luY2x1ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgorI2luY2x1ZGUgIlNoYXJlYWJsZUJpdG1hcFV0
aWxpdGllcy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlckRhdGFSZWZlcmVuY2UuaCIKICNpbmNs
dWRlICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaCIKICNpbmNsdWRlICJWaWV3
R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9yLmgiCkBAIC03MTcyLDcgKzcxNzMsNyBAQCB2b2lkIFdl
YlBhZ2U6OnJlcXVlc3RJbWFnZUV4dHJhY3Rpb24oV2ViQ29yZTo6RWxlbWVudCYgZWxlbWVudCkK
IAogICAgIG1fZWxlbWVudHNXaXRoRXh0cmFjdGVkSW1hZ2VzLmFkZChlbGVtZW50KTsKIAotICAg
IGF1dG8gYml0bWFwID0gc2hhcmVhYmxlQml0bWFwKGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVu
ZGVySW1hZ2UpKTsKKyAgICBhdXRvIGJpdG1hcCA9IGNyZWF0ZVNoYXJlYWJsZUJpdG1hcChkb3du
Y2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlckltYWdlKSk7CiAgICAgaWYgKCFiaXRtYXApCiAgICAg
ICAgIHJldHVybjsKIApAQCAtNzI4Miw0MCArNzI4Myw2IEBAIHZvaWQgV2ViUGFnZTo6Y29uc3Vt
ZU5ldHdvcmtFeHRlbnNpb25TYW5kYm94RXh0ZW5zaW9ucyhjb25zdCBTYW5kYm94RXh0ZW5zaW9u
OjpICiB9CiAjZW5kaWYKIAotUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gV2ViUGFnZTo6c2hhcmVh
YmxlQml0bWFwKFJlbmRlckltYWdlJiByZW5kZXJJbWFnZSwgT3B0aW9uYWw8RmxvYXRTaXplPiBz
Y3JlZW5TaXplSW5QaXhlbHMpIGNvbnN0Ci17Ci0gICAgYXV0byogY2FjaGVkSW1hZ2UgPSByZW5k
ZXJJbWFnZS5jYWNoZWRJbWFnZSgpOwotICAgIGlmICghY2FjaGVkSW1hZ2UgfHwgY2FjaGVkSW1h
Z2UtPmVycm9yT2NjdXJyZWQoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBhdXRv
KiBpbWFnZSA9IGNhY2hlZEltYWdlLT5pbWFnZUZvclJlbmRlcmVyKCZyZW5kZXJJbWFnZSk7Ci0g
ICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+d2lkdGgoKSA8PSAxIHx8IGltYWdlLT5oZWlnaHQoKSA8
PSAxKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIGF1dG8gYml0bWFwU2l6ZSA9IGNh
Y2hlZEltYWdlLT5pbWFnZVNpemVGb3JSZW5kZXJlcigmcmVuZGVySW1hZ2UpOwotICAgIGlmIChz
Y3JlZW5TaXplSW5QaXhlbHMpIHsKLSAgICAgICAgYXV0byBzY2FsZWRTaXplID0gbGFyZ2VzdFJl
Y3RXaXRoQXNwZWN0UmF0aW9JbnNpZGVSZWN0KGJpdG1hcFNpemUud2lkdGgoKSAvIGJpdG1hcFNp
emUuaGVpZ2h0KCksIHsgRmxvYXRQb2ludCgpLCAqc2NyZWVuU2l6ZUluUGl4ZWxzIH0pLnNpemUo
KTsKLSAgICAgICAgYml0bWFwU2l6ZSA9IHNjYWxlZFNpemUud2lkdGgoKSA8IGJpdG1hcFNpemUu
d2lkdGgoKSA/IHNjYWxlZFNpemUgOiBiaXRtYXBTaXplOwotICAgIH0KLQotICAgIC8vIEZJWE1F
OiBPbmx5IHNlbGVjdCBFeHRlbmRlZENvbG9yIG9uIGltYWdlcyBrbm93biB0byBuZWVkIHdpZGUg
Z2FtdXQuCi0gICAgU2hhcmVhYmxlQml0bWFwOjpDb25maWd1cmF0aW9uIGJpdG1hcENvbmZpZ3Vy
YXRpb247Ci0jaWYgVVNFKENHKQotICAgIGJpdG1hcENvbmZpZ3VyYXRpb24uY29sb3JTcGFjZS5j
Z0NvbG9yU3BhY2UgPSBzY3JlZW5Db2xvclNwYWNlKGNvcmVQYWdlKCktPm1haW5GcmFtZSgpLnZp
ZXcoKSk7Ci0jZW5kaWYKLQotICAgIGF1dG8gc2hhcmVkQml0bWFwID0gU2hhcmVhYmxlQml0bWFw
OjpjcmVhdGVTaGFyZWFibGUoSW50U2l6ZShiaXRtYXBTaXplKSwgYml0bWFwQ29uZmlndXJhdGlv
bik7Ci0gICAgaWYgKCFzaGFyZWRCaXRtYXApCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0g
ICAgYXV0byBncmFwaGljc0NvbnRleHQgPSBzaGFyZWRCaXRtYXAtPmNyZWF0ZUdyYXBoaWNzQ29u
dGV4dCgpOwotICAgIGlmICghZ3JhcGhpY3NDb250ZXh0KQotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLQotICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd0ltYWdlKCppbWFnZSwgRmxvYXRSZWN0KDAs
IDAsIGJpdG1hcFNpemUud2lkdGgoKSwgYml0bWFwU2l6ZS5oZWlnaHQoKSksIHsgcmVuZGVySW1h
Z2UuaW1hZ2VPcmllbnRhdGlvbigpIH0pOwotICAgIHJldHVybiBzaGFyZWRCaXRtYXA7Ci19Ci0K
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGViNTI0ODkw
MjgxNTAyNmE0N2JhOWQ4YzUwYzdjOGZjYjQ1ZTE5ZTAuLmZjODY0MmMyMGM5NDYzMjEzN2RhZjdl
ODU2NWYzZjllNDhkZjdkZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKQEAgLTE0MDYsOCArMTQwNiw2IEBAIHB1YmxpYzoKICAgICBib29sIHNob3VsZFVz
ZVBERlBsdWdpbihjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBTdHJpbmdWaWV3IHBhdGgpIGNv
bnN0OwogI2VuZGlmCiAKLSAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBzaGFyZWFibGVCaXRt
YXAoV2ViQ29yZTo6UmVuZGVySW1hZ2UmLCBPcHRpb25hbDxXZWJDb3JlOjpGbG9hdFNpemU+IHNj
cmVlblNpemVJblBpeGVscyA9IFdURjo6bnVsbG9wdCkgY29uc3Q7Ci0KIHByaXZhdGU6CiAgICAg
V2ViUGFnZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbQppbmRleCAyNDVlNDk5M2RkZTYxNGFlMGYyMWZmN2U0OWZjZmI4ODFlNzI0YmVj
Li5iNDIwMWQ1NWQxMDY4MmVlMjg4YWI2MzFmYjQxY2FlNWU1YzU1MTFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtNDIs
NiArNDIsNyBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaCIKICNpbXBv
cnQgIlJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yLmgiCiAjaW1wb3J0ICJTYW5kYm94VXRpbGl0
aWVzLmgiCisjaW1wb3J0ICJTaGFyZWFibGVCaXRtYXBVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlNo
YXJlZE1lbW9yeS5oIgogI2ltcG9ydCAiU3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlLmgiCiAj
aW1wb3J0ICJUZXh0Q2hlY2tpbmdDb250cm9sbGVyUHJveHkuaCIKQEAgLTI2NzcsNyArMjY3OCw3
IEBAIHN0YXRpYyB2b2lkIGltYWdlUG9zaXRpb25JbmZvcm1hdGlvbihXZWJQYWdlJiBwYWdlLCBF
bGVtZW50JiBlbGVtZW50LCBjb25zdCBJbnRlCiAgICAgaW5mby5pc0FuaW1hdGVkSW1hZ2UgPSBp
bWFnZS0+aXNBbmltYXRlZCgpOwogCiAgICAgaWYgKHJlcXVlc3QuaW5jbHVkZVNuYXBzaG90IHx8
IHJlcXVlc3QuaW5jbHVkZUltYWdlRGF0YSkKLSAgICAgICAgaW5mby5pbWFnZSA9IHBhZ2Uuc2hh
cmVhYmxlQml0bWFwKHJlbmRlckltYWdlLCBzY3JlZW5TaXplKCkgKiBwYWdlLmNvcmVQYWdlKCkt
PmRldmljZVNjYWxlRmFjdG9yKCkpOworICAgICAgICBpbmZvLmltYWdlID0gY3JlYXRlU2hhcmVh
YmxlQml0bWFwKHJlbmRlckltYWdlLCBzY3JlZW5TaXplKCkgKiBwYWdlLmNvcmVQYWdlKCktPmRl
dmljZVNjYWxlRmFjdG9yKCkpOwogfQogCiBzdGF0aWMgdm9pZCBib3VuZHNQb3NpdGlvbkluZm9y
bWF0aW9uKFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBv
c2l0aW9uJiBpbmZvKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420363</attachid>
            <date>2021-02-15 13:33:00 -0800</date>
            <delta_ts>2021-02-15 15:03:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221869-20210215133259.patch</filename>
            <type>text/plain</type>
            <size>19689</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ0OTY3YTYzNTdhZjM1YTEz
MWZkNjllYzgyNjVjMTg1ZjA1NjM0OWQuLjBmYjJhYTZjMzdiYzI4ODNiNzQwNzFlNzBkMDNkZDhj
Nzg3MDdmNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDItMTMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBBZGQgYSBT
aGFyZWFibGVCaXRtYXAgd2l0aCBkZWNvZGVkIGltYWdlIGRhdGEgdG8gV2ViSGl0VGVzdFJlc3Vs
dERhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MTg2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBgV2ViSGl0VGVzdFJlc3VsdERhdGE6OmltYWdlQml0bWFwYDsgd2UnbGwgdXNlIHRoaXMgaW4g
ZnV0dXJlIHBhdGNoZXMgdG8gdmVuZCBkZWNvZGVkIGltYWdlIGRhdGEgdG8gc3lzdGVtCisgICAg
ICAgIGZyYW1ld29ya3MgZm9yIGltYWdlIGV4dHJhY3Rpb24uCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViSGl0VGVzdFJlc3VsdERhdGEuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJIaXRUZXN0UmVz
dWx0RGF0YTo6V2ViSGl0VGVzdFJlc3VsdERhdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJIaXRU
ZXN0UmVzdWx0RGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViSGl0VGVz
dFJlc3VsdERhdGE6OmRlY29kZSk6CisKKyAgICAgICAgQWRkIGBpbWFnZUJpdG1hcGAgYW5kIGRl
Y29kaW5nL2VuY29kaW5nIHN1cHBvcnQgdXNpbmcgYFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlYC4K
KworICAgICAgICAqIFNoYXJlZC9XZWJIaXRUZXN0UmVzdWx0RGF0YS5oOgorICAgICAgICAqIFNv
dXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvU2hhcmVhYmxlQml0bWFwVXRpbGl0
aWVzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OmNyZWF0ZVNoYXJlYWJsZUJpdG1hcCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9TaGFyZWFibGVCaXRtYXBVdGls
aXRpZXMuaDogQWRkZWQuCisKKyAgICAgICAgUHVsbCBsb2dpYyB0byBkZWNvZGUgcmVuZGVyZWQg
aW1hZ2UgZGF0YSBpbnRvIGEgYml0bWFwIGludG8gYSBzZXBhcmF0ZSBoZWxwZXIgZnVuY3Rpb247
IHVzZSB0aGlzIGhlbHBlciBmdW5jdGlvbgorICAgICAgICBpbiBgV2ViSGl0VGVzdFJlc3VsdERh
dGFgLCBhcyB3ZWxsIGFzIGEgY291cGxlIG9mIGV4aXN0aW5nIGNhbGwgc2l0ZXMgaW4gYFdlYlBh
Z2VgLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpyZXF1ZXN0SW1hZ2VFeHRyYWN0aW9uKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6c2hhcmVhYmxlQml0bWFwIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6aW1hZ2VQb3NpdGlvbklu
Zm9ybWF0aW9uKToKKwogMjAyMS0wMi0xMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBbV2VicGFnZSB0cmFuc2xhdGlvbl0gQWRkIHN1cHBvcnQgZm9y
IHRoZSAtX3RyYW5zbGF0ZTogYWN0aW9uIG9uIFdLQ29udGVudFZpZXcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHREYXRhLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHREYXRhLmNwcAppbmRleCBkYWY5MDA0ZThiN2NlYjk0
YmUwYTJjMTA4NzNhYTRkYTU3MWZmZmQ0Li5iNjJkYjM3ZjE2OGY2Nzg3NTc3ODUyZWEyYzY0OTJi
YWE1ZThkYjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJIaXRUZXN0UmVz
dWx0RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdERh
dGEuY3BwCkBAIC0yMCwxMyArMjAsMTQgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJIaXRUZXN0UmVzdWx0RGF0YS5oIgogCisjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwVXRp
bGl0aWVzLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9Eb2N1bWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWUuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSGl0VGVzdFJlc3VsdC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvTm9kZS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyT2Jq
ZWN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJJbWFnZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgpAQCAtOTEsNiArOTIsOSBAQCBXZWJIaXRUZXN0UmVzdWx0RGF0YTo6
V2ViSGl0VGVzdFJlc3VsdERhdGEoY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYgaGl0VGVz
dAogICAgICAgICAgICAgaW1hZ2VTaXplID0gYnVmZmVyLT5zaXplKCk7CiAgICAgICAgIH0KICAg
ICB9CisKKyAgICBpZiAoYXV0byB0YXJnZXQgPSBtYWtlUmVmUHRyKGhpdFRlc3RSZXN1bHQuaW5u
ZXJOb25TaGFyZWROb2RlKCkpOyB0YXJnZXQgJiYgaXM8UmVuZGVySW1hZ2U+KHRhcmdldC0+cmVu
ZGVyZXIoKSkpCisgICAgICAgIGltYWdlQml0bWFwID0gY3JlYXRlU2hhcmVhYmxlQml0bWFwKCpk
b3duY2FzdDxSZW5kZXJJbWFnZT4odGFyZ2V0LT5yZW5kZXJlcigpKSk7CiB9CiAKIFdlYkhpdFRl
c3RSZXN1bHREYXRhOjp+V2ViSGl0VGVzdFJlc3VsdERhdGEoKQpAQCAtMTIzLDYgKzEyNywxMSBA
QCB2b2lkIFdlYkhpdFRlc3RSZXN1bHREYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAogCiAgICAgZW5jb2RlciA8PCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxl
IHsgV1RGTW92ZShpbWFnZUhhbmRsZSksIGltYWdlU2l6ZSB9OwogCisgICAgU2hhcmVhYmxlQml0
bWFwOjpIYW5kbGUgaW1hZ2VCaXRtYXBIYW5kbGU7CisgICAgaWYgKGltYWdlQml0bWFwKQorICAg
ICAgICBpbWFnZUJpdG1hcC0+Y3JlYXRlSGFuZGxlKGltYWdlQml0bWFwSGFuZGxlLCBTaGFyZWRN
ZW1vcnk6OlByb3RlY3Rpb246OlJlYWRPbmx5KTsKKyAgICBlbmNvZGVyIDw8IGltYWdlQml0bWFw
SGFuZGxlOworCiAgICAgYm9vbCBoYXNMaW5rVGV4dEluZGljYXRvciA9IGxpbmtUZXh0SW5kaWNh
dG9yOwogICAgIGVuY29kZXIgPDwgaGFzTGlua1RleHRJbmRpY2F0b3I7CiAgICAgaWYgKGhhc0xp
bmtUZXh0SW5kaWNhdG9yKQpAQCAtMTY4LDYgKzE3NywxMyBAQCBib29sIFdlYkhpdFRlc3RSZXN1
bHREYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJIaXRUZXN0UmVzdWx0RGF0
YSYgaAogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIFNoYXJlYWJsZUJp
dG1hcDo6SGFuZGxlIGltYWdlQml0bWFwSGFuZGxlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
aW1hZ2VCaXRtYXBIYW5kbGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWlt
YWdlQml0bWFwSGFuZGxlLmlzTnVsbCgpKQorICAgICAgICBoaXRUZXN0UmVzdWx0RGF0YS5pbWFn
ZUJpdG1hcCA9IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlQml0bWFwSGFuZGxlLCBTaGFy
ZWRNZW1vcnk6OlByb3RlY3Rpb246OlJlYWRPbmx5KTsKKwogICAgIGJvb2wgaGFzTGlua1RleHRJ
bmRpY2F0b3I7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYXNMaW5rVGV4dEluZGljYXRvcikp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkhpdFRlc3RSZXN1bHREYXRhLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJIaXRUZXN0
UmVzdWx0RGF0YS5oCmluZGV4IDEwNDYyYjRjZmVhNGY0NDhjMGIzZTU3MDY1ZDkyNmM0ZWE3MTYx
MmIuLjA1ZWVkZDhmMDNlODE0M2ZjOGFkZjYxMTBmODkxZWFlNjg4MjYyMWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHREYXRhLmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdERhdGEuaApAQCAtMjAsNiArMjAsNyBAQAog
I3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlICJTaGFyZWFi
bGVCaXRtYXAuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L0RpY3Rpb25hcnlQb3B1cEluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UG9pbnQuaD4K
QEAgLTYyLDggKzYzLDkgQEAgc3RydWN0IFdlYkhpdFRlc3RSZXN1bHREYXRhIHsKIAogICAgIFN0
cmluZyBsb29rdXBUZXh0OwogICAgIFN0cmluZyB0b29sVGlwVGV4dDsKLSAgICBSZWZQdHI8V2Vi
S2l0OjpTaGFyZWRNZW1vcnk+IGltYWdlU2hhcmVkTWVtb3J5OworICAgIFJlZlB0cjxTaGFyZWRN
ZW1vcnk+IGltYWdlU2hhcmVkTWVtb3J5OwogICAgIHVpbnQ2NF90IGltYWdlU2l6ZTsKKyAgICBS
ZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBpbWFnZUJpdG1hcDsKIAogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBSZXRhaW5QdHI8RERBY3Rpb25Db250ZXh0PiBkZXRlY3RlZERhdGFBY3Rpb25Db250ZXh0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQv
U291cmNlcy50eHQKaW5kZXggODc1ODYyZThkMTdlZTI0ZGFkNGY3YjFlZmQwNWQ0NWRkMTkzZjQ2
Yi4uMDFiOTE4OTQ4OTM2YjYyMDZkNDU0MGYzOGE0ZGIwN2QzYWQ4ZDhlNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0
CkBAIC02NjMsNiArNjYzLDcgQEAgV2ViUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9XZWJBdXRo
ZW50aWNhdG9yQ29vcmRpbmF0b3IuY3BwCiBXZWJQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL1dl
YkF1dGhuUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCiAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
U2Vzc2lvblN0YXRlQ29udmVyc2lvbi5jcHAKK1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvU2hh
cmVhYmxlQml0bWFwVXRpbGl0aWVzLmNwcAogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwCiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbG9yQ2hvb3Nl
ci5jcHAKIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBjMTA2MTMxYTliMTY5YTU0Nzk1NmM2YWE4OWQwYWRkNDc2MDU2ZmU0Li44OWRmNDA1OTA4NmEw
OWYwYjhlYTliZmNkZjQ0ZGNkNWRkMGIyMWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5NzgsNiArMTk3OCw3IEBACiAJCUY0MzhD
RDFDMjI0MTQyMTQwMERFNkREQSAvKiBXS1dlYnBhZ2VQcmVmZXJlbmNlcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQzOENEMUIyMjQxNDBBNjAwREU2
RERBIC8qIFdLV2VicGFnZVByZWZlcmVuY2VzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHVibGljLCApOyB9OyB9OwogCQlGNDM4Q0QxRjIyNDE0RDQwMDBERTZEREEgLyogV0tXZWJw
YWdlUHJlZmVyZW5jZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjQzOENEMUUyMjQxNEQ0MDAwREU2RERBIC8qIFdLV2VicGFnZVByZWZl
cmVuY2VzSW50ZXJuYWwuaCAqLzsgfTsKIAkJRjQzOENEMjEyMjQxRjY5NTAwREU2RERBIC8qIFdL
V2VicGFnZVByZWZlcmVuY2VzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRjQzOENEMjAyMjQxRjY5NTAwREU2RERBIC8qIFdLV2VicGFnZVBy
ZWZlcmVuY2VzUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUY0M0E5Q0UwMjVENzJGMUMwMDk5MEUyNiAvKiBTaGFyZWFibGVCaXRtYXBV
dGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY0M0E5Q0REMjVENzJFMEMwMDk5MEUyNiAvKiBTaGFyZWFibGVCaXRtYXBVdGlsaXRpZXMuaCAq
LzsgfTsKIAkJRjQ0MjkxOTIxRkE1OTFDOTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDI5MTkxMUZBNTkx
MDcwMDJDQzkzRSAvKiBfV0tBdHRhY2htZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQ0MjkxOTYxRkE1OTQyQTAwMkNDOTNFIC8qIF9XS0F0
dGFjaG1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQ0MjkxOTUxRkE1OTQyQTAwMkNDOTNFIC8qIF9XS0F0dGFjaG1lbnRJbnRlcm5h
bC5oICovOyB9OwogCQlGNDQ4MTU2NDIzODc4MjAwMDA5ODI2NTcgLyogV0tEZWZlcnJpbmdHZXN0
dXJlUmVjb2duaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjQ0ODE1NjIyMzg3ODIwMDAwOTgyNjU3IC8qIFdLRGVmZXJyaW5nR2VzdHVyZVJlY29n
bml6ZXIuaCAqLzsgfTsKQEAgLTU4MTgsNiArNTgxOSw4IEBACiAJCUY0MzhDRDFEMjI0MTRBRDYw
MERFNkREQSAvKiBXS1dlYnBhZ2VQcmVmZXJlbmNlcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdLV2VicGFnZVByZWZlcmVuY2VzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlG
NDM4Q0QxRTIyNDE0RDQwMDBERTZEREEgLyogV0tXZWJwYWdlUHJlZmVyZW5jZXNJbnRlcm5hbC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS1dlYnBhZ2VQcmVmZXJlbmNlc0ludGVybmFsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0MzhDRDIwMjI0MUY2OTUwMERFNkREQSAvKiBXS1dlYnBh
Z2VQcmVmZXJlbmNlc1ByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tXZWJwYWdlUHJlZmVyZW5j
ZXNQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0M0E5Q0REMjVENzJF
MEMwMDk5MEUyNiAvKiBTaGFyZWFibGVCaXRtYXBVdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U2hhcmVhYmxlQml0bWFwVXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUY0M0E5Q0RFMjVENzJFMkQwMDk5MEUyNiAvKiBTaGFyZWFibGVCaXRtYXBVdGlsaXRpZXMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVhYmxlQml0bWFwVXRpbGl0aWVzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0MjkxOTExRkE1OTEwNzAwMkNDOTNFIC8qIF9XS0F0
dGFjaG1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLQXR0YWNobWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGNDQyOTE5MzFGQTU5MzExMDAyQ0M5M0UgLyogX1dLQXR0YWNobWVu
dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS0F0dGFjaG1lbnQubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5MTk1MUZBNTk0MkEwMDJDQzkzRSAvKiBfV0tBdHRhY2ht
ZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLQXR0YWNobWVudEludGVybmFsLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05NTQ0LDYgKzk1NDcsOCBAQAogCQkJCUJDMTEx
QURFMTEyRjVCOUEwMDMzN0JBQiAvKiBtYWMgKi8sCiAJCQkJMUE3Mjg0NDQxOTU5RUQxMDAwMDdC
Q0U1IC8qIFNlc3Npb25TdGF0ZUNvbnZlcnNpb24uY3BwICovLAogCQkJCTFBNzI4NDQ1MTk1OUVE
MTAwMDA3QkNFNSAvKiBTZXNzaW9uU3RhdGVDb252ZXJzaW9uLmggKi8sCisJCQkJRjQzQTlDREUy
NUQ3MkUyRDAwOTkwRTI2IC8qIFNoYXJlYWJsZUJpdG1hcFV0aWxpdGllcy5jcHAgKi8sCisJCQkJ
RjQzQTlDREQyNUQ3MkUwQzAwOTkwRTI2IC8qIFNoYXJlYWJsZUJpdG1hcFV0aWxpdGllcy5oICov
LAogCQkJCUNFREExMkRFMTUyQ0NBRTgwMEQ5RTA4RCAvKiBXZWJBbHRlcm5hdGl2ZVRleHRDbGll
bnQuaCAqLywKIAkJCQlCQzExMUE1MzExMkY0RkJCMDAzMzdCQUIgLyogV2ViQ2hyb21lQ2xpZW50
LmNwcCAqLywKIAkJCQlCQzAzMkQ2MDEwRjQzNzhEMDA1OEMxNUEgLyogV2ViQ2hyb21lQ2xpZW50
LmggKi8sCkBAIC0xMTk4Myw2ICsxMTk4OCw3IEBACiAJCQkJMUEwMDJENDkxOTZCMzQ1RDAwQjlB
RDQ0IC8qIFNlc3Npb25TdGF0ZUNvZGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDZCRUI2REYy
MkZCQjE2QjAwMjY5ODY3IC8qIFNlc3Npb25TdG9yYWdlTmFtZXNwYWNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQTY0MjBFNTEyRENFMkZGMDBDQUFFMkMgLyogU2hhcmVhYmxlQml0bWFwLmggaW4g
SGVhZGVycyAqLywKKwkJCQlGNDNBOUNFMDI1RDcyRjFDMDA5OTBFMjYgLyogU2hhcmVhYmxlQml0
bWFwVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTIxNzQ2MTE2NEMyMEUzMDAzN0E1
QzEgLyogU2hhcmVhYmxlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODM0OTQyMjRF
RjQ2NzgwMEJEQzlBOCAvKiBTaGFyZWRCdWZmZXJDb3B5LmggaW4gSGVhZGVycyAqLywKIAkJCQky
REMxOEZGNkVGMkEzMTMwQzEzMDE3NjcgLyogU2hhcmVkQnVmZmVyRGF0YVJlZmVyZW5jZS5oIGlu
IEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvU2hhcmVhYmxlQml0bWFwVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9TaGFyZWFibGVCaXRtYXBVdGlsaXRpZXMuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmVhMTdlYTZmMTgzZjM4ODRmMjY3NjUzYjY1YWQxOTUxZTUyNTk2ZTAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvU2hhcmVh
YmxlQml0bWFwVXRpbGl0aWVzLmNwcApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNoYXJlYWJsZUJpdG1hcFV0aWxpdGllcy5oIgor
CisjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZWRJ
bWFnZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvR2VvbWV0cnlVdGlsaXRpZXMuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSW50U2l6ZS5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TY3JlZW4uaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1JlbmRlckltYWdlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CisKK1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGNyZWF0ZVNoYXJlYWJsZUJpdG1hcChS
ZW5kZXJJbWFnZSYgcmVuZGVySW1hZ2UsIE9wdGlvbmFsPEZsb2F0U2l6ZT4gc2NyZWVuU2l6ZUlu
UGl4ZWxzKQoreworICAgIGF1dG8qIGNhY2hlZEltYWdlID0gcmVuZGVySW1hZ2UuY2FjaGVkSW1h
Z2UoKTsKKyAgICBpZiAoIWNhY2hlZEltYWdlIHx8IGNhY2hlZEltYWdlLT5lcnJvck9jY3VycmVk
KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byogaW1hZ2UgPSBjYWNoZWRJ
bWFnZS0+aW1hZ2VGb3JSZW5kZXJlcigmcmVuZGVySW1hZ2UpOworICAgIGlmICghaW1hZ2UgfHwg
aW1hZ2UtPndpZHRoKCkgPD0gMSB8fCBpbWFnZS0+aGVpZ2h0KCkgPD0gMSkKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisKKyAgICBhdXRvIGJpdG1hcFNpemUgPSBjYWNoZWRJbWFnZS0+aW1hZ2VT
aXplRm9yUmVuZGVyZXIoJnJlbmRlckltYWdlKTsKKyAgICBpZiAoc2NyZWVuU2l6ZUluUGl4ZWxz
KSB7CisgICAgICAgIGF1dG8gc2NhbGVkU2l6ZSA9IGxhcmdlc3RSZWN0V2l0aEFzcGVjdFJhdGlv
SW5zaWRlUmVjdChiaXRtYXBTaXplLndpZHRoKCkgLyBiaXRtYXBTaXplLmhlaWdodCgpLCB7IEZs
b2F0UG9pbnQoKSwgKnNjcmVlblNpemVJblBpeGVscyB9KS5zaXplKCk7CisgICAgICAgIGJpdG1h
cFNpemUgPSBzY2FsZWRTaXplLndpZHRoKCkgPCBiaXRtYXBTaXplLndpZHRoKCkgPyBzY2FsZWRT
aXplIDogYml0bWFwU2l6ZTsKKyAgICB9CisKKyAgICAvLyBGSVhNRTogT25seSBzZWxlY3QgRXh0
ZW5kZWRDb2xvciBvbiBpbWFnZXMga25vd24gdG8gbmVlZCB3aWRlIGdhbXV0LgorICAgIFNoYXJl
YWJsZUJpdG1hcDo6Q29uZmlndXJhdGlvbiBiaXRtYXBDb25maWd1cmF0aW9uOworI2lmIFVTRShD
RykKKyAgICBiaXRtYXBDb25maWd1cmF0aW9uLmNvbG9yU3BhY2UuY2dDb2xvclNwYWNlID0gc2Ny
ZWVuQ29sb3JTcGFjZShyZW5kZXJJbWFnZS5mcmFtZSgpLm1haW5GcmFtZSgpLnZpZXcoKSk7Cisj
ZW5kaWYKKworICAgIGF1dG8gc2hhcmVkQml0bWFwID0gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGVT
aGFyZWFibGUoSW50U2l6ZShiaXRtYXBTaXplKSwgYml0bWFwQ29uZmlndXJhdGlvbik7CisgICAg
aWYgKCFzaGFyZWRCaXRtYXApCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byBn
cmFwaGljc0NvbnRleHQgPSBzaGFyZWRCaXRtYXAtPmNyZWF0ZUdyYXBoaWNzQ29udGV4dCgpOwor
ICAgIGlmICghZ3JhcGhpY3NDb250ZXh0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
IGdyYXBoaWNzQ29udGV4dC0+ZHJhd0ltYWdlKCppbWFnZSwgRmxvYXRSZWN0KDAsIDAsIGJpdG1h
cFNpemUud2lkdGgoKSwgYml0bWFwU2l6ZS5oZWlnaHQoKSksIHsgcmVuZGVySW1hZ2UuaW1hZ2VP
cmllbnRhdGlvbigpIH0pOworICAgIHJldHVybiBzaGFyZWRCaXRtYXA7Cit9CisKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9TaGFyZWFibGVC
aXRtYXBVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9TaGFyZWFibGVCaXRtYXBVdGlsaXRpZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDViN2M1MjM2ZjhhZjUy
NzI4YjgwMjBiNDRmMDE4ZjczOGMwYWVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1NoYXJlYWJsZUJpdG1hcFV0aWxpdGllcy5oCkBA
IC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPFdl
YkNvcmUvRmxvYXRTaXplLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBSZW5kZXJJbWFnZTsK
K30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFNoYXJlYWJsZUJpdG1hcDsKKworUmVm
UHRyPFNoYXJlYWJsZUJpdG1hcD4gY3JlYXRlU2hhcmVhYmxlQml0bWFwKFdlYkNvcmU6OlJlbmRl
ckltYWdlJiwgT3B0aW9uYWw8V2ViQ29yZTo6RmxvYXRTaXplPiBzY3JlZW5TaXplSW5QaXhlbHMg
PSBXVEY6Om51bGxvcHQpOworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAppbmRleCA3NjNiY2FiODY5NjJjNzliNjcyZmMzMzMxMjNjNzE0ZWMyY2Ux
MzY2Li45OTZlYjU5N2FjY2NmMGVmOTZkM2QxOTM3ODhlOTNkNjM0ZWNkZTA5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNjQsNiArNjQsNyBA
QAogI2luY2x1ZGUgIlNlc3Npb25TdGF0ZS5oIgogI2luY2x1ZGUgIlNlc3Npb25TdGF0ZUNvbnZl
cnNpb24uaCIKICNpbmNsdWRlICJTaGFyZWFibGVCaXRtYXAuaCIKKyNpbmNsdWRlICJTaGFyZWFi
bGVCaXRtYXBVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXJEYXRhUmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgiCiAjaW5j
bHVkZSAiVmlld0dlc3R1cmVHZW9tZXRyeUNvbGxlY3Rvci5oIgpAQCAtNzE3Miw3ICs3MTczLDcg
QEAgdm9pZCBXZWJQYWdlOjpyZXF1ZXN0SW1hZ2VFeHRyYWN0aW9uKFdlYkNvcmU6OkVsZW1lbnQm
IGVsZW1lbnQpCiAKICAgICBtX2VsZW1lbnRzV2l0aEV4dHJhY3RlZEltYWdlcy5hZGQoZWxlbWVu
dCk7CiAKLSAgICBhdXRvIGJpdG1hcCA9IHNoYXJlYWJsZUJpdG1hcChkb3duY2FzdDxSZW5kZXJJ
bWFnZT4oKnJlbmRlckltYWdlKSk7CisgICAgYXV0byBiaXRtYXAgPSBjcmVhdGVTaGFyZWFibGVC
aXRtYXAoZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJJbWFnZSkpOwogICAgIGlmICghYml0
bWFwKQogICAgICAgICByZXR1cm47CiAKQEAgLTcyODIsNDAgKzcyODMsNiBAQCB2b2lkIFdlYlBh
Z2U6OmNvbnN1bWVOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEV4dGVuc2lvbnMoY29uc3QgU2FuZGJv
eEV4dGVuc2lvbjo6SAogfQogI2VuZGlmCiAKLVJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IFdlYlBh
Z2U6OnNoYXJlYWJsZUJpdG1hcChSZW5kZXJJbWFnZSYgcmVuZGVySW1hZ2UsIE9wdGlvbmFsPEZs
b2F0U2l6ZT4gc2NyZWVuU2l6ZUluUGl4ZWxzKSBjb25zdAotewotICAgIGF1dG8qIGNhY2hlZElt
YWdlID0gcmVuZGVySW1hZ2UuY2FjaGVkSW1hZ2UoKTsKLSAgICBpZiAoIWNhY2hlZEltYWdlIHx8
IGNhY2hlZEltYWdlLT5lcnJvck9jY3VycmVkKCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwot
Ci0gICAgYXV0byogaW1hZ2UgPSBjYWNoZWRJbWFnZS0+aW1hZ2VGb3JSZW5kZXJlcigmcmVuZGVy
SW1hZ2UpOwotICAgIGlmICghaW1hZ2UgfHwgaW1hZ2UtPndpZHRoKCkgPD0gMSB8fCBpbWFnZS0+
aGVpZ2h0KCkgPD0gMSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBhdXRvIGJpdG1h
cFNpemUgPSBjYWNoZWRJbWFnZS0+aW1hZ2VTaXplRm9yUmVuZGVyZXIoJnJlbmRlckltYWdlKTsK
LSAgICBpZiAoc2NyZWVuU2l6ZUluUGl4ZWxzKSB7Ci0gICAgICAgIGF1dG8gc2NhbGVkU2l6ZSA9
IGxhcmdlc3RSZWN0V2l0aEFzcGVjdFJhdGlvSW5zaWRlUmVjdChiaXRtYXBTaXplLndpZHRoKCkg
LyBiaXRtYXBTaXplLmhlaWdodCgpLCB7IEZsb2F0UG9pbnQoKSwgKnNjcmVlblNpemVJblBpeGVs
cyB9KS5zaXplKCk7Ci0gICAgICAgIGJpdG1hcFNpemUgPSBzY2FsZWRTaXplLndpZHRoKCkgPCBi
aXRtYXBTaXplLndpZHRoKCkgPyBzY2FsZWRTaXplIDogYml0bWFwU2l6ZTsKLSAgICB9Ci0KLSAg
ICAvLyBGSVhNRTogT25seSBzZWxlY3QgRXh0ZW5kZWRDb2xvciBvbiBpbWFnZXMga25vd24gdG8g
bmVlZCB3aWRlIGdhbXV0LgotICAgIFNoYXJlYWJsZUJpdG1hcDo6Q29uZmlndXJhdGlvbiBiaXRt
YXBDb25maWd1cmF0aW9uOwotI2lmIFVTRShDRykKLSAgICBiaXRtYXBDb25maWd1cmF0aW9uLmNv
bG9yU3BhY2UuY2dDb2xvclNwYWNlID0gc2NyZWVuQ29sb3JTcGFjZShjb3JlUGFnZSgpLT5tYWlu
RnJhbWUoKS52aWV3KCkpOwotI2VuZGlmCi0KLSAgICBhdXRvIHNoYXJlZEJpdG1hcCA9IFNoYXJl
YWJsZUJpdG1hcDo6Y3JlYXRlU2hhcmVhYmxlKEludFNpemUoYml0bWFwU2l6ZSksIGJpdG1hcENv
bmZpZ3VyYXRpb24pOwotICAgIGlmICghc2hhcmVkQml0bWFwKQotICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLQotICAgIGF1dG8gZ3JhcGhpY3NDb250ZXh0ID0gc2hhcmVkQml0bWFwLT5jcmVhdGVH
cmFwaGljc0NvbnRleHQoKTsKLSAgICBpZiAoIWdyYXBoaWNzQ29udGV4dCkKLSAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0KLSAgICBncmFwaGljc0NvbnRleHQtPmRyYXdJbWFnZSgqaW1hZ2UsIEZs
b2F0UmVjdCgwLCAwLCBiaXRtYXBTaXplLndpZHRoKCksIGJpdG1hcFNpemUuaGVpZ2h0KCkpLCB7
IHJlbmRlckltYWdlLmltYWdlT3JpZW50YXRpb24oKSB9KTsKLSAgICByZXR1cm4gc2hhcmVkQml0
bWFwOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX0lG
X0FMTE9XRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRl
eCBlYjUyNDg5MDI4MTUwMjZhNDdiYTlkOGM1MGM3YzhmY2I0NWUxOWUwLi5mYzg2NDJjMjBjOTQ2
MzIxMzdkYWY3ZTg1NjVmM2Y5ZTQ4ZGY3ZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xNDA2LDggKzE0MDYsNiBAQCBwdWJsaWM6CiAgICAgYm9v
bCBzaG91bGRVc2VQREZQbHVnaW4oY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgU3RyaW5nVmll
dyBwYXRoKSBjb25zdDsKICNlbmRpZgogCi0gICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gc2hh
cmVhYmxlQml0bWFwKFdlYkNvcmU6OlJlbmRlckltYWdlJiwgT3B0aW9uYWw8V2ViQ29yZTo6Rmxv
YXRTaXplPiBzY3JlZW5TaXplSW5QaXhlbHMgPSBXVEY6Om51bGxvcHQpIGNvbnN0OwotCiBwcml2
YXRlOgogICAgIFdlYlBhZ2UoV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIsIFdlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggMjQ1ZTQ5OTNkZGU2MTRhZTBmMjFmZjdlNDlmY2Zi
ODgxZTcyNGJlYy4uYjQyMDFkNTVkMTA2ODJlZTI4OGFiNjMxZmI0MWNhZTVlNWM1NTExYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0KQEAgLTQyLDYgKzQyLDcgQEAKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
LmgiCiAjaW1wb3J0ICJSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5oIgogI2ltcG9ydCAiU2Fu
ZGJveFV0aWxpdGllcy5oIgorI2ltcG9ydCAiU2hhcmVhYmxlQml0bWFwVXRpbGl0aWVzLmgiCiAj
aW1wb3J0ICJTaGFyZWRNZW1vcnkuaCIKICNpbXBvcnQgIlN5bnRoZXRpY0VkaXRpbmdDb21tYW5k
VHlwZS5oIgogI2ltcG9ydCAiVGV4dENoZWNraW5nQ29udHJvbGxlclByb3h5LmgiCkBAIC0yNjc3
LDcgKzI2NzgsNyBAQCBzdGF0aWMgdm9pZCBpbWFnZVBvc2l0aW9uSW5mb3JtYXRpb24oV2ViUGFn
ZSYgcGFnZSwgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgSW50ZQogICAgIGluZm8uaXNBbmltYXRl
ZEltYWdlID0gaW1hZ2UtPmlzQW5pbWF0ZWQoKTsKIAogICAgIGlmIChyZXF1ZXN0LmluY2x1ZGVT
bmFwc2hvdCB8fCByZXF1ZXN0LmluY2x1ZGVJbWFnZURhdGEpCi0gICAgICAgIGluZm8uaW1hZ2Ug
PSBwYWdlLnNoYXJlYWJsZUJpdG1hcChyZW5kZXJJbWFnZSwgc2NyZWVuU2l6ZSgpICogcGFnZS5j
b3JlUGFnZSgpLT5kZXZpY2VTY2FsZUZhY3RvcigpKTsKKyAgICAgICAgaW5mby5pbWFnZSA9IGNy
ZWF0ZVNoYXJlYWJsZUJpdG1hcChyZW5kZXJJbWFnZSwgc2NyZWVuU2l6ZSgpICogcGFnZS5jb3Jl
UGFnZSgpLT5kZXZpY2VTY2FsZUZhY3RvcigpKTsKIH0KIAogc3RhdGljIHZvaWQgYm91bmRzUG9z
aXRpb25JbmZvcm1hdGlvbihSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBJbnRlcmFjdGlvbkluZm9y
bWF0aW9uQXRQb3NpdGlvbiYgaW5mbykK
</data>

          </attachment>
      

    </bug>

</bugzilla>