<?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>194968</bug_id>
          
          <creation_ts>2019-02-22 16:53:49 -0800</creation_ts>
          <short_desc>Clean up the setScrollPosition/setScrollPositionWithoutContentEdgeConstraints confusion in the scrolling tree nodes</short_desc>
          <delta_ts>2019-02-22 20:55:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>194973</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>koivisto</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1509248</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-02-22 16:53:49 -0800</bug_when>
    <thetext>Clean up the setScrollPosition/setScrollPositionWithoutContentEdgeConstraints confusion in the scrolling tree nodes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509254</commentid>
    <comment_count>1</comment_count>
      <attachid>362791</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-02-22 16:56:42 -0800</bug_when>
    <thetext>Created attachment 362791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509258</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-22 16:59:01 -0800</bug_when>
    <thetext>Attachment 362791 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Source/WebCore/ChangeLog:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: Source/WebCore/ChangeLog:12:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 3 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509286</commentid>
    <comment_count>3</comment_count>
      <attachid>362806</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-02-22 17:48:45 -0800</bug_when>
    <thetext>Created attachment 362806
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509329</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-02-22 20:54:48 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/241984/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509330</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-22 20:55:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/48333905&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362791</attachid>
            <date>2019-02-22 16:56:42 -0800</date>
            <delta_ts>2019-02-22 17:00:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194968-20190222165641.patch</filename>
            <type>text/plain</type>
            <size>23015</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxOTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzhkOGZiODA5NGE4Mjkz
MjNmNzVhZDZlMDYxYTk0NDI2MGVmMzcyYy4uNjE2MWNiOGMyODRmMTdmZmYwYzY5ZGQ4NjVkZTgy
NzBhYzgwZGM3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE5LTAyLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHRo
ZSBzZXRTY3JvbGxQb3NpdGlvbi9zZXRTY3JvbGxQb3NpdGlvbldpdGhvdXRDb250ZW50RWRnZUNv
bnN0cmFpbnRzIGNvbmZ1c2lvbiBpbiB0aGUgc2Nyb2xsaW5nIHRyZWUgbm9kZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDk2OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhdmluZyBib3RoIHNldFNj
cm9sbFBvc2l0aW9uKCkgYW5kIHNldFNjcm9sbFBvc2l0aW9uV2l0aG91dENvbnRlbnRFZGdlQ29u
c3RyYWludHMoKSBpcyBjb25mdXNpbmcgYmVjYXVzZQorCQl5b3UgY2FuJ3QgdGVsbCB3aGljaCBp
cyB0aGUgYm90dGxlbmVjay4gU28gYWRkIGEgJ2NsYW1wJyBwYXJhbWV0ZXIgdG8gc2V0U2Nyb2xs
UG9zaXRpb24oKSBhbmQgbWVyZ2UgdGhlbS4KKworCQlTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbigpIHJlcGxpY2F0ZXMgYSBiaXQgb2YgY29kZSBi
dXQgZnV0dXJlIGNsZWFudXBzIHdpbGwKKwkJcmVkdWNlIHRoYXQuCisKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU6OnNldFNjcm9sbFBvc2l0
aW9uKTogRGVsZXRlZC4gVGhpcyB3YXMgdGhlIHNhbWUgYXMgdGhlIGJhc2UgY2xhc3MgbWV0aG9k
LgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2V0
U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGU6OmNsYW1wU2Nyb2xsUG9zaXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNjcm9sbEJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpzZXRTY3JvbGxQb3NpdGlvbldpdGhvdXRDb250ZW50
RWRnZUNvbnN0cmFpbnRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlOjpzY3JvbGxCeVdpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKTog
RGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlSU9TLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpzZXRTY3JvbGxQ
b3NpdGlvbldpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKTogRGVsZXRlZC4gRGlkIG5vdGhp
bmcuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVNYWMuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4pOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6aGFuZGxl
V2hlZWxFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbldpdGhvdXRDb250
ZW50RWRnZUNvbnN0cmFpbnRzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9t
YWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1h
Yzo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVk
Z2VDb25zdHJhaW50cyk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW06CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjppbW1lZGlhdGVTY3JvbGxC
eVdpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0
Zm9ybVdoZWVsRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6
ZGVsdGEgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmg6CisKIDIwMTkt
MDItMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAg
SGFyZGNvZGUgVmlzdWFsIFZpZXdwb3J0cyBvbiBldmVyeXdoZXJlIGV4Y2VwdCBpT1MgV0sxCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4IDg1MDljNDY2MGIzYjA5ZDZhNDgy
MTk4NzYzNzNiYjQxYzM0MjNhMjEuLmUyYmI1OTc5Nzg2ODM0MDlmNDc4OGQyYzY5Y2Q5OGQ3N2M4
NmVjODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCkBAIC04MiwxMiArODIs
NiBAQCB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU6OmNvbW1pdFN0YXRlQmVm
b3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nUwogICAgICAgICBtX21heExheW91dFZpZXdwb3J0
T3JpZ2luID0gc3RhdGUubWF4TGF5b3V0Vmlld3BvcnRPcmlnaW4oKTsKIH0KIAotdm9pZCBTY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9h
dFBvaW50JiBzY3JvbGxQb3NpdGlvbikKLXsKLSAgICBGbG9hdFBvaW50IG5ld1Njcm9sbFBvc2l0
aW9uID0gc2Nyb2xsUG9zaXRpb24uY29uc3RyYWluZWRCZXR3ZWVuKG1pbmltdW1TY3JvbGxQb3Np
dGlvbigpLCBtYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSk7Ci0gICAgc2V0U2Nyb2xsUG9zaXRpb25X
aXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhuZXdTY3JvbGxQb3NpdGlvbik7Ci19Ci0KIEZs
b2F0UmVjdCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpsYXlvdXRWaWV3cG9ydEZv
clNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHZpc2libGVDb250ZW50T3JpZ2luLCBm
bG9hdCBzY2FsZSkgY29uc3QKIHsKICAgICBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRSZWN0KHZp
c2libGVDb250ZW50T3JpZ2luLCBzY3JvbGxhYmxlQXJlYVNpemUoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlLmgKaW5kZXggZDA5ZjA0OGJlYmNjYTAxZDFjMGRmMWUwMDNjMTdjMzE2NTc2
MjU5My4uOTQ1ZGEyNDZmZGRhYWM1MDYxMTVjOGI5Y2Y1YmExZDJkNjE2NDkxNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGUuaApAQCAtNDUsOCArNDUsNiBAQCBwdWJsaWM6CiAgICAgdm9p
ZCB1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNvbnN0IFNjcm9sbGluZ1RyZWVOb2Rl
JiAvKmNoYW5nZWROb2RlKi8sIGNvbnN0IEZsb2F0UmVjdCYgLypmaXhlZFBvc2l0aW9uUmVjdCov
LCBjb25zdCBGbG9hdFNpemUmIC8qY3VtdWxhdGl2ZURlbHRhKi8pIG92ZXJyaWRlIHsgfQogCiAg
ICAgU2Nyb2xsaW5nRXZlbnRSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmKSBvdmVycmlkZSA9IDA7Ci0gICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihjb25z
dCBGbG9hdFBvaW50Jikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbldpdGhv
dXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlkZSA9IDA7
CiAKICAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyVmlld3BvcnRDaGFuZ2UoY29uc3QgRmxvYXRS
ZWN0JiBmaXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIHNjYWxlKSBvdmVycmlkZSA9IDA7CiAgICAg
dm9pZCB1cGRhdGVMYXllcnNBZnRlckRlbGVnYXRlZFNjcm9sbChjb25zdCBGbG9hdFBvaW50Jikg
b3ZlcnJpZGUgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggZjBlZjNlYWVlM2JiMWFl
NzdjZjBhMzgzZjhkYTkzMGUzNGQ0ZTZhNy4uNmNjYjZmZGQzZTFjMTU3M2NkZmJjNTNkNDliOTIz
N2I3MzMwZjEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcApAQCAtMTIyLDE4ICsxMjIsMjEg
QEAgdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6dXBkYXRlTGF5ZXJzQWZ0ZXJBbmNl
c3RvckNoYW5nZShjb25zdCBTY3JvbGxpbmcKICAgICAgICAgY2hpbGQtPnVwZGF0ZUxheWVyc0Fm
dGVyQW5jZXN0b3JDaGFuZ2UoY2hhbmdlZE5vZGUsIGZpeGVkUG9zaXRpb25SZWN0LCBjdW11bGF0
aXZlRGVsdGEpOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpzZXRTY3Jv
bGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikKK3ZvaWQgU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGU6OnNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQm
IHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxQb3NpdGlvbkNsYW1wIGNsYW1wKQogewotICAgIEZsb2F0
UG9pbnQgbmV3U2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbi5jb25zdHJhaW5lZEJldHdl
ZW4obWluaW11bVNjcm9sbFBvc2l0aW9uKCksIG1heGltdW1TY3JvbGxQb3NpdGlvbigpKTsKLSAg
ICBzZXRTY3JvbGxQb3NpdGlvbldpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKG5ld1Njcm9s
bFBvc2l0aW9uKTsKLX0KKyAgICBGbG9hdFBvaW50IG5ld1Njcm9sbFBvc2l0aW9uID0gc2Nyb2xs
UG9zaXRpb247CisgICAgaWYgKGNsYW1wID09IFNjcm9sbFBvc2l0aW9uQ2xhbXA6OlRvQ29udGVu
dEVkZ2VzKQorICAgICAgICBuZXdTY3JvbGxQb3NpdGlvbiA9IGNsYW1wU2Nyb2xsUG9zaXRpb24o
c2Nyb2xsUG9zaXRpb24pOwogCi12b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpzZXRT
Y3JvbGxQb3NpdGlvbldpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKGNvbnN0IEZsb2F0UG9p
bnQmIHNjcm9sbFBvc2l0aW9uKQotewogICAgIHNldFNjcm9sbExheWVyUG9zaXRpb24oc2Nyb2xs
UG9zaXRpb24sIHsgfSk7CiAgICAgc2Nyb2xsaW5nVHJlZSgpLnNjcm9sbGluZ1RyZWVOb2RlRGlk
U2Nyb2xsKHNjcm9sbGluZ05vZGVJRCgpLCBzY3JvbGxQb3NpdGlvbiwgV1RGOjpudWxsb3B0KTsK
IH0KIAorRmxvYXRQb2ludCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6Y2xhbXBTY3JvbGxQ
b3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikgY29uc3QKK3sKKyAgICBy
ZXR1cm4gc2Nyb2xsUG9zaXRpb24uY29uc3RyYWluZWRCZXR3ZWVuKG1pbmltdW1TY3JvbGxQb3Np
dGlvbigpLCBtYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSk7Cit9CisKIEZsb2F0UG9pbnQgU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGU6Om1pbmltdW1TY3JvbGxQb3NpdGlvbigpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIEZsb2F0UG9pbnQoKTsKQEAgLTE1MywxNCArMTU2LDkgQEAgYm9vbCBTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsTGltaXRSZWFjaGVkKGNvbnN0IFBsYXRmb3JtV2hl
ZWxFdmVudCYgd2gKICAgICByZXR1cm4gbmV3U2Nyb2xsUG9zaXRpb24gPT0gb2xkU2Nyb2xsUG9z
aXRpb247CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNjcm9sbEJ5KGNv
bnN0IEZsb2F0U2l6ZSYgZGVsdGEpCi17Ci0gICAgc2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9z
aXRpb24oKSArIGRlbHRhKTsKLX0KLQotdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6
c2Nyb2xsQnlXaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhjb25zdCBGbG9hdFNpemUmIG9m
ZnNldCkKK3ZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNjcm9sbEJ5KGNvbnN0IEZs
b2F0U2l6ZSYgZGVsdGEsIFNjcm9sbFBvc2l0aW9uQ2xhbXAgY2xhbXApCiB7Ci0gICAgc2V0U2Ny
b2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhzY3JvbGxQb3NpdGlvbigp
ICsgb2Zmc2V0KTsKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbigpICsgZGVs
dGEsIGNsYW1wKTsKIH0KIAogTGF5b3V0UG9pbnQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6
OnBhcmVudFRvTG9jYWxQb2ludChMYXlvdXRQb2ludCBwb2ludCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZS5oCmluZGV4IGY3NTRiMjc4NTIzZWE5NzE1MTU5YWQwYmQ5NmM1NDhkZDEyZTViNzEuLmNi
MWVjOTdhNDg3NzA2OGQ2ZjRjOWRlYzQyZjczNzA0ODkxOGU4NTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGUuaApAQCAtNTMsMTEgKzUzLDkgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
dXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjb25zdCBTY3JvbGxpbmdUcmVlTm9kZSYg
Y2hhbmdlZE5vZGUsIGNvbnN0IEZsb2F0UmVjdCYgZml4ZWRQb3NpdGlvblJlY3QsIGNvbnN0IEZs
b2F0U2l6ZSYgY3VtdWxhdGl2ZURlbHRhKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgU2Nyb2xs
aW5nRXZlbnRSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQm
KSA9IDA7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgc2V0
U2Nyb2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhjb25zdCBGbG9hdFBv
aW50Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmLCBTY3JvbGxQb3NpdGlvbkNsYW1wID0gU2Nyb2xsUG9zaXRpb25D
bGFtcDo6VG9Db250ZW50RWRnZXMpOwogCi0gICAgdm9pZCBzY3JvbGxCeShjb25zdCBGbG9hdFNp
emUmKTsKLSAgICB2b2lkIHNjcm9sbEJ5V2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMoY29u
c3QgRmxvYXRTaXplJik7CisgICAgdm9pZCBzY3JvbGxCeShjb25zdCBGbG9hdFNpemUmLCBTY3Jv
bGxQb3NpdGlvbkNsYW1wID0gU2Nyb2xsUG9zaXRpb25DbGFtcDo6VG9Db250ZW50RWRnZXMpOwog
CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyVmlld3BvcnRDaGFuZ2UoY29uc3Qg
RmxvYXRSZWN0JiBmaXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIHNjYWxlKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyRGVsZWdhdGVkU2Nyb2xsKGNvbnN0IEZsb2F0UG9p
bnQmKSB7IH0KQEAgLTg4LDYgKzg2LDggQEAgcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JU
IHZpcnR1YWwgRmxvYXRQb2ludCBtaW5pbXVtU2Nyb2xsUG9zaXRpb24oKSBjb25zdDsKICAgICBX
RUJDT1JFX0VYUE9SVCB2aXJ0dWFsIEZsb2F0UG9pbnQgbWF4aW11bVNjcm9sbFBvc2l0aW9uKCkg
Y29uc3Q7CiAKKyAgICBGbG9hdFBvaW50IGNsYW1wU2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQ
b2ludCYpIGNvbnN0OworCiAgICAgdmlydHVhbCB2b2lkIHNldFNjcm9sbExheWVyUG9zaXRpb24o
Y29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IEZsb2F0UmVjdCYgbGF5b3V0Vmlld3BvcnQpID0gMDsK
IAogICAgIEZsb2F0UG9pbnQgbGFzdENvbW1pdHRlZFNjcm9sbFBvc2l0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXN0Q29tbWl0dGVkU2Nyb2xsUG9zaXRpb247IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5oCmluZGV4IDkwY2ZkYjE0Y2RhZTFlODU5YjlkYzMzNzA0
YTNhMDkzYjkxMmJhMzIuLmYyZmEyMTAyMDI5ZWFlN2NkODQwNWRkZjU3YWY4NjJiZjJjM2U1Yjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MuaApAQCAtNDksMTMg
KzQ5LDEyIEBAIHByb3RlY3RlZDoKICAgICBTY3JvbGxpbmdFdmVudFJlc3VsdCBoYW5kbGVXaGVl
bEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIG92ZXJyaWRlOwogCiAgICAgRmxvYXRQ
b2ludCBzY3JvbGxQb3NpdGlvbigpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgc2V0U2Nyb2xs
UG9zaXRpb25XaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhjb25zdCBGbG9hdFBvaW50Jikg
b3ZlcnJpZGU7CiAKICAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyVmlld3BvcnRDaGFuZ2UoY29u
c3QgRmxvYXRSZWN0JiBmaXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIHNjYWxlKSBvdmVycmlkZTsK
ICAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyRGVsZWdhdGVkU2Nyb2xsKGNvbnN0IEZsb2F0UG9p
bnQmKSBvdmVycmlkZTsKICAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2Uo
Y29uc3QgU2Nyb2xsaW5nVHJlZU5vZGUmIGNoYW5nZWROb2RlLCBjb25zdCBGbG9hdFJlY3QmIGZp
eGVkUG9zaXRpb25SZWN0LCBjb25zdCBGbG9hdFNpemUmIGN1bXVsYXRpdmVEZWx0YSkgb3ZlcnJp
ZGU7CiAKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVy
cmlkZTsKKyAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3Jv
bGxQb3NpdGlvbkNsYW1wID0gU2Nyb2xsUG9zaXRpb25DbGFtcDo6VG9Db250ZW50RWRnZXMpIG92
ZXJyaWRlOwogICAgIHZvaWQgc2V0U2Nyb2xsTGF5ZXJQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50
JiwgY29uc3QgRmxvYXRSZWN0JiBsYXlvdXRWaWV3cG9ydCkgb3ZlcnJpZGU7CiAKICAgICBGbG9h
dFBvaW50IG1pbmltdW1TY3JvbGxQb3NpdGlvbigpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5tbQppbmRleCBmMmZiNWQ3MTE0M2NjN2Yy
ZDg2YzBiM2QzOWM4ZGUyMTcwM2JkNjU3Li45YWFhYWI4MWNiYTA3MjE4YjJlNzllMzg2MzU3ODI3
MzJlM2VlNTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3Mv
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5t
bQpAQCAtMTA2LDEzICsxMDYsMTIgQEAgRmxvYXRQb2ludCBTY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlSU9TOjpzY3JvbGxQb3NpdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIC1zY3JvbGxl
ZENvbnRlbnRzTGF5ZXIoKS5wb3NpdGlvbjsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlSU9TOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBzY3Jv
bGxQb3NpdGlvbikKK3ZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6c2V0
U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIFNjcm9sbFBvc2l0aW9u
Q2xhbXAgY2xhbXApCiB7Ci0gICAgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZTo6c2V0
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pOwotfQorICAgIGF1dG8gc2Nyb2xsUG9zaXRp
b24gPSBwb3NpdGlvbjsKKyAgICBpZiAoY2xhbXAgPT0gU2Nyb2xsUG9zaXRpb25DbGFtcDo6VG9D
b250ZW50RWRnZXMpCisgICAgICAgIHNjcm9sbFBvc2l0aW9uID0gY2xhbXBTY3JvbGxQb3NpdGlv
bihzY3JvbGxQb3NpdGlvbik7CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZUlPUzo6c2V0U2Nyb2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhjb25z
dCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikKLXsKICAgICBpZiAoc2hvdWxkVXBkYXRlU2Ny
b2xsTGF5ZXJQb3NpdGlvblN5bmNocm9ub3VzbHkoKSkgewogICAgICAgICBtX3Byb2JhYmxlTWFp
blRocmVhZFNjcm9sbFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb247CiAgICAgICAgIHNjcm9sbGlu
Z1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbChzY3JvbGxpbmdOb2RlSUQoKSwgc2Ny
b2xsUG9zaXRpb24sIFdURjo6bnVsbG9wdCwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbjo6
U2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oCmluZGV4IDY4
ZDhkZjNlMzIxNTdhMDYzNWE3NTBkNWRiMzllMzUyOWZmY2MyZjYuLjYxMGY2ZGIzODViY2ExOWUw
Nzg5OWI5NDQ0OGVhY2QzNzMzYWNlZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVNYWMuaApAQCAtNTQsOCArNTQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgU2Nyb2xsaW5n
RXZlbnRSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBv
dmVycmlkZTsKIAogICAgIEZsb2F0UG9pbnQgc2Nyb2xsUG9zaXRpb24oKSBjb25zdCBvdmVycmlk
ZTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlk
ZTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uV2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWlu
dHMoY29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbFBvc2l0aW9uQ2xhbXAgPSBTY3JvbGxQb3NpdGlv
bkNsYW1wOjpUb0NvbnRlbnRFZGdlcykgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHVwZGF0ZUxheWVy
c0FmdGVyVmlld3BvcnRDaGFuZ2UoY29uc3QgRmxvYXRSZWN0JiBmaXhlZFBvc2l0aW9uUmVjdCwg
ZG91YmxlIHNjYWxlKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5tbQppbmRleCBjNzMxZmQ4MzAzYWM0YTE0NmE0MGEwNWRkMDkzZWExMjg5MmZh
Nzk2Li4yMTFhYzhkODhiNzYzMDBkMWJlODNlMDYxYjhhYzA0MmI1ZWY3YWM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtMTQwLDYgKzE0MCw3IEBA
IHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVCZWZv
cmVDaGlsZHJlbihjb25zdCBTY3JvbGxpCiAgICAgICAgIGxvZ1Njcm9sbGluZ01vZGUgPSB0cnVl
OwogICAgIH0KIAorICAgIC8vIEZJWE1FOiB3cm9uZyBpZiB3ZSdyZSBub3QgdGhlIG1haW4gZnJh
bWUuCiAgICAgaWYgKGxvZ1Njcm9sbGluZ01vZGUgJiYgc2Nyb2xsaW5nVHJlZSgpLnNjcm9sbGlu
Z1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoKSkKICAgICAgICAgc2Nyb2xsaW5nVHJlZSgpLnJl
cG9ydFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uc0NoYW5nZWQoTW9ub3RvbmljVGltZTo6bm93
KCksIHN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpKTsKIApAQCAtMjAyLDYgKzIwMyw3IEBA
IFNjcm9sbGluZ0V2ZW50UmVzdWx0IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6
OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QKICAgICBtX2RlbGVnYXRlLmhhbmRsZVdoZWVsRXZlbnQo
d2hlZWxFdmVudCk7CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQorICAgIC8vIEZJWE1F
OiB3cm9uZyBpZiB3ZSdyZSBub3QgdGhlIG1haW4gZnJhbWUuCiAgICAgc2Nyb2xsaW5nVHJlZSgp
LnNldE1haW5GcmFtZUlzU2Nyb2xsU25hcHBpbmcobV9kZWxlZ2F0ZS5pc1Njcm9sbFNuYXBJblBy
b2dyZXNzKCkpOwogICAgIGlmIChtX2RlbGVnYXRlLmFjdGl2ZVNjcm9sbFNuYXBJbmRleERpZENo
YW5nZSgpKQogICAgICAgICBzY3JvbGxpbmdUcmVlKCkuc2V0QWN0aXZlU2Nyb2xsU25hcEluZGlj
ZXMoc2Nyb2xsaW5nTm9kZUlEKCksIG1fZGVsZWdhdGUuYWN0aXZlU2Nyb2xsU25hcEluZGV4Rm9y
QXhpcyhTY3JvbGxFdmVudEF4aXM6Okhvcml6b250YWwpLCBtX2RlbGVnYXRlLmFjdGl2ZVNjcm9s
bFNuYXBJbmRleEZvckF4aXMoU2Nyb2xsRXZlbnRBeGlzOjpWZXJ0aWNhbCkpOwpAQCAtMjIxLDQz
ICsyMjMsNDEgQEAgRmxvYXRQb2ludCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFj
OjpzY3JvbGxQb3NpdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIC1zY3JvbGxlZENvbnRlbnRzTGF5
ZXIoKS5wb3NpdGlvbjsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
TWFjOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikK
K3ZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIFNjcm9sbFBvc2l0aW9uQ2xhbXAgY2xhbXAp
CiB7Ci0gICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBv
c2l0aW9uIDw8ICIgc2Nyb2xsUG9zaXRpb24oKTogIiA8PCB0aGlzLT5zY3JvbGxQb3NpdGlvbigp
IDw8ICIgbWluOiAiIDw8IG1pbmltdW1TY3JvbGxQb3NpdGlvbigpIDw8ICIgbWF4OiAiIDw8IG1h
eGltdW1TY3JvbGxQb3NpdGlvbigpKTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBz
dHJlYW0gPDwgIlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OnNldFNjcm9sbFBv
c2l0aW9uICIgPDwgcG9zaXRpb24gPDwgIiBzY3JvbGxQb3NpdGlvbigpOiAiIDw8IHRoaXMtPnNj
cm9sbFBvc2l0aW9uKCkgPDwgIiBtaW46ICIgPDwgbWluaW11bVNjcm9sbFBvc2l0aW9uKCkgPDwg
IiBtYXg6ICIgPDwgbWF4aW11bVNjcm9sbFBvc2l0aW9uKCkpOwogCiAgICAgLy8gU2Nyb2xsIGRl
bHRhcyBjYW4gYmUgbm9uLWludGVncmFsIHdpdGggc29tZSBpbnB1dCBkZXZpY2VzLCBzbyBzY3Jv
bGxQb3NpdGlvbiBtYXkgbm90IGJlIGludGVncmFsLgogICAgIC8vIEZJWE1FOiB3aGVuIHdlIHN1
cHBvcnQgaGFsZi1waXhlbCBzY3JvbGwgcG9zaXRpb25zIG9uIFJldGluYSBkaXNwbGF5cywgdGhp
cyB3aWxsIG5lZWQgdG8gcm91bmQgdG8gaGFsZiBwaXhlbHMuCi0gICAgRmxvYXRQb2ludCByb3Vu
ZGVkUG9zaXRpb24ocm91bmRmKHNjcm9sbFBvc2l0aW9uLngoKSksIHJvdW5kZihzY3JvbGxQb3Np
dGlvbi55KCkpKTsKKyAgICBGbG9hdFBvaW50IHNjcm9sbFBvc2l0aW9uKHJvdW5kZihwb3NpdGlv
bi54KCkpLCByb3VuZGYocG9zaXRpb24ueSgpKSk7CiAKLSAgICBTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlOjpzZXRTY3JvbGxQb3NpdGlvbihyb3VuZGVkUG9zaXRpb24pOworICAgIGlm
IChjbGFtcCA9PSBTY3JvbGxQb3NpdGlvbkNsYW1wOjpUb0NvbnRlbnRFZGdlcykKKyAgICAgICAg
c2Nyb2xsUG9zaXRpb24gPSBjbGFtcFNjcm9sbFBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uKTsKIAot
ICAgIGlmIChzY3JvbGxpbmdUcmVlKCkuc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxl
ZCgpKSB7Ci0gICAgICAgIHVuc2lnbmVkIHVuZmlsbGVkQXJlYSA9IGV4cG9zZWRVbmZpbGxlZEFy
ZWEoKTsKLSAgICAgICAgaWYgKHVuZmlsbGVkQXJlYSB8fCBtX2xhc3RTY3JvbGxIYWRVbmZpbGxl
ZFBpeGVscykKLSAgICAgICAgICAgIHNjcm9sbGluZ1RyZWUoKS5yZXBvcnRFeHBvc2VkVW5maWxs
ZWRBcmVhKE1vbm90b25pY1RpbWU6Om5vdygpLCB1bmZpbGxlZEFyZWEpOwotCi0gICAgICAgIG1f
bGFzdFNjcm9sbEhhZFVuZmlsbGVkUGl4ZWxzID0gdW5maWxsZWRBcmVhOwotICAgIH0KLX0KLQot
dm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlv
bldpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBv
c2l0aW9uKQoteworICAgIC8vIEZJWE1FOiB3cm9uZyBpZiB3ZSdyZSBub3QgdGhlIG1haW4gZnJh
bWUuCiAgICAgdXBkYXRlTWFpbkZyYW1lUGluU3RhdGUoc2Nyb2xsUG9zaXRpb24pOwogCi0gICAg
T3B0aW9uYWw8RmxvYXRQb2ludD4gbGF5b3V0Vmlld3BvcnRPcmlnaW47IC8vIEZJWE1FCiAgICAg
RmxvYXRQb2ludCB2aXNpYmxlQ29udGVudE9yaWdpbiA9IHNjcm9sbFBvc2l0aW9uOwogICAgIEZs
b2F0UmVjdCBuZXdMYXlvdXRWaWV3cG9ydCA9IGxheW91dFZpZXdwb3J0Rm9yU2Nyb2xsUG9zaXRp
b24odmlzaWJsZUNvbnRlbnRPcmlnaW4sIGZyYW1lU2NhbGVGYWN0b3IoKSk7CiAgICAgc2V0TGF5
b3V0Vmlld3BvcnQobmV3TGF5b3V0Vmlld3BvcnQpOwotICAgIGxheW91dFZpZXdwb3J0T3JpZ2lu
ID0gbmV3TGF5b3V0Vmlld3BvcnQubG9jYXRpb24oKTsKKyAgICBhdXRvIGxheW91dFZpZXdwb3J0
T3JpZ2luID0gbmV3TGF5b3V0Vmlld3BvcnQubG9jYXRpb24oKTsKIAogICAgIGlmIChzaG91bGRV
cGRhdGVTY3JvbGxMYXllclBvc2l0aW9uU3luY2hyb25vdXNseSgpKSB7CiAgICAgICAgIG1fcHJv
YmFibGVNYWluVGhyZWFkU2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlvbjsKICAgICAgICAg
c2Nyb2xsaW5nVHJlZSgpLnNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKHNjcm9sbGluZ05vZGVJ
RCgpLCBzY3JvbGxQb3NpdGlvbiwgbGF5b3V0Vmlld3BvcnRPcmlnaW4sIFNjcm9sbGluZ0xheWVy
UG9zaXRpb25BY3Rpb246OlNldCk7Ci0gICAgICAgIHJldHVybjsKKyAgICB9IGVsc2UgeworICAg
ICAgICAvLyBUaGlzIHNob3VsZCBjYWxsIHRoZSBiYXNlIGNsYXNzIG9uY2Ugd2UgY2xlYW4gdXAg
dGhlIGxheW91dFZpZXdwb3J0T3JpZ2luIHN0dWZmLgorICAgICAgICBzZXRTY3JvbGxMYXllclBv
c2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBsYXlvdXRWaWV3cG9ydCgpKTsKKyAgICAgICAgc2Nyb2xs
aW5nVHJlZSgpLnNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKHNjcm9sbGluZ05vZGVJRCgpLCBz
Y3JvbGxQb3NpdGlvbiwgbGF5b3V0Vmlld3BvcnRPcmlnaW4pOwogICAgIH0KIAotICAgIHNldFNj
cm9sbExheWVyUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIGxheW91dFZpZXdwb3J0KCkpOwotICAg
IHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbChzY3JvbGxpbmdOb2Rl
SUQoKSwgc2Nyb2xsUG9zaXRpb24sIGxheW91dFZpZXdwb3J0T3JpZ2luKTsKKyAgICBpZiAoc2Ny
b2xsaW5nVHJlZSgpLnNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoKSkgeworICAg
ICAgICB1bnNpZ25lZCB1bmZpbGxlZEFyZWEgPSBleHBvc2VkVW5maWxsZWRBcmVhKCk7CisgICAg
ICAgIGlmICh1bmZpbGxlZEFyZWEgfHwgbV9sYXN0U2Nyb2xsSGFkVW5maWxsZWRQaXhlbHMpCisg
ICAgICAgICAgICBzY3JvbGxpbmdUcmVlKCkucmVwb3J0RXhwb3NlZFVuZmlsbGVkQXJlYShNb25v
dG9uaWNUaW1lOjpub3coKSwgdW5maWxsZWRBcmVhKTsKKworICAgICAgICBtX2xhc3RTY3JvbGxI
YWRVbmZpbGxlZFBpeGVscyA9IHVuZmlsbGVkQXJlYTsKKyAgICB9CiB9CiAKIHZvaWQgU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsTGF5ZXJQb3NpdGlvbihjb25z
dCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgY29uc3QgRmxvYXRSZWN0JiBsYXlvdXRWaWV3cG9ydCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oCmluZGV4IDBj
NTFkMDUyMmIwNDFjNzQ1NjlkMmVhMDZhY2M4NDdkMjllYTM5ZGMuLjgwZTk4NzcxNzdlYWE4ZGJk
YzFlZGRkOTdjYThhM2VhNTNmMmZmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbGluZ05vZGVNYWMuaApAQCAtNDYsOCArNDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
Y29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYpIG92ZXJy
aWRlOwogICAgIAogICAgIEZsb2F0UG9pbnQgc2Nyb2xsUG9zaXRpb24oKSBjb25zdCBvdmVycmlk
ZTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlk
ZTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uV2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWlu
dHMoY29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRp
b24oY29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbFBvc2l0aW9uQ2xhbXAgPSBTY3JvbGxQb3NpdGlv
bkNsYW1wOjpUb0NvbnRlbnRFZGdlcykgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHNldFNjcm9sbExh
eWVyUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IEZsb2F0UmVjdCYgbGF5b3V0Vmll
d3BvcnQpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxp
bmdOb2RlTWFjLm1tCmluZGV4IGI5OWFmZDdhOTM1ODY5YTY5ODRmYjRlYzRlNTE0ZWRlNDM1N2Fj
MGUuLmI0OWEzMmE4MmMwMzI0OTQ0MGE0YjdkNzk5Y2NiYmE0NzUwZGVhZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCkBAIC0xMDUsNyArMTA1
LDcgQEAgRmxvYXRQb2ludCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpz
Y3JvbGxQb3NpdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIC1zY3JvbGxlZENvbnRlbnRzTGF5ZXIo
KS5wb3NpdGlvbjsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2Rl
TWFjOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikK
K3ZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsUG9z
aXRpb24oY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIFNjcm9sbFBvc2l0aW9uQ2xh
bXAgY2xhbXApCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJT
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbiAi
IDw8IHNjcm9sbFBvc2l0aW9uIDw8ICIgZnJvbSAiIDw8IHRoaXMtPnNjcm9sbFBvc2l0aW9uKCkg
PDwgIiAobWluOiAiIDw8IG1pbmltdW1TY3JvbGxQb3NpdGlvbigpIDw8ICIgbWF4OiAiIDw8IG1h
eGltdW1TY3JvbGxQb3NpdGlvbigpIDw8ICIpIik7CiAKQEAgLTExMywxMyArMTEzLDcgQEAgdm9p
ZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlv
bihjb25zdCBGbG9hdFBvaW50JgogICAgIC8vIEZJWE1FOiB3aGVuIHdlIHN1cHBvcnQgaGFsZi1w
aXhlbCBzY3JvbGwgcG9zaXRpb25zIG9uIFJldGluYSBkaXNwbGF5cywgdGhpcyB3aWxsIG5lZWQg
dG8gcm91bmQgdG8gaGFsZiBwaXhlbHMuCiAgICAgRmxvYXRQb2ludCByb3VuZGVkUG9zaXRpb24o
cm91bmRmKHNjcm9sbFBvc2l0aW9uLngoKSksIHJvdW5kZihzY3JvbGxQb3NpdGlvbi55KCkpKTsK
IAotICAgIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OnNldFNjcm9sbFBvc2l0
aW9uKHJvdW5kZWRQb3NpdGlvbik7Ci19Ci0KLXZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Ny
b2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVkZ2VDb25zdHJh
aW50cyhjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikKLXsKLSAgICBzZXRTY3JvbGxM
YXllclBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCB7IH0pOwotICAgIHNjcm9sbGluZ1RyZWUoKS5z
Y3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbChzY3JvbGxpbmdOb2RlSUQoKSwgc2Nyb2xsUG9zaXRp
b24sIHsgfSk7CisgICAgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6c2V0U2Ny
b2xsUG9zaXRpb24ocm91bmRlZFBvc2l0aW9uLCBjbGFtcCk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5n
VHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsTGF5ZXJQb3NpdGlvbihjb25z
dCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgRmxvYXRSZWN0JiBmaXhlZFBvc2l0
aW9uUmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMu
bW0KaW5kZXggZmQ2NjZmZDdmYTQ4ZDRmZmI4Y2JhOTQyZTJjZTM5ZDU4MDdkMWJkNy4uOWI2ZjM1
ODgyZWVkMGRlNTFhNTZlMGNhNThmNTQxYjYwMzI5NGJkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdh
dGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KQEAgLTIwMyw3ICsyMDMsNyBAQCB2b2lk
IFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OmltbWVkaWF0ZVNjcm9sbEJ5
KGNvbnN0IEZsb2F0U2l6ZSYgZAogCiB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVs
ZWdhdGVNYWM6OmltbWVkaWF0ZVNjcm9sbEJ5V2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMo
Y29uc3QgRmxvYXRTaXplJiBvZmZzZXQpCiB7Ci0gICAgc2Nyb2xsaW5nTm9kZSgpLnNjcm9sbEJ5
V2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMob2Zmc2V0KTsKKyAgICBzY3JvbGxpbmdOb2Rl
KCkuc2Nyb2xsQnkob2Zmc2V0LCBTY3JvbGxQb3NpdGlvbkNsYW1wOjpOb25lKTsKIH0KIAogdm9p
ZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpzdG9wU25hcFJ1YmJlcmJh
bmRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdo
ZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5o
CmluZGV4IDIxZTk3MDk3YTNmZmJjNjk1Njc2NTcyM2IzMDlmMDVkM2YwZDE0YzkuLmEyZjliYzQ5
Y2EwMmRlMTQxMjc2MTQ4MjE3MWI0OWM1MGFkMDE1ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCkBAIC0xMTQsNiArMTE0LDcgQEAgcHVibGljOgog
CiAgICAgZmxvYXQgZGVsdGFYKCkgY29uc3QgeyByZXR1cm4gbV9kZWx0YVg7IH0KICAgICBmbG9h
dCBkZWx0YVkoKSBjb25zdCB7IHJldHVybiBtX2RlbHRhWTsgfQorICAgIEZsb2F0U2l6ZSBkZWx0
YSgpIGNvbnN0IHsgcmV0dXJuIHsgbV9kZWx0YVgsIG1fZGVsdGFZfTsgfQogCiAgICAgZmxvYXQg
d2hlZWxUaWNrc1goKSBjb25zdCB7IHJldHVybiBtX3doZWVsVGlja3NYOyB9CiAgICAgZmxvYXQg
d2hlZWxUaWNrc1koKSBjb25zdCB7IHJldHVybiBtX3doZWVsVGlja3NZOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAppbmRleCAyYjMxOTUxOGZhOTY1MTc1YzJjMTU1YjAyMmQy
ZjQzM2QyZmIxYTI3Li43ZjQ1Mjk4M2RhYmQwYWI3NTVkZmZmYzk0MzhiZTE1YmUyYTE5OTkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKQEAgLTQ0LDYgKzQ0LDEwIEBAIGVu
dW0gU2Nyb2xsTG9naWNhbERpcmVjdGlvbiA6IHVpbnQ4X3QgewogICAgIFNjcm9sbElubGluZURp
cmVjdGlvbkZvcndhcmQKIH07CiAKK2VudW0gY2xhc3MgU2Nyb2xsUG9zaXRpb25DbGFtcCA6IHVp
bnQ4X3QgeworICAgIE5vbmUsCisgICAgVG9Db250ZW50RWRnZXMsCit9OwogCiBpbmxpbmUgU2Ny
b2xsRGlyZWN0aW9uIGxvZ2ljYWxUb1BoeXNpY2FsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24gZGly
ZWN0aW9uLCBib29sIGlzVmVydGljYWwsIGJvb2wgaXNGbGlwcGVkKQogewo=
</data>
<flag name="review"
          id="379399"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362806</attachid>
            <date>2019-02-22 17:48:45 -0800</date>
            <delta_ts>2019-02-22 17:48:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194968-20190222174845.patch</filename>
            <type>text/plain</type>
            <size>24820</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxOTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzhkOGZiODA5NGE4Mjkz
MjNmNzVhZDZlMDYxYTk0NDI2MGVmMzcyYy4uOWJlOGZiODUwYWI5NWY0MzZkYWQzNjBiYzk5Y2Ni
ZTQzNmNjYjU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE5LTAyLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHRo
ZSBzZXRTY3JvbGxQb3NpdGlvbi9zZXRTY3JvbGxQb3NpdGlvbldpdGhvdXRDb250ZW50RWRnZUNv
bnN0cmFpbnRzIGNvbmZ1c2lvbiBpbiB0aGUgc2Nyb2xsaW5nIHRyZWUgbm9kZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDk2OAorCisgICAgICAg
IFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIEhhdmluZyBib3RoIHNldFNj
cm9sbFBvc2l0aW9uKCkgYW5kIHNldFNjcm9sbFBvc2l0aW9uV2l0aG91dENvbnRlbnRFZGdlQ29u
c3RyYWludHMoKSBpcyBjb25mdXNpbmcgYmVjYXVzZQorICAgICAgICB5b3UgY2FuJ3QgdGVsbCB3
aGljaCBpcyB0aGUgYm90dGxlbmVjay4gU28gYWRkIGEgJ2NsYW1wJyBwYXJhbWV0ZXIgdG8gc2V0
U2Nyb2xsUG9zaXRpb24oKSBhbmQgbWVyZ2UgdGhlbS4KKworICAgICAgICBTY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbigpIHJlcGxpY2F0ZXMgYSBi
aXQgb2YgY29kZSBidXQgZnV0dXJlIGNsZWFudXBzIHdpbGwKKyAgICAgICAgcmVkdWNlIHRoYXQu
CisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGU6OnNldFNjcm9sbFBvc2l0aW9uKTogRGVsZXRlZC4gVGhpcyB3YXMgdGhlIHNhbWUgYXMgdGhl
IGJhc2UgY2xhc3MgbWV0aG9kLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZTo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNsYW1wU2Nyb2xsUG9zaXRpb24gY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNjcm9sbEJ5KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpzZXRTY3JvbGxQb3Np
dGlvbldpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjpzY3JvbGxCeVdpdGhvdXRDb250ZW50
RWRnZUNvbnN0cmFpbnRzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLmg6CisgICAgICAgICogcGFnZS9zY3Jv
bGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW06CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpzZXRTY3JvbGxQ
b3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlSU9TOjpzZXRTY3JvbGxQb3NpdGlvbldpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKTog
RGVsZXRlZC4gRGlkIG5vdGhpbmcuCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmNvbW1pdFN0YXRlQmVm
b3JlQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYzo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQ
b3NpdGlvbldpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKTogRGVsZXRlZC4KKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1h
Yy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsUG9zaXRp
b25XaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyk6IERlbGV0ZWQuCisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW06
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFj
OjppbW1lZGlhdGVTY3JvbGxCeVdpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtV2hlZWxFdmVudDo6ZGVsdGEgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bFR5cGVzLmg6CisKIDIwMTktMDItMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgSGFyZGNvZGUgVmlzdWFsIFZpZXdwb3J0cyBvbiBldmVyeXdoZXJl
IGV4Y2VwdCBpT1MgV0sxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCmluZGV4IDg1
MDljNDY2MGIzYjA5ZDZhNDgyMTk4NzYzNzNiYjQxYzM0MjNhMjEuLmUyYmI1OTc5Nzg2ODM0MDlm
NDc4OGQyYzY5Y2Q5OGQ3N2M4NmVjODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUu
Y3BwCkBAIC04MiwxMiArODIsNiBAQCB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGU6OmNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nUwogICAgICAgICBt
X21heExheW91dFZpZXdwb3J0T3JpZ2luID0gc3RhdGUubWF4TGF5b3V0Vmlld3BvcnRPcmlnaW4o
KTsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpzZXRTY3JvbGxQ
b3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikKLXsKLSAgICBGbG9hdFBv
aW50IG5ld1Njcm9sbFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb24uY29uc3RyYWluZWRCZXR3ZWVu
KG1pbmltdW1TY3JvbGxQb3NpdGlvbigpLCBtYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSk7Ci0gICAg
c2V0U2Nyb2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhuZXdTY3JvbGxQ
b3NpdGlvbik7Ci19Ci0KIEZsb2F0UmVjdCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
OjpsYXlvdXRWaWV3cG9ydEZvclNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIHZpc2li
bGVDb250ZW50T3JpZ2luLCBmbG9hdCBzY2FsZSkgY29uc3QKIHsKICAgICBGbG9hdFJlY3Qgdmlz
aWJsZUNvbnRlbnRSZWN0KHZpc2libGVDb250ZW50T3JpZ2luLCBzY3JvbGxhYmxlQXJlYVNpemUo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLmgKaW5kZXggZDA5ZjA0OGJlYmNjYTAxZDFj
MGRmMWUwMDNjMTdjMzE2NTc2MjU5My4uOTQ1ZGEyNDZmZGRhYWM1MDYxMTVjOGI5Y2Y1YmExZDJk
NjE2NDkxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUuaApAQCAtNDUsOCArNDUsNiBA
QCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVMYXllcnNBZnRlckFuY2VzdG9yQ2hhbmdlKGNvbnN0
IFNjcm9sbGluZ1RyZWVOb2RlJiAvKmNoYW5nZWROb2RlKi8sIGNvbnN0IEZsb2F0UmVjdCYgLypm
aXhlZFBvc2l0aW9uUmVjdCovLCBjb25zdCBGbG9hdFNpemUmIC8qY3VtdWxhdGl2ZURlbHRhKi8p
IG92ZXJyaWRlIHsgfQogCiAgICAgU2Nyb2xsaW5nRXZlbnRSZXN1bHQgaGFuZGxlV2hlZWxFdmVu
dChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBvdmVycmlkZSA9IDA7Ci0gICAgdm9pZCBzZXRT
Y3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50Jikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRT
Y3JvbGxQb3NpdGlvbldpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKGNvbnN0IEZsb2F0UG9p
bnQmKSBvdmVycmlkZSA9IDA7CiAKICAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyVmlld3BvcnRD
aGFuZ2UoY29uc3QgRmxvYXRSZWN0JiBmaXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIHNjYWxlKSBv
dmVycmlkZSA9IDA7CiAgICAgdm9pZCB1cGRhdGVMYXllcnNBZnRlckRlbGVnYXRlZFNjcm9sbChj
b25zdCBGbG9hdFBvaW50Jikgb3ZlcnJpZGUgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKaW5k
ZXggZjBlZjNlYWVlM2JiMWFlNzdjZjBhMzgzZjhkYTkzMGUzNGQ0ZTZhNy4uNmNjYjZmZGQzZTFj
MTU3M2NkZmJjNTNkNDliOTIzN2I3MzMwZjEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcApA
QCAtMTIyLDE4ICsxMjIsMjEgQEAgdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6dXBk
YXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjb25zdCBTY3JvbGxpbmcKICAgICAgICAgY2hp
bGQtPnVwZGF0ZUxheWVyc0FmdGVyQW5jZXN0b3JDaGFuZ2UoY2hhbmdlZE5vZGUsIGZpeGVkUG9z
aXRpb25SZWN0LCBjdW11bGF0aXZlRGVsdGEpOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3Np
dGlvbikKK3ZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OnNldFNjcm9sbFBvc2l0aW9u
KGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uLCBTY3JvbGxQb3NpdGlvbkNsYW1wIGNs
YW1wKQogewotICAgIEZsb2F0UG9pbnQgbmV3U2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQb3NpdGlv
bi5jb25zdHJhaW5lZEJldHdlZW4obWluaW11bVNjcm9sbFBvc2l0aW9uKCksIG1heGltdW1TY3Jv
bGxQb3NpdGlvbigpKTsKLSAgICBzZXRTY3JvbGxQb3NpdGlvbldpdGhvdXRDb250ZW50RWRnZUNv
bnN0cmFpbnRzKG5ld1Njcm9sbFBvc2l0aW9uKTsKLX0KKyAgICBGbG9hdFBvaW50IG5ld1Njcm9s
bFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb247CisgICAgaWYgKGNsYW1wID09IFNjcm9sbFBvc2l0
aW9uQ2xhbXA6OlRvQ29udGVudEVkZ2VzKQorICAgICAgICBuZXdTY3JvbGxQb3NpdGlvbiA9IGNs
YW1wU2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pOwogCi12b2lkIFNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlOjpzZXRTY3JvbGxQb3NpdGlvbldpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFp
bnRzKGNvbnN0IEZsb2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uKQotewogICAgIHNldFNjcm9sbExh
eWVyUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIHsgfSk7CiAgICAgc2Nyb2xsaW5nVHJlZSgpLnNj
cm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKHNjcm9sbGluZ05vZGVJRCgpLCBzY3JvbGxQb3NpdGlv
biwgV1RGOjpudWxsb3B0KTsKIH0KIAorRmxvYXRQb2ludCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZTo6Y2xhbXBTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlv
bikgY29uc3QKK3sKKyAgICByZXR1cm4gc2Nyb2xsUG9zaXRpb24uY29uc3RyYWluZWRCZXR3ZWVu
KG1pbmltdW1TY3JvbGxQb3NpdGlvbigpLCBtYXhpbXVtU2Nyb2xsUG9zaXRpb24oKSk7Cit9CisK
IEZsb2F0UG9pbnQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6Om1pbmltdW1TY3JvbGxQb3Np
dGlvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIEZsb2F0UG9pbnQoKTsKQEAgLTE1MywxNCArMTU2
LDkgQEAgYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsTGltaXRSZWFjaGVk
KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2gKICAgICByZXR1cm4gbmV3U2Nyb2xsUG9zaXRp
b24gPT0gb2xkU2Nyb2xsUG9zaXRpb247CiB9CiAKLXZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGU6OnNjcm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEpCi17Ci0gICAgc2V0U2Nyb2xs
UG9zaXRpb24oc2Nyb2xsUG9zaXRpb24oKSArIGRlbHRhKTsKLX0KLQotdm9pZCBTY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZTo6c2Nyb2xsQnlXaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhj
b25zdCBGbG9hdFNpemUmIG9mZnNldCkKK3ZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6
OnNjcm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYgZGVsdGEsIFNjcm9sbFBvc2l0aW9uQ2xhbXAgY2xh
bXApCiB7Ci0gICAgc2V0U2Nyb2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50
cyhzY3JvbGxQb3NpdGlvbigpICsgb2Zmc2V0KTsKKyAgICBzZXRTY3JvbGxQb3NpdGlvbihzY3Jv
bGxQb3NpdGlvbigpICsgZGVsdGEsIGNsYW1wKTsKIH0KIAogTGF5b3V0UG9pbnQgU2Nyb2xsaW5n
VHJlZVNjcm9sbGluZ05vZGU6OnBhcmVudFRvTG9jYWxQb2ludChMYXlvdXRQb2ludCBwb2ludCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCmluZGV4IGY3NTRiMjc4NTIzZWE5NzE1MTU5YWQwYmQ5
NmM1NDhkZDEyZTViNzEuLmNiMWVjOTdhNDg3NzA2OGQ2ZjRjOWRlYzQyZjczNzA0ODkxOGU4NTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGUuaApAQCAtNTMsMTEgKzUzLDkgQEAgcHVibGljOgogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlTGF5ZXJzQWZ0ZXJBbmNlc3RvckNoYW5nZShjb25zdCBT
Y3JvbGxpbmdUcmVlTm9kZSYgY2hhbmdlZE5vZGUsIGNvbnN0IEZsb2F0UmVjdCYgZml4ZWRQb3Np
dGlvblJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgY3VtdWxhdGl2ZURlbHRhKSBvdmVycmlkZTsKIAog
ICAgIHZpcnR1YWwgU2Nyb2xsaW5nRXZlbnRSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQ
bGF0Zm9ybVdoZWVsRXZlbnQmKSA9IDA7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lk
IHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKTsKLSAgICBXRUJDT1JFX0VYUE9S
VCB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVkZ2VDb25zdHJh
aW50cyhjb25zdCBGbG9hdFBvaW50Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lk
IHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmLCBTY3JvbGxQb3NpdGlvbkNsYW1w
ID0gU2Nyb2xsUG9zaXRpb25DbGFtcDo6VG9Db250ZW50RWRnZXMpOwogCi0gICAgdm9pZCBzY3Jv
bGxCeShjb25zdCBGbG9hdFNpemUmKTsKLSAgICB2b2lkIHNjcm9sbEJ5V2l0aG91dENvbnRlbnRF
ZGdlQ29uc3RyYWludHMoY29uc3QgRmxvYXRTaXplJik7CisgICAgdm9pZCBzY3JvbGxCeShjb25z
dCBGbG9hdFNpemUmLCBTY3JvbGxQb3NpdGlvbkNsYW1wID0gU2Nyb2xsUG9zaXRpb25DbGFtcDo6
VG9Db250ZW50RWRnZXMpOwogCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyVmll
d3BvcnRDaGFuZ2UoY29uc3QgRmxvYXRSZWN0JiBmaXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIHNj
YWxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyRGVsZWdhdGVkU2Ny
b2xsKGNvbnN0IEZsb2F0UG9pbnQmKSB7IH0KQEAgLTg4LDYgKzg2LDggQEAgcHJvdGVjdGVkOgog
ICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgRmxvYXRQb2ludCBtaW5pbXVtU2Nyb2xsUG9zaXRp
b24oKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIEZsb2F0UG9pbnQgbWF4aW11
bVNjcm9sbFBvc2l0aW9uKCkgY29uc3Q7CiAKKyAgICBGbG9hdFBvaW50IGNsYW1wU2Nyb2xsUG9z
aXRpb24oY29uc3QgRmxvYXRQb2ludCYpIGNvbnN0OworCiAgICAgdmlydHVhbCB2b2lkIHNldFNj
cm9sbExheWVyUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IEZsb2F0UmVjdCYgbGF5
b3V0Vmlld3BvcnQpID0gMDsKIAogICAgIEZsb2F0UG9pbnQgbGFzdENvbW1pdHRlZFNjcm9sbFBv
c2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0Q29tbWl0dGVkU2Nyb2xsUG9zaXRpb247IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5oCmluZGV4IDkwY2ZkYjE0
Y2RhZTFlODU5YjlkYzMzNzA0YTNhMDkzYjkxMmJhMzIuLmYyZmEyMTAyMDI5ZWFlN2NkODQwNWRk
ZjU3YWY4NjJiZjJjM2U1YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVJT1MuaApAQCAtNDksMTMgKzQ5LDEyIEBAIHByb3RlY3RlZDoKICAgICBTY3JvbGxpbmdFdmVu
dFJlc3VsdCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpIG92ZXJy
aWRlOwogCiAgICAgRmxvYXRQb2ludCBzY3JvbGxQb3NpdGlvbigpIGNvbnN0IG92ZXJyaWRlOwot
ICAgIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVkZ2VDb25zdHJhaW50cyhj
b25zdCBGbG9hdFBvaW50Jikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVy
Vmlld3BvcnRDaGFuZ2UoY29uc3QgRmxvYXRSZWN0JiBmaXhlZFBvc2l0aW9uUmVjdCwgZG91Ymxl
IHNjYWxlKSBvdmVycmlkZTsKICAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyRGVsZWdhdGVkU2Ny
b2xsKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlkZTsKICAgICB2b2lkIHVwZGF0ZUxheWVyc0Fm
dGVyQW5jZXN0b3JDaGFuZ2UoY29uc3QgU2Nyb2xsaW5nVHJlZU5vZGUmIGNoYW5nZWROb2RlLCBj
b25zdCBGbG9hdFJlY3QmIGZpeGVkUG9zaXRpb25SZWN0LCBjb25zdCBGbG9hdFNpemUmIGN1bXVs
YXRpdmVEZWx0YSkgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0
IEZsb2F0UG9pbnQmKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0
IEZsb2F0UG9pbnQmLCBTY3JvbGxQb3NpdGlvbkNsYW1wID0gU2Nyb2xsUG9zaXRpb25DbGFtcDo6
VG9Db250ZW50RWRnZXMpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0U2Nyb2xsTGF5ZXJQb3NpdGlv
bihjb25zdCBGbG9hdFBvaW50JiwgY29uc3QgRmxvYXRSZWN0JiBsYXlvdXRWaWV3cG9ydCkgb3Zl
cnJpZGU7CiAKICAgICBGbG9hdFBvaW50IG1pbmltdW1TY3JvbGxQb3NpdGlvbigpIGNvbnN0IG92
ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5tbQppbmRl
eCBmMmZiNWQ3MTE0M2NjN2YyZDg2YzBiM2QzOWM4ZGUyMTcwM2JkNjU3Li45YWFhYWI4MWNiYTA3
MjE4YjJlNzllMzg2MzU3ODI3MzJlM2VlNTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZUlPUy5tbQpAQCAtMTA2LDEzICsxMDYsMTIgQEAgRmxvYXRQb2ludCBTY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpzY3JvbGxQb3NpdGlvbigpIGNvbnN0CiAg
ICAgcmV0dXJuIC1zY3JvbGxlZENvbnRlbnRzTGF5ZXIoKS5wb3NpdGlvbjsKIH0KIAotdm9pZCBT
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpzZXRTY3JvbGxQb3NpdGlvbihjb25z
dCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikKK3ZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZUlPUzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRp
b24sIFNjcm9sbFBvc2l0aW9uQ2xhbXAgY2xhbXApCiB7Ci0gICAgU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZTo6c2V0U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24pOwotfQorICAg
IGF1dG8gc2Nyb2xsUG9zaXRpb24gPSBwb3NpdGlvbjsKKyAgICBpZiAoY2xhbXAgPT0gU2Nyb2xs
UG9zaXRpb25DbGFtcDo6VG9Db250ZW50RWRnZXMpCisgICAgICAgIHNjcm9sbFBvc2l0aW9uID0g
Y2xhbXBTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbik7CiAKLXZvaWQgU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6c2V0U2Nyb2xsUG9zaXRpb25XaXRob3V0Q29udGVudEVk
Z2VDb25zdHJhaW50cyhjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikKLXsKICAgICBp
ZiAoc2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvblN5bmNocm9ub3VzbHkoKSkgewogICAg
ICAgICBtX3Byb2JhYmxlTWFpblRocmVhZFNjcm9sbFBvc2l0aW9uID0gc2Nyb2xsUG9zaXRpb247
CiAgICAgICAgIHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbChzY3Jv
bGxpbmdOb2RlSUQoKSwgc2Nyb2xsUG9zaXRpb24sIFdURjo6bnVsbG9wdCwgU2Nyb2xsaW5nTGF5
ZXJQb3NpdGlvbkFjdGlvbjo6U2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU1hYy5oCmluZGV4IDY4ZDhkZjNlMzIxNTdhMDYzNWE3NTBkNWRiMzllMzUyOWZmY2MyZjYu
LjYxMGY2ZGIzODViY2ExOWUwNzg5OWI5NDQ0OGVhY2QzNzMzYWNlZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaApAQCAtNTQsOCArNTQsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgU2Nyb2xsaW5nRXZlbnRSZXN1bHQgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmKSBvdmVycmlkZTsKIAogICAgIEZsb2F0UG9pbnQgc2Nyb2xsUG9zaXRp
b24oKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmKSBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uV2l0aG91dENv
bnRlbnRFZGdlQ29uc3RyYWludHMoY29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOworICAgIHZv
aWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbFBvc2l0aW9uQ2xh
bXAgPSBTY3JvbGxQb3NpdGlvbkNsYW1wOjpUb0NvbnRlbnRFZGdlcykgb3ZlcnJpZGU7CiAKICAg
ICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyVmlld3BvcnRDaGFuZ2UoY29uc3QgRmxvYXRSZWN0JiBm
aXhlZFBvc2l0aW9uUmVjdCwgZG91YmxlIHNjYWxlKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQppbmRleCBjNzMxZmQ4MzAzYWM0YTE0NmE0
MGEwNWRkMDkzZWExMjg5MmZhNzk2Li4yMTFhYzhkODhiNzYzMDBkMWJlODNlMDYxYjhhYzA0MmI1
ZWY3YWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQpA
QCAtMTQwLDYgKzE0MCw3IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1h
Yzo6Y29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpCiAgICAgICAgIGxvZ1Nj
cm9sbGluZ01vZGUgPSB0cnVlOwogICAgIH0KIAorICAgIC8vIEZJWE1FOiB3cm9uZyBpZiB3ZSdy
ZSBub3QgdGhlIG1haW4gZnJhbWUuCiAgICAgaWYgKGxvZ1Njcm9sbGluZ01vZGUgJiYgc2Nyb2xs
aW5nVHJlZSgpLnNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoKSkKICAgICAgICAg
c2Nyb2xsaW5nVHJlZSgpLnJlcG9ydFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uc0NoYW5nZWQo
TW9ub3RvbmljVGltZTo6bm93KCksIHN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpKTsKIApA
QCAtMjAyLDYgKzIwMyw3IEBAIFNjcm9sbGluZ0V2ZW50UmVzdWx0IFNjcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVNYWM6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QKICAgICBtX2RlbGVnYXRl
LmhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCk7CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9T
TkFQKQorICAgIC8vIEZJWE1FOiB3cm9uZyBpZiB3ZSdyZSBub3QgdGhlIG1haW4gZnJhbWUuCiAg
ICAgc2Nyb2xsaW5nVHJlZSgpLnNldE1haW5GcmFtZUlzU2Nyb2xsU25hcHBpbmcobV9kZWxlZ2F0
ZS5pc1Njcm9sbFNuYXBJblByb2dyZXNzKCkpOwogICAgIGlmIChtX2RlbGVnYXRlLmFjdGl2ZVNj
cm9sbFNuYXBJbmRleERpZENoYW5nZSgpKQogICAgICAgICBzY3JvbGxpbmdUcmVlKCkuc2V0QWN0
aXZlU2Nyb2xsU25hcEluZGljZXMoc2Nyb2xsaW5nTm9kZUlEKCksIG1fZGVsZWdhdGUuYWN0aXZl
U2Nyb2xsU25hcEluZGV4Rm9yQXhpcyhTY3JvbGxFdmVudEF4aXM6Okhvcml6b250YWwpLCBtX2Rl
bGVnYXRlLmFjdGl2ZVNjcm9sbFNuYXBJbmRleEZvckF4aXMoU2Nyb2xsRXZlbnRBeGlzOjpWZXJ0
aWNhbCkpOwpAQCAtMjIxLDQzICsyMjMsNDEgQEAgRmxvYXRQb2ludCBTY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlTWFjOjpzY3JvbGxQb3NpdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIC1z
Y3JvbGxlZENvbnRlbnRzTGF5ZXIoKS5wb3NpdGlvbjsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50
JiBzY3JvbGxQb3NpdGlvbikKK3ZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1h
Yzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIFNjcm9sbFBv
c2l0aW9uQ2xhbXAgY2xhbXApCiB7Ci0gICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3Ry
ZWFtIDw8ICJTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3Np
dGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uIDw8ICIgc2Nyb2xsUG9zaXRpb24oKTogIiA8PCB0aGlz
LT5zY3JvbGxQb3NpdGlvbigpIDw8ICIgbWluOiAiIDw8IG1pbmltdW1TY3JvbGxQb3NpdGlvbigp
IDw8ICIgbWF4OiAiIDw8IG1heGltdW1TY3JvbGxQb3NpdGlvbigpKTsKKyAgICBMT0dfV0lUSF9T
VFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWM6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwgcG9zaXRpb24gPDwgIiBzY3JvbGxQb3NpdGlv
bigpOiAiIDw8IHRoaXMtPnNjcm9sbFBvc2l0aW9uKCkgPDwgIiBtaW46ICIgPDwgbWluaW11bVNj
cm9sbFBvc2l0aW9uKCkgPDwgIiBtYXg6ICIgPDwgbWF4aW11bVNjcm9sbFBvc2l0aW9uKCkpOwog
CiAgICAgLy8gU2Nyb2xsIGRlbHRhcyBjYW4gYmUgbm9uLWludGVncmFsIHdpdGggc29tZSBpbnB1
dCBkZXZpY2VzLCBzbyBzY3JvbGxQb3NpdGlvbiBtYXkgbm90IGJlIGludGVncmFsLgogICAgIC8v
IEZJWE1FOiB3aGVuIHdlIHN1cHBvcnQgaGFsZi1waXhlbCBzY3JvbGwgcG9zaXRpb25zIG9uIFJl
dGluYSBkaXNwbGF5cywgdGhpcyB3aWxsIG5lZWQgdG8gcm91bmQgdG8gaGFsZiBwaXhlbHMuCi0g
ICAgRmxvYXRQb2ludCByb3VuZGVkUG9zaXRpb24ocm91bmRmKHNjcm9sbFBvc2l0aW9uLngoKSks
IHJvdW5kZihzY3JvbGxQb3NpdGlvbi55KCkpKTsKKyAgICBGbG9hdFBvaW50IHNjcm9sbFBvc2l0
aW9uKHJvdW5kZihwb3NpdGlvbi54KCkpLCByb3VuZGYocG9zaXRpb24ueSgpKSk7CiAKLSAgICBT
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpzZXRTY3JvbGxQb3NpdGlvbihyb3VuZGVk
UG9zaXRpb24pOworICAgIGlmIChjbGFtcCA9PSBTY3JvbGxQb3NpdGlvbkNsYW1wOjpUb0NvbnRl
bnRFZGdlcykKKyAgICAgICAgc2Nyb2xsUG9zaXRpb24gPSBjbGFtcFNjcm9sbFBvc2l0aW9uKHNj
cm9sbFBvc2l0aW9uKTsKIAotICAgIGlmIChzY3JvbGxpbmdUcmVlKCkuc2Nyb2xsaW5nUGVyZm9y
bWFuY2VMb2dnaW5nRW5hYmxlZCgpKSB7Ci0gICAgICAgIHVuc2lnbmVkIHVuZmlsbGVkQXJlYSA9
IGV4cG9zZWRVbmZpbGxlZEFyZWEoKTsKLSAgICAgICAgaWYgKHVuZmlsbGVkQXJlYSB8fCBtX2xh
c3RTY3JvbGxIYWRVbmZpbGxlZFBpeGVscykKLSAgICAgICAgICAgIHNjcm9sbGluZ1RyZWUoKS5y
ZXBvcnRFeHBvc2VkVW5maWxsZWRBcmVhKE1vbm90b25pY1RpbWU6Om5vdygpLCB1bmZpbGxlZEFy
ZWEpOwotCi0gICAgICAgIG1fbGFzdFNjcm9sbEhhZFVuZmlsbGVkUGl4ZWxzID0gdW5maWxsZWRB
cmVhOwotICAgIH0KLX0KLQotdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFj
OjpzZXRTY3JvbGxQb3NpdGlvbldpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKGNvbnN0IEZs
b2F0UG9pbnQmIHNjcm9sbFBvc2l0aW9uKQoteworICAgIC8vIEZJWE1FOiB3cm9uZyBpZiB3ZSdy
ZSBub3QgdGhlIG1haW4gZnJhbWUuCiAgICAgdXBkYXRlTWFpbkZyYW1lUGluU3RhdGUoc2Nyb2xs
UG9zaXRpb24pOwogCi0gICAgT3B0aW9uYWw8RmxvYXRQb2ludD4gbGF5b3V0Vmlld3BvcnRPcmln
aW47IC8vIEZJWE1FCiAgICAgRmxvYXRQb2ludCB2aXNpYmxlQ29udGVudE9yaWdpbiA9IHNjcm9s
bFBvc2l0aW9uOwogICAgIEZsb2F0UmVjdCBuZXdMYXlvdXRWaWV3cG9ydCA9IGxheW91dFZpZXdw
b3J0Rm9yU2Nyb2xsUG9zaXRpb24odmlzaWJsZUNvbnRlbnRPcmlnaW4sIGZyYW1lU2NhbGVGYWN0
b3IoKSk7CiAgICAgc2V0TGF5b3V0Vmlld3BvcnQobmV3TGF5b3V0Vmlld3BvcnQpOwotICAgIGxh
eW91dFZpZXdwb3J0T3JpZ2luID0gbmV3TGF5b3V0Vmlld3BvcnQubG9jYXRpb24oKTsKKyAgICBh
dXRvIGxheW91dFZpZXdwb3J0T3JpZ2luID0gbmV3TGF5b3V0Vmlld3BvcnQubG9jYXRpb24oKTsK
IAogICAgIGlmIChzaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uU3luY2hyb25vdXNseSgp
KSB7CiAgICAgICAgIG1fcHJvYmFibGVNYWluVGhyZWFkU2Nyb2xsUG9zaXRpb24gPSBzY3JvbGxQ
b3NpdGlvbjsKICAgICAgICAgc2Nyb2xsaW5nVHJlZSgpLnNjcm9sbGluZ1RyZWVOb2RlRGlkU2Ny
b2xsKHNjcm9sbGluZ05vZGVJRCgpLCBzY3JvbGxQb3NpdGlvbiwgbGF5b3V0Vmlld3BvcnRPcmln
aW4sIFNjcm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb246OlNldCk7Ci0gICAgICAgIHJldHVybjsK
KyAgICB9IGVsc2UgeworICAgICAgICAvLyBUaGlzIHNob3VsZCBjYWxsIHRoZSBiYXNlIGNsYXNz
IG9uY2Ugd2UgY2xlYW4gdXAgdGhlIGxheW91dFZpZXdwb3J0T3JpZ2luIHN0dWZmLgorICAgICAg
ICBzZXRTY3JvbGxMYXllclBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCBsYXlvdXRWaWV3cG9ydCgp
KTsKKyAgICAgICAgc2Nyb2xsaW5nVHJlZSgpLnNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKHNj
cm9sbGluZ05vZGVJRCgpLCBzY3JvbGxQb3NpdGlvbiwgbGF5b3V0Vmlld3BvcnRPcmlnaW4pOwog
ICAgIH0KIAotICAgIHNldFNjcm9sbExheWVyUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIGxheW91
dFZpZXdwb3J0KCkpOwotICAgIHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZURpZFNj
cm9sbChzY3JvbGxpbmdOb2RlSUQoKSwgc2Nyb2xsUG9zaXRpb24sIGxheW91dFZpZXdwb3J0T3Jp
Z2luKTsKKyAgICBpZiAoc2Nyb2xsaW5nVHJlZSgpLnNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2lu
Z0VuYWJsZWQoKSkgeworICAgICAgICB1bnNpZ25lZCB1bmZpbGxlZEFyZWEgPSBleHBvc2VkVW5m
aWxsZWRBcmVhKCk7CisgICAgICAgIGlmICh1bmZpbGxlZEFyZWEgfHwgbV9sYXN0U2Nyb2xsSGFk
VW5maWxsZWRQaXhlbHMpCisgICAgICAgICAgICBzY3JvbGxpbmdUcmVlKCkucmVwb3J0RXhwb3Nl
ZFVuZmlsbGVkQXJlYShNb25vdG9uaWNUaW1lOjpub3coKSwgdW5maWxsZWRBcmVhKTsKKworICAg
ICAgICBtX2xhc3RTY3JvbGxIYWRVbmZpbGxlZFBpeGVscyA9IHVuZmlsbGVkQXJlYTsKKyAgICB9
CiB9CiAKIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xs
TGF5ZXJQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgY29uc3QgRmxvYXRSZWN0
JiBsYXlvdXRWaWV3cG9ydCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZU1hYy5oCmluZGV4IDBjNTFkMDUyMmIwNDFjNzQ1NjlkMmVhMDZhY2M4NDdkMjllYTM5ZGMu
LjgwZTk4NzcxNzdlYWE4ZGJkYzFlZGRkOTdjYThhM2VhNTNmMmZmNGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMuaApAQCAtNDYsOCArNDYsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgY29tbWl0U3RhdGVBZnRlckNoaWxkcmVuKGNvbnN0IFNjcm9sbGlu
Z1N0YXRlTm9kZSYpIG92ZXJyaWRlOwogICAgIAogICAgIEZsb2F0UG9pbnQgc2Nyb2xsUG9zaXRp
b24oKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmKSBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uV2l0aG91dENv
bnRlbnRFZGdlQ29uc3RyYWludHMoY29uc3QgRmxvYXRQb2ludCYpIG92ZXJyaWRlOworICAgIHZv
aWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYsIFNjcm9sbFBvc2l0aW9uQ2xh
bXAgPSBTY3JvbGxQb3NpdGlvbkNsYW1wOjpUb0NvbnRlbnRFZGdlcykgb3ZlcnJpZGU7CiAKICAg
ICB2b2lkIHNldFNjcm9sbExheWVyUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IEZs
b2F0UmVjdCYgbGF5b3V0Vmlld3BvcnQpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IGI5OWFmZDdhOTM1ODY5YTY5ODRm
YjRlYzRlNTE0ZWRlNDM1N2FjMGUuLmI0OWEzMmE4MmMwMzI0OTQ0MGE0YjdkNzk5Y2NiYmE0NzUw
ZGVhZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFj
Lm1tCkBAIC0xMDUsNyArMTA1LDcgQEAgRmxvYXRQb2ludCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlTWFjOjpzY3JvbGxQb3NpdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIC1zY3Jv
bGxlZENvbnRlbnRzTGF5ZXIoKS5wb3NpdGlvbjsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50
JiBzY3JvbGxQb3NpdGlvbikKK3ZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZU1hYzo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24s
IFNjcm9sbFBvc2l0aW9uQ2xhbXAgY2xhbXApCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9s
bGluZywgc3RyZWFtIDw8ICJTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjOjpz
ZXRTY3JvbGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uIDw8ICIgZnJvbSAiIDw8IHRoaXMt
PnNjcm9sbFBvc2l0aW9uKCkgPDwgIiAobWluOiAiIDw8IG1pbmltdW1TY3JvbGxQb3NpdGlvbigp
IDw8ICIgbWF4OiAiIDw8IG1heGltdW1TY3JvbGxQb3NpdGlvbigpIDw8ICIpIik7CiAKQEAgLTEx
MywxMyArMTEzLDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFj
OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JgogICAgIC8vIEZJWE1FOiB3aGVu
IHdlIHN1cHBvcnQgaGFsZi1waXhlbCBzY3JvbGwgcG9zaXRpb25zIG9uIFJldGluYSBkaXNwbGF5
cywgdGhpcyB3aWxsIG5lZWQgdG8gcm91bmQgdG8gaGFsZiBwaXhlbHMuCiAgICAgRmxvYXRQb2lu
dCByb3VuZGVkUG9zaXRpb24ocm91bmRmKHNjcm9sbFBvc2l0aW9uLngoKSksIHJvdW5kZihzY3Jv
bGxQb3NpdGlvbi55KCkpKTsKIAotICAgIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05v
ZGU6OnNldFNjcm9sbFBvc2l0aW9uKHJvdW5kZWRQb3NpdGlvbik7Ci19Ci0KLXZvaWQgU2Nyb2xs
aW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xsUG9zaXRpb25XaXRob3V0
Q29udGVudEVkZ2VDb25zdHJhaW50cyhjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbikK
LXsKLSAgICBzZXRTY3JvbGxMYXllclBvc2l0aW9uKHNjcm9sbFBvc2l0aW9uLCB7IH0pOwotICAg
IHNjcm9sbGluZ1RyZWUoKS5zY3JvbGxpbmdUcmVlTm9kZURpZFNjcm9sbChzY3JvbGxpbmdOb2Rl
SUQoKSwgc2Nyb2xsUG9zaXRpb24sIHsgfSk7CisgICAgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Ny
b2xsaW5nTm9kZTo6c2V0U2Nyb2xsUG9zaXRpb24ocm91bmRlZFBvc2l0aW9uLCBjbGFtcCk7CiB9
CiAKIHZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6c2V0U2Nyb2xs
TGF5ZXJQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgRmxv
YXRSZWN0JiBmaXhlZFBvc2l0aW9uUmVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxp
bmdOb2RlRGVsZWdhdGVNYWMubW0KaW5kZXggZmQ2NjZmZDdmYTQ4ZDRmZmI4Y2JhOTQyZTJjZTM5
ZDU4MDdkMWJkNy4uOWI2ZjM1ODgyZWVkMGRlNTFhNTZlMGNhNThmNTQxYjYwMzI5NGJkOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWMubW0KQEAgLTIw
Myw3ICsyMDMsNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6
OmltbWVkaWF0ZVNjcm9sbEJ5KGNvbnN0IEZsb2F0U2l6ZSYgZAogCiB2b2lkIFNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OmltbWVkaWF0ZVNjcm9sbEJ5V2l0aG91dENvbnRl
bnRFZGdlQ29uc3RyYWludHMoY29uc3QgRmxvYXRTaXplJiBvZmZzZXQpCiB7Ci0gICAgc2Nyb2xs
aW5nTm9kZSgpLnNjcm9sbEJ5V2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMob2Zmc2V0KTsK
KyAgICBzY3JvbGxpbmdOb2RlKCkuc2Nyb2xsQnkob2Zmc2V0LCBTY3JvbGxQb3NpdGlvbkNsYW1w
OjpOb25lKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFj
OjpzdG9wU25hcFJ1YmJlcmJhbmRUaW1lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNv
c2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuY3BwCmluZGV4IGE5NGM5OGE5NDA4Y2M3M2I5
ZTEwNzA0NDAzYjFjYjRmZTg4NGY5ZWEuLjhmODAyM2JhMzU1MDkzNGI0NDczOTVhYzI1NDdjNWQ4
ZjYwNTc0NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29z
aWEvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU5pY29zaWEuY3BwCkBAIC01NCwxNCArNTQsNiBAQCBGbG9hdFBvaW50IFNjcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhOjpzY3JvbGxQb3NpdGlvbigpIGNvbnN0CiAg
ICAgcmV0dXJuIHsgfTsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
Tmljb3NpYTo6c2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYpCi17Ci19Ci0KLXZv
aWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWE6OnNldFNjcm9sbFBvc2l0
aW9uV2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMoY29uc3QgRmxvYXRQb2ludCYpCi17Ci19
Ci0KIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWE6OnNldFNjcm9s
bExheWVyUG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IEZsb2F0UmVjdCYpCiB7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9uaWNvc2lhL1Njcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lhLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9uaWNvc2lhL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVOaWNvc2lh
LmgKaW5kZXggMGNjMjgxNmU2YzUyZTE2YzMxODRlZDM4YjBjMzgzMGQ2MDlmMGQ4Ni4uNGJhNzU1
Y2MxYTRmNDMzNTZkMjJmNTk0ZDg5ZDgyYjY1ZTdhMTc1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbmljb3NpYS9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTmljb3NpYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL25pY29zaWEv
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU5pY29zaWEuaApAQCAtNDQsOCArNDQsNyBA
QCBwcml2YXRlOgogICAgIFNjcm9sbGluZ0V2ZW50UmVzdWx0IGhhbmRsZVdoZWVsRXZlbnQoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50Jikgb3ZlcnJpZGU7CiAKICAgICBGbG9hdFBvaW50IHNjcm9s
bFBvc2l0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbihj
b25zdCBGbG9hdFBvaW50Jikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxQb3NpdGlvbldp
dGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKGNvbnN0IEZsb2F0UG9pbnQmKSBvdmVycmlkZTsK
KwogICAgIHZvaWQgc2V0U2Nyb2xsTGF5ZXJQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JiwgY29u
c3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHVwZGF0ZUxheWVyc0FmdGVyVmll
d3BvcnRDaGFuZ2UoY29uc3QgRmxvYXRSZWN0JiwgZG91YmxlKSBvdmVycmlkZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmgKaW5kZXggMjFlOTcwOTdhM2Zm
YmM2OTU2NzY1NzIzYjMwOWYwNWQzZjBkMTRjOS4uYTJmOWJjNDljYTAyZGUxNDEyNzYxNDgyMTcx
YjQ5YzUwYWQwMTVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1XaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1XaGVl
bEV2ZW50LmgKQEAgLTExNCw2ICsxMTQsNyBAQCBwdWJsaWM6CiAKICAgICBmbG9hdCBkZWx0YVgo
KSBjb25zdCB7IHJldHVybiBtX2RlbHRhWDsgfQogICAgIGZsb2F0IGRlbHRhWSgpIGNvbnN0IHsg
cmV0dXJuIG1fZGVsdGFZOyB9CisgICAgRmxvYXRTaXplIGRlbHRhKCkgY29uc3QgeyByZXR1cm4g
eyBtX2RlbHRhWCwgbV9kZWx0YVl9OyB9CiAKICAgICBmbG9hdCB3aGVlbFRpY2tzWCgpIGNvbnN0
IHsgcmV0dXJuIG1fd2hlZWxUaWNrc1g7IH0KICAgICBmbG9hdCB3aGVlbFRpY2tzWSgpIGNvbnN0
IHsgcmV0dXJuIG1fd2hlZWxUaWNrc1k7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBl
cy5oCmluZGV4IDJiMzE5NTE4ZmE5NjUxNzVjMmMxNTViMDIyZDJmNDMzZDJmYjFhMjcuLjdmNDUy
OTgzZGFiZDBhYjc1NWRmZmZjOTQzOGJlMTViZTJhMTk5OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVHlwZXMuaApAQCAtNDQsNiArNDQsMTAgQEAgZW51bSBTY3JvbGxMb2dpY2FsRGly
ZWN0aW9uIDogdWludDhfdCB7CiAgICAgU2Nyb2xsSW5saW5lRGlyZWN0aW9uRm9yd2FyZAogfTsK
IAorZW51bSBjbGFzcyBTY3JvbGxQb3NpdGlvbkNsYW1wIDogdWludDhfdCB7CisgICAgTm9uZSwK
KyAgICBUb0NvbnRlbnRFZGdlcywKK307CiAKIGlubGluZSBTY3JvbGxEaXJlY3Rpb24gbG9naWNh
bFRvUGh5c2ljYWwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIGJvb2wgaXNWZXJ0
aWNhbCwgYm9vbCBpc0ZsaXBwZWQpCiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>