<?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>216631</bug_id>
          
          <creation_ts>2020-09-16 18:52:35 -0700</creation_ts>
          <short_desc>[LFC] Remove partial invalidation</short_desc>
          <delta_ts>2020-09-16 20:01:20 -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>
          
          
          <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>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>1689295</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-09-16 18:52:35 -0700</bug_when>
    <thetext>It&apos;s not working yet and does more harm than good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689300</commentid>
    <comment_count>1</comment_count>
      <attachid>408977</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-09-16 18:59:36 -0700</bug_when>
    <thetext>Created attachment 408977
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689316</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-16 20:00:02 -0700</bug_when>
    <thetext>Committed r267180: &lt;https://trac.webkit.org/changeset/267180&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408977.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689317</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-16 20:01:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/69034693&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408977</attachid>
            <date>2020-09-16 18:59:36 -0700</date>
            <delta_ts>2020-09-16 20:00:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216631-20200916185935.patch</filename>
            <type>text/plain</type>
            <size>19429</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY5MDRlMjI3MTUxMGE4
MDY1M2M4MDRiMjEyZjdkMWI5MGI0ZjQyNC4uNDM5Mjg0ZWU2OThlNGQ5YzJjZjg0NTg2NjJkMGQ4
YjI2YTlmZDE5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTA5LTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gUmVtb3ZlIHBhcnRp
YWwgaW52YWxpZGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTY2MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbnZhbGlkYXRpb24gZmFpbHMgd2hlbiB0aGUgTGF5b3V0VHJlZSBkb2VzIG5vdCBt
YXRjaCB0aGUgUmVuZGVyVHJlZSBzdHJ1Y3R1cmVzIChlLmcuIHRhYmxlIHdyYXBwZXIgYm94KS4K
KyAgICAgICAgU2luY2UgaW5jcmVtZW50YWwgbGF5b3V0cyBhcmUgbm90IHN1cHBvcnRlZCB5ZXQs
IGl0IGhhcyBhIHZlcnkgbGl0dGxlIHZhbHVlLiBMZXQncyByZW1vdmUgaXQgZm9yIG5vdy4KKwor
ICAgICAgICAqIGxheW91dC9kaXNwbGF5L0Rpc3BsYXlWaWV3Lmg6CisgICAgICAgICogbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oOgorICAgICAgICAqIGxh
eW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGF5b3V0VHJlZTo6TGF5b3V0VHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OlRyZWVCdWlsZGVyOjpidWlsZExheW91dFRyZWUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUcmVlQnVpbGRlcjo6VHJlZUJ1aWxkZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpUcmVlQnVpbGRlcjo6Y3JlYXRlUmVwbGFjZWRCb3gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUcmVlQnVpbGRlcjo6Y3JlYXRlVGV4dEJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OlRyZWVCdWlsZGVyOjpjcmVhdGVMaW5lQnJlYWtCb3gpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpUcmVlQnVpbGRlcjo6Y3JlYXRlQ29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6VHJlZUJ1aWxkZXI6OmNyZWF0ZUxheW91dEJveCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OnByaW50TGF5b3V0VHJlZUZvckxpdmVEb2N1bWVudHMpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMYXlvdXRUcmVlQ29udGVudDo6TGF5b3V0VHJlZUNvbnRlbnQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRUcmVlQ29udGVudDo6YWRkTGF5
b3V0Qm94Rm9yUmVuZGVyZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpU
cmVlQnVpbGRlcjo6YnVpbGRUcmVlKTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlv
dXRUcmVlOjpyb290IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0VHJl
ZTo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0VHJlZUNvbnRlbnQ6
OnJvb3RMYXlvdXRCb3ggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMYXlvdXRUcmVlQ29udGVudDo6cm9vdExheW91dEJveCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxheW91dFRyZWVDb250ZW50Ojpyb290UmVuZGVyZXIgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRUcmVlQ29udGVudDo6YWRk
Qm94KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0VHJlZUNvbnRl
bnQ6OmFkZENvbnRhaW5lcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Okxh
eW91dFRyZWVDb250ZW50OjpsYXlvdXRCb3hGb3JSZW5kZXJlcik6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFRyZWVDb250ZW50OjpsYXlvdXRCb3hGb3JSZW5kZXJl
ciBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFRyZWVD
b250ZW50OjpyZW5kZXJlckZvckxheW91dEJveCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
cGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlld0xheW91dENvbnRleHQ6OmxheW91dFVzaW5nRm9ybWF0dGluZ0NvbnRleHQpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6aW52YWxpZGF0ZUxheW91dFRyZWVD
b250ZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlld0xheW91dENvbnRl
eHQ6OmludmFsaWRhdGVMYXlvdXRTdGF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXdMYXlvdXRDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXdMYXlvdXRD
b250ZXh0OjpsYXlvdXRGb3JtYXR0aW5nU3RhdGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6bGF5b3V0VHJlZUNvbnRlbnQgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJJbWFnZTo6aW1hZ2VDaGFuZ2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVHJlZUJ1
aWxkZXI6OmF0dGFjaFRvUmVuZGVyRWxlbWVudEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRyZWVCdWlsZGVyOjpkZXRhY2hGcm9tUmVuZGVyRWxlbWVudCk6CisgICAgICAgICog
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJlclN0eWxlKToKKwogMjAyMC0wOS0x
NiAgU3RlcGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIEVOQUJMRV9NRVRFUl9FTEVNRU5UCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZGlzcGxheS9EaXNwbGF5Vmlldy5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXkv
RGlzcGxheVZpZXcuaAppbmRleCBkMGM5ODMyMTk1ZDMyYWNlZGVkZWQ3ZDE1OWJiOGMyYmFjZWI0
OGVhLi4xY2M4YTY1ZTMxYzdjNDdhNDU5MDNkYjUzZTJjZjEyMGE3NDk5ZWVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheS9EaXNwbGF5Vmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5L0Rpc3BsYXlWaWV3LmgKQEAgLTQwLDcgKzQwLDcgQEAg
Y2xhc3MgUGFnZTsKIAogbmFtZXNwYWNlIExheW91dCB7CiBjbGFzcyBMYXlvdXRTdGF0ZTsKLWNs
YXNzIExheW91dFRyZWVDb250ZW50OworY2xhc3MgTGF5b3V0VHJlZTsKIH0KIAogbmFtZXNwYWNl
IERpc3BsYXkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGluZUxheW91dC5oCmluZGV4IDlhMDU0ZmViNDcw
MmRlN2VhYzkxODkzYmVhMWE3MmQwZDI0Njg4OWQuLmNlMDZlNTdjNjgyMmNlMmI0ODdmMjM1Mjk2
OWI1YmNkYjEyNTA2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lTGF5b3V0LmgKQEAgLTQ3LDEw
ICs0Nyw2IEBAIG5hbWVzcGFjZSBEaXNwbGF5IHsKIHN0cnVjdCBJbmxpbmVDb250ZW50OwogfQog
Ci1uYW1lc3BhY2UgTGF5b3V0IHsKLWNsYXNzIExheW91dFRyZWVDb250ZW50OwotfQotCiBuYW1l
c3BhY2UgTGF5b3V0SW50ZWdyYXRpb24gewogCiBjbGFzcyBMaW5lTGF5b3V0IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNw
cAppbmRleCBlYmVhZGQwOGU5ZTI2NDAxYTI3ZDIxOTNkYmQ2NDNkNWIxZjk0NWRkLi4xOTVkYjVi
NTM5MGE3MGZkNjhjNGUyOGUwYTJhNGUwMDU1MDRhMzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCkBAIC02Nywy
MiArNjcsMTEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBMYXlvdXQgewogCi1X
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoTGF5b3V0VHJlZUNvbnRlbnQpOwotTGF5b3V0VHJl
ZUNvbnRlbnQ6OkxheW91dFRyZWVDb250ZW50KGNvbnN0IFJlbmRlckJveCYgcm9vdFJlbmRlcmVy
LCBzdGQ6OnVuaXF1ZV9wdHI8Q29udGFpbmVyQm94PiByb290TGF5b3V0Qm94KQotICAgIDogbV9y
b290UmVuZGVyZXIocm9vdFJlbmRlcmVyKQotICAgICwgbV9yb290TGF5b3V0Qm94KFdURk1vdmUo
cm9vdExheW91dEJveCkpCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoTGF5b3V0VHJlZSk7
CitMYXlvdXRUcmVlOjpMYXlvdXRUcmVlKCkKIHsKIH0KIAotTGF5b3V0VHJlZUNvbnRlbnQ6On5M
YXlvdXRUcmVlQ29udGVudCgpID0gZGVmYXVsdDsKLQotCi12b2lkIExheW91dFRyZWVDb250ZW50
OjphZGRMYXlvdXRCb3hGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBC
b3gmIGxheW91dEJveCkKLXsKLSAgICBtX3JlbmRlck9iamVjdFRvTGF5b3V0Qm94LmFkZCgmcmVu
ZGVyZXIsICZsYXlvdXRCb3gpOwotICAgIG1fbGF5b3V0Qm94VG9SZW5kZXJPYmplY3QuYWRkKCZs
YXlvdXRCb3gsICZyZW5kZXJlcik7Ci19Ci0KIHN0YXRpYyB2b2lkIGFwcGVuZENoaWxkKENvbnRh
aW5lckJveCYgcGFyZW50LCBCb3gmIG5ld0NoaWxkKQogewogICAgIGlmICghcGFyZW50Lmhhc0No
aWxkKCkpIHsKQEAgLTEyMywzNCArMTEyLDMyIEBAIHN0YXRpYyBib29sIGNhblVzZVNpbXBsaWZp
ZWRUZXh0TWVhc3VyaW5nKGNvbnN0IFN0cmluZ1ZpZXcmIGNvbnRlbnQsIGNvbnN0IEZvbnRDCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxMYXlvdXQ6OkxheW91dFRyZWVD
b250ZW50PiBUcmVlQnVpbGRlcjo6YnVpbGRMYXlvdXRUcmVlKGNvbnN0IFJlbmRlclZpZXcmIHJl
bmRlclZpZXcpCitzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0OjpMYXlvdXRUcmVlPiBUcmVlQnVpbGRl
cjo6YnVpbGRMYXlvdXRUcmVlKGNvbnN0IFJlbmRlclZpZXcmIHJlbmRlclZpZXcpCiB7CiAgICAg
UGhhc2VTY29wZSBzY29wZShQaGFzZTo6VHlwZTo6VHJlZUJ1aWxkaW5nKTsKIAotICAgIGF1dG8g
c3R5bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmUocmVuZGVyVmlldy5zdHlsZSgpKTsKLSAgICBzdHls
ZS5zZXRMb2dpY2FsV2lkdGgoTGVuZ3RoKHJlbmRlclZpZXcud2lkdGgoKSwgRml4ZWQpKTsKLSAg
ICBzdHlsZS5zZXRMb2dpY2FsSGVpZ2h0KExlbmd0aChyZW5kZXJWaWV3LmhlaWdodCgpLCBGaXhl
ZCkpOwotCi0gICAgYXV0byBsYXlvdXRUcmVlQ29udGVudCA9IG1ha2VVbmlxdWU8TGF5b3V0VHJl
ZUNvbnRlbnQ+KHJlbmRlclZpZXcsIG1ha2VVbmlxdWU8SW5pdGlhbENvbnRhaW5pbmdCbG9jaz4o
V1RGTW92ZShzdHlsZSkpKTsKLSAgICBUcmVlQnVpbGRlcigqbGF5b3V0VHJlZUNvbnRlbnQpLmJ1
aWxkVHJlZSgpOwotICAgIHJldHVybiBsYXlvdXRUcmVlQ29udGVudDsKLX0KKyAgICBhdXRvIHJv
b3RTdHlsZSA9IFJlbmRlclN0eWxlOjpjbG9uZShyZW5kZXJWaWV3LnN0eWxlKCkpOworICAgIHJv
b3RTdHlsZS5zZXRMb2dpY2FsV2lkdGgoTGVuZ3RoKHJlbmRlclZpZXcud2lkdGgoKSwgRml4ZWQp
KTsKKyAgICByb290U3R5bGUuc2V0TG9naWNhbEhlaWdodChMZW5ndGgocmVuZGVyVmlldy5oZWln
aHQoKSwgRml4ZWQpKTsKIAotVHJlZUJ1aWxkZXI6OlRyZWVCdWlsZGVyKExheW91dFRyZWVDb250
ZW50JiBsYXlvdXRUcmVlQ29udGVudCkKLSAgICA6IG1fbGF5b3V0VHJlZUNvbnRlbnQobGF5b3V0
VHJlZUNvbnRlbnQpCi17CisgICAgYXV0byByb290TGF5b3V0Qm94ID0gbWFrZVVuaXF1ZTxJbml0
aWFsQ29udGFpbmluZ0Jsb2NrPihXVEZNb3ZlKHJvb3RTdHlsZSkpOworICAgIGF1dG8mIHJvb3RD
b250YWluZXIgPSAqcm9vdExheW91dEJveDsKKyAgICBhdXRvIGxheW91dFRyZWUgPSBtYWtlVW5p
cXVlPExheW91dFRyZWU+KCk7CisgICAgbGF5b3V0VHJlZS0+YXBwZW5kKFdURk1vdmUocm9vdExh
eW91dEJveCkpOworICAgIFRyZWVCdWlsZGVyKCpsYXlvdXRUcmVlKS5idWlsZFN1YlRyZWUocmVu
ZGVyVmlldywgcm9vdENvbnRhaW5lcik7CisgICAgcmV0dXJuIGxheW91dFRyZWU7CiB9CiAKLXZv
aWQgVHJlZUJ1aWxkZXI6OmJ1aWxkVHJlZSgpCitUcmVlQnVpbGRlcjo6VHJlZUJ1aWxkZXIoTGF5
b3V0VHJlZSYgbGF5b3V0VHJlZSkKKyAgICA6IG1fbGF5b3V0VHJlZShsYXlvdXRUcmVlKQogewot
ICAgIGJ1aWxkU3ViVHJlZShtX2xheW91dFRyZWVDb250ZW50LnJvb3RSZW5kZXJlcigpLCBtX2xh
eW91dFRyZWVDb250ZW50LnJvb3RMYXlvdXRCb3goKSk7CiB9CiAKIEJveCYgVHJlZUJ1aWxkZXI6
OmNyZWF0ZVJlcGxhY2VkQm94KE9wdGlvbmFsPEJveDo6RWxlbWVudEF0dHJpYnV0ZXM+IGVsZW1l
bnRBdHRyaWJ1dGVzLCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogewogICAgIGF1dG8gbmV3Qm94ID0g
bWFrZVVuaXF1ZTxSZXBsYWNlZEJveD4oZWxlbWVudEF0dHJpYnV0ZXMsIFdURk1vdmUoc3R5bGUp
KTsKICAgICBhdXRvJiBib3ggPSAqbmV3Qm94OwotICAgIG1fbGF5b3V0VHJlZUNvbnRlbnQuYWRk
Qm94KFdURk1vdmUobmV3Qm94KSk7CisgICAgbV9sYXlvdXRUcmVlLmFwcGVuZChXVEZNb3ZlKG5l
d0JveCkpOwogICAgIHJldHVybiBib3g7CiB9CiAKQEAgLTE1OCw3ICsxNDUsNyBAQCBCb3gmIFRy
ZWVCdWlsZGVyOjpjcmVhdGVUZXh0Qm94KFN0cmluZyB0ZXh0LCBib29sIGNhblVzZVNpbXBsaWZp
ZWRUZXh0TWVhc3VyaW5nLAogewogICAgIGF1dG8gbmV3Qm94ID0gbWFrZVVuaXF1ZTxJbmxpbmVU
ZXh0Qm94Pih0ZXh0LCBjYW5Vc2VTaW1wbGlmaWVkVGV4dE1lYXN1cmluZywgV1RGTW92ZShzdHls
ZSkpOwogICAgIGF1dG8mIGJveCA9ICpuZXdCb3g7Ci0gICAgbV9sYXlvdXRUcmVlQ29udGVudC5h
ZGRCb3goV1RGTW92ZShuZXdCb3gpKTsKKyAgICBtX2xheW91dFRyZWUuYXBwZW5kKFdURk1vdmUo
bmV3Qm94KSk7CiAgICAgcmV0dXJuIGJveDsKIH0KIApAQCAtMTY2LDcgKzE1Myw3IEBAIEJveCYg
VHJlZUJ1aWxkZXI6OmNyZWF0ZUxpbmVCcmVha0JveChib29sIGlzT3B0aW9uYWwsIFJlbmRlclN0
eWxlJiYgc3R5bGUpCiB7CiAgICAgYXV0byBuZXdCb3ggPSBtYWtlVW5pcXVlPExheW91dDo6TGlu
ZUJyZWFrQm94Pihpc09wdGlvbmFsLCBXVEZNb3ZlKHN0eWxlKSk7CiAgICAgYXV0byYgYm94ID0g
Km5ld0JveDsKLSAgICBtX2xheW91dFRyZWVDb250ZW50LmFkZEJveChXVEZNb3ZlKG5ld0JveCkp
OworICAgIG1fbGF5b3V0VHJlZS5hcHBlbmQoV1RGTW92ZShuZXdCb3gpKTsKICAgICByZXR1cm4g
Ym94OwogfQogCkBAIC0xNzQsNyArMTYxLDcgQEAgQ29udGFpbmVyQm94JiBUcmVlQnVpbGRlcjo6
Y3JlYXRlQ29udGFpbmVyKE9wdGlvbmFsPEJveDo6RWxlbWVudEF0dHJpYnV0ZXM+IGVsZW0KIHsK
ICAgICBhdXRvIG5ld0NvbnRhaW5lciA9IG1ha2VVbmlxdWU8Q29udGFpbmVyQm94PihlbGVtZW50
QXR0cmlidXRlcywgV1RGTW92ZShzdHlsZSkpOwogICAgIGF1dG8mIGNvbnRhaW5lciA9ICpuZXdD
b250YWluZXI7Ci0gICAgbV9sYXlvdXRUcmVlQ29udGVudC5hZGRDb250YWluZXIoV1RGTW92ZShu
ZXdDb250YWluZXIpKTsKKyAgICBtX2xheW91dFRyZWUuYXBwZW5kKFdURk1vdmUobmV3Q29udGFp
bmVyKSk7CiAgICAgcmV0dXJuIGNvbnRhaW5lcjsKIH0KIApAQCAtMjk5LDcgKzI4Niw2IEBAIEJv
eCogVHJlZUJ1aWxkZXI6OmNyZWF0ZUxheW91dEJveChjb25zdCBDb250YWluZXJCb3gmIHBhcmVu
dENvbnRhaW5lciwgY29uc3QgUmVuCiAgICAgICAgIGlmIChjaGlsZFJlbmRlcmVyLmlzQW5vbnlt
b3VzKCkpCiAgICAgICAgICAgICBjaGlsZExheW91dEJveC0+c2V0SXNBbm9ueW1vdXMoKTsKICAg
ICB9Ci0gICAgbV9sYXlvdXRUcmVlQ29udGVudC5hZGRMYXlvdXRCb3hGb3JSZW5kZXJlcihjaGls
ZFJlbmRlcmVyLCAqY2hpbGRMYXlvdXRCb3gpOwogICAgIHJldHVybiBjaGlsZExheW91dEJveDsK
IH0KIApAQCAtNTQ3LDggKzUzMyw4IEBAIHZvaWQgcHJpbnRMYXlvdXRUcmVlRm9yTGl2ZURvY3Vt
ZW50cygpCiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXNcbiIsIGRvY3VtZW50LT51cmwoKS5z
dHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICAgICAgICAgLy8gRklYTUU6IE5lZWQgdG8gZmluZCBh
IHdheSB0byBvdXRwdXQgZ2VvbWV0cnkgd2l0aG91dCBsYXlvdXQgY29udGV4dC4KICAgICAgICAg
YXV0byYgcmVuZGVyVmlldyA9ICpkb2N1bWVudC0+cmVuZGVyVmlldygpOwotICAgICAgICBhdXRv
IGxheW91dFRyZWVDb250ZW50ID0gVHJlZUJ1aWxkZXI6OmJ1aWxkTGF5b3V0VHJlZShyZW5kZXJW
aWV3KTsKLSAgICAgICAgYXV0byBsYXlvdXRTdGF0ZSA9IExheW91dFN0YXRlIHsgKmRvY3VtZW50
LCBsYXlvdXRUcmVlQ29udGVudC0+cm9vdExheW91dEJveCgpIH07CisgICAgICAgIGF1dG8gbGF5
b3V0VHJlZSA9IFRyZWVCdWlsZGVyOjpidWlsZExheW91dFRyZWUocmVuZGVyVmlldyk7CisgICAg
ICAgIGF1dG8gbGF5b3V0U3RhdGUgPSBMYXlvdXRTdGF0ZSB7ICpkb2N1bWVudCwgbGF5b3V0VHJl
ZS0+cm9vdCgpIH07CiAKICAgICAgICAgYXV0byYgbGF5b3V0Um9vdCA9IGxheW91dFN0YXRlLnJv
b3QoKTsKICAgICAgICAgYXV0byBpbnZhbGlkYXRpb25TdGF0ZSA9IEludmFsaWRhdGlvblN0YXRl
IHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91
dFRyZWVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRU
cmVlQnVpbGRlci5oCmluZGV4IDIwNmIzYmRlOTI1MjIyNDljMDI3ZGNlMTcxNDU5MzcyYjRlODA5
NTEuLjkyZGMxMWViOGViZjM2MTY3YTM2MzZiYjNkMDBmODU1YjBlZWJiMTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuaApA
QCAtNDQsNDggKzQ0LDI2IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogCiBjbGFzcyBMYXlvdXRTdGF0
ZTsKIAotY2xhc3MgTGF5b3V0VHJlZUNvbnRlbnQgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TGF5
b3V0VHJlZUNvbnRlbnQ+IHsKLSAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKExheW91dFRyZWVD
b250ZW50KTsKK2NsYXNzIExheW91dFRyZWUgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
TGF5b3V0VHJlZSk7CiBwdWJsaWM6Ci0gICAgTGF5b3V0VHJlZUNvbnRlbnQoY29uc3QgUmVuZGVy
Qm94Jiwgc3RkOjp1bmlxdWVfcHRyPENvbnRhaW5lckJveD4pOwotICAgIH5MYXlvdXRUcmVlQ29u
dGVudCgpOworICAgIExheW91dFRyZWUoKTsKKyAgICB+TGF5b3V0VHJlZSgpID0gZGVmYXVsdDsK
IAotICAgIGNvbnN0IENvbnRhaW5lckJveCYgcm9vdExheW91dEJveCgpIGNvbnN0IHsgcmV0dXJu
ICptX3Jvb3RMYXlvdXRCb3g7IH0KLSAgICBDb250YWluZXJCb3gmIHJvb3RMYXlvdXRCb3goKSB7
IHJldHVybiAqbV9yb290TGF5b3V0Qm94OyB9Ci0gICAgY29uc3QgUmVuZGVyQm94JiByb290UmVu
ZGVyZXIoKSBjb25zdCB7IHJldHVybiBtX3Jvb3RSZW5kZXJlcjsgfQotCi0gICAgdm9pZCBhZGRC
b3goc3RkOjp1bmlxdWVfcHRyPEJveD4gYm94KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFib3gt
PmlzQ29udGFpbmVyQm94KCkpOwotICAgICAgICBtX2JveGVzLmFkZChXVEZNb3ZlKGJveCkpOwot
ICAgIH0KLSAgICB2b2lkIGFkZENvbnRhaW5lcihzdGQ6OnVuaXF1ZV9wdHI8Q29udGFpbmVyQm94
PiBjb250YWluZXIpIHsgbV9jb250YWluZXJzLmFkZChXVEZNb3ZlKGNvbnRhaW5lcikpOyB9Ci0K
LSAgICBCb3gqIGxheW91dEJveEZvclJlbmRlcmVyKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVy
ZXIpIHsgcmV0dXJuIG1fcmVuZGVyT2JqZWN0VG9MYXlvdXRCb3guZ2V0KCZyZW5kZXJlcik7IH0K
LSAgICBjb25zdCBCb3gqIGxheW91dEJveEZvclJlbmRlcmVyKGNvbnN0IFJlbmRlck9iamVjdCYg
cmVuZGVyZXIpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyT2JqZWN0VG9MYXlvdXRCb3guZ2V0KCZy
ZW5kZXJlcik7IH0KLQotICAgIGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXJGb3JMYXlvdXRC
b3goY29uc3QgQm94JiBib3gpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0Qm94VG9SZW5kZXJPYmpl
Y3QuZ2V0KCZib3gpOyB9Ci0KLSAgICB2b2lkIGFkZExheW91dEJveEZvclJlbmRlcmVyKGNvbnN0
IFJlbmRlck9iamVjdCYsIEJveCYpOworICAgIGNvbnN0IENvbnRhaW5lckJveCYgcm9vdCgpIGNv
bnN0IHsgcmV0dXJuIGRvd25jYXN0PENvbnRhaW5lckJveD4oKm1fbGF5b3V0Qm94ZXNbMF0pOyB9
CisgICAgdm9pZCBhcHBlbmQoc3RkOjp1bmlxdWVfcHRyPEJveD4gYm94KSB7IG1fbGF5b3V0Qm94
ZXMuYXBwZW5kKFdURk1vdmUoYm94KSk7IH0KIAogcHJpdmF0ZToKLSAgICBjb25zdCBSZW5kZXJC
b3gmIG1fcm9vdFJlbmRlcmVyOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxDb250YWluZXJCb3g+IG1f
cm9vdExheW91dEJveDsKLSAgICBIYXNoU2V0PHN0ZDo6dW5pcXVlX3B0cjxCb3g+PiBtX2JveGVz
OwotICAgIEhhc2hTZXQ8c3RkOjp1bmlxdWVfcHRyPENvbnRhaW5lckJveD4+IG1fY29udGFpbmVy
czsKLQotICAgIEhhc2hNYXA8Y29uc3QgUmVuZGVyT2JqZWN0KiwgQm94Kj4gbV9yZW5kZXJPYmpl
Y3RUb0xheW91dEJveDsKLSAgICBIYXNoTWFwPGNvbnN0IEJveCosIGNvbnN0IFJlbmRlck9iamVj
dCo+IG1fbGF5b3V0Qm94VG9SZW5kZXJPYmplY3Q7CisgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0
cjxCb3g+PiBtX2xheW91dEJveGVzOwogfTsKIAogY2xhc3MgVHJlZUJ1aWxkZXIgewogcHVibGlj
OgotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0OjpMYXlvdXRUcmVlQ29udGVudD4g
YnVpbGRMYXlvdXRUcmVlKGNvbnN0IFJlbmRlclZpZXcmKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPExheW91dDo6TGF5b3V0VHJlZT4gYnVpbGRMYXlvdXRUcmVlKGNvbnN0IFJlbmRlclZp
ZXcmKTsKIAogcHJpdmF0ZToKLSAgICBUcmVlQnVpbGRlcihMYXlvdXRUcmVlQ29udGVudCYpOwor
ICAgIFRyZWVCdWlsZGVyKExheW91dFRyZWUmKTsKIAotICAgIHZvaWQgYnVpbGRUcmVlKCk7CiAg
ICAgdm9pZCBidWlsZFN1YlRyZWUoY29uc3QgUmVuZGVyRWxlbWVudCYgcGFyZW50UmVuZGVyZXIs
IENvbnRhaW5lckJveCYgcGFyZW50Q29udGFpbmVyKTsKICAgICB2b2lkIGJ1aWxkVGFibGVTdHJ1
Y3R1cmUoY29uc3QgUmVuZGVyVGFibGUmIHRhYmxlUmVuZGVyZXIsIENvbnRhaW5lckJveCYgdGFi
bGVXcmFwcGVyQm94KTsKICAgICBCb3gqIGNyZWF0ZUxheW91dEJveChjb25zdCBDb250YWluZXJC
b3gmIHBhcmVudENvbnRhaW5lciwgY29uc3QgUmVuZGVyT2JqZWN0JiBjaGlsZFJlbmRlcmVyKTsK
QEAgLTk1LDcgKzczLDcgQEAgcHJpdmF0ZToKICAgICBCb3gmIGNyZWF0ZUxpbmVCcmVha0JveChi
b29sIGlzT3B0aW9uYWwsIFJlbmRlclN0eWxlJiYpOwogICAgIENvbnRhaW5lckJveCYgY3JlYXRl
Q29udGFpbmVyKE9wdGlvbmFsPEJveDo6RWxlbWVudEF0dHJpYnV0ZXM+LCBSZW5kZXJTdHlsZSYm
KTsKIAotICAgIExheW91dFRyZWVDb250ZW50JiBtX2xheW91dFRyZWVDb250ZW50OworICAgIExh
eW91dFRyZWUmIG1fbGF5b3V0VHJlZTsKIH07CiAKICNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcAppbmRl
eCAyODFlNjA0MmE4YjM4NTE5ODRjZTA5OTFlMTU1MWMxZDkxZGQ3ZmVlLi44YTZjMTQyODM3Njcw
ODk1N2M3ZDM0MDQ5NWE2NTBhYTJmMDg0Nzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAKQEAgLTYwLDIwICs2MCwxMyBAQCB2b2lkIEZyYW1l
Vmlld0xheW91dENvbnRleHQ6OmxheW91dFVzaW5nRm9ybWF0dGluZ0NvbnRleHQoKQogewogICAg
IGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dEVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwotCiAgICAgLy8gRnJhbWVW
aWV3OjpzZXRDb250ZW50c1NpemUgdGVtcG9yYXJ5IGRpc2FibGVzIGxheW91dC4KICAgICBpZiAo
bV9kaXNhYmxlU2V0TmVlZHNMYXlvdXRDb3VudCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0
byYgcmVuZGVyVmlldyA9ICp0aGlzLT5yZW5kZXJWaWV3KCk7Ci0gICAgaWYgKCFtX2xheW91dFRy
ZWVDb250ZW50KSB7Ci0gICAgICAgIG1fbGF5b3V0VHJlZUNvbnRlbnQgPSBMYXlvdXQ6OlRyZWVC
dWlsZGVyOjpidWlsZExheW91dFRyZWUocmVuZGVyVmlldyk7Ci0gICAgICAgIC8vIEZJWE1FOiBO
ZXcgbGF5b3V0IHRyZWUgcmVxdWlyZXMgYSBuZXcgc3RhdGUgZm9yIG5vdy4KLSAgICAgICAgbV9s
YXlvdXRTdGF0ZSA9IG51bGxwdHI7Ci0gICAgfQotICAgIGlmICghbV9sYXlvdXRTdGF0ZSkKLSAg
ICAgICAgbV9sYXlvdXRTdGF0ZSA9IG1ha2VVbmlxdWU8TGF5b3V0OjpMYXlvdXRTdGF0ZT4oKmRv
Y3VtZW50KCksIG1fbGF5b3V0VHJlZUNvbnRlbnQtPnJvb3RMYXlvdXRCb3goKSk7Ci0KKyAgICBt
X2xheW91dFRyZWUgPSBMYXlvdXQ6OlRyZWVCdWlsZGVyOjpidWlsZExheW91dFRyZWUocmVuZGVy
Vmlldyk7CisgICAgbV9sYXlvdXRTdGF0ZSA9IG1ha2VVbmlxdWU8TGF5b3V0OjpMYXlvdXRTdGF0
ZT4oKmRvY3VtZW50KCksIG1fbGF5b3V0VHJlZS0+cm9vdCgpKTsKICAgICAvLyBGSVhNRTogVGhp
cyBpcyBub3QgdGhlIHJlYWwgaW52YWxpZGF0aW9uIHlldC4KICAgICBhdXRvIGludmFsaWRhdGlv
blN0YXRlID0gTGF5b3V0OjpJbnZhbGlkYXRpb25TdGF0ZSB7IH07CiAgICAgYXV0byBsYXlvdXRD
b250ZXh0ID0gTGF5b3V0OjpMYXlvdXRDb250ZXh0IHsgKm1fbGF5b3V0U3RhdGUgfTsKQEAgLTg5
LDIxICs4MiwxMCBAQCB2b2lkIEZyYW1lVmlld0xheW91dENvbnRleHQ6OmxheW91dFVzaW5nRm9y
bWF0dGluZ0NvbnRleHQoKQogICAgICAgICAgICAgZGVzY2VuZGFudC5jbGVhck5lZWRzTGF5b3V0
KCk7CiAgICAgICAgIHJlbmRlclZpZXcuY2xlYXJOZWVkc0xheW91dCgpOwogICAgIH0KLQogI2lm
bmRlZiBOREVCVUcKICAgICBMYXlvdXQ6OkxheW91dENvbnRleHQ6OnZlcmlmeUFuZE91dHB1dE1p
c21hdGNoaW5nTGF5b3V0VHJlZSgqbV9sYXlvdXRTdGF0ZSwgcmVuZGVyVmlldyk7CiAjZW5kaWYK
IH0KLQotdm9pZCBGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjppbnZhbGlkYXRlTGF5b3V0VHJlZUNv
bnRlbnQoKQotewotICAgIG1fbGF5b3V0VHJlZUNvbnRlbnQgPSBudWxscHRyOwotfQotCi12b2lk
IEZyYW1lVmlld0xheW91dENvbnRleHQ6OmludmFsaWRhdGVMYXlvdXRTdGF0ZSgpCi17Ci0gICAg
bV9sYXlvdXRTdGF0ZSA9IG51bGxwdHI7Ci19CiAjZW5kaWYKIAogc3RhdGljIGJvb2wgaXNPYmpl
Y3RBbmNlc3RvckNvbnRhaW5lck9mKFJlbmRlckVsZW1lbnQmIGFuY2VzdG9yLCBSZW5kZXJFbGVt
ZW50JiBkZXNjZW5kYW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXdMYXlvdXRDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENv
bnRleHQuaAppbmRleCA2NWVhOTM4ZWQ0ZWZjMWE5ZTlhYTBkNGJkY2MwMmZiMmY0NjMxMmQ3Li4z
YmMyMDA5YzhiMjQ1ZGIxZTk0NmFlNDcyMjk3MDNlNzhiYWE3ZmYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlld0xheW91dENvbnRleHQuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFz
cyBSZW5kZXJWaWV3OwogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogbmFt
ZXNwYWNlIExheW91dCB7CiBjbGFzcyBMYXlvdXRTdGF0ZTsKLWNsYXNzIExheW91dFRyZWVDb250
ZW50OworY2xhc3MgTGF5b3V0VHJlZTsKIH0KICNlbmRpZgogICAgIApAQCAtMTE4LDkgKzExOCw2
IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogICAg
IGNvbnN0IExheW91dDo6TGF5b3V0U3RhdGUqIGxheW91dEZvcm1hdHRpbmdTdGF0ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbGF5b3V0U3RhdGUuZ2V0KCk7IH0KLSAgICBMYXlvdXQ6OkxheW91dFRyZWVD
b250ZW50KiBsYXlvdXRUcmVlQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0VHJlZUNv
bnRlbnQuZ2V0KCk7IH0KLSAgICB2b2lkIGludmFsaWRhdGVMYXlvdXRUcmVlQ29udGVudCgpOwot
ICAgIHZvaWQgaW52YWxpZGF0ZUxheW91dFN0YXRlKCk7CiAjZW5kaWYKIAogcHJpdmF0ZToKQEAg
LTE5Miw3ICsxODksNyBAQCBwcml2YXRlOgogICAgIExheW91dFN0YXRlU3RhY2sgbV9sYXlvdXRT
dGF0ZVN0YWNrOwogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogICAgIHN0
ZDo6dW5pcXVlX3B0cjxMYXlvdXQ6OkxheW91dFN0YXRlPiBtX2xheW91dFN0YXRlOwotICAgIHN0
ZDo6dW5pcXVlX3B0cjxMYXlvdXQ6OkxheW91dFRyZWVDb250ZW50PiBtX2xheW91dFRyZWVDb250
ZW50OworICAgIHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXQ6OkxheW91dFRyZWU+IG1fbGF5b3V0VHJl
ZTsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAK
aW5kZXggYTNhOWNjOGJiMTI1M2FhYTc3ODFjMTk4YjQwNTQyZjI4NmI3Mjk4My4uZDFmNGI2MzNl
NTg4NjM3MDM5MjQ0MjdlNGUzYmNhNDQ2ZjFkMmRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2UuY3BwCkBAIC0zMDcsMTEgKzMwNyw2IEBAIHZvaWQgUmVuZGVySW1hZ2U6
OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQdHIgbmV3SW1hZ2UsIGNvbnN0IEludFJlY3QqIHJl
Y3QpCiAgICAgcmVwYWludE9yTWFya0ZvckxheW91dChpbWFnZVNpemVDaGFuZ2UsIHJlY3QpOwog
ICAgIGlmIChBWE9iamVjdENhY2hlKiBjYWNoZSA9IGRvY3VtZW50KCkuZXhpc3RpbmdBWE9iamVj
dENhY2hlKCkpCiAgICAgICAgIGNhY2hlLT5kZWZlclJlY29tcHV0ZUlzSWdub3JlZElmTmVlZGVk
KGVsZW1lbnQoKSk7Ci0KLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKLSAg
ICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYXlvdXRGb3Jt
YXR0aW5nQ29udGV4dEVuYWJsZWQoKSkKLSAgICAgICAgdmlldygpLmZyYW1lVmlldygpLmxheW91
dENvbnRleHQoKS5pbnZhbGlkYXRlTGF5b3V0VHJlZUNvbnRlbnQoKTsKLSNlbmRpZgogfQogCiB2
b2lkIFJlbmRlckltYWdlOjp1cGRhdGVJbnRyaW5zaWNTaXplSWZOZWVkZWQoY29uc3QgTGF5b3V0
U2l6ZSYgbmV3U2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCmluZGV4IDRkMzkyZjIwZDE1YWRhYzk2ZGVkYmI3
ZjUwYzNkZWMyYWZjOTI1OWQuLjUxMzc0MWUwNmUzOWQwYThkYTQ5OTRhZmE1OGVhNDRkMzM1ZjM2
ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJU
cmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyLmNwcApAQCAtNDY0LDEzICs0NjQsNiBAQCB2b2lkIFJlbmRlclRyZWVC
dWlsZGVyOjphdHRhY2hUb1JlbmRlckVsZW1lbnRJbnRlcm5hbChSZW5kZXJFbGVtZW50JiBwYXJl
bnQsIFJlbgogICAgICAgICBkb3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KHBhcmVudCkuaW52YWxp
ZGF0ZUxpbmVMYXlvdXRQYXRoKCk7CiAgICAgaWYgKHBhcmVudC5oYXNPdXRsaW5lQXV0b0FuY2Vz
dG9yKCkgfHwgcGFyZW50Lm91dGxpbmVTdHlsZUZvclJlcGFpbnQoKS5vdXRsaW5lU3R5bGVJc0F1
dG8oKSA9PSBPdXRsaW5lSXNBdXRvOjpPbikKICAgICAgICAgbmV3Q2hpbGQtPnNldEhhc091dGxp
bmVBdXRvQW5jZXN0b3IoKTsKLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkK
LSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYXlvdXRG
b3JtYXR0aW5nQ29udGV4dEVuYWJsZWQoKSkgewotICAgICAgICBpZiAocGFyZW50LmRvY3VtZW50
KCkudmlldygpKQotICAgICAgICAgICAgcGFyZW50LmRvY3VtZW50KCkudmlldygpLT5sYXlvdXRD
b250ZXh0KCkuaW52YWxpZGF0ZUxheW91dFRyZWVDb250ZW50KCk7Ci0KLSAgICB9Ci0jZW5kaWYK
IH0KIAogdm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6bW92ZShSZW5kZXJCb3hNb2RlbE9iamVjdCYg
ZnJvbSwgUmVuZGVyQm94TW9kZWxPYmplY3QmIHRvLCBSZW5kZXJPYmplY3QmIGNoaWxkLCBSZW5k
ZXJPYmplY3QqIGJlZm9yZUNoaWxkLCBOb3JtYWxpemVBZnRlckluc2VydGlvbiBub3JtYWxpemVB
ZnRlckluc2VydGlvbikKQEAgLTg5NSwxMyArODg4LDYgQEAgUmVuZGVyUHRyPFJlbmRlck9iamVj
dD4gUmVuZGVyVHJlZUJ1aWxkZXI6OmRldGFjaEZyb21SZW5kZXJFbGVtZW50KFJlbmRlckVsZW1l
bnQKICAgICAgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGNhY2hlID0gcGFyZW50LmRvY3VtZW50KCku
ZXhpc3RpbmdBWE9iamVjdENhY2hlKCkpCiAgICAgICAgICAgICBjYWNoZS0+Y2hpbGRyZW5DaGFu
Z2VkKCZwYXJlbnQpOwogICAgIH0KLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5sYXlv
dXRGb3JtYXR0aW5nQ29udGV4dEVuYWJsZWQoKSkgewotICAgICAgICBpZiAocGFyZW50LmRvY3Vt
ZW50KCkudmlldygpKQotICAgICAgICAgICAgcGFyZW50LmRvY3VtZW50KCkudmlldygpLT5sYXlv
dXRDb250ZXh0KCkuaW52YWxpZGF0ZUxheW91dFRyZWVDb250ZW50KCk7Ci0KLSAgICB9Ci0jZW5k
aWYKICAgICByZXR1cm4gY2hpbGRUb1Rha2U7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IDhhN2Zk
NjU4YjJkZDk5MDcwOTcwNTJkMTEzYmRjZjg3ZGQ4MThkODYuLmYzOTkzZjAzOGY3NGZkM2EwYzg5
ODVjZjk4ZTMxYWYyZGY3ZWUwODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApAQCAtMjk2LDE3ICsyOTYsNiBA
QCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJlclN0eWxlKFJlbmRlckVsZW1l
bnQmIHJlbmRlcmVyLCBSZW5kZXJTdHlsZQogICAgIGF1dG8gb2xkU3R5bGUgPSBSZW5kZXJTdHls
ZTo6Y2xvbmUocmVuZGVyZXIuc3R5bGUoKSk7CiAgICAgcmVuZGVyZXIuc2V0U3R5bGUoV1RGTW92
ZShuZXdTdHlsZSksIG1pbmltYWxTdHlsZURpZmZlcmVuY2UpOwogICAgIG1fYnVpbGRlci5ub3Jt
YWxpemVUcmVlQWZ0ZXJTdHlsZUNoYW5nZShyZW5kZXJlciwgb2xkU3R5bGUpOwotI2lmIEVOQUJM
RShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQotICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLmxheW91dEZvcm1hdHRpbmdDb250ZXh0RW5hYmxlZCgpKSB7
Ci0gICAgICAgIGlmICghbV9kb2N1bWVudC52aWV3KCkgfHwgIW1fZG9jdW1lbnQudmlldygpLT5s
YXlvdXRDb250ZXh0KCkubGF5b3V0VHJlZUNvbnRlbnQoKSkKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgYXV0byYgbGF5b3V0Q29udGV4dCA9IG1fZG9jdW1lbnQudmlldygpLT5sYXlvdXRD
b250ZXh0KCk7Ci0gICAgICAgIGlmIChtaW5pbWFsU3R5bGVEaWZmZXJlbmNlID49IFN0eWxlRGlm
ZmVyZW5jZTo6TGF5b3V0UG9zaXRpb25lZE1vdmVtZW50T25seSB8fCByZW5kZXJlci5uZWVkc0xh
eW91dCgpKQotICAgICAgICAgICAgbGF5b3V0Q29udGV4dC5pbnZhbGlkYXRlTGF5b3V0U3RhdGUo
KTsKLSAgICAgICAgaWYgKGF1dG8qIGxheW91dEJveCA9IGxheW91dENvbnRleHQubGF5b3V0VHJl
ZUNvbnRlbnQoKS0+bGF5b3V0Qm94Rm9yUmVuZGVyZXIocmVuZGVyZXIpKQotICAgICAgICAgICAg
bGF5b3V0Qm94LT51cGRhdGVTdHlsZShyZW5kZXJlci5zdHlsZSgpKTsKLSAgICB9Ci0jZW5kaWYK
IH0KIAogdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlRWxlbWVudFJlbmRlcmVyKEVsZW1l
bnQmIGVsZW1lbnQsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlJiB1cGRhdGUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>