<?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>240060</bug_id>
          
          <creation_ts>2022-05-04 03:22:51 -0700</creation_ts>
          <short_desc>[GTK][WPE] Remove threaded painting code</short_desc>
          <delta_ts>2022-05-04 05:01:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=GTK4</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>annulen</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>zdobersek</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1866411</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-05-04 03:22:51 -0700</bug_when>
    <thetext>It&apos;s currently broken and unmaintained, so better remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866413</commentid>
    <comment_count>1</comment_count>
      <attachid>458786</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-05-04 03:24:40 -0700</bug_when>
    <thetext>Created attachment 458786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866422</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-05-04 05:01:10 -0700</bug_when>
    <thetext>In the end we have decided we will try to fix it and maintain it instead.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458786</attachid>
            <date>2022-05-04 03:24:40 -0700</date>
            <delta_ts>2022-05-04 05:01:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-no-threaded-painting.diff</filename>
            <type>text/plain</type>
            <size>27311</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjNjE2ZWY1NmFmYjAuLjFiNWZiNjA3NGYwOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDMyIEBACisyMDIyLTA1LTA0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFJlbW92ZSB0aHJlYWRpbmcgcGFpbnRp
bmcgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjQwMDYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SXQncyBjdXJyZW50bHkgYnJva2VuIGFuZCB1bm1haW50YWluZWQsIHNvIGJldHRlciByZW1vdmUg
aXQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9UZXh0dXJlTWFwcGVyLmNtYWtlOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvTmljb3NpYVBhaW50aW5nRW5naW5lLmNwcDogUmVt
b3ZlZC4KKyAgICAgICAgKE5pY29zaWE6OlBhaW50aW5nRW5naW5lOjpjcmVhdGUpOiBEZWxldGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvTmljb3NpYVBhaW50aW5nRW5n
aW5lLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNv
c2lhUGFpbnRpbmdFbmdpbmVCYXNpYy5jcHA6IFJlbW92ZWQuCisgICAgICAgIChOaWNvc2lhOjpQ
YWludGluZ0VuZ2luZUJhc2ljOjpwYWludCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhUGFpbnRpbmdFbmdpbmVCYXNpYy5oOiBSZW1vdmVkLgor
ICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lh
L05pY29zaWFQYWludGluZ0VuZ2luZVRocmVhZGVkLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKE5p
Y29zaWE6OnBhaW50TGF5ZXIpOiBEZWxldGVkLgorICAgICAgICAoTmljb3NpYTo6UGFpbnRpbmdF
bmdpbmVUaHJlYWRlZDo6UGFpbnRpbmdFbmdpbmVUaHJlYWRlZCk6IERlbGV0ZWQuCisgICAgICAg
IChOaWNvc2lhOjpQYWludGluZ0VuZ2luZVRocmVhZGVkOjp+UGFpbnRpbmdFbmdpbmVUaHJlYWRl
ZCk6IERlbGV0ZWQuCisgICAgICAgIChOaWNvc2lhOjpQYWludGluZ0VuZ2luZVRocmVhZGVkOjpw
YWludCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNv
c2lhUGFpbnRpbmdFbmdpbmVUaHJlYWRlZC5oOiBSZW1vdmVkLgorICAgICAgICAoKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRp
bmF0ZWRHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVkR3Jh
cGhpY3NMYXllcjo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGlj
c0xheWVyOjp1cGRhdGVDb250ZW50QnVmZmVycyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oOgorCiAyMDIy
LTA1LTA0ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAg
ICAgRW5hYmxlIFRleHRDaGVja2luZ1R5cGU6OkNvcnJlY3Rpb24gb24gTWFjQ2F0YWx5c3QuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UZXh0dXJlTWFwcGVyLmNtYWtlIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGV4dHVyZU1hcHBlci5jbWFrZQppbmRleCA0Y2Y4NDg5
Y2U0MTIuLjMyNGM3MGNhMDg3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGV4dHVyZU1hcHBlci5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UZXh0dXJl
TWFwcGVyLmNtYWtlCkBAIC05Nyw5ICs5Nyw2IEBAIGlmIChVU0VfQ09PUkRJTkFURURfR1JBUEhJ
Q1MpCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvTmljb3NpYUJ1ZmZlci5jcHAK
ICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhSW1hZ2VCdWZmZXJQaXBl
LmNwcAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL05pY29zaWFQYWludGluZ0Nv
bnRleHQuY3BwCi0gICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvTmljb3NpYVBhaW50
aW5nRW5naW5lLmNwcAotICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL05pY29zaWFQ
YWludGluZ0VuZ2luZUJhc2ljLmNwcAotICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lh
L05pY29zaWFQYWludGluZ0VuZ2luZVRocmVhZGVkLmNwcAogICAgICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9uaWNvc2lhL05pY29zaWFQbGF0Zm9ybUxheWVyLmNwcAogICAgICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9uaWNvc2lhL05pY29zaWFTY2VuZS5jcHAKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3Mvbmljb3NpYS9OaWNvc2lhU2NlbmVJbnRlZ3JhdGlvbi5jcHAKQEAgLTExOSw3ICsxMTYsNiBA
QCBpZiAoVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTKQogCiAgICAgICAgIHBsYXRmb3JtL2dyYXBo
aWNzL25pY29zaWEvTmljb3NpYUFuaW1hdGVkQmFja2luZ1N0b3JlQ2xpZW50LmgKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhQnVmZmVyLmgKLSAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhUGFpbnRpbmdFbmdpbmUuaAogICAgICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9uaWNvc2lhL05pY29zaWFQbGF0Zm9ybUxheWVyLmgKICAgICAgICAgcGxh
dGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhU2NlbmUuaAogICAgICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9uaWNvc2lhL05pY29zaWFTY2VuZUludGVncmF0aW9uLmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvTmljb3NpYVBhaW50aW5nRW5n
aW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvTmljb3Np
YVBhaW50aW5nRW5naW5lLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWY2ZTg3
NDBlNjNiLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvbmljb3NpYS9OaWNvc2lhUGFpbnRpbmdFbmdpbmUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
NjEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBNZXRyb2xvZ2ljYWwgR3JvdXAg
Qi5WLgotICogQ29weXJpZ2h0IChDKSAyMDE3IElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKLSAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nCi0gKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKLSAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAotICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
Ci0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTmljb3NpYVBh
aW50aW5nRW5naW5lLmgiCi0KLSNpbmNsdWRlICJOaWNvc2lhUGFpbnRpbmdFbmdpbmVCYXNpYy5o
IgotI2luY2x1ZGUgIk5pY29zaWFQYWludGluZ0VuZ2luZVRocmVhZGVkLmgiCi0KLW5hbWVzcGFj
ZSBOaWNvc2lhIHsKLQotc3RkOjp1bmlxdWVfcHRyPFBhaW50aW5nRW5naW5lPiBQYWludGluZ0Vu
Z2luZTo6Y3JlYXRlKCkKLXsKLSNpZiAoRU5BQkxFKERFVkVMT1BFUl9NT0RFKSAmJiBQTEFURk9S
TShXUEUpKSB8fCBVU0UoR1RLNCkKLSNpZiBVU0UoR1RLNCkKLSAgICB1bnNpZ25lZCBudW1UaHJl
YWRzID0gNDsKLSNlbHNlCi0gICAgdW5zaWduZWQgbnVtVGhyZWFkcyA9IDA7Ci0jZW5kaWYKLSAg
ICBpZiAoY29uc3QgY2hhciogbnVtVGhyZWFkc0VudiA9IGdldGVudigiV0VCS0lUX05JQ09TSUFf
UEFJTlRJTkdfVEhSRUFEUyIpKSB7Ci0gICAgICAgIGlmIChzc2NhbmYobnVtVGhyZWFkc0Vudiwg
IiV1IiwgJm51bVRocmVhZHMpID09IDEpIHsKLSAgICAgICAgICAgIGlmIChudW1UaHJlYWRzID4g
OCkgewotICAgICAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiVGhlIG51bWJlciBvZiBOaWNvc2lh
IHBhaW50aW5nIHRocmVhZHMgaXMgbm90IGJldHdlZW4gMSBhbmQgOC4gVXNpbmcgdGhlIGRlZmF1
bHQgdmFsdWUgNFxuIik7Ci0gICAgICAgICAgICAgICAgbnVtVGhyZWFkcyA9IDQ7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAobnVtVGhyZWFkcykKLSAgICAgICAg
cmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxQYWludGluZ0VuZ2luZT4obmV3IFBhaW50aW5nRW5naW5l
VGhyZWFkZWQobnVtVGhyZWFkcykpOwotI2VuZGlmCi0KLSAgICByZXR1cm4gc3RkOjp1bmlxdWVf
cHRyPFBhaW50aW5nRW5naW5lPihuZXcgUGFpbnRpbmdFbmdpbmVCYXNpYyk7Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIE5pY29zaWEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL25pY29zaWEvTmljb3NpYVBhaW50aW5nRW5naW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL05pY29zaWFQYWludGluZ0VuZ2luZS5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MzM5ZDBjNTU1OGIuLjAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL05pY29zaWFQYWludGluZ0Vu
Z2luZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNyBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgotICogQ29weXJpZ2h0IChDKSAyMDE3IEln
YWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0gKiAgICBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQK
LSAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogSE9MREVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAot
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UK
LQotI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLWNsYXNzIEdyYXBoaWNzTGF5ZXI7Ci1jbGFzcyBJbnRSZWN0OwotfQotCi1uYW1l
c3BhY2UgTmljb3NpYSB7Ci0KLWNsYXNzIEJ1ZmZlcjsKLQotY2xhc3MgUGFpbnRpbmdFbmdpbmUg
ewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UGFpbnRpbmdFbmdpbmU+IGNyZWF0ZSgpOwotCi0g
ICAgdmlydHVhbCB+UGFpbnRpbmdFbmdpbmUoKSA9IGRlZmF1bHQ7Ci0KLSAgICB2aXJ0dWFsIGJv
b2wgcGFpbnQoV2ViQ29yZTo6R3JhcGhpY3NMYXllciYsIFJlZjxCdWZmZXI+JiYsIGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYsIGZsb2F0KSA9IDA7Ci19OwotCi19IC8vLyBuYW1lc3BhY2UgTmljb3NpYQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lh
UGFpbnRpbmdFbmdpbmVCYXNpYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9uaWNvc2lhL05pY29zaWFQYWludGluZ0VuZ2luZUJhc2ljLmNwcApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYWQ4OWVlMDBkOWZiLi4wMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhUGFpbnRpbmdFbmdpbmVCYXNp
Yy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE3IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgSWdh
bGlhIFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogICAgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKLSAqICAgIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAot
ICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBIT0xERVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0g
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJOaWNvc2lhUGFpbnRpbmdFbmdpbmVCYXNpYy5oIgotCi0jaW5jbHVk
ZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgotI2luY2x1
ZGUgIk5pY29zaWFCdWZmZXIuaCIKLSNpbmNsdWRlICJOaWNvc2lhUGFpbnRpbmdDb250ZXh0Lmgi
Ci0KLW5hbWVzcGFjZSBOaWNvc2lhIHsKLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLVBh
aW50aW5nRW5naW5lQmFzaWM6OlBhaW50aW5nRW5naW5lQmFzaWMoKSA9IGRlZmF1bHQ7Ci1QYWlu
dGluZ0VuZ2luZUJhc2ljOjp+UGFpbnRpbmdFbmdpbmVCYXNpYygpID0gZGVmYXVsdDsKLQotYm9v
bCBQYWludGluZ0VuZ2luZUJhc2ljOjpwYWludChHcmFwaGljc0xheWVyJiBsYXllciwgUmVmPEJ1
ZmZlcj4mJiBidWZmZXIsIGNvbnN0IEludFJlY3QmIHNvdXJjZVJlY3QsIGNvbnN0IEludFJlY3Qm
IG1hcHBlZFNvdXJjZVJlY3QsIGNvbnN0IEludFJlY3QmIHRhcmdldFJlY3QsIGZsb2F0IGNvbnRl
bnRzU2NhbGUpCi17Ci0gICAgYnVmZmVyLT5iZWdpblBhaW50aW5nKCk7Ci0KLSAgICBib29sIHN1
cHBvcnRzQWxwaGEgPSBidWZmZXItPnN1cHBvcnRzQWxwaGEoKTsKLSAgICBQYWludGluZ0NvbnRl
eHQ6OnBhaW50KGJ1ZmZlciwKLSAgICAgICAgWyZsYXllciwgc291cmNlUmVjdCwgbWFwcGVkU291
cmNlUmVjdCwgdGFyZ2V0UmVjdCwgY29udGVudHNTY2FsZSwgc3VwcG9ydHNBbHBoYV0KLSAgICAg
ICAgKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCkKLSAgICAgICAgewotICAgICAgICAgICAgY29u
dGV4dC5zYXZlKCk7Ci0gICAgICAgICAgICBjb250ZXh0LmNsaXAodGFyZ2V0UmVjdCk7Ci0gICAg
ICAgICAgICBjb250ZXh0LnRyYW5zbGF0ZSh0YXJnZXRSZWN0LngoKSwgdGFyZ2V0UmVjdC55KCkp
OwotCi0gICAgICAgICAgICBpZiAoc3VwcG9ydHNBbHBoYSkgewotICAgICAgICAgICAgICAgIGNv
bnRleHQuc2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZU9wZXJhdG9yOjpDb3B5KTsKLSAg
ICAgICAgICAgICAgICBjb250ZXh0LmZpbGxSZWN0KEludFJlY3QoSW50UG9pbnQ6Onplcm8oKSwg
c291cmNlUmVjdC5zaXplKCkpLCBDb2xvcjo6dHJhbnNwYXJlbnRCbGFjayk7Ci0gICAgICAgICAg
ICAgICAgY29udGV4dC5zZXRDb21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlT3BlcmF0b3I6OlNv
dXJjZU92ZXIpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBjb250ZXh0LnRyYW5zbGF0
ZSgtc291cmNlUmVjdC54KCksIC1zb3VyY2VSZWN0LnkoKSk7Ci0gICAgICAgICAgICBjb250ZXh0
LnNjYWxlKEZsb2F0U2l6ZShjb250ZW50c1NjYWxlLCBjb250ZW50c1NjYWxlKSk7Ci0KLSAgICAg
ICAgICAgIGxheWVyLnBhaW50R3JhcGhpY3NMYXllckNvbnRlbnRzKGNvbnRleHQsIG1hcHBlZFNv
dXJjZVJlY3QpOwotCi0gICAgICAgICAgICBjb250ZXh0LnJlc3RvcmUoKTsKLSAgICAgICAgfSk7
Ci0KLSAgICBidWZmZXItPmNvbXBsZXRlUGFpbnRpbmcoKTsKLQotICAgIHJldHVybiB0cnVlOwot
fQotCi19IC8vIG5hbWVzcGFjZSBOaWNvc2lhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL05pY29zaWFQYWludGluZ0VuZ2luZUJhc2ljLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL05pY29zaWFQYWludGluZ0Vu
Z2luZUJhc2ljLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2ZjM3ZWE3ZGFmZC4u
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL25pY29z
aWEvTmljb3NpYVBhaW50aW5nRW5naW5lQmFzaWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4K
LSAqIENvcHlyaWdodCAoQykgMjAxNyBJZ2FsaWEgUy5MLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
Ci0gKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZwotICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCi0gKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKLSAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJOaWNvc2lhUGFpbnRpbmdFbmdp
bmUuaCIKLQotbmFtZXNwYWNlIE5pY29zaWEgewotCi1jbGFzcyBQYWludGluZ0VuZ2luZUJhc2lj
IGZpbmFsIDogcHVibGljIFBhaW50aW5nRW5naW5lIHsKLXB1YmxpYzoKLSAgICBQYWludGluZ0Vu
Z2luZUJhc2ljKCk7Ci0gICAgdmlydHVhbCB+UGFpbnRpbmdFbmdpbmVCYXNpYygpOwotCi1wcml2
YXRlOgotICAgIGJvb2wgcGFpbnQoV2ViQ29yZTo6R3JhcGhpY3NMYXllciYsIFJlZjxCdWZmZXI+
JiYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYsIGZsb2F0KSBvdmVycmlkZTsKLX07Ci0KLX0gLy8gbmFtZXNw
YWNlIE5pY29zaWEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L25pY29zaWEvTmljb3NpYVBhaW50aW5nRW5naW5lVGhyZWFkZWQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhUGFpbnRpbmdFbmdpbmVUaHJlYWRl
ZC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE2ZDNiYzllNDc2NC4uMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvTmlj
b3NpYVBhaW50aW5nRW5naW5lVGhyZWFkZWQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgot
ICogQ29weXJpZ2h0IChDKSAyMDE3IElnYWxpYSBTLkwuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
LSAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nCi0gKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKLSAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAotICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTmljb3NpYVBhaW50aW5n
RW5naW5lVGhyZWFkZWQuaCIKLQotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLQotI2lu
Y2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKLSNp
bmNsdWRlICJOaWNvc2lhQnVmZmVyLmgiCi0jaW5jbHVkZSAiTmljb3NpYVBhaW50aW5nQ29udGV4
dC5oIgotCi1uYW1lc3BhY2UgTmljb3NpYSB7Ci11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQot
c3RhdGljIHZvaWQgcGFpbnRMYXllcihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIEdyYXBoaWNz
TGF5ZXImIGxheWVyLCBjb25zdCBJbnRSZWN0JiBzb3VyY2VSZWN0LCBjb25zdCBJbnRSZWN0JiBt
YXBwZWRTb3VyY2VSZWN0LCBjb25zdCBJbnRSZWN0JiB0YXJnZXRSZWN0LCBmbG9hdCBjb250ZW50
c1NjYWxlLCBib29sIHN1cHBvcnRzQWxwaGEpCi17Ci0gICAgY29udGV4dC5zYXZlKCk7Ci0gICAg
Y29udGV4dC5jbGlwKHRhcmdldFJlY3QpOwotICAgIGNvbnRleHQudHJhbnNsYXRlKHRhcmdldFJl
Y3QueCgpLCB0YXJnZXRSZWN0LnkoKSk7Ci0KLSAgICBpZiAoc3VwcG9ydHNBbHBoYSkgewotICAg
ICAgICBjb250ZXh0LnNldENvbXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVPcGVyYXRvcjo6Q29w
eSk7Ci0gICAgICAgIGNvbnRleHQuZmlsbFJlY3QoSW50UmVjdChJbnRQb2ludDo6emVybygpLCBz
b3VyY2VSZWN0LnNpemUoKSksIENvbG9yOjp0cmFuc3BhcmVudEJsYWNrKTsKLSAgICAgICAgY29u
dGV4dC5zZXRDb21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlT3BlcmF0b3I6OlNvdXJjZU92ZXIp
OwotICAgIH0KLQotICAgIGNvbnRleHQudHJhbnNsYXRlKC1zb3VyY2VSZWN0LngoKSwgLXNvdXJj
ZVJlY3QueSgpKTsKLSAgICBjb250ZXh0LnNjYWxlKEZsb2F0U2l6ZShjb250ZW50c1NjYWxlLCBj
b250ZW50c1NjYWxlKSk7Ci0KLSAgICBsYXllci5wYWludEdyYXBoaWNzTGF5ZXJDb250ZW50cyhj
b250ZXh0LCBtYXBwZWRTb3VyY2VSZWN0KTsKLQotICAgIGNvbnRleHQucmVzdG9yZSgpOwotfQot
Ci1QYWludGluZ0VuZ2luZVRocmVhZGVkOjpQYWludGluZ0VuZ2luZVRocmVhZGVkKHVuc2lnbmVk
IG51bVRocmVhZHMpCi0gICAgOiBtX3dvcmtlclBvb2woV29ya2VyUG9vbDo6Y3JlYXRlKCJQYWlu
dGluZ1RocmVhZCJfcywgbnVtVGhyZWFkcykpCi17Ci19Ci0KLVBhaW50aW5nRW5naW5lVGhyZWFk
ZWQ6On5QYWludGluZ0VuZ2luZVRocmVhZGVkKCkKLXsKLX0KLQotYm9vbCBQYWludGluZ0VuZ2lu
ZVRocmVhZGVkOjpwYWludChHcmFwaGljc0xheWVyJiBsYXllciwgUmVmPEJ1ZmZlcj4mJiBidWZm
ZXIsIGNvbnN0IEludFJlY3QmIHNvdXJjZVJlY3QsIGNvbnN0IEludFJlY3QmIG1hcHBlZFNvdXJj
ZVJlY3QsIGNvbnN0IEludFJlY3QmIHRhcmdldFJlY3QsIGZsb2F0IGNvbnRlbnRzU2NhbGUpCi17
Ci0gICAgYnVmZmVyLT5iZWdpblBhaW50aW5nKCk7Ci0KLSAgICBQYWludGluZ09wZXJhdGlvbnMg
cGFpbnRpbmdPcGVyYXRpb25zOwotICAgIFBhaW50aW5nQ29udGV4dDo6cmVjb3JkKHBhaW50aW5n
T3BlcmF0aW9ucywKLSAgICAgICAgWyZdKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCkKLSAgICAg
ICAgewotICAgICAgICAgICAgcGFpbnRMYXllcihjb250ZXh0LCBsYXllciwgc291cmNlUmVjdCwg
bWFwcGVkU291cmNlUmVjdCwgdGFyZ2V0UmVjdCwgY29udGVudHNTY2FsZSwgYnVmZmVyLT5zdXBw
b3J0c0FscGhhKCkpOwotICAgICAgICB9KTsKLQotICAgIG1fd29ya2VyUG9vbC0+cG9zdFRhc2so
W3BhaW50aW5nT3BlcmF0aW9ucyA9IFdURk1vdmUocGFpbnRpbmdPcGVyYXRpb25zKSwgYnVmZmVy
ID0gV1RGTW92ZShidWZmZXIpXSB7Ci0gICAgICAgIFBhaW50aW5nQ29udGV4dDo6cmVwbGF5KGJ1
ZmZlciwgcGFpbnRpbmdPcGVyYXRpb25zKTsKLSAgICAgICAgYnVmZmVyLT5jb21wbGV0ZVBhaW50
aW5nKCk7Ci0gICAgfSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
Tmljb3NpYQotCi0jZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS9OaWNvc2lhUGFpbnRp
bmdFbmdpbmVUaHJlYWRlZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmlj
b3NpYS9OaWNvc2lhUGFpbnRpbmdFbmdpbmVUaHJlYWRlZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAyM2Q0N2JjYjA2Y2IuLjAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL05pY29zaWFQYWludGluZ0VuZ2luZVRocmVhZGVk
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE3IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgSWdhbGlh
IFMuTC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKLSAqICAgIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAotICog
ICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
Ci0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBIT0xERVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0j
aWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQotCi0jaW5jbHVkZSAiTmljb3NpYVBhaW50aW5n
RW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL1dvcmtlclBvb2wuaD4KLQotbmFtZXNwYWNlIE5pY29z
aWEgewotCi1jbGFzcyBQYWludGluZ0VuZ2luZVRocmVhZGVkIGZpbmFsIDogcHVibGljIFBhaW50
aW5nRW5naW5lIHsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBQYWludGluZ0VuZ2luZVRocmVhZGVk
KHVuc2lnbmVkKTsKLSAgICB2aXJ0dWFsIH5QYWludGluZ0VuZ2luZVRocmVhZGVkKCk7Ci0KLXBy
aXZhdGU6Ci0gICAgYm9vbCBwYWludChXZWJDb3JlOjpHcmFwaGljc0xheWVyJiwgUmVmPEJ1ZmZl
cj4mJiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgZmxvYXQpIG92ZXJyaWRlOwotCi0gICAgUmVmPFdvcmtl
clBvb2w+IG1fd29ya2VyUG9vbDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIE5pY29zaWEKLQotI2Vu
ZGlmIC8vIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBo
aWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5jcHAKaW5kZXggNzY2OWExMWRiYTI3
Li4xMDM3YWExMjNjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29y
ZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiTmlj
b3NpYUNvbnRlbnRMYXllclRleHR1cmVNYXBwZXJJbXBsLmgiCiAjaW5jbHVkZSAiTmljb3NpYUlt
YWdlQmFja2luZ1RleHR1cmVNYXBwZXJJbXBsLmgiCiAjaW5jbHVkZSAiTmljb3NpYVBhaW50aW5n
Q29udGV4dC5oIgotI2luY2x1ZGUgIk5pY29zaWFQYWludGluZ0VuZ2luZS5oIgogI2luY2x1ZGUg
IlNjcm9sbGFibGVBcmVhLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQ
cm94eVByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmUuaCIKQEAgLTEwOTQs
NiArMTA5MywzNSBAQCB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6dXBkYXRlQ29udGVu
dEJ1ZmZlcnNJbmNsdWRpbmdTdWJMYXllcnMoKQogICAgICAgICBkb3duY2FzdDxDb29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXI+KGNoaWxkLmdldCgpKS51cGRhdGVDb250ZW50QnVmZmVyc0luY2x1ZGlu
Z1N1YkxheWVycygpOwogfQogCit2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6cGFpbnQo
Tmljb3NpYTo6QnVmZmVyJiBidWZmZXIsIGNvbnN0IEludFJlY3QmIHNvdXJjZVJlY3QsIGNvbnN0
IEludFJlY3QmIG1hcHBlZFNvdXJjZVJlY3QsIGNvbnN0IEludFJlY3QmIHRhcmdldFJlY3QsIGZs
b2F0IGNvbnRlbnRzU2NhbGUpCit7CisgICAgYnVmZmVyLmJlZ2luUGFpbnRpbmcoKTsKKworICAg
IGJvb2wgc3VwcG9ydHNBbHBoYSA9IGJ1ZmZlci5zdXBwb3J0c0FscGhhKCk7CisgICAgTmljb3Np
YTo6UGFpbnRpbmdDb250ZXh0OjpwYWludChidWZmZXIsCisgICAgICAgIFt0aGlzLCBzb3VyY2VS
ZWN0LCBtYXBwZWRTb3VyY2VSZWN0LCB0YXJnZXRSZWN0LCBjb250ZW50c1NjYWxlLCBzdXBwb3J0
c0FscGhhXShHcmFwaGljc0NvbnRleHQmIGNvbnRleHQpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGNvbnRleHQuc2F2ZSgpOworICAgICAgICAgICAgY29udGV4dC5jbGlwKHRhcmdldFJlY3QpOwor
ICAgICAgICAgICAgY29udGV4dC50cmFuc2xhdGUodGFyZ2V0UmVjdC54KCksIHRhcmdldFJlY3Qu
eSgpKTsKKworICAgICAgICAgICAgaWYgKHN1cHBvcnRzQWxwaGEpIHsKKyAgICAgICAgICAgICAg
ICBjb250ZXh0LnNldENvbXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVPcGVyYXRvcjo6Q29weSk7
CisgICAgICAgICAgICAgICAgY29udGV4dC5maWxsUmVjdChJbnRSZWN0KEludFBvaW50Ojp6ZXJv
KCksIHNvdXJjZVJlY3Quc2l6ZSgpKSwgQ29sb3I6OnRyYW5zcGFyZW50QmxhY2spOworICAgICAg
ICAgICAgICAgIGNvbnRleHQuc2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZU9wZXJhdG9y
OjpTb3VyY2VPdmVyKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY29udGV4dC50cmFu
c2xhdGUoLXNvdXJjZVJlY3QueCgpLCAtc291cmNlUmVjdC55KCkpOworICAgICAgICAgICAgY29u
dGV4dC5zY2FsZShGbG9hdFNpemUoY29udGVudHNTY2FsZSwgY29udGVudHNTY2FsZSkpOworCisg
ICAgICAgICAgICBwYWludEdyYXBoaWNzTGF5ZXJDb250ZW50cyhjb250ZXh0LCBtYXBwZWRTb3Vy
Y2VSZWN0KTsKKworICAgICAgICAgICAgY29udGV4dC5yZXN0b3JlKCk7CisgICAgICAgIH0pOwor
CisgICAgYnVmZmVyLmNvbXBsZXRlUGFpbnRpbmcoKTsKK30KKwogdm9pZCBDb29yZGluYXRlZEdy
YXBoaWNzTGF5ZXI6OnVwZGF0ZUNvbnRlbnRCdWZmZXJzKCkKIHsKICAgICBpZiAoIW1fbmljb3Np
YS5iYWNraW5nU3RvcmUpCkBAIC0xMTc0LDExICsxMjAyLDcgQEAgdm9pZCBDb29yZGluYXRlZEdy
YXBoaWNzTGF5ZXI6OnVwZGF0ZUNvbnRlbnRCdWZmZXJzKCkKICAgICAgICAgICAgIHVwZGF0ZUlu
Zm8udXBkYXRlUmVjdC5tb3ZlKC10aWxlUmVjdC54KCksIC10aWxlUmVjdC55KCkpOwogICAgICAg
ICAgICAgdXBkYXRlSW5mby5idWZmZXIgPSBjb29yZGluYXRlZEJ1ZmZlci5jb3B5UmVmKCk7CiAK
LSAgICAgICAgICAgIGlmICghbV9jb29yZGluYXRvci0+cGFpbnRpbmdFbmdpbmUoKS5wYWludCgq
dGhpcywgV1RGTW92ZShjb29yZGluYXRlZEJ1ZmZlciksCi0gICAgICAgICAgICAgICAgZGlydHlS
ZWN0LCBsYXllclN0YXRlLm1haW5CYWNraW5nU3RvcmUtPm1hcFRvQ29udGVudHMoZGlydHlSZWN0
KSwKLSAgICAgICAgICAgICAgICBJbnRSZWN0IHsgeyAwLCAwIH0sIGRpcnR5UmVjdC5zaXplKCkg
fSwgbGF5ZXJTdGF0ZS5tYWluQmFja2luZ1N0b3JlLT5jb250ZW50c1NjYWxlKCkpKQotICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotCisgICAgICAgICAgICBwYWludChjb29yZGluYXRlZEJ1ZmZl
ci5nZXQoKSwgZGlydHlSZWN0LCBsYXllclN0YXRlLm1haW5CYWNraW5nU3RvcmUtPm1hcFRvQ29u
dGVudHMoZGlydHlSZWN0KSwgSW50UmVjdCB7IHsgMCwgMCB9LCBkaXJ0eVJlY3Quc2l6ZSgpIH0s
IGxheWVyU3RhdGUubWFpbkJhY2tpbmdTdG9yZS0+Y29udGVudHNTY2FsZSgpKTsKICAgICAgICAg
ICAgIGltcGwudXBkYXRlVGlsZSh0aWxlLnRpbGVJRCgpLCB1cGRhdGVJbmZvLCB0aWxlUmVjdCk7
CiAKICAgICAgICAgICAgIHRpbGUubWFya0NsZWFuKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29v
cmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgKaW5kZXggOTdkZWM1OWJmMTc5Li4x
YjY3MGQ5YzQzNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyLmgKQEAgLTM4LDcgKzM4LDYgQEAKIAogbmFtZXNwYWNlIE5pY29zaWEg
ewogY2xhc3MgQW5pbWF0aW9uczsKLWNsYXNzIFBhaW50aW5nRW5naW5lOwogfQogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEZsb2F0
UmVjdCB2aXNpYmxlQ29udGVudHNSZWN0KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBk
ZXRhY2hMYXllcihDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIqKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGF0dGFjaExheWVyKENvb3JkaW5hdGVkR3JhcGhpY3NMYXllciopID0gMDsKLSAgICB2aXJ0
dWFsIE5pY29zaWE6OlBhaW50aW5nRW5naW5lJiBwYWludGluZ0VuZ2luZSgpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgc3luY0xheWVyU3RhdGUoKSA9IDA7CiB9OwogCkBAIC0xOTgsNiArMTk2LDgg
QEAgcHJpdmF0ZToKIAogICAgIGJvb2wgZmlsdGVyc0NhbkJlQ29tcG9zaXRlZChjb25zdCBGaWx0
ZXJPcGVyYXRpb25zJikgY29uc3Q7CiAKKyAgICB2b2lkIHBhaW50KE5pY29zaWE6OkJ1ZmZlciYs
IGNvbnN0IEludFJlY3QmIHNvdXJjZVJlY3QsIGNvbnN0IEludFJlY3QmIG1hcHBlZFNvdXJjZVJl
Y3QsIGNvbnN0IEludFJlY3QmIHRhcmdldFJlY3QsIGZsb2F0IGNvbnRlbnRzU2NhbGUpOworCiAg
ICAgTmljb3NpYTo6UGxhdGZvcm1MYXllcjo6TGF5ZXJJRCBtX2lkOwogICAgIEdyYXBoaWNzTGF5
ZXJUcmFuc2Zvcm0gbV9sYXllclRyYW5zZm9ybTsKICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBt
X2NhY2hlZEludmVyc2VUcmFuc2Zvcm07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI3ODZhYWVjYmMwMy4uNDllODk4
MDM3Y2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTA1LTA0ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIFJl
bW92ZSB0aHJlYWRpbmcgcGFpbnRpbmcgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMDYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db21wb3NpdGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29tcG9z
aXRpbmdDb29yZGluYXRvcjo6Q29tcG9zaXRpbmdDb29yZGluYXRvcik6CisgICAgICAgIChXZWJL
aXQ6OkNvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnBhaW50aW5nRW5naW5lKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db21wb3NpdGlu
Z0Nvb3JkaW5hdG9yLmg6CisKIDIwMjItMDUtMDQgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJk
bmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBFbmFibGUgVGV4dENoZWNraW5nVHlwZTo6Q29ycmVj
dGlvbiBvbiBNYWNDYXRhbHlzdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGluYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
bXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDVmYmJkNTk2N2M5NS4uNGNjODAwMTI3MjI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29tcG9zaXRpbmdDb29yZGlu
YXRvci5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL05pY29zaWFCYWNr
aW5nU3RvcmVUZXh0dXJlTWFwcGVySW1wbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTmljb3NpYUNv
bnRlbnRMYXllclRleHR1cmVNYXBwZXJJbXBsLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9OaWNvc2lh
SW1hZ2VCYWNraW5nVGV4dHVyZU1hcHBlckltcGwuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL05pY29z
aWFQYWludGluZ0VuZ2luZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUg
PHd0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUu
aD4KQEAgLTUzLDcgKzUyLDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBDb21wb3NpdGlu
Z0Nvb3JkaW5hdG9yOjpDb21wb3NpdGluZ0Nvb3JkaW5hdG9yKFdlYlBhZ2UmIHBhZ2UsIENvbXBv
c2l0aW5nQ29vcmRpbmF0b3I6OkNsaWVudCYgY2xpZW50KQogICAgIDogbV9wYWdlKHBhZ2UpCiAg
ICAgLCBtX2NsaWVudChjbGllbnQpCi0gICAgLCBtX3BhaW50aW5nRW5naW5lKE5pY29zaWE6OlBh
aW50aW5nRW5naW5lOjpjcmVhdGUoKSkKIHsKICAgICBtX25pY29zaWEuc2NlbmUgPSBOaWNvc2lh
OjpTY2VuZTo6Y3JlYXRlKCk7CiAgICAgbV9uaWNvc2lhLnNjZW5lSW50ZWdyYXRpb24gPSBOaWNv
c2lhOjpTY2VuZUludGVncmF0aW9uOjpjcmVhdGUoKm1fbmljb3NpYS5zY2VuZSwgKnRoaXMpOwpA
QCAtMzAzLDExICszMDEsNiBAQCB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnB1cmdlQmFj
a2luZ1N0b3JlcygpCiAgICAgICAgIHJlZ2lzdGVyZWRMYXllci0+cHVyZ2VCYWNraW5nU3RvcmVz
KCk7CiB9CiAKLU5pY29zaWE6OlBhaW50aW5nRW5naW5lJiBDb21wb3NpdGluZ0Nvb3JkaW5hdG9y
OjpwYWludGluZ0VuZ2luZSgpCi17Ci0gICAgcmV0dXJuICptX3BhaW50aW5nRW5naW5lOwotfQot
CiB2b2lkIENvbXBvc2l0aW5nQ29vcmRpbmF0b3I6OnJlcXVlc3RVcGRhdGUoKQogewogICAgIG1f
Y2xpZW50LnVwZGF0ZVNjZW5lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29t
cG9zaXRpbmdDb29yZGluYXRvci5oCmluZGV4IGVlZDMwZmVjODU3Ni4uY2UzOGQ1YWU5MjBmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0NvbXBvc2l0aW5nQ29vcmRpbmF0b3Iu
aApAQCAtNDAsNyArNDAsNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTmljb3NpYVNjZW5lSW50ZWdy
YXRpb24uaD4KIAogbmFtZXNwYWNlIE5pY29zaWEgewotY2xhc3MgUGFpbnRpbmdFbmdpbmU7CiBj
bGFzcyBTY2VuZUludGVncmF0aW9uOwogfQogCkBAIC0xMDEsNyArMTAwLDYgQEAgcHJpdmF0ZToK
ICAgICBXZWJDb3JlOjpGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVjdCgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIHZvaWQgZGV0YWNoTGF5ZXIoV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyKikgb3ZlcnJpZGU7CiAgICAgdm9pZCBhdHRhY2hMYXllcihXZWJDb3JlOjpDb29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXIqKSBvdmVycmlkZTsKLSAgICBOaWNvc2lhOjpQYWludGluZ0VuZ2luZSYg
cGFpbnRpbmdFbmdpbmUoKSBvdmVycmlkZTsKICAgICB2b2lkIHN5bmNMYXllclN0YXRlKCkgb3Zl
cnJpZGU7CiAKICAgICAvLyBHcmFwaGljc0xheWVyRmFjdG9yeQpAQCAtMTMyLDggKzEzMCw2IEBA
IHByaXZhdGU6CiAKICAgICBIYXNoTWFwPE5pY29zaWE6OlBsYXRmb3JtTGF5ZXI6OkxheWVySUQs
IFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllcio+IG1fcmVnaXN0ZXJlZExheWVyczsK
IAotICAgIHN0ZDo6dW5pcXVlX3B0cjxOaWNvc2lhOjpQYWludGluZ0VuZ2luZT4gbV9wYWludGlu
Z0VuZ2luZTsKLQogICAgIC8vIFdlIGRvbid0IHNlbmQgdGhlIG1lc3NhZ2VzIHJlbGF0ZWQgdG8g
cmVsZWFzaW5nIHJlc291cmNlcyB0byByZW5kZXJlciBkdXJpbmcgcHVyZ2luZywgYmVjYXVzZSBy
ZW5kZXJlciBhbHJlYWR5IGhhZCByZW1vdmVkIGFsbCByZXNvdXJjZXMuCiAgICAgYm9vbCBtX2lz
UHVyZ2luZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzRmx1c2hpbmdMYXllckNoYW5nZXMgeyBm
YWxzZSB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>