<?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>243712</bug_id>
          
          <creation_ts>2022-08-08 20:30:49 -0700</creation_ts>
          <short_desc>[Painting] TextDecorationPainter c&apos;tor should not take geometries/text run</short_desc>
          <delta_ts>2022-08-14 14:06:25 -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>Layout and Rendering</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>243766</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1889910</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-08-08 20:30:49 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1889912</commentid>
    <comment_count>1</comment_count>
      <attachid>461498</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-08-08 20:37:25 -0700</bug_when>
    <thetext>Created attachment 461498
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1890279</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-08-10 07:41:21 -0700</bug_when>
    <thetext>Committed 253293@main (0e1d81afb233): &lt;https://commits.webkit.org/253293@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 461498.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1890280</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-08-10 07:42:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/98450106&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>461498</attachid>
            <date>2022-08-08 20:37:25 -0700</date>
            <delta_ts>2022-08-10 07:41:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-243712-20220808203724.patch</filename>
            <type>text/plain</type>
            <size>22251</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBjMmUzMmFmZjE5OTA4Yzc4NWI2Njg5YjJlOGFjMzNmYTIzYjhhMWI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJ1anRhcyA8emFsYW5AYXBwbGUuY29tPgpEYXRlOiBN
b24sIDggQXVnIDIwMjIgMjA6MzE6MDQgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbUGFpbnRpbmdd
IFRleHREZWNvcmF0aW9uUGFpbnRlciBjJ3RvciBzaG91bGQgbm90IHRha2UKIGdlb21ldHJpZXMv
dGV4dCBydW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MzcxMgoK
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpMZXQncyBwYXNzIGluIGFsbCB0aGUgZ2VvbWV0
cnkgaW5mbyB0byBUZXh0RGVjb3JhdGlvblBhaW50ZXIncyBwYWludCBmdW5jdGlvbnMgaW5zdGVh
ZCBvZiBwYXNzaW5nIGhhbGYgaGVyZSwgaGFsZiBhdCBjb25zdHJ1Y3Rpb24gdGltZS4gVGV4dERl
Y29yYXRpb25QYWludGVyIGMndG9yIG9ubHkgdGFrZXMgc3R5bGUgKGFuZCByZWxhdGVkKSBhcmd1
bWVudHMuClRoaXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnQgZGVjb3JhdGluZyBib3gg
YmFzZWQgdW5kZXJsaW5nIHBhaW50aW5nLgoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEJveFBhaW50ZXIuY3BwOgooV2ViQ29yZTo6VGV4dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+Ojpw
YWludEZvcmVncm91bmRBbmREZWNvcmF0aW9ucyk6CihXZWJDb3JlOjpUZXh0Qm94UGFpbnRlcjxU
ZXh0Qm94UGF0aD46OmNyZWF0ZURlY29yYXRpb25QYWludGVyKToKKFdlYkNvcmU6OlRleHRCb3hQ
YWludGVyPFRleHRCb3hQYXRoPjo6cGFpbnRCYWNrZ3JvdW5kRGVjb3JhdGlvbnMpOgooV2ViQ29y
ZTo6VGV4dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+OjpwYWludEZvcmVncm91bmREZWNvcmF0aW9u
cyk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmg6CiogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1RleHREZWNvcmF0aW9uUGFpbnRlci5jcHA6CihXZWJDb3JlOjpU
ZXh0RGVjb3JhdGlvblBhaW50ZXI6OlRleHREZWNvcmF0aW9uUGFpbnRlcik6CihXZWJDb3JlOjpU
ZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50QmFja2dyb3VuZERlY29yYXRpb25zKToKKFdlYkNv
cmU6OlRleHREZWNvcmF0aW9uUGFpbnRlcjo6cGFpbnRGb3JlZ3JvdW5kRGVjb3JhdGlvbnMpOgoo
V2ViQ29yZTo6VGV4dERlY29yYXRpb25QYWludGVyOjpwYWludExpbmVUaHJvdWdoKToKKiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVyLmg6CihXZWJDb3JlOjpU
ZXh0RGVjb3JhdGlvblBhaW50ZXI6OnRleHREZWNvcmF0aW9ucyBjb25zdCk6Ci0tLQogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcCAgIHwgMjMgKysrLS0KIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oICAgICB8ICAyICstCiAuLi4vcmVu
ZGVyaW5nL1RleHREZWNvcmF0aW9uUGFpbnRlci5jcHAgICAgICAgfCA4NSArKysrKysrKystLS0t
LS0tLS0tCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVyLmggfCAy
MSArKy0tLQogNCBmaWxlcyBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcAppbmRleCBh
MzRkY2VjZThkMDMuLmVkZDg1OWZiNjVkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
VGV4dEJveFBhaW50ZXIuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiRXZlbnRSZWdp
b24uaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJJbmxpbmVJdGVy
YXRvckxpbmVCb3guaCIKKyNpbmNsdWRlICJJbmxpbmVUZXh0Qm94U3R5bGUuaCIKICNpbmNsdWRl
ICJMZWdhY3lJbmxpbmVUZXh0Qm94LmgiCiAjaW5jbHVkZSAiTGluZVNlbGVjdGlvbi5oIgogI2lu
Y2x1ZGUgIlBhaW50SW5mby5oIgpAQCAtMjg4LDcgKzI4OSw3IEBAIHZvaWQgVGV4dEJveFBhaW50
ZXI8VGV4dEJveFBhdGg+OjpwYWludEZvcmVncm91bmRBbmREZWNvcmF0aW9ucygpCiAgICAgICAg
ICAgICAgICAgICAgIHNuYXBwZWRTZWxlY3Rpb25SZWN0ID0gc25hcFJlY3RUb0RldmljZVBpeGVs
c1dpdGhXcml0aW5nRGlyZWN0aW9uKHNlbGVjdGlvblJlY3QsIG1fZG9jdW1lbnQuZGV2aWNlU2Nh
bGVGYWN0b3IoKSwgbV9wYWludFRleHRSdW4ubHRyKCkpOwogICAgICAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgICAgIFRleHREZWNvcmF0aW9uUGFpbnRlciBkZWNvcmF0aW9uUGFpbnRlciA9
IGNyZWF0ZURlY29yYXRpb25QYWludGVyKG1hcmtlZFRleHQsIHRleHREZWNvcmF0aW9uU2VsZWN0
aW9uQ2xpcE91dFJlY3QsIHNuYXBwZWRTZWxlY3Rpb25SZWN0KTsKKyAgICAgICAgICAgICAgICBU
ZXh0RGVjb3JhdGlvblBhaW50ZXIgZGVjb3JhdGlvblBhaW50ZXIgPSBjcmVhdGVEZWNvcmF0aW9u
UGFpbnRlcihtYXJrZWRUZXh0LCB0ZXh0RGVjb3JhdGlvblNlbGVjdGlvbkNsaXBPdXRSZWN0KTsK
ICAgICAgICAgICAgICAgICBwYWludEJhY2tncm91bmREZWNvcmF0aW9ucyhkZWNvcmF0aW9uUGFp
bnRlciwgbWFya2VkVGV4dCwgc25hcHBlZFNlbGVjdGlvblJlY3QpOwogICAgICAgICAgICAgICAg
IHBhaW50Rm9yZWdyb3VuZChtYXJrZWRUZXh0KTsKICAgICAgICAgICAgICAgICBwYWludEZvcmVn
cm91bmREZWNvcmF0aW9ucyhkZWNvcmF0aW9uUGFpbnRlciwgc25hcHBlZFNlbGVjdGlvblJlY3Qp
OwpAQCAtNDE0LDcgKzQxNSw3IEBAIHZvaWQgVGV4dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+Ojpw
YWludEZvcmVncm91bmQoY29uc3QgU3R5bGVkTWFya2VkVGV4dCYgbWFya2VkCiB9CiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFRleHRCb3hQYXRoPgotVGV4dERlY29yYXRpb25QYWludGVyIFRleHRCb3hQ
YWludGVyPFRleHRCb3hQYXRoPjo6Y3JlYXRlRGVjb3JhdGlvblBhaW50ZXIoY29uc3QgU3R5bGVk
TWFya2VkVGV4dCYgbWFya2VkVGV4dCwgY29uc3QgRmxvYXRSZWN0JiBjbGlwT3V0UmVjdCwgY29u
c3QgRmxvYXRSZWN0JiBzbmFwcGVkU2VsZWN0aW9uUmVjdCkKK1RleHREZWNvcmF0aW9uUGFpbnRl
ciBUZXh0Qm94UGFpbnRlcjxUZXh0Qm94UGF0aD46OmNyZWF0ZURlY29yYXRpb25QYWludGVyKGNv
bnN0IFN0eWxlZE1hcmtlZFRleHQmIG1hcmtlZFRleHQsIGNvbnN0IEZsb2F0UmVjdCYgY2xpcE91
dFJlY3QpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0ID0gbV9wYWludEluZm8uY29u
dGV4dCgpOwogCkBAIC00MzUsNyArNDM2LDkgQEAgVGV4dERlY29yYXRpb25QYWludGVyIFRleHRC
b3hQYWludGVyPFRleHRCb3hQYXRoPjo6Y3JlYXRlRGVjb3JhdGlvblBhaW50ZXIoY29uc3QKICAg
ICAvLyBDcmVhdGUgcGFpbnRlcgogICAgIGF1dG8qIHNoYWRvdyA9IG1hcmtlZFRleHQuc3R5bGUu
dGV4dFNoYWRvdyA/ICZtYXJrZWRUZXh0LnN0eWxlLnRleHRTaGFkb3cudmFsdWUoKSA6IG51bGxw
dHI7CiAgICAgYXV0byogY29sb3JGaWx0ZXIgPSBtYXJrZWRUZXh0LnN0eWxlLnRleHRTaGFkb3cg
JiYgbV9zdHlsZS5oYXNBcHBsZUNvbG9yRmlsdGVyKCkgPyAmbV9zdHlsZS5hcHBsZUNvbG9yRmls
dGVyKCkgOiBudWxscHRyOwotICAgIHJldHVybiB7IGNvbnRleHQsIGZvbnRDYXNjYWRlKCksIG1h
a2VJdGVyYXRvcigpLCBzbmFwcGVkU2VsZWN0aW9uUmVjdC53aWR0aCgpLCBzaGFkb3csIGNvbG9y
RmlsdGVyLCBtYXJrZWRUZXh0LnN0eWxlLnRleHREZWNvcmF0aW9uU3R5bGVzIH07CisgICAgYXV0
byYgZG9jdW1lbnQgPSBtX3JlbmRlcmVyLmRvY3VtZW50KCk7CisgICAgYXV0byYgc3R5bGVUb1Vz
ZSA9IG1faXNGaXJzdExpbmUgPyBtX3JlbmRlcmVyLmZpcnN0TGluZVN0eWxlKCkgOiBtX3JlbmRl
cmVyLnN0eWxlKCk7CisgICAgcmV0dXJuIHsgY29udGV4dCwgc3R5bGVUb1VzZSwgZm9udENhc2Nh
ZGUoKSwgc2hhZG93LCBjb2xvckZpbHRlciwgbWFya2VkVGV4dC5zdHlsZS50ZXh0RGVjb3JhdGlv
blN0eWxlcywgZG9jdW1lbnQucHJpbnRpbmcoKSwgbV9yZW5kZXJlci5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpLCBkb2N1bWVudC5kZXZpY2VTY2FsZUZhY3RvcigpIH07CiB9CiAKIHRlbXBsYXRl
PHR5cGVuYW1lIFRleHRCb3hQYXRoPgpAQCAtNDQ0LDcgKzQ0NywxNyBAQCB2b2lkIFRleHRCb3hQ
YWludGVyPFRleHRCb3hQYXRoPjo6cGFpbnRCYWNrZ3JvdW5kRGVjb3JhdGlvbnMoVGV4dERlY29y
YXRpb25QYWludAogICAgIGlmIChtX2lzQ29tYmluZWRUZXh0KQogICAgICAgICBtX3BhaW50SW5m
by5jb250ZXh0KCkuY29uY2F0Q1RNKHJvdGF0aW9uKG1fcGFpbnRSZWN0LCBDbG9ja3dpc2UpKTsK
IAotICAgIGRlY29yYXRpb25QYWludGVyLnBhaW50QmFja2dyb3VuZERlY29yYXRpb25zKG1fcGFp
bnRUZXh0UnVuLnN1YlJ1bihtYXJrZWRUZXh0LnN0YXJ0T2Zmc2V0LCBtYXJrZWRUZXh0LmVuZE9m
ZnNldCAtIG1hcmtlZFRleHQuc3RhcnRPZmZzZXQpLCB0ZXh0T3JpZ2luRnJvbVBhaW50UmVjdChz
bmFwcGVkU2VsZWN0aW9uUmVjdCksIHNuYXBwZWRTZWxlY3Rpb25SZWN0LmxvY2F0aW9uKCkpOwor
ICAgIGF1dG8gdGV4dFJ1biA9IG1fcGFpbnRUZXh0UnVuLnN1YlJ1bihtYXJrZWRUZXh0LnN0YXJ0
T2Zmc2V0LCBtYXJrZWRUZXh0LmVuZE9mZnNldCAtIG1hcmtlZFRleHQuc3RhcnRPZmZzZXQpOwor
ICAgIGF1dG8gdGV4dE9yaWdpbiA9IHRleHRPcmlnaW5Gcm9tUGFpbnRSZWN0KHNuYXBwZWRTZWxl
Y3Rpb25SZWN0KTsKKyAgICBhdXRvIGJveE9yaWdpbiA9IHNuYXBwZWRTZWxlY3Rpb25SZWN0Lmxv
Y2F0aW9uKCk7CisgICAgYXV0byBib3hXaWR0aCA9IHNuYXBwZWRTZWxlY3Rpb25SZWN0LndpZHRo
KCk7CisgICAgYXV0byB1bmRlcmxpbmVPZmZzZXQgPSBbJl0geworICAgICAgICBpZiAoIWRlY29y
YXRpb25QYWludGVyLnRleHREZWNvcmF0aW9ucygpLmNvbnRhaW5zKFRleHREZWNvcmF0aW9uTGlu
ZTo6VW5kZXJsaW5lKSkKKyAgICAgICAgICAgIHJldHVybiAwLmY7CisgICAgICAgIGF1dG8mIHN0
eWxlVG9Vc2UgPSBtX2lzRmlyc3RMaW5lID8gbV9yZW5kZXJlci5maXJzdExpbmVTdHlsZSgpIDog
bV9yZW5kZXJlci5zdHlsZSgpOworICAgICAgICByZXR1cm4gdW5kZXJsaW5lT2Zmc2V0Rm9yVGV4
dEJveFBhaW50aW5nKHN0eWxlVG9Vc2UsIG1ha2VJdGVyYXRvcigpKTsKKyAgICB9OworICAgIGRl
Y29yYXRpb25QYWludGVyLnBhaW50QmFja2dyb3VuZERlY29yYXRpb25zKHRleHRSdW4sIHRleHRP
cmlnaW4sIGJveE9yaWdpbiwgYm94V2lkdGgsIHVuZGVybGluZU9mZnNldCgpLCB3YXZ5T2Zmc2V0
RnJvbURlY29yYXRpb24oKSk7CiAKICAgICBpZiAobV9pc0NvbWJpbmVkVGV4dCkKICAgICAgICAg
bV9wYWludEluZm8uY29udGV4dCgpLmNvbmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwgQ291
bnRlcmNsb2Nrd2lzZSkpOwpAQCAtNDU2LDcgKzQ2OSw3IEBAIHZvaWQgVGV4dEJveFBhaW50ZXI8
VGV4dEJveFBhdGg+OjpwYWludEZvcmVncm91bmREZWNvcmF0aW9ucyhUZXh0RGVjb3JhdGlvblBh
aW50CiAgICAgaWYgKG1faXNDb21iaW5lZFRleHQpCiAgICAgICAgIG1fcGFpbnRJbmZvLmNvbnRl
eHQoKS5jb25jYXRDVE0ocm90YXRpb24obV9wYWludFJlY3QsIENsb2Nrd2lzZSkpOwogCi0gICAg
ZGVjb3JhdGlvblBhaW50ZXIucGFpbnRGb3JlZ3JvdW5kRGVjb3JhdGlvbnMoc25hcHBlZFNlbGVj
dGlvblJlY3QubG9jYXRpb24oKSk7CisgICAgZGVjb3JhdGlvblBhaW50ZXIucGFpbnRGb3JlZ3Jv
dW5kRGVjb3JhdGlvbnMoc25hcHBlZFNlbGVjdGlvblJlY3QubG9jYXRpb24oKSwgc25hcHBlZFNl
bGVjdGlvblJlY3Qud2lkdGgoKSk7CiAKICAgICBpZiAobV9pc0NvbWJpbmVkVGV4dCkKICAgICAg
ICAgbV9wYWludEluZm8uY29udGV4dCgpLmNvbmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwg
Q291bnRlcmNsb2Nrd2lzZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1RleHRCb3hQYWludGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50
ZXIuaAppbmRleCAzNjY2ZmQ0NDU2MjMuLmEzNjU2YzAyOGRjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHJvdGVjdGVkOgog
ICAgIHZvaWQgcGFpbnRCYWNrZ3JvdW5kKHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1bnNpZ25lZCBl
bmRPZmZzZXQsIGNvbnN0IENvbG9yJiwgQmFja2dyb3VuZFN0eWxlID0gQmFja2dyb3VuZFN0eWxl
OjpOb3JtYWwpOwogICAgIHZvaWQgcGFpbnRCYWNrZ3JvdW5kKGNvbnN0IFN0eWxlZE1hcmtlZFRl
eHQmKTsKICAgICB2b2lkIHBhaW50Rm9yZWdyb3VuZChjb25zdCBTdHlsZWRNYXJrZWRUZXh0Jik7
Ci0gICAgVGV4dERlY29yYXRpb25QYWludGVyIGNyZWF0ZURlY29yYXRpb25QYWludGVyKGNvbnN0
IFN0eWxlZE1hcmtlZFRleHQmLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBGbG9hdFJlY3QmKTsK
KyAgICBUZXh0RGVjb3JhdGlvblBhaW50ZXIgY3JlYXRlRGVjb3JhdGlvblBhaW50ZXIoY29uc3Qg
U3R5bGVkTWFya2VkVGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZvaWQgcGFpbnRCYWNr
Z3JvdW5kRGVjb3JhdGlvbnMoVGV4dERlY29yYXRpb25QYWludGVyJiwgY29uc3QgU3R5bGVkTWFy
a2VkVGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZvaWQgcGFpbnRGb3JlZ3JvdW5kRGVj
b3JhdGlvbnMoVGV4dERlY29yYXRpb25QYWludGVyJiwgY29uc3QgRmxvYXRSZWN0Jik7CiAgICAg
dm9pZCBwYWludENvbXBvc2l0aW9uVW5kZXJsaW5lKGNvbnN0IENvbXBvc2l0aW9uVW5kZXJsaW5l
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25Q
YWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0RGVjb3JhdGlvblBhaW50
ZXIuY3BwCmluZGV4IGM4N2FkZDAyNGVkZS4uZDU1NmIzOTM0NWVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVyLmNwcApAQCAtMjAzLDI5
ICsyMDMsMjYgQEAgYm9vbCBUZXh0RGVjb3JhdGlvblBhaW50ZXI6OlN0eWxlczo6b3BlcmF0b3I9
PShjb25zdCBTdHlsZXMmIG90aGVyKSBjb25zdAogICAgICAgICAmJiB1bmRlcmxpbmUuZGVjb3Jh
dGlvblN0eWxlID09IG90aGVyLnVuZGVybGluZS5kZWNvcmF0aW9uU3R5bGUgJiYgb3ZlcmxpbmUu
ZGVjb3JhdGlvblN0eWxlID09IG90aGVyLm92ZXJsaW5lLmRlY29yYXRpb25TdHlsZSAmJiBsaW5l
dGhyb3VnaC5kZWNvcmF0aW9uU3R5bGUgPT0gb3RoZXIubGluZXRocm91Z2guZGVjb3JhdGlvblN0
eWxlOwogfQogCi1UZXh0RGVjb3JhdGlvblBhaW50ZXI6OlRleHREZWNvcmF0aW9uUGFpbnRlcihH
cmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCBJbmxpbmVJ
dGVyYXRvcjo6VGV4dEJveEl0ZXJhdG9yIHRleHRCb3gsIGZsb2F0IHdpZHRoLCBjb25zdCBTaGFk
b3dEYXRhKiBzaGFkb3csIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMqIGNvbG9yRmlsdGVyLCBTdHls
ZXMgc3R5bGVPdmVycmlkZSkKLSAgICA6IG1fY29udGV4dCB7IGNvbnRleHQgfQotICAgICwgbV93
YXZ5T2Zmc2V0IHsgd2F2eU9mZnNldEZyb21EZWNvcmF0aW9uKCkgfQotICAgICwgbV93aWR0aCh3
aWR0aCkKLSAgICAsIG1faXNQcmludGluZyB7IHRleHRCb3gtPnJlbmRlcmVyKCkuZG9jdW1lbnQo
KS5wcmludGluZygpIH0KLSAgICAsIG1faXNIb3Jpem9udGFsKHRleHRCb3gtPmlzSG9yaXpvbnRh
bCgpKQorVGV4dERlY29yYXRpb25QYWludGVyOjpUZXh0RGVjb3JhdGlvblBhaW50ZXIoR3JhcGhp
Y3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBSZW5kZXJTdHlsZSYgZGVjb3JhdGlvblN0eWxlLCBj
b25zdCBGb250Q2FzY2FkZSYgZm9udCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBjb25zdCBG
aWx0ZXJPcGVyYXRpb25zKiBjb2xvckZpbHRlciwgU3R5bGVzIHN0eWxlT3ZlcnJpZGUsIGJvb2wg
aXNQcmludGluZywgYm9vbCBpc0hvcml6b250YWwsIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKQor
ICAgIDogbV9jb250ZXh0KGNvbnRleHQpCisgICAgLCBtX2lzUHJpbnRpbmcoaXNQcmludGluZykK
KyAgICAsIG1faXNIb3Jpem9udGFsKGlzSG9yaXpvbnRhbCkKICAgICAsIG1fc2hhZG93KHNoYWRv
dykKICAgICAsIG1fc2hhZG93Q29sb3JGaWx0ZXIoY29sb3JGaWx0ZXIpCi0gICAgLCBtX3RleHRC
b3godGV4dEJveCkKLSAgICAsIG1fZm9udCB7IGZvbnQgfQotICAgICwgbV9kZXZpY2VTY2FsZUZh
Y3Rvcih0ZXh0Qm94LT5yZW5kZXJlcigpLmRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSkK
LSAgICAsIG1fc3R5bGVzIHsgc3R5bGVPdmVycmlkZSB9Ci0gICAgLCBtX3RleHRCb3hTdHlsZSB7
IHRleHRCb3gtPmxpbmVCb3goKS0+aXNGaXJzdCgpID8gdGV4dEJveC0+cmVuZGVyZXIoKS5maXJz
dExpbmVTdHlsZSgpIDogdGV4dEJveC0+cmVuZGVyZXIoKS5zdHlsZSgpIH0KKyAgICAsIG1fZm9u
dChmb250KQorICAgICwgbV9kZXZpY2VTY2FsZUZhY3RvcihkZXZpY2VTY2FsZUZhY3RvcikKKyAg
ICAsIG1fc3R5bGVzKHN0eWxlT3ZlcnJpZGUpCisgICAgLCBtX3RleHREZWNvcmF0aW9uU3R5bGUo
ZGVjb3JhdGlvblN0eWxlKQogewotICAgIG1fdGV4dEJveERlY29yYXRpb25zID0gbV90ZXh0Qm94
U3R5bGUudGV4dERlY29yYXRpb25zSW5FZmZlY3QoKTsKLSAgICBtX3RleHRCb3hEZWNvcmF0aW9u
cy5hZGQodGV4dERlY29yYXRpb25zSW5FZmZlY3RGb3JTdHlsZShzdHlsZU92ZXJyaWRlKSk7Cisg
ICAgbV90ZXh0RGVjb3JhdGlvbnMgPSBtX3RleHREZWNvcmF0aW9uU3R5bGUudGV4dERlY29yYXRp
b25zSW5FZmZlY3QoKTsKKyAgICBtX3RleHREZWNvcmF0aW9ucy5hZGQodGV4dERlY29yYXRpb25z
SW5FZmZlY3RGb3JTdHlsZShzdHlsZU92ZXJyaWRlKSk7CiB9CiAKIC8vIFBhaW50IHRleHQtc2hh
ZG93LCB1bmRlcmxpbmUsIG92ZXJsaW5lCi12b2lkIFRleHREZWNvcmF0aW9uUGFpbnRlcjo6cGFp
bnRCYWNrZ3JvdW5kRGVjb3JhdGlvbnMoY29uc3QgVGV4dFJ1biYgdGV4dFJ1biwgY29uc3QgRmxv
YXRQb2ludCYgdGV4dE9yaWdpbiwgY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luKQordm9pZCBU
ZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50QmFja2dyb3VuZERlY29yYXRpb25zKGNvbnN0IFRl
eHRSdW4mIHRleHRSdW4sIGNvbnN0IEZsb2F0UG9pbnQmIHRleHRPcmlnaW4sIGNvbnN0IEZsb2F0
UG9pbnQmIGJveE9yaWdpbiwgZmxvYXQgd2lkdGgsIGZsb2F0IHVuZGVybGluZU9mZnNldCwgZmxv
YXQgd2F2eU9mZnNldCkKIHsKLSAgICBjb25zdCBhdXRvJiBmb250TWV0cmljcyA9IG1fdGV4dEJv
eFN0eWxlLm1ldHJpY3NPZlByaW1hcnlGb250KCk7Ci0gICAgYXV0byB0ZXh0RGVjb3JhdGlvblRo
aWNrbmVzcyA9IGNlaWxUb0RldmljZVBpeGVsKG1fdGV4dEJveFN0eWxlLnRleHREZWNvcmF0aW9u
VGhpY2tuZXNzKCkucmVzb2x2ZShtX3RleHRCb3hTdHlsZS5jb21wdXRlZEZvbnRTaXplKCksIGZv
bnRNZXRyaWNzKSwgbV9kZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgY29uc3QgYXV0byYgZm9udE1l
dHJpY3MgPSBtX3RleHREZWNvcmF0aW9uU3R5bGUubWV0cmljc09mUHJpbWFyeUZvbnQoKTsKKyAg
ICBhdXRvIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzID0gY2VpbFRvRGV2aWNlUGl4ZWwobV90ZXh0
RGVjb3JhdGlvblN0eWxlLnRleHREZWNvcmF0aW9uVGhpY2tuZXNzKCkucmVzb2x2ZShtX3RleHRE
ZWNvcmF0aW9uU3R5bGUuY29tcHV0ZWRGb250U2l6ZSgpLCBmb250TWV0cmljcyksIG1fZGV2aWNl
U2NhbGVGYWN0b3IpOwogICAgIEZsb2F0UG9pbnQgbG9jYWxPcmlnaW4gPSBib3hPcmlnaW47CiAK
ICAgICBhdXRvIHBhaW50RGVjb3JhdGlvbiA9IFsmXSAoVGV4dERlY29yYXRpb25MaW5lIGRlY29y
YXRpb24sIFRleHREZWNvcmF0aW9uU3R5bGUgc3R5bGUsIGNvbnN0IENvbG9yJiBjb2xvciwgY29u
c3QgRmxvYXRSZWN0JiByZWN0KSB7CkBAIC0yMzQsOSArMjMxLDkgQEAgdm9pZCBUZXh0RGVjb3Jh
dGlvblBhaW50ZXI6OnBhaW50QmFja2dyb3VuZERlY29yYXRpb25zKGNvbnN0IFRleHRSdW4mIHRl
eHRSdW4sIGMKICAgICAgICAgYXV0byBzdHJva2VTdHlsZSA9IHRleHREZWNvcmF0aW9uU3R5bGVU
b1N0cm9rZVN0eWxlKHN0eWxlKTsKIAogICAgICAgICBpZiAoc3R5bGUgPT0gVGV4dERlY29yYXRp
b25TdHlsZTo6V2F2eSkKLSAgICAgICAgICAgIHN0cm9rZVdhdnlUZXh0RGVjb3JhdGlvbihtX2Nv
bnRleHQsIHJlY3QsIG1fdGV4dEJveFN0eWxlLmNvbXB1dGVkRm9udFBpeGVsU2l6ZSgpKTsKKyAg
ICAgICAgICAgIHN0cm9rZVdhdnlUZXh0RGVjb3JhdGlvbihtX2NvbnRleHQsIHJlY3QsIG1fdGV4
dERlY29yYXRpb25TdHlsZS5jb21wdXRlZEZvbnRQaXhlbFNpemUoKSk7CiAgICAgICAgIGVsc2Ug
aWYgKGRlY29yYXRpb24gPT0gVGV4dERlY29yYXRpb25MaW5lOjpVbmRlcmxpbmUgfHwgZGVjb3Jh
dGlvbiA9PSBUZXh0RGVjb3JhdGlvbkxpbmU6Ok92ZXJsaW5lKSB7Ci0gICAgICAgICAgICBpZiAo
KG1fdGV4dEJveFN0eWxlLnRleHREZWNvcmF0aW9uU2tpcEluaygpID09IFRleHREZWNvcmF0aW9u
U2tpcEluazo6QXV0byB8fCBtX3RleHRCb3hTdHlsZS50ZXh0RGVjb3JhdGlvblNraXBJbmsoKSA9
PSBUZXh0RGVjb3JhdGlvblNraXBJbms6OkFsbCkgJiYgbV9pc0hvcml6b250YWwpIHsKKyAgICAg
ICAgICAgIGlmICgobV90ZXh0RGVjb3JhdGlvblN0eWxlLnRleHREZWNvcmF0aW9uU2tpcEluaygp
ID09IFRleHREZWNvcmF0aW9uU2tpcEluazo6QXV0byB8fCBtX3RleHREZWNvcmF0aW9uU3R5bGUu
dGV4dERlY29yYXRpb25Ta2lwSW5rKCkgPT0gVGV4dERlY29yYXRpb25Ta2lwSW5rOjpBbGwpICYm
IG1faXNIb3Jpem9udGFsKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFtX2NvbnRleHQucGFpbnRp
bmdEaXNhYmxlZCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIEZsb2F0UmVjdCB1bmRlcmxpbmVC
b3VuZGluZ0JveCA9IG1fY29udGV4dC5jb21wdXRlVW5kZXJsaW5lQm91bmRzRm9yVGV4dChyZWN0
LCBtX2lzUHJpbnRpbmcpOwogICAgICAgICAgICAgICAgICAgICBEYXNoQXJyYXkgaW50ZXJzZWN0
aW9ucyA9IG1fZm9udC5kYXNoZXNGb3JJbnRlcnNlY3Rpb25zV2l0aFJlY3QodGV4dFJ1biwgdGV4
dE9yaWdpbiwgdW5kZXJsaW5lQm91bmRpbmdCb3gpOwpAQCAtMjUzLDE3ICsyNTAsMTcgQEAgdm9p
ZCBUZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50QmFja2dyb3VuZERlY29yYXRpb25zKGNvbnN0
IFRleHRSdW4mIHRleHRSdW4sIGMKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgIH07CiAKLSAgICBib29sIGFyZUxpbmVzT3BhcXVlID0gIW1faXNQcmludGluZyAmJiAoIW1f
dGV4dEJveERlY29yYXRpb25zLmNvbnRhaW5zKFRleHREZWNvcmF0aW9uTGluZTo6VW5kZXJsaW5l
KSB8fCBtX3N0eWxlcy51bmRlcmxpbmUuY29sb3IuaXNPcGFxdWUoKSkKLSAgICAgICAgJiYgKCFt
X3RleHRCb3hEZWNvcmF0aW9ucy5jb250YWlucyhUZXh0RGVjb3JhdGlvbkxpbmU6Ok92ZXJsaW5l
KSB8fCBtX3N0eWxlcy5vdmVybGluZS5jb2xvci5pc09wYXF1ZSgpKQotICAgICAgICAmJiAoIW1f
dGV4dEJveERlY29yYXRpb25zLmNvbnRhaW5zKFRleHREZWNvcmF0aW9uTGluZTo6TGluZVRocm91
Z2gpIHx8IG1fc3R5bGVzLmxpbmV0aHJvdWdoLmNvbG9yLmlzT3BhcXVlKCkpOworICAgIGJvb2wg
YXJlTGluZXNPcGFxdWUgPSAhbV9pc1ByaW50aW5nICYmICghbV90ZXh0RGVjb3JhdGlvbnMuY29u
dGFpbnMoVGV4dERlY29yYXRpb25MaW5lOjpVbmRlcmxpbmUpIHx8IG1fc3R5bGVzLnVuZGVybGlu
ZS5jb2xvci5pc09wYXF1ZSgpKQorICAgICAgICAmJiAoIW1fdGV4dERlY29yYXRpb25zLmNvbnRh
aW5zKFRleHREZWNvcmF0aW9uTGluZTo6T3ZlcmxpbmUpIHx8IG1fc3R5bGVzLm92ZXJsaW5lLmNv
bG9yLmlzT3BhcXVlKCkpCisgICAgICAgICYmICghbV90ZXh0RGVjb3JhdGlvbnMuY29udGFpbnMo
VGV4dERlY29yYXRpb25MaW5lOjpMaW5lVGhyb3VnaCkgfHwgbV9zdHlsZXMubGluZXRocm91Z2gu
Y29sb3IuaXNPcGFxdWUoKSk7CiAKICAgICBmbG9hdCBleHRyYU9mZnNldCA9IDA7CiAgICAgYm9v
bCBjbGlwcGluZyA9ICFhcmVMaW5lc09wYXF1ZSAmJiBtX3NoYWRvdyAmJiBtX3NoYWRvdy0+bmV4
dCgpOwogICAgIGlmIChjbGlwcGluZykgewotICAgICAgICBGbG9hdFJlY3QgY2xpcFJlY3QobG9j
YWxPcmlnaW4sIEZsb2F0U2l6ZShtX3dpZHRoLCBmb250TWV0cmljcy5hc2NlbnQoKSArIDIpKTsK
KyAgICAgICAgRmxvYXRSZWN0IGNsaXBSZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUod2lkdGgs
IGZvbnRNZXRyaWNzLmFzY2VudCgpICsgMikpOwogICAgICAgICBmb3IgKGNvbnN0IFNoYWRvd0Rh
dGEqIHNoYWRvdyA9IG1fc2hhZG93OyBzaGFkb3c7IHNoYWRvdyA9IHNoYWRvdy0+bmV4dCgpKSB7
CiAgICAgICAgICAgICBpbnQgc2hhZG93RXh0ZW50ID0gc2hhZG93LT5wYWludGluZ0V4dGVudCgp
OwotICAgICAgICAgICAgRmxvYXRSZWN0IHNoYWRvd1JlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6
ZShtX3dpZHRoLCBmb250TWV0cmljcy5hc2NlbnQoKSArIDIpKTsKKyAgICAgICAgICAgIEZsb2F0
UmVjdCBzaGFkb3dSZWN0KGxvY2FsT3JpZ2luLCBGbG9hdFNpemUod2lkdGgsIGZvbnRNZXRyaWNz
LmFzY2VudCgpICsgMikpOwogICAgICAgICAgICAgc2hhZG93UmVjdC5pbmZsYXRlKHNoYWRvd0V4
dGVudCk7CiAgICAgICAgICAgICBmbG9hdCBzaGFkb3dYID0gTGF5b3V0VW5pdChtX2lzSG9yaXpv
bnRhbCA/IHNoYWRvdy0+eCgpLnZhbHVlKCkgOiBzaGFkb3ctPnkoKS52YWx1ZSgpKTsKICAgICAg
ICAgICAgIGZsb2F0IHNoYWRvd1kgPSBMYXlvdXRVbml0KG1faXNIb3Jpem9udGFsID8gc2hhZG93
LT55KCkudmFsdWUoKSA6IC1zaGFkb3ctPngoKS52YWx1ZSgpKTsKQEAgLTI3OCwxNyArMjc1LDEz
IEBAIHZvaWQgVGV4dERlY29yYXRpb25QYWludGVyOjpwYWludEJhY2tncm91bmREZWNvcmF0aW9u
cyhjb25zdCBUZXh0UnVuJiB0ZXh0UnVuLCBjCiAgICAgfQogCiAgICAgLy8gVGhlc2UgZGVjb3Jh
dGlvbnMgc2hvdWxkIG1hdGNoIHRoZSB2aXN1YWwgb3ZlcmZsb3dzIGNvbXB1dGVkIGluIHZpc3Vh
bE92ZXJmbG93Rm9yRGVjb3JhdGlvbnMoKS4KLSAgICBhdXRvIHVuZGVybGluZVJlY3QgPSBGbG9h
dFJlY3QgeyBsb2NhbE9yaWdpbiwgRmxvYXRTaXplKG1fd2lkdGgsIHRleHREZWNvcmF0aW9uVGhp
Y2tuZXNzKSB9OworICAgIGF1dG8gdW5kZXJsaW5lUmVjdCA9IEZsb2F0UmVjdCB7IGxvY2FsT3Jp
Z2luLCBGbG9hdFNpemUod2lkdGgsIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzKSB9OwogICAgIGF1
dG8gb3ZlcmxpbmVSZWN0ID0gdW5kZXJsaW5lUmVjdDsKLSAgICBpZiAobV90ZXh0Qm94RGVjb3Jh
dGlvbnMuY29udGFpbnMoVGV4dERlY29yYXRpb25MaW5lOjpVbmRlcmxpbmUpKSB7Ci0gICAgICAg
IGF1dG8gdW5kZXJsaW5lT2Zmc2V0ID0gdW5kZXJsaW5lT2Zmc2V0Rm9yVGV4dEJveFBhaW50aW5n
KG1fdGV4dEJveFN0eWxlLCBtX3RleHRCb3gpOwotICAgICAgICBhdXRvIHdhdnlPZmZzZXQgPSBt
X3N0eWxlcy51bmRlcmxpbmUuZGVjb3JhdGlvblN0eWxlID09IFRleHREZWNvcmF0aW9uU3R5bGU6
OldhdnkgPyBtX3dhdnlPZmZzZXQgOiAwLmY7Ci0gICAgICAgIHVuZGVybGluZVJlY3QubW92ZSgw
LmYsIHVuZGVybGluZU9mZnNldCArIHdhdnlPZmZzZXQpOwotICAgIH0KLSAgICBpZiAobV90ZXh0
Qm94RGVjb3JhdGlvbnMuY29udGFpbnMoVGV4dERlY29yYXRpb25MaW5lOjpPdmVybGluZSkpIHsK
LSAgICAgICAgZmxvYXQgd2F2eU9mZnNldCA9IG1fc3R5bGVzLm92ZXJsaW5lLmRlY29yYXRpb25T
dHlsZSA9PSBUZXh0RGVjb3JhdGlvblN0eWxlOjpXYXZ5ID8gbV93YXZ5T2Zmc2V0IDogMDsKLSAg
ICAgICAgZmxvYXQgYXV0b1RleHREZWNvcmF0aW9uVGhpY2tuZXNzID0gY2VpbFRvRGV2aWNlUGl4
ZWwoVGV4dERlY29yYXRpb25UaGlja25lc3M6OmNyZWF0ZVdpdGhBdXRvKCkucmVzb2x2ZShtX3Rl
eHRCb3hTdHlsZS5jb21wdXRlZEZvbnRTaXplKCksIGZvbnRNZXRyaWNzKSwgbV9kZXZpY2VTY2Fs
ZUZhY3Rvcik7Ci0gICAgICAgIG92ZXJsaW5lUmVjdC5tb3ZlKDAsIGF1dG9UZXh0RGVjb3JhdGlv
blRoaWNrbmVzcyAtIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzIC0gd2F2eU9mZnNldCk7CisgICAg
aWYgKG1fdGV4dERlY29yYXRpb25zLmNvbnRhaW5zKFRleHREZWNvcmF0aW9uTGluZTo6VW5kZXJs
aW5lKSkKKyAgICAgICAgdW5kZXJsaW5lUmVjdC5tb3ZlKDAuZiwgdW5kZXJsaW5lT2Zmc2V0ICsg
KG1fc3R5bGVzLnVuZGVybGluZS5kZWNvcmF0aW9uU3R5bGUgPT0gVGV4dERlY29yYXRpb25TdHls
ZTo6V2F2eSA/IHdhdnlPZmZzZXQgOiAwLmYpKTsKKyAgICBpZiAobV90ZXh0RGVjb3JhdGlvbnMu
Y29udGFpbnMoVGV4dERlY29yYXRpb25MaW5lOjpPdmVybGluZSkpIHsKKyAgICAgICAgYXV0byBh
dXRvVGV4dERlY29yYXRpb25UaGlja25lc3MgPSBjZWlsVG9EZXZpY2VQaXhlbChUZXh0RGVjb3Jh
dGlvblRoaWNrbmVzczo6Y3JlYXRlV2l0aEF1dG8oKS5yZXNvbHZlKG1fdGV4dERlY29yYXRpb25T
dHlsZS5jb21wdXRlZEZvbnRTaXplKCksIGZvbnRNZXRyaWNzKSwgbV9kZXZpY2VTY2FsZUZhY3Rv
cik7CisgICAgICAgIG92ZXJsaW5lUmVjdC5tb3ZlKDAuZiwgYXV0b1RleHREZWNvcmF0aW9uVGhp
Y2tuZXNzIC0gdGV4dERlY29yYXRpb25UaGlja25lc3MgLSAobV9zdHlsZXMub3ZlcmxpbmUuZGVj
b3JhdGlvblN0eWxlID09IFRleHREZWNvcmF0aW9uU3R5bGU6OldhdnkgPyB3YXZ5T2Zmc2V0IDog
MC5mKSk7CiAgICAgfQogCiAgICAgY29uc3QgU2hhZG93RGF0YSogc2hhZG93ID0gbV9zaGFkb3c7
CkBAIC0zMDgsMTQgKzMwMSwxNCBAQCB2b2lkIFRleHREZWNvcmF0aW9uUGFpbnRlcjo6cGFpbnRC
YWNrZ3JvdW5kRGVjb3JhdGlvbnMoY29uc3QgVGV4dFJ1biYgdGV4dFJ1biwgYwogICAgICAgICAg
ICAgbV9jb250ZXh0LnNldFNoYWRvdyhGbG9hdFNpemUoc2hhZG93WCwgc2hhZG93WSAtIGV4dHJh
T2Zmc2V0KSwgc2hhZG93LT5yYWRpdXMoKS52YWx1ZSgpLCBzaGFkb3dDb2xvcik7CiAgICAgICAg
ICAgICBzaGFkb3cgPSBzaGFkb3ctPm5leHQoKTsKICAgICAgICAgfQotICAgICAgICBpZiAobV90
ZXh0Qm94RGVjb3JhdGlvbnMuY29udGFpbnMoVGV4dERlY29yYXRpb25MaW5lOjpVbmRlcmxpbmUp
KQorICAgICAgICBpZiAobV90ZXh0RGVjb3JhdGlvbnMuY29udGFpbnMoVGV4dERlY29yYXRpb25M
aW5lOjpVbmRlcmxpbmUpKQogICAgICAgICAgICAgcGFpbnREZWNvcmF0aW9uKFRleHREZWNvcmF0
aW9uTGluZTo6VW5kZXJsaW5lLCBtX3N0eWxlcy51bmRlcmxpbmUuZGVjb3JhdGlvblN0eWxlLCBt
X3N0eWxlcy51bmRlcmxpbmUuY29sb3IsIHVuZGVybGluZVJlY3QpOwotICAgICAgICBpZiAobV90
ZXh0Qm94RGVjb3JhdGlvbnMuY29udGFpbnMoVGV4dERlY29yYXRpb25MaW5lOjpPdmVybGluZSkp
CisgICAgICAgIGlmIChtX3RleHREZWNvcmF0aW9ucy5jb250YWlucyhUZXh0RGVjb3JhdGlvbkxp
bmU6Ok92ZXJsaW5lKSkKICAgICAgICAgICAgIHBhaW50RGVjb3JhdGlvbihUZXh0RGVjb3JhdGlv
bkxpbmU6Ok92ZXJsaW5lLCBtX3N0eWxlcy5vdmVybGluZS5kZWNvcmF0aW9uU3R5bGUsIG1fc3R5
bGVzLm92ZXJsaW5lLmNvbG9yLCBvdmVybGluZVJlY3QpOwogICAgICAgICAvLyBXZSBvbmx5IHdh
bnQgdG8gcGFpbnQgdGhlIHNoYWRvdywgaGVuY2UgdGhlIHRyYW5zcGFyZW50IGNvbG9yLCBub3Qg
dGhlIGFjdHVhbCBsaW5lLXRocm91Z2gsCiAgICAgICAgIC8vIHdoaWNoIHdpbGwgYmUgcGFpbnRl
ZCBpbiBwYWludEZvcmVncm91bmREZWNvcmF0aW9ucygpLgotICAgICAgICBpZiAoc2hhZG93ICYm
IG1fdGV4dEJveERlY29yYXRpb25zLmNvbnRhaW5zKFRleHREZWNvcmF0aW9uTGluZTo6TGluZVRo
cm91Z2gpKQotICAgICAgICAgICAgcGFpbnRMaW5lVGhyb3VnaChDb2xvcjo6dHJhbnNwYXJlbnRC
bGFjaywgdGV4dERlY29yYXRpb25UaGlja25lc3MsIGxvY2FsT3JpZ2luKTsKKyAgICAgICAgaWYg
KHNoYWRvdyAmJiBtX3RleHREZWNvcmF0aW9ucy5jb250YWlucyhUZXh0RGVjb3JhdGlvbkxpbmU6
OkxpbmVUaHJvdWdoKSkKKyAgICAgICAgICAgIHBhaW50TGluZVRocm91Z2goQ29sb3I6OnRyYW5z
cGFyZW50QmxhY2ssIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzLCBsb2NhbE9yaWdpbiwgd2lkdGgp
OwogICAgIH0gd2hpbGUgKHNoYWRvdyk7CiAKICAgICBpZiAoY2xpcHBpbmcpCkBAIC0zMjQsMjAg
KzMxNywyMCBAQCB2b2lkIFRleHREZWNvcmF0aW9uUGFpbnRlcjo6cGFpbnRCYWNrZ3JvdW5kRGVj
b3JhdGlvbnMoY29uc3QgVGV4dFJ1biYgdGV4dFJ1biwgYwogICAgICAgICBtX2NvbnRleHQuY2xl
YXJTaGFkb3coKTsKIH0KIAotdm9pZCBUZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50Rm9yZWdy
b3VuZERlY29yYXRpb25zKGNvbnN0IEZsb2F0UG9pbnQmIGJveE9yaWdpbikKK3ZvaWQgVGV4dERl
Y29yYXRpb25QYWludGVyOjpwYWludEZvcmVncm91bmREZWNvcmF0aW9ucyhjb25zdCBGbG9hdFBv
aW50JiBib3hPcmlnaW4sIGZsb2F0IHdpZHRoKQogewotICAgIGlmICghbV90ZXh0Qm94RGVjb3Jh
dGlvbnMuY29udGFpbnMoVGV4dERlY29yYXRpb25MaW5lOjpMaW5lVGhyb3VnaCkpCisgICAgaWYg
KCFtX3RleHREZWNvcmF0aW9ucy5jb250YWlucyhUZXh0RGVjb3JhdGlvbkxpbmU6OkxpbmVUaHJv
dWdoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byB0ZXh0RGVjb3JhdGlvblRoaWNrbmVz
cyA9IGNlaWxUb0RldmljZVBpeGVsKG1fdGV4dEJveFN0eWxlLnRleHREZWNvcmF0aW9uVGhpY2tu
ZXNzKCkucmVzb2x2ZShtX3RleHRCb3hTdHlsZS5jb21wdXRlZEZvbnRTaXplKCksIG1fdGV4dEJv
eFN0eWxlLm1ldHJpY3NPZlByaW1hcnlGb250KCkpLCBtX2RldmljZVNjYWxlRmFjdG9yKTsKLSAg
ICBwYWludExpbmVUaHJvdWdoKG1fc3R5bGVzLmxpbmV0aHJvdWdoLmNvbG9yLCB0ZXh0RGVjb3Jh
dGlvblRoaWNrbmVzcywgYm94T3JpZ2luKTsKKyAgICBhdXRvIHRleHREZWNvcmF0aW9uVGhpY2tu
ZXNzID0gY2VpbFRvRGV2aWNlUGl4ZWwobV90ZXh0RGVjb3JhdGlvblN0eWxlLnRleHREZWNvcmF0
aW9uVGhpY2tuZXNzKCkucmVzb2x2ZShtX3RleHREZWNvcmF0aW9uU3R5bGUuY29tcHV0ZWRGb250
U2l6ZSgpLCBtX3RleHREZWNvcmF0aW9uU3R5bGUubWV0cmljc09mUHJpbWFyeUZvbnQoKSksIG1f
ZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIHBhaW50TGluZVRocm91Z2gobV9zdHlsZXMubGluZXRo
cm91Z2guY29sb3IsIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzLCBib3hPcmlnaW4sIHdpZHRoKTsK
IH0KIAotdm9pZCBUZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50TGluZVRocm91Z2goY29uc3Qg
Q29sb3ImIGNvbG9yLCBmbG9hdCB0aGlja25lc3MsIGNvbnN0IEZsb2F0UG9pbnQmIGxvY2FsT3Jp
Z2luKQordm9pZCBUZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50TGluZVRocm91Z2goY29uc3Qg
Q29sb3ImIGNvbG9yLCBmbG9hdCB0aGlja25lc3MsIGNvbnN0IEZsb2F0UG9pbnQmIGxvY2FsT3Jp
Z2luLCBmbG9hdCB3aWR0aCkKIHsKLSAgICBjb25zdCBhdXRvJiBmb250TWV0cmljcyA9IG1fdGV4
dEJveFN0eWxlLm1ldHJpY3NPZlByaW1hcnlGb250KCk7Ci0gICAgRmxvYXRSZWN0IHJlY3QobG9j
YWxPcmlnaW4sIEZsb2F0U2l6ZShtX3dpZHRoLCB0aGlja25lc3MpKTsKLSAgICBhdXRvIGF1dG9U
ZXh0RGVjb3JhdGlvblRoaWNrbmVzcyA9IGNlaWxUb0RldmljZVBpeGVsKFRleHREZWNvcmF0aW9u
VGhpY2tuZXNzOjpjcmVhdGVXaXRoQXV0bygpLnJlc29sdmUobV90ZXh0Qm94U3R5bGUuY29tcHV0
ZWRGb250U2l6ZSgpLCBmb250TWV0cmljcyksIG1fZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGNv
bnN0IGF1dG8mIGZvbnRNZXRyaWNzID0gbV90ZXh0RGVjb3JhdGlvblN0eWxlLm1ldHJpY3NPZlBy
aW1hcnlGb250KCk7CisgICAgRmxvYXRSZWN0IHJlY3QobG9jYWxPcmlnaW4sIEZsb2F0U2l6ZSh3
aWR0aCwgdGhpY2tuZXNzKSk7CisgICAgYXV0byBhdXRvVGV4dERlY29yYXRpb25UaGlja25lc3Mg
PSBjZWlsVG9EZXZpY2VQaXhlbChUZXh0RGVjb3JhdGlvblRoaWNrbmVzczo6Y3JlYXRlV2l0aEF1
dG8oKS5yZXNvbHZlKG1fdGV4dERlY29yYXRpb25TdHlsZS5jb21wdXRlZEZvbnRTaXplKCksIGZv
bnRNZXRyaWNzKSwgbV9kZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgYXV0byBjZW50ZXIgPSAyICog
Zm9udE1ldHJpY3MuZmxvYXRBc2NlbnQoKSAvIDMgKyBhdXRvVGV4dERlY29yYXRpb25UaGlja25l
c3MgLyAyOwogICAgIHJlY3QubW92ZSgwLCBjZW50ZXIgLSB0aGlja25lc3MgLyAyKTsKIApAQCAt
MzQ3LDcgKzM0MCw3IEBAIHZvaWQgVGV4dERlY29yYXRpb25QYWludGVyOjpwYWludExpbmVUaHJv
dWdoKGNvbnN0IENvbG9yJiBjb2xvciwgZmxvYXQgdGhpY2tuZXNzCiAgICAgYXV0byBzdHJva2VT
dHlsZSA9IHRleHREZWNvcmF0aW9uU3R5bGVUb1N0cm9rZVN0eWxlKHN0eWxlKTsKIAogICAgIGlm
IChzdHlsZSA9PSBUZXh0RGVjb3JhdGlvblN0eWxlOjpXYXZ5KQotICAgICAgICBzdHJva2VXYXZ5
VGV4dERlY29yYXRpb24obV9jb250ZXh0LCByZWN0LCBtX3RleHRCb3hTdHlsZS5jb21wdXRlZEZv
bnRQaXhlbFNpemUoKSk7CisgICAgICAgIHN0cm9rZVdhdnlUZXh0RGVjb3JhdGlvbihtX2NvbnRl
eHQsIHJlY3QsIG1fdGV4dERlY29yYXRpb25TdHlsZS5jb21wdXRlZEZvbnRQaXhlbFNpemUoKSk7
CiAgICAgZWxzZQogICAgICAgICBtX2NvbnRleHQuZHJhd0xpbmVGb3JUZXh0KHJlY3QsIG1faXNQ
cmludGluZywgc3R5bGUgPT0gVGV4dERlY29yYXRpb25TdHlsZTo6RG91YmxlLCBzdHJva2VTdHls
ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRp
b25QYWludGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWlu
dGVyLmgKaW5kZXggZmY3M2NmODZmNTI5Li41YWY1MzM3MzM5MDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0RGVjb3JhdGlvblBhaW50ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVyLmgKQEAgLTI0LDcgKzI0LDYg
QEAKIAogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgotI2luY2x1
ZGUgIklubGluZUl0ZXJhdG9yVGV4dEJveC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3Rh
bnRzLmgiCiAjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgogCkBAIC0zMiwyMiArMzEsMTkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGaWx0ZXJPcGVyYXRpb25zOwogY2xhc3MgRm9u
dENhc2NhZGU7Ci1jbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7Ci1jbGFz
cyBMZWdhY3lJbmxpbmVUZXh0Qm94OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVy
U3R5bGU7Ci1jbGFzcyBSZW5kZXJUZXh0OwogY2xhc3MgU2hhZG93RGF0YTsKIGNsYXNzIFRleHRS
dW47CiAgICAgCiBjbGFzcyBUZXh0RGVjb3JhdGlvblBhaW50ZXIgewogcHVibGljOgogICAgIHN0
cnVjdCBTdHlsZXM7Ci0gICAgVGV4dERlY29yYXRpb25QYWludGVyKEdyYXBoaWNzQ29udGV4dCYs
IGNvbnN0IEZvbnRDYXNjYWRlJiwgSW5saW5lSXRlcmF0b3I6OlRleHRCb3hJdGVyYXRvciwgZmxv
YXQgd2lkdGgsIGNvbnN0IFNoYWRvd0RhdGEqLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zKiwgU3R5
bGVzKTsKKyAgICBUZXh0RGVjb3JhdGlvblBhaW50ZXIoR3JhcGhpY3NDb250ZXh0JiwgY29uc3Qg
UmVuZGVyU3R5bGUmLCBjb25zdCBGb250Q2FzY2FkZSYsIGNvbnN0IFNoYWRvd0RhdGEqLCBjb25z
dCBGaWx0ZXJPcGVyYXRpb25zKiwgU3R5bGVzLCBib29sIGlzUHJpbnRpbmcsIGJvb2wgaXNIb3Jp
em9udGFsLCBmbG9hdCBkZXZpY2VTY2FsZUZhY3Rvcik7CiAKLSAgICB2b2lkIHBhaW50QmFja2dy
b3VuZERlY29yYXRpb25zKGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50JiB0ZXh0T3Jp
Z2luLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4pOwotICAgIHZvaWQgcGFpbnRGb3JlZ3Jv
dW5kRGVjb3JhdGlvbnMoY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luKTsKKyAgICB2b2lkIHBh
aW50QmFja2dyb3VuZERlY29yYXRpb25zKGNvbnN0IFRleHRSdW4mLCBjb25zdCBGbG9hdFBvaW50
JiB0ZXh0T3JpZ2luLCBjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGZsb2F0IHdpZHRoLCBm
bG9hdCB1bmRlcmxpbmVPZmZzZXQsIGZsb2F0IHdhdnlPZmZzZXQpOworICAgIHZvaWQgcGFpbnRG
b3JlZ3JvdW5kRGVjb3JhdGlvbnMoY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBmbG9hdCB3
aWR0aCk7CiAKICAgICBzdHJ1Y3QgU3R5bGVzIHsKICAgICAgICAgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IFN0eWxlcyYpIGNvbnN0OwpAQCAtNjEsMjcgKzU3LDI0IEBAIHB1YmxpYzoKICAgICAgICAg
RGVjb3JhdGlvblN0eWxlQW5kQ29sb3Igb3ZlcmxpbmU7CiAgICAgICAgIERlY29yYXRpb25TdHls
ZUFuZENvbG9yIGxpbmV0aHJvdWdoOwogICAgIH07CisgICAgT3B0aW9uU2V0PFRleHREZWNvcmF0
aW9uTGluZT4gdGV4dERlY29yYXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0RGVjb3JhdGlv
bnM7IH0KICAgICBzdGF0aWMgQ29sb3IgZGVjb3JhdGlvbkNvbG9yKGNvbnN0IFJlbmRlclN0eWxl
Jik7CiAgICAgc3RhdGljIFN0eWxlcyBzdHlsZXNGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmpl
Y3QmLCBPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiByZXF1ZXN0ZWREZWNvcmF0aW9ucywg
Ym9vbCBmaXJzdExpbmVTdHlsZSA9IGZhbHNlLCBQc2V1ZG9JZCA9IFBzZXVkb0lkOjpOb25lKTsK
IAogcHJpdmF0ZToKLSAgICB2b2lkIHBhaW50TGluZVRocm91Z2goY29uc3QgQ29sb3ImLCBmbG9h
dCB0aGlja25lc3MsIGNvbnN0IEZsb2F0UG9pbnQmIGxvY2FsT3JpZ2luKTsKKyAgICB2b2lkIHBh
aW50TGluZVRocm91Z2goY29uc3QgQ29sb3ImLCBmbG9hdCB0aGlja25lc3MsIGNvbnN0IEZsb2F0
UG9pbnQmIGxvY2FsT3JpZ2luLCBmbG9hdCB3aWR0aCk7CiAKICAgICBHcmFwaGljc0NvbnRleHQm
IG1fY29udGV4dDsKLSAgICBPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiBtX3RleHRCb3hE
ZWNvcmF0aW9uczsKLSAgICBmbG9hdCBtX3dhdnlPZmZzZXQgeyAwIH07Ci0gICAgZmxvYXQgbV93
aWR0aCB7IDAgfTsKLSAgICBGbG9hdFBvaW50IG1fYm94T3JpZ2luOworICAgIE9wdGlvblNldDxU
ZXh0RGVjb3JhdGlvbkxpbmU+IG1fdGV4dERlY29yYXRpb25zOwogICAgIGJvb2wgbV9pc1ByaW50
aW5nIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNIb3Jpem9udGFsIHsgdHJ1ZSB9OwogICAgIGNv
bnN0IFNoYWRvd0RhdGEqIG1fc2hhZG93IHsgbnVsbHB0ciB9OwogICAgIGNvbnN0IEZpbHRlck9w
ZXJhdGlvbnMqIG1fc2hhZG93Q29sb3JGaWx0ZXIgeyBudWxscHRyIH07Ci0gICAgSW5saW5lSXRl
cmF0b3I6OlRleHRCb3hJdGVyYXRvciBtX3RleHRCb3g7CiAgICAgY29uc3QgRm9udENhc2NhZGUm
IG1fZm9udDsKICAgICBmbG9hdCBtX2RldmljZVNjYWxlRmFjdG9yIHsgMCB9OwogCiAgICAgU3R5
bGVzIG1fc3R5bGVzOwotICAgIGNvbnN0IFJlbmRlclN0eWxlJiBtX3RleHRCb3hTdHlsZTsKKyAg
ICBjb25zdCBSZW5kZXJTdHlsZSYgbV90ZXh0RGVjb3JhdGlvblN0eWxlOwogfTsKICAgICAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>