<?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>211605</bug_id>
          
          <creation_ts>2020-05-07 18:10:03 -0700</creation_ts>
          <short_desc>MayBegin wheel event in a &lt;select&gt; doesn&apos;t flash the scrollers</short_desc>
          <delta_ts>2020-05-07 22:50:16 -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>Scrolling</component>
          <version>Safari Technology Preview</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1650440</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-07 18:10:03 -0700</bug_when>
    <thetext>findEnclosingScrollableContainer() doesn&apos;t handle events with no deltas, like the MayBegin event has.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650488</commentid>
    <comment_count>1</comment_count>
      <attachid>398831</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-07 20:58:53 -0700</bug_when>
    <thetext>Created attachment 398831
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650494</commentid>
    <comment_count>2</comment_count>
      <attachid>398833</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-07 21:30:40 -0700</bug_when>
    <thetext>Created attachment 398833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650501</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-07 22:49:04 -0700</bug_when>
    <thetext>Committed r261368: &lt;https://trac.webkit.org/changeset/261368&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398833.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650502</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-07 22:50:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/63008502&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398831</attachid>
            <date>2020-05-07 20:58:53 -0700</date>
            <delta_ts>2020-05-07 21:30:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211605-20200507205852.patch</filename>
            <type>text/plain</type>
            <size>20672</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjVkZmMxNTk5NTY1YmE2
OTM4Y2QzNTBjYjJkODg3ZjRkOTBkNTcyNi4uZjNlY2I4MjhmYmMzNjVhYWU0YWZhMDQzZDZjZjM1
ODI0MDQ4ZWI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA1LTA3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1heUJlZ2luIHdo
ZWVsIGV2ZW50IGluIGEgPHNlbGVjdD4gZG9lc24ndCBmbGFzaCB0aGUgc2Nyb2xsZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE2MDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBuZWVkIHRvIHNw
ZWNpYWwtY2FzZSBzY3JvbGxhYmxlIDxzZWxlY3Q+IGVsZW1lbnRzLCBiZWNhdXNlIHRoZXkgYXJl
IFNjcm9sbGFibGVBcmVhcworICAgICAgICB3aGljaCBhcmUgbmV2ZXIgYXN5bmNocm9ub3VzbHkg
c2Nyb2xsZWQsIHNvIHRoZSBTY3JvbGxpbmdUcmVlIG5ldmVyIGRpc3BhdGNoZXMgdGhlIGhhbmRs
ZVdoZWVsRXZlbnRQaGFzZSgpCisgICAgICAgIHdoaWNoIGlzIG5lY2Vzc2FyeSB0byBmbGFzaCBv
dmVybGF5IHNjcm9sbGJhcnMuIFNjcm9sbGFibGUgPHNlbGVjdD4gZWxlbWVudHMgYXJlIGFsd2F5
cyBpbiB0aGUKKyAgICAgICAgbm9uLWZhc3Qgc2Nyb2xsYWJsZSByZWdpb24uCisgICAgICAgIAor
ICAgICAgICBGaXggZmluZEVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXIoKSB0byByZXR1cm4g
YSBTY3JvbGxhYmxlQXJlYSBmb3IgdGhlICJtYXliZWdpbiIgYW5kICJjYW5jZWxlZCIgZXZlbnRz
CisgICAgICAgIHRoYXQgaGF2ZSBubyBkZWx0YS4KKyAgICAgICAgCisgICAgICAgIFJlbW92ZSBz
b21lICJpbmxpbmUiIGFuZCBtYWtlIHNvbWUgdGhpbmdzIHJlZmVyZW5jZXMuCisKKyAgICAgICAg
VGVzdHM6IGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9s
bGJhci1ob3ZlcmVkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3Jv
bGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbAorCisgICAgICAgICog
cGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFuZGxlV2hlZWxFdmVu
dFBoYXNlSW5TY3JvbGxhYmxlQXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpkaWRTY3JvbGxJblNj
cm9sbGFibGVBcmVhKToKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRsZVdoZWVsRXZlbnRJbkFwcHJv
cHJpYXRlRW5jbG9zaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEdlc3R1cmVzVHJp
Z2dlckFjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmV2ZW50TG9vcEhh
bmRsZU1vdXNlVXApOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpldmVudExvb3BI
YW5kbGVNb3VzZURyYWdnZWQpOgorICAgICAgICAqIHBhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OmZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZGV0ZXJtaW5lV2hlZWxFdmVudFRhcmdl
dCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJuYWxzOjpzY3JvbGxhYmxlQXJlYUZvck5vZGUpOiBGaXggdG8gZmluZCB0aGUgU2Nyb2xs
YWJsZUFyZWEgZm9yIFJlbmRlckxpc3RCb3hlcy4KKwogMjAyMC0wNS0wNyAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBPdmVyZmxvdyBzY3JvbGxlcnMg
aW4gaWZyYW1lcyBkb24ndCBnZXQgbW91c2VNb3ZlZEluQ29udGVudEFyZWEoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGZkNDcxNmJhYzhiNDgyZjUyYzVlYjUxYjQ3M2Yz
NWFlM2Y4ZDRhYWMuLjI1YzU2NWRmNDI1Njc5ZTNkOWQ1M2Q4MDhhYjNhYTk1ZTE4Y2M3OWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTg4LDYgKzg4LDcgQEAKICNpbmNs
dWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudC5o
IgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCisjaW5jbHVkZSAiU2Nyb2xsQW5pbWF0b3IuaCIKICNp
bmNsdWRlICJTY3JvbGxMYXRjaGluZ1N0YXRlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAj
aW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTI5MCwyMCArMjkxLDMxIEBAIHN0YXRpYyBpbmxpbmUg
U2Nyb2xsR3JhbnVsYXJpdHkgd2hlZWxHcmFudWxhcml0eVRvU2Nyb2xsR3JhbnVsYXJpdHkodW5z
aWduZWQgZGVsCiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgZGlkU2Nyb2xsSW5TY3Jv
bGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEsIFdoZWVsRXZlbnQmIHdo
ZWVsRXZlbnQpCitzdGF0aWMgdm9pZCBoYW5kbGVXaGVlbEV2ZW50UGhhc2VJblNjcm9sbGFibGVB
cmVhKFNjcm9sbGFibGVBcmVhJiBzY3JvbGxhYmxlQXJlYSwgY29uc3QgV2hlZWxFdmVudCYgd2hl
ZWxFdmVudCkKK3sKKyNpZiBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCisgICAgaWYgKHdoZWVs
RXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luIHx8IHdoZWVs
RXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNhbmNlbGxlZCkKKyAgICAg
ICAgc2Nyb2xsYWJsZUFyZWEuc2Nyb2xsQW5pbWF0b3IoKS5oYW5kbGVXaGVlbEV2ZW50UGhhc2Uo
d2hlZWxFdmVudC5waGFzZSgpKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNjcm9sbGFibGVB
cmVhKTsKKyAgICBVTlVTRURfUEFSQU0od2hlZWxFdmVudCk7CisjZW5kaWYKK30KKworc3RhdGlj
IGJvb2wgZGlkU2Nyb2xsSW5TY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJs
ZUFyZWEsIGNvbnN0IFdoZWVsRXZlbnQmIHdoZWVsRXZlbnQpCiB7CiAgICAgU2Nyb2xsR3JhbnVs
YXJpdHkgc2Nyb2xsR3JhbnVsYXJpdHkgPSB3aGVlbEdyYW51bGFyaXR5VG9TY3JvbGxHcmFudWxh
cml0eSh3aGVlbEV2ZW50LmRlbHRhTW9kZSgpKTsKICAgICBib29sIGRpZEhhbmRsZVdoZWVsRXZl
bnQgPSBmYWxzZTsKICAgICBpZiAoZmxvYXQgYWJzb2x1dGVEZWx0YSA9IHN0ZDo6YWJzKHdoZWVs
RXZlbnQuZGVsdGFYKCkpKQotICAgICAgICBkaWRIYW5kbGVXaGVlbEV2ZW50IHw9IHNjcm9sbGFi
bGVBcmVhLT5zY3JvbGwod2hlZWxFdmVudC5kZWx0YVgoKSA+IDAgPyBTY3JvbGxSaWdodCA6IFNj
cm9sbExlZnQsIHNjcm9sbEdyYW51bGFyaXR5LCBhYnNvbHV0ZURlbHRhKTsKKyAgICAgICAgZGlk
SGFuZGxlV2hlZWxFdmVudCB8PSBzY3JvbGxhYmxlQXJlYS5zY3JvbGwod2hlZWxFdmVudC5kZWx0
YVgoKSA+IDAgPyBTY3JvbGxSaWdodCA6IFNjcm9sbExlZnQsIHNjcm9sbEdyYW51bGFyaXR5LCBh
YnNvbHV0ZURlbHRhKTsKICAgICAKICAgICBpZiAoZmxvYXQgYWJzb2x1dGVEZWx0YSA9IHN0ZDo6
YWJzKHdoZWVsRXZlbnQuZGVsdGFZKCkpKQotICAgICAgICBkaWRIYW5kbGVXaGVlbEV2ZW50IHw9
IHNjcm9sbGFibGVBcmVhLT5zY3JvbGwod2hlZWxFdmVudC5kZWx0YVkoKSA+IDAgPyBTY3JvbGxE
b3duIDogU2Nyb2xsVXAsIHNjcm9sbEdyYW51bGFyaXR5LCBhYnNvbHV0ZURlbHRhKTsKKyAgICAg
ICAgZGlkSGFuZGxlV2hlZWxFdmVudCB8PSBzY3JvbGxhYmxlQXJlYS5zY3JvbGwod2hlZWxFdmVu
dC5kZWx0YVkoKSA+IDAgPyBTY3JvbGxEb3duIDogU2Nyb2xsVXAsIHNjcm9sbEdyYW51bGFyaXR5
LCBhYnNvbHV0ZURlbHRhKTsKICAgICAKICAgICByZXR1cm4gZGlkSGFuZGxlV2hlZWxFdmVudDsK
IH0KIAotc3RhdGljIGlubGluZSBib29sIGhhbmRsZVdoZWVsRXZlbnRJbkFwcHJvcHJpYXRlRW5j
bG9zaW5nQm94KE5vZGUqIHN0YXJ0Tm9kZSwgV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgUmVmUHRy
PEVsZW1lbnQ+JiBzdG9wRWxlbWVudCwgY29uc3QgRmxvYXRTaXplJiBmaWx0ZXJlZFBsYXRmb3Jt
RGVsdGEsIGNvbnN0IEZsb2F0U2l6ZSYgZmlsdGVyZWRWZWxvY2l0eSkKK3N0YXRpYyBib29sIGhh
bmRsZVdoZWVsRXZlbnRJbkFwcHJvcHJpYXRlRW5jbG9zaW5nQm94KE5vZGUqIHN0YXJ0Tm9kZSwg
Y29uc3QgV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgUmVmUHRyPEVsZW1lbnQ+JiBzdG9wRWxlbWVu
dCwgY29uc3QgRmxvYXRTaXplJiBmaWx0ZXJlZFBsYXRmb3JtRGVsdGEsIGNvbnN0IEZsb2F0U2l6
ZSYgZmlsdGVyZWRWZWxvY2l0eSkKIHsKICAgICBib29sIHNob3VsZEhhbmRsZUV2ZW50ID0gd2hl
ZWxFdmVudC5kZWx0YVgoKSB8fCB3aGVlbEV2ZW50LmRlbHRhWSgpOwogI2lmIEVOQUJMRShXSEVF
TF9FVkVOVF9MQVRDSElORykKQEAgLTMxMiwxMiArMzI0LDIwIEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBoYW5kbGVXaGVlbEV2ZW50SW5BcHByb3ByaWF0ZUVuY2xvc2luZ0JveChOb2RlKiBzdGFydE5v
ZGUsIFdoCiAgICAgc2hvdWxkSGFuZGxlRXZlbnQgfD0gd2hlZWxFdmVudC5tb21lbnR1bVBoYXNl
KCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZDsKICNlbmRpZgogI2VuZGlmCi0gICAg
aWYgKCFzdGFydE5vZGUtPnJlbmRlcmVyKCkgfHwgIXNob3VsZEhhbmRsZUV2ZW50KQorICAgIGlm
ICghc3RhcnROb2RlLT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBS
ZW5kZXJCb3gmIGluaXRpYWxFbmNsb3NpbmdCb3ggPSBzdGFydE5vZGUtPnJlbmRlcmVyKCktPmVu
Y2xvc2luZ0JveCgpOwotICAgIGlmIChpbml0aWFsRW5jbG9zaW5nQm94LmlzTGlzdEJveCgpKQot
ICAgICAgICByZXR1cm4gZGlkU2Nyb2xsSW5TY3JvbGxhYmxlQXJlYShzdGF0aWNfY2FzdDxSZW5k
ZXJMaXN0Qm94Kj4oJmluaXRpYWxFbmNsb3NpbmdCb3gpLCB3aGVlbEV2ZW50KTsKKworICAgIC8v
IFJlbmRlckxpc3RCb3ggaXMgc3BlY2lhbCBiZWNhdXNlIGl0J3MgYSBTY3JvbGxhYmxlQXJlYSB0
aGF0IHRoZSBzY3JvbGxpbmcgdHJlZSBkb2Vzbid0IGtub3cgYWJvdXQuCisgICAgaWYgKGlzPFJl
bmRlckxpc3RCb3g+KGluaXRpYWxFbmNsb3NpbmdCb3gpKQorICAgICAgICBoYW5kbGVXaGVlbEV2
ZW50UGhhc2VJblNjcm9sbGFibGVBcmVhKGRvd25jYXN0PFJlbmRlckxpc3RCb3g+KGluaXRpYWxF
bmNsb3NpbmdCb3gpLCB3aGVlbEV2ZW50KTsKKworICAgIGlmICghc2hvdWxkSGFuZGxlRXZlbnQp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChpczxSZW5kZXJMaXN0Qm94Pihpbml0
aWFsRW5jbG9zaW5nQm94KSkKKyAgICAgICAgcmV0dXJuIGRpZFNjcm9sbEluU2Nyb2xsYWJsZUFy
ZWEoZG93bmNhc3Q8UmVuZGVyTGlzdEJveD4oaW5pdGlhbEVuY2xvc2luZ0JveCksIHdoZWVsRXZl
bnQpOwogCiAgICAgUmVuZGVyQm94KiBjdXJyZW50RW5jbG9zaW5nQm94ID0gJmluaXRpYWxFbmNs
b3NpbmdCb3g7CiAgICAgd2hpbGUgKGN1cnJlbnRFbmNsb3NpbmdCb3gpIHsKQEAgLTMyOCw3ICsz
NDgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaGFuZGxlV2hlZWxFdmVudEluQXBwcm9wcmlhdGVF
bmNsb3NpbmdCb3goTm9kZSogc3RhcnROb2RlLCBXaAogICAgICAgICAgICAgICAgIGF1dG8gY29w
aWVkRXZlbnQgPSBwbGF0Zm9ybUV2ZW50LT5jb3B5V2l0aERlbHRhc0FuZFZlbG9jaXR5KGZpbHRl
cmVkUGxhdGZvcm1EZWx0YS53aWR0aCgpLCBmaWx0ZXJlZFBsYXRmb3JtRGVsdGEuaGVpZ2h0KCks
IGZpbHRlcmVkVmVsb2NpdHkpOwogICAgICAgICAgICAgICAgIHNjcm9sbGluZ1dhc0hhbmRsZWQg
PSBib3hMYXllci0+aGFuZGxlV2hlZWxFdmVudChjb3BpZWRFdmVudCk7CiAgICAgICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgICAgICBzY3JvbGxpbmdXYXNIYW5kbGVkID0gZGlkU2Nyb2xsSW5T
Y3JvbGxhYmxlQXJlYShib3hMYXllciwgd2hlZWxFdmVudCk7CisgICAgICAgICAgICAgICAgc2Ny
b2xsaW5nV2FzSGFuZGxlZCA9IGRpZFNjcm9sbEluU2Nyb2xsYWJsZUFyZWEoKmJveExheWVyLCB3
aGVlbEV2ZW50KTsKIAogICAgICAgICAgICAgaWYgKHNjcm9sbGluZ1dhc0hhbmRsZWQpIHsKICAg
ICAgICAgICAgICAgICBzdG9wRWxlbWVudCA9IGN1cnJlbnRFbmNsb3NpbmdCb3gtPmVsZW1lbnQo
KTsKQEAgLTM0Nyw3ICszNjcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaGFuZGxlV2hlZWxFdmVu
dEluQXBwcm9wcmlhdGVFbmNsb3NpbmdCb3goTm9kZSogc3RhcnROb2RlLCBXaAogfQogCiAjaWYg
KEVOQUJMRShUT1VDSF9FVkVOVFMpICYmICFQTEFURk9STShJT1NfRkFNSUxZKSkKLXN0YXRpYyBp
bmxpbmUgYm9vbCBzaG91bGRHZXN0dXJlc1RyaWdnZXJBY3RpdmUoKQorc3RhdGljIGJvb2wgc2hv
dWxkR2VzdHVyZXNUcmlnZ2VyQWN0aXZlKCkKIHsKICAgICAvLyBJZiB0aGUgcGxhdGZvcm0gd2Un
cmUgb24gc3VwcG9ydHMgR2VzdHVyZVRhcERvd24gYW5kIEdlc3R1cmVUYXBDYW5jZWwgdGhlbiB3
ZSdsbAogICAgIC8vIHJlbHkgb24gdGhlbSB0byBzZXQgdGhlIGFjdGl2ZSBzdGF0ZS4gVW5mb3J0
dW5hdGVseSB0aGVyZSdzIG5vIGdlbmVyaWMgd2F5IHRvCkBAIC0zNTgsMTMgKzM3OCwxMyBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkR2VzdHVyZXNUcmlnZ2VyQWN0aXZlKCkKIAogI2lmICFQ
TEFURk9STShDT0NPQSkKIAotaW5saW5lIGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudExvb3BIYW5k
bGVNb3VzZVVwKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKQorYm9vbCBFdmVu
dEhhbmRsZXI6OmV2ZW50TG9vcEhhbmRsZU1vdXNlVXAoY29uc3QgTW91c2VFdmVudFdpdGhIaXRU
ZXN0UmVzdWx0cyYpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiAjaWYgRU5BQkxFKERSQUdf
U1VQUE9SVCkKLWlubGluZSBib29sIEV2ZW50SGFuZGxlcjo6ZXZlbnRMb29wSGFuZGxlTW91c2VE
cmFnZ2VkKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKQorYm9vbCBFdmVudEhh
bmRsZXI6OmV2ZW50TG9vcEhhbmRsZU1vdXNlRHJhZ2dlZChjb25zdCBNb3VzZUV2ZW50V2l0aEhp
dFRlc3RSZXN1bHRzJikKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KaW5kZXggN2ZkZDc0MjhkOWU5ZWZkZGMzZjM1M2Vk
NTRmMjhhYzZiNGE0MWJjMS4uZTIxMTM3MGJlNTIxODQ2Yzk1ZDczMTY0NWQxNTc2NTFhNDMzZWZi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzg1
LDcgKzc4NSw3IEBAIHN0YXRpYyBTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWFGb3JCb3go
UmVuZGVyQm94JiBib3gpCiAgICAgcmV0dXJuIGJveC5sYXllcigpOwogfQogICAgIAotc3RhdGlj
IENvbnRhaW5lck5vZGUqIGZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyKENvbnRhaW5l
ck5vZGUqIG5vZGUsIGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZKQorc3RhdGljIENvbnRhaW5l
ck5vZGUqIGZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyKENvbnRhaW5lck5vZGUqIG5v
ZGUsIGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKIHsKICAgICAvLyBGaW5k
IHRoZSBmaXJzdCBub2RlIHdpdGggYSB2YWxpZCBzY3JvbGxhYmxlIGFyZWEgc3RhcnRpbmcgd2l0
aCB0aGUgY3VycmVudAogICAgIC8vIG5vZGUgYW5kIHRyYXZlcnNpbmcgaXRzIHBhcmVudHMgKG9y
IHNoYWRvdyBob3N0cykuCkBAIC03OTcsMTQgKzc5NywyMSBAQCBzdGF0aWMgQ29udGFpbmVyTm9k
ZSogZmluZEVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXIoQ29udGFpbmVyTm9kZSogbm9kZSwg
ZmxvYQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgUmVuZGVyQm94KiBi
b3ggPSBjYW5kaWRhdGUtPnJlbmRlckJveCgpOwotICAgICAgICBpZiAoYm94ICYmIGJveC0+Y2Fu
QmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhKCkpIHsKLSAgICAgICAgICAgIGlmIChTY3Jv
bGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEgPSBzY3JvbGxhYmxlQXJlYUZvckJveCgqYm94KSkg
ewotICAgICAgICAgICAgICAgIGlmICgoKGRlbHRhWSA+IDApICYmICFzY3JvbGxhYmxlQXJlYS0+
c2Nyb2xsZWRUb1RvcCgpKSB8fCAoKGRlbHRhWSA8IDApICYmICFzY3JvbGxhYmxlQXJlYS0+c2Ny
b2xsZWRUb0JvdHRvbSgpKQotICAgICAgICAgICAgICAgICAgICB8fCAoKGRlbHRhWCA+IDApICYm
ICFzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsZWRUb0xlZnQoKSkgfHwgKChkZWx0YVggPCAwKSAmJiAh
c2Nyb2xsYWJsZUFyZWEtPnNjcm9sbGVkVG9SaWdodCgpKSkgewotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gY2FuZGlkYXRlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQorICAgICAgICBpZiAoIWJveCB8fCAhYm94LT5jYW5CZVNjcm9sbGVkQW5kSGFzU2Ny
b2xsYWJsZUFyZWEoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICAgICAg
YXV0byogc2Nyb2xsYWJsZUFyZWEgPSBzY3JvbGxhYmxlQXJlYUZvckJveCgqYm94KTsKKyAgICAg
ICAgaWYgKCFzY3JvbGxhYmxlQXJlYSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAg
IGlmICh3aGVlbEV2ZW50LnBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VNYXlCZWdp
biB8fCB3aGVlbEV2ZW50LnBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDYW5jZWxs
ZWQpCisgICAgICAgICAgICByZXR1cm4gY2FuZGlkYXRlOworCisgICAgICAgIGF1dG8gZGVsdGFY
ID0gd2hlZWxFdmVudC5kZWx0YVgoKTsKKyAgICAgICAgYXV0byBkZWx0YVkgPSB3aGVlbEV2ZW50
LmRlbHRhWSgpOworICAgICAgICBpZiAoKGRlbHRhWSA+IDAgJiYgIXNjcm9sbGFibGVBcmVhLT5z
Y3JvbGxlZFRvVG9wKCkpIHx8IChkZWx0YVkgPCAwICYmICFzY3JvbGxhYmxlQXJlYS0+c2Nyb2xs
ZWRUb0JvdHRvbSgpKQorICAgICAgICAgICAgfHwgKGRlbHRhWCA+IDAgJiYgIXNjcm9sbGFibGVB
cmVhLT5zY3JvbGxlZFRvTGVmdCgpKSB8fCAoZGVsdGFYIDwgMCAmJiAhc2Nyb2xsYWJsZUFyZWEt
PnNjcm9sbGVkVG9SaWdodCgpKSkKKyAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7CiAgICAg
fQogICAgIAogICAgIHJldHVybiBudWxscHRyOwpAQCAtOTYzLDcgKzk3MCw3IEBAIHZvaWQgRXZl
bnRIYW5kbGVyOjpkZXRlcm1pbmVXaGVlbEV2ZW50VGFyZ2V0KGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYgd2hlZWxFdmVuCiAgICAgICAgICAgICBzY3JvbGxhYmxlQ29udGFpbmVyID0gd2hlZWxF
dmVudFRhcmdldDsKICAgICAgICAgICAgIHNjcm9sbGFibGVBcmVhID0gc2Nyb2xsYWJsZUFyZWFG
b3JFdmVudFRhcmdldCh3aGVlbEV2ZW50VGFyZ2V0LmdldCgpKTsKICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgIHNjcm9sbGFibGVDb250YWluZXIgPSBmaW5kRW5jbG9zaW5nU2Nyb2xsYWJs
ZUNvbnRhaW5lcih3aGVlbEV2ZW50VGFyZ2V0LmdldCgpLCB3aGVlbEV2ZW50LmRlbHRhWCgpLCB3
aGVlbEV2ZW50LmRlbHRhWSgpKTsKKyAgICAgICAgICAgIHNjcm9sbGFibGVDb250YWluZXIgPSBm
aW5kRW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5lcih3aGVlbEV2ZW50VGFyZ2V0LmdldCgpLCB3
aGVlbEV2ZW50KTsKICAgICAgICAgICAgIGlmIChzY3JvbGxhYmxlQ29udGFpbmVyICYmICFpczxI
VE1MSUZyYW1lRWxlbWVudD4od2hlZWxFdmVudFRhcmdldCkpCiAgICAgICAgICAgICAgICAgc2Ny
b2xsYWJsZUFyZWEgPSBzY3JvbGxhYmxlQXJlYUZvckNvbnRhaW5lck5vZGUoKnNjcm9sbGFibGVD
b250YWluZXIpOwogICAgICAgICAgICAgZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKaW5kZXggZGQxMmNlZWNhMjViYTcyN2ViNjgwNDg4Y2MxZjE1M2E5ZjRhNTc5Yy4uMTBm
NTZjMWE3Yjc2OGI2YWUyOGRkMjFkZDIwOTViZDUxMTMzMzkyNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcApAQCAtMTU0LDYgKzE1NCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRW1i
ZWRkZWRPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKICNpbmNsdWRl
ICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJMaXN0Qm94LmgiCiAj
aW5jbHVkZSAiUmVuZGVyTWVudUxpc3QuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2lu
Y2x1ZGUgIlJlbmRlclRyZWVBc1RleHQuaCIKQEAgLTI3NzUsNyArMjc3NiwxMSBAQCBFeGNlcHRp
b25PcjxTY3JvbGxhYmxlQXJlYSo+IEludGVybmFsczo6c2Nyb2xsYWJsZUFyZWFGb3JOb2RlKE5v
ZGUqIG5vZGUpIGNvbnN0CiAgICAgICAgIGlmICghZWxlbWVudC5yZW5kZXJCb3goKSkKICAgICAg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKIAotICAgICAg
ICBzY3JvbGxhYmxlQXJlYSA9IGVsZW1lbnQucmVuZGVyQm94KCktPmxheWVyKCk7CisgICAgICAg
IGF1dG8mIHJlbmRlckJveCA9ICplbGVtZW50LnJlbmRlckJveCgpOworICAgICAgICBpZiAoaXM8
UmVuZGVyTGlzdEJveD4ocmVuZGVyQm94KSkKKyAgICAgICAgICAgIHNjcm9sbGFibGVBcmVhID0g
JmRvd25jYXN0PFJlbmRlckxpc3RCb3g+KHJlbmRlckJveCk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHNjcm9sbGFibGVBcmVhID0gcmVuZGVyQm94LmxheWVyKCk7CiAgICAgfSBlbHNlCiAg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkTm9kZVR5cGVFcnJvciB9OwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggOGZlZDE5MjA5YjBkYmQ3ZjEwOTBlMjE5YmQ5ZTE2MzNhNmU2ZWNkZi4uY2M4MGYyNDhlNzY0
YmEzZGI0YmQ1YmM2ZGM0ZDVjNzdiZGM0ZGEzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIw
LTA1LTA3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAg
IE1heUJlZ2luIHdoZWVsIGV2ZW50IGluIGEgPHNlbGVjdD4gZG9lc24ndCBmbGFzaCB0aGUgc2Ny
b2xsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTE2MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1o
b3ZlcmVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFj
L3Njcm9sbGJhcnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0LW92ZXJsYXkt
c2Nyb2xsYmFyLXJldmVhbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL21hYy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRt
bDogQWRkZWQuCisKIDIwMjAtMDUtMDcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgT3ZlcmZsb3cgc2Nyb2xsZXJzIGluIGlmcmFtZXMgZG9uJ3QgZ2V0
IG1vdXNlTW92ZWRJbkNvbnRlbnRBcmVhKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJz
L3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41YTBjNzc1Njg5MjFmNWUyODRjZjJlYjdhNWE4MjIyOWM1OGFiZTEzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0LW92
ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKKwor
VGVzdCBob3ZlciBvdmVyIHRoZSBvdmVybGF5IHNjcm9sbGJhciBvZiBhIHNjcm9sbGluZyBsaXN0
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlCitlbmFibGVk
CitIb3ZlcmluZyB2ZXJ0aWNhbCBzY3JvbGxiYXIgc2hvdWxkIHNob3cgZXhwYW5kZWQgc2Nyb2xs
YmFyCitQQVNTIFNjcm9sbGJhciBzdGF0ZTogZW5hYmxlZCxleHBhbmRlZCx2aXNpYmxlX3RyYWNr
LHZpc2libGVfdGh1bWIKK1VuaG92ZXJpbmcgdmVydGljYWwgc2Nyb2xsYmFyIHNob3VsZCBoaWRl
IGl0CitQQVNTIFRodW1iIGFuZCB0cmFjayBoaWRkZW4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0
LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZjcxYzRiZTNlYjE5
OTM0ZjVkZmFlOGFhMTMwNDM2YzJlM2FjMWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xsYmFy
LWhvdmVyZWQuaHRtbApAQCAtMCwwICsxLDg4IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDp1c2VNb2NrU2Nyb2xsYmFycz1mYWxzZSBpbnRlcm5h
bDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDxzdHlsZT4KKyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBoZWlnaHQ6IDEwMDBw
eDsKKyAgICAgICAgfQorICAgICAgICBzZWxlY3QgeworICAgICAgICAgICAgZGlzcGxheTogYmxv
Y2s7CisgICAgICAgICAgICBmb250LXNpemU6IDEycHQ7CisgICAgICAgICAgICBtYXJnaW46IDEw
cHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgfQorICAg
IDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNl
cy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgIAorICAgIDxzY3JpcHQ+CisgICAgICAgIGpz
VGVzdElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKKworICAg
ICAgICBhc3luYyBmdW5jdGlvbiBkb1Rlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBkZXNj
cmlwdGlvbignVGVzdCBob3ZlciBvdmVyIHRoZSBvdmVybGF5IHNjcm9sbGJhciBvZiBhIHNjcm9s
bGluZyBsaXN0Jyk7CisgICAgICAgICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBjb25z
dCBzZWxlY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF07Cisg
ICAgICAgICAgICBjb25zdCBzZWxlY3RCb3VuZHMgPSBzZWxlY3QuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCk7CisgICAgICAgICAgICBjb25zdCB4ID0gc2VsZWN0Qm91bmRzLnJpZ2h0IC0gODsKKyAg
ICAgICAgICAgIGNvbnN0IHkgPSBzZWxlY3RCb3VuZHMudG9wICsgMTA7CisKKyAgICAgICAgICAg
IGRlYnVnKCdJbml0aWFsIHN0YXRlJyk7CisgICAgICAgICAgICBkZWJ1ZyhpbnRlcm5hbHMudmVy
dGljYWxTY3JvbGxiYXJTdGF0ZShzZWxlY3QpKTsKKworICAgICAgICAgICAgZGVidWcoJ0hvdmVy
aW5nIHZlcnRpY2FsIHNjcm9sbGJhciBzaG91bGQgc2hvdyBleHBhbmRlZCBzY3JvbGxiYXInKTsK
KyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdXNlV2hlZWxTY3JvbGxBdCh4LCB5KTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JDb25kaXRpb24oKCkgPT4geworICAgICAg
ICAgICAgICAgIGxldCBzdGF0ZSA9IGludGVybmFscy52ZXJ0aWNhbFNjcm9sbGJhclN0YXRlKHNl
bGVjdCk7CisgICAgICAgICAgICAgICAgbGV0IGV4cGFuZGVkID0gc3RhdGUuaW5kZXhPZignZXhw
YW5kZWQnKSAhPSAtMTsKKyAgICAgICAgICAgICAgICBpZiAoZXhwYW5kZWQpCisgICAgICAgICAg
ICAgICAgICAgIHRlc3RQYXNzZWQoJ1Njcm9sbGJhciBzdGF0ZTogJyArIHN0YXRlKTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZXhwYW5kZWQ7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAg
ICAgZGVidWcoJ1VuaG92ZXJpbmcgdmVydGljYWwgc2Nyb2xsYmFyIHNob3VsZCBoaWRlIGl0Jyk7
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5tb3ZlTW91c2VBbmRXYWl0Rm9yRnJhbWUoeCAt
IDEwLCB5KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdmVNb3VzZUFuZFdhaXRGb3JG
cmFtZSh4IC0gMjAsIHkpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbmRp
dGlvbigoKSA9PiB7CisgICAgICAgICAgICAgICAgbGV0IHN0YXRlID0gaW50ZXJuYWxzLnZlcnRp
Y2FsU2Nyb2xsYmFyU3RhdGUoc2VsZWN0KTsKKyAgICAgICAgICAgICAgICBsZXQgdGh1bWJIaWRk
ZW4gPSBzdGF0ZS5pbmRleE9mKCd2aXNpYmxlX3RodW1iJykgPT0gLTE7CisgICAgICAgICAgICAg
ICAgbGV0IHRyYWNrSGlkZGVuID0gc3RhdGUuaW5kZXhPZigndmlzaWJsZV90cmFjaycpID09IC0x
OworICAgICAgICAgICAgICAgIGlmICh0aHVtYkhpZGRlbiAmJiB0cmFja0hpZGRlbikKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnVGh1bWIgYW5kIHRyYWNrIGhpZGRlbicpOworICAg
ICAgICAgICAgICAgIHJldHVybiB0aHVtYkhpZGRlbiAmJiB0cmFja0hpZGRlbjsKKyAgICAgICAg
ICAgIH0pOworCisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorCisgICAg
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4geworICAgICAgICAgICAg
ZG9UZXN0KCk7CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxzZWxlY3Qgc2l6ZT0iNSI+CisgICAgICAgIDxvcHRpb24+SmFudWFyeTwvb3B0
aW9uPgorICAgICAgICA8b3B0aW9uPkZlYnJ1YXJ5PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+
TWFyY2g8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5BcHJpbDwvb3B0aW9uPgorICAgICAgICA8
b3B0aW9uPk1heTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkp1bmU8L29wdGlvbj4KKyAgICAg
ICAgPG9wdGlvbj5KdWx5PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+QXVndXN0PC9vcHRpb24+
CisgICAgICAgIDxvcHRpb24+U2VwdGVtYmVyPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+T2N0
b2Jlcjwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPk5vdmVtYmVyPC9vcHRpb24+CisgICAgICAg
IDxvcHRpb24+RGVjZW1iZXI8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKyAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3ZlcmxheS1z
Y3JvbGxiYXItcmV2ZWFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L21hYy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI5MGQ0YzU3MDlmZjYxMTk4NGFhNzllYzkwYzVkNTI1NTAyN2Q1N2MK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xs
YmFycy9zZWxlY3Qtb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE2IEBACisKK1Rlc3QgbWF5YmVnaW4gYW5kIGNhbmNlbGxlZCBvbiBhIHNjcm9sbGluZyBs
aXN0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlCitlbmFi
bGVkCitNYXlCZWdpbiBzaG91bGQgc2hvdyB0aGUgc2Nyb2xsYmFyCitQQVNTIFNjcm9sbGJhciBz
dGF0ZTogZW5hYmxlZCx2aXNpYmxlX3RodW1iCitDYW5jZWxsZWQgc2hvdWxkIGhpZGUgdGhlIHNj
cm9sbGJhcgorUEFTUyBTY3JvbGxiYXIgc3RhdGU6IGVuYWJsZWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3ZlcmxheS1zY3JvbGxiYXIt
cmV2ZWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9z
ZWxlY3Qtb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE5ZDAzMGY4
OWU1NDQ3ZmIwZTlkNmMyZTM4Y2RlMGIyNGVjMjEwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9s
bGJhci1yZXZlYWwuaHRtbApAQCAtMCwwICsxLDg3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDp1c2VNb2NrU2Nyb2xsYmFycz1mYWxzZSBpbnRl
cm5hbDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxo
ZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBoZWlnaHQ6IDEw
MDBweDsKKyAgICAgICAgfQorICAgICAgICBzZWxlY3QgeworICAgICAgICAgICAgZGlzcGxheTog
YmxvY2s7CisgICAgICAgICAgICBmb250LXNpemU6IDEycHQ7CisgICAgICAgICAgICBtYXJnaW46
IDEwcHg7CisgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgfQor
ICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291
cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorICAgIAorICAgIDxzY3JpcHQ+CisgICAgICAg
IGpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRy
dWUpOworCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0IG1heWJlZ2luIGFuZCBjYW5jZWxsZWQgb24gYSBzY3Jv
bGxpbmcgbGlzdCcpOworICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
ICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdCBzZWxlY3QgPSBkb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF07CisgICAgICAgICAgICBjb25z
dCBzZWxlY3RCb3VuZHMgPSBzZWxlY3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAg
ICAgICBjb25zdCB4ID0gc2VsZWN0Qm91bmRzLmxlZnQgKyAxMDsKKyAgICAgICAgICAgIGNvbnN0
IHkgPSBzZWxlY3RCb3VuZHMudG9wICsgMTA7CisKKyAgICAgICAgICAgIGRlYnVnKCdJbml0aWFs
IHN0YXRlJyk7CisgICAgICAgICAgICBkZWJ1ZyhpbnRlcm5hbHMudmVydGljYWxTY3JvbGxiYXJT
dGF0ZShzZWxlY3QpKTsKKworICAgICAgICAgICAgZGVidWcoJ01heUJlZ2luIHNob3VsZCBzaG93
IHRoZSBzY3JvbGxiYXInKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdXNlV2hlZWxN
YXlCZWdpbkF0KHgsIHkpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbmRp
dGlvbigoKSA9PiB7CisgICAgICAgICAgICAgICAgbGV0IHN0YXRlID0gaW50ZXJuYWxzLnZlcnRp
Y2FsU2Nyb2xsYmFyU3RhdGUoc2VsZWN0KTsKKyAgICAgICAgICAgICAgICBsZXQgdmlzaWJsZSA9
IHN0YXRlLmluZGV4T2YoJ3Zpc2libGVfdGh1bWInKSAhPSAtMTsKKyAgICAgICAgICAgICAgICBp
ZiAodmlzaWJsZSkKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnU2Nyb2xsYmFyIHN0
YXRlOiAnICsgc3RhdGUpOworICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlOworICAgICAg
ICAgICAgfSk7CisKKyAgICAgICAgICAgIGRlYnVnKCdDYW5jZWxsZWQgc2hvdWxkIGhpZGUgdGhl
IHNjcm9sbGJhcicpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIubW91c2VXaGVlbENhbmNl
bEF0KHgsIHkpOworCisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yQ29uZGl0aW9u
KCgpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQgc3RhdGUgPSBpbnRlcm5hbHMudmVydGljYWxT
Y3JvbGxiYXJTdGF0ZShzZWxlY3QpOworICAgICAgICAgICAgICAgIGxldCBoaWRkZW4gPSBzdGF0
ZS5pbmRleE9mKCd2aXNpYmxlX3RodW1iJykgPT0gLTE7CisgICAgICAgICAgICAgICAgaWYgKGhp
ZGRlbikKKyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnU2Nyb2xsYmFyIHN0YXRlOiAn
ICsgc3RhdGUpOworICAgICAgICAgICAgICAgIHJldHVybiBoaWRkZW47CisgICAgICAgICAgICB9
KTsKKworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHsKKyAgICAgICAgICAgIGRvVGVz
dCgpOworICAgICAgICB9LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KyAgICA8c2VsZWN0IHNpemU9IjUiPgorICAgICAgICA8b3B0aW9uPkphbnVhcnk8L29wdGlvbj4K
KyAgICAgICAgPG9wdGlvbj5GZWJydWFyeTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPk1hcmNo
PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+QXByaWw8L29wdGlvbj4KKyAgICAgICAgPG9wdGlv
bj5NYXk8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5KdW5lPC9vcHRpb24+CisgICAgICAgIDxv
cHRpb24+SnVseTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkF1Z3VzdDwvb3B0aW9uPgorICAg
ICAgICA8b3B0aW9uPlNlcHRlbWJlcjwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPk9jdG9iZXI8
L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5Ob3ZlbWJlcjwvb3B0aW9uPgorICAgICAgICA8b3B0
aW9uPkRlY2VtYmVyPC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398833</attachid>
            <date>2020-05-07 21:30:40 -0700</date>
            <delta_ts>2020-05-07 22:49:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211605-20200507213039.patch</filename>
            <type>text/plain</type>
            <size>20660</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjVkZmMxNTk5NTY1YmE2
OTM4Y2QzNTBjYjJkODg3ZjRkOTBkNTcyNi4uZjNlY2I4MjhmYmMzNjVhYWU0YWZhMDQzZDZjZjM1
ODI0MDQ4ZWI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA1LTA3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1heUJlZ2luIHdo
ZWVsIGV2ZW50IGluIGEgPHNlbGVjdD4gZG9lc24ndCBmbGFzaCB0aGUgc2Nyb2xsZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE2MDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBuZWVkIHRvIHNw
ZWNpYWwtY2FzZSBzY3JvbGxhYmxlIDxzZWxlY3Q+IGVsZW1lbnRzLCBiZWNhdXNlIHRoZXkgYXJl
IFNjcm9sbGFibGVBcmVhcworICAgICAgICB3aGljaCBhcmUgbmV2ZXIgYXN5bmNocm9ub3VzbHkg
c2Nyb2xsZWQsIHNvIHRoZSBTY3JvbGxpbmdUcmVlIG5ldmVyIGRpc3BhdGNoZXMgdGhlIGhhbmRs
ZVdoZWVsRXZlbnRQaGFzZSgpCisgICAgICAgIHdoaWNoIGlzIG5lY2Vzc2FyeSB0byBmbGFzaCBv
dmVybGF5IHNjcm9sbGJhcnMuIFNjcm9sbGFibGUgPHNlbGVjdD4gZWxlbWVudHMgYXJlIGFsd2F5
cyBpbiB0aGUKKyAgICAgICAgbm9uLWZhc3Qgc2Nyb2xsYWJsZSByZWdpb24uCisgICAgICAgIAor
ICAgICAgICBGaXggZmluZEVuY2xvc2luZ1Njcm9sbGFibGVDb250YWluZXIoKSB0byByZXR1cm4g
YSBTY3JvbGxhYmxlQXJlYSBmb3IgdGhlICJtYXliZWdpbiIgYW5kICJjYW5jZWxlZCIgZXZlbnRz
CisgICAgICAgIHRoYXQgaGF2ZSBubyBkZWx0YS4KKyAgICAgICAgCisgICAgICAgIFJlbW92ZSBz
b21lICJpbmxpbmUiIGFuZCBtYWtlIHNvbWUgdGhpbmdzIHJlZmVyZW5jZXMuCisKKyAgICAgICAg
VGVzdHM6IGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9s
bGJhci1ob3ZlcmVkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvc2Nyb2xsaW5nL21hYy9zY3Jv
bGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbAorCisgICAgICAgICog
cGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFuZGxlV2hlZWxFdmVu
dFBoYXNlSW5TY3JvbGxhYmxlQXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpkaWRTY3JvbGxJblNj
cm9sbGFibGVBcmVhKToKKyAgICAgICAgKFdlYkNvcmU6OmhhbmRsZVdoZWVsRXZlbnRJbkFwcHJv
cHJpYXRlRW5jbG9zaW5nQm94KToKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEdlc3R1cmVzVHJp
Z2dlckFjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmV2ZW50TG9vcEhh
bmRsZU1vdXNlVXApOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpldmVudExvb3BI
YW5kbGVNb3VzZURyYWdnZWQpOgorICAgICAgICAqIHBhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5t
bToKKyAgICAgICAgKFdlYkNvcmU6OmZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6ZGV0ZXJtaW5lV2hlZWxFdmVudFRhcmdl
dCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJuYWxzOjpzY3JvbGxhYmxlQXJlYUZvck5vZGUpOiBGaXggdG8gZmluZCB0aGUgU2Nyb2xs
YWJsZUFyZWEgZm9yIFJlbmRlckxpc3RCb3hlcy4KKwogMjAyMC0wNS0wNyAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBPdmVyZmxvdyBzY3JvbGxlcnMg
aW4gaWZyYW1lcyBkb24ndCBnZXQgbW91c2VNb3ZlZEluQ29udGVudEFyZWEoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGZkNDcxNmJhYzhiNDgyZjUyYzVlYjUxYjQ3M2Yz
NWFlM2Y4ZDRhYWMuLmNmOTdlYTQ2YzEzNmU1N2ZiZjhkMzdlYTk1NGUyY2MzZGQwNDk1MDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTg4LDYgKzg4LDcgQEAKICNpbmNs
dWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudC5o
IgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCisjaW5jbHVkZSAiU2Nyb2xsQW5pbWF0b3IuaCIKICNp
bmNsdWRlICJTY3JvbGxMYXRjaGluZ1N0YXRlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAj
aW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTI5MCwyMCArMjkxLDMxIEBAIHN0YXRpYyBpbmxpbmUg
U2Nyb2xsR3JhbnVsYXJpdHkgd2hlZWxHcmFudWxhcml0eVRvU2Nyb2xsR3JhbnVsYXJpdHkodW5z
aWduZWQgZGVsCiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgZGlkU2Nyb2xsSW5TY3Jv
bGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEsIFdoZWVsRXZlbnQmIHdo
ZWVsRXZlbnQpCitzdGF0aWMgdm9pZCBoYW5kbGVXaGVlbEV2ZW50UGhhc2VJblNjcm9sbGFibGVB
cmVhKFNjcm9sbGFibGVBcmVhJiBzY3JvbGxhYmxlQXJlYSwgY29uc3QgV2hlZWxFdmVudCYgd2hl
ZWxFdmVudCkKK3sKKyNpZiBQTEFURk9STShNQUMpCisgICAgaWYgKHdoZWVsRXZlbnQucGhhc2Uo
KSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luIHx8IHdoZWVsRXZlbnQucGhhc2Uo
KSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNhbmNlbGxlZCkKKyAgICAgICAgc2Nyb2xsYWJs
ZUFyZWEuc2Nyb2xsQW5pbWF0b3IoKS5oYW5kbGVXaGVlbEV2ZW50UGhhc2Uod2hlZWxFdmVudC5w
aGFzZSgpKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNjcm9sbGFibGVBcmVhKTsKKyAgICBV
TlVTRURfUEFSQU0od2hlZWxFdmVudCk7CisjZW5kaWYKK30KKworc3RhdGljIGJvb2wgZGlkU2Ny
b2xsSW5TY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSYgc2Nyb2xsYWJsZUFyZWEsIGNvbnN0
IFdoZWVsRXZlbnQmIHdoZWVsRXZlbnQpCiB7CiAgICAgU2Nyb2xsR3JhbnVsYXJpdHkgc2Nyb2xs
R3JhbnVsYXJpdHkgPSB3aGVlbEdyYW51bGFyaXR5VG9TY3JvbGxHcmFudWxhcml0eSh3aGVlbEV2
ZW50LmRlbHRhTW9kZSgpKTsKICAgICBib29sIGRpZEhhbmRsZVdoZWVsRXZlbnQgPSBmYWxzZTsK
ICAgICBpZiAoZmxvYXQgYWJzb2x1dGVEZWx0YSA9IHN0ZDo6YWJzKHdoZWVsRXZlbnQuZGVsdGFY
KCkpKQotICAgICAgICBkaWRIYW5kbGVXaGVlbEV2ZW50IHw9IHNjcm9sbGFibGVBcmVhLT5zY3Jv
bGwod2hlZWxFdmVudC5kZWx0YVgoKSA+IDAgPyBTY3JvbGxSaWdodCA6IFNjcm9sbExlZnQsIHNj
cm9sbEdyYW51bGFyaXR5LCBhYnNvbHV0ZURlbHRhKTsKKyAgICAgICAgZGlkSGFuZGxlV2hlZWxF
dmVudCB8PSBzY3JvbGxhYmxlQXJlYS5zY3JvbGwod2hlZWxFdmVudC5kZWx0YVgoKSA+IDAgPyBT
Y3JvbGxSaWdodCA6IFNjcm9sbExlZnQsIHNjcm9sbEdyYW51bGFyaXR5LCBhYnNvbHV0ZURlbHRh
KTsKICAgICAKICAgICBpZiAoZmxvYXQgYWJzb2x1dGVEZWx0YSA9IHN0ZDo6YWJzKHdoZWVsRXZl
bnQuZGVsdGFZKCkpKQotICAgICAgICBkaWRIYW5kbGVXaGVlbEV2ZW50IHw9IHNjcm9sbGFibGVB
cmVhLT5zY3JvbGwod2hlZWxFdmVudC5kZWx0YVkoKSA+IDAgPyBTY3JvbGxEb3duIDogU2Nyb2xs
VXAsIHNjcm9sbEdyYW51bGFyaXR5LCBhYnNvbHV0ZURlbHRhKTsKKyAgICAgICAgZGlkSGFuZGxl
V2hlZWxFdmVudCB8PSBzY3JvbGxhYmxlQXJlYS5zY3JvbGwod2hlZWxFdmVudC5kZWx0YVkoKSA+
IDAgPyBTY3JvbGxEb3duIDogU2Nyb2xsVXAsIHNjcm9sbEdyYW51bGFyaXR5LCBhYnNvbHV0ZURl
bHRhKTsKICAgICAKICAgICByZXR1cm4gZGlkSGFuZGxlV2hlZWxFdmVudDsKIH0KIAotc3RhdGlj
IGlubGluZSBib29sIGhhbmRsZVdoZWVsRXZlbnRJbkFwcHJvcHJpYXRlRW5jbG9zaW5nQm94KE5v
ZGUqIHN0YXJ0Tm9kZSwgV2hlZWxFdmVudCYgd2hlZWxFdmVudCwgUmVmUHRyPEVsZW1lbnQ+JiBz
dG9wRWxlbWVudCwgY29uc3QgRmxvYXRTaXplJiBmaWx0ZXJlZFBsYXRmb3JtRGVsdGEsIGNvbnN0
IEZsb2F0U2l6ZSYgZmlsdGVyZWRWZWxvY2l0eSkKK3N0YXRpYyBib29sIGhhbmRsZVdoZWVsRXZl
bnRJbkFwcHJvcHJpYXRlRW5jbG9zaW5nQm94KE5vZGUqIHN0YXJ0Tm9kZSwgY29uc3QgV2hlZWxF
dmVudCYgd2hlZWxFdmVudCwgUmVmUHRyPEVsZW1lbnQ+JiBzdG9wRWxlbWVudCwgY29uc3QgRmxv
YXRTaXplJiBmaWx0ZXJlZFBsYXRmb3JtRGVsdGEsIGNvbnN0IEZsb2F0U2l6ZSYgZmlsdGVyZWRW
ZWxvY2l0eSkKIHsKICAgICBib29sIHNob3VsZEhhbmRsZUV2ZW50ID0gd2hlZWxFdmVudC5kZWx0
YVgoKSB8fCB3aGVlbEV2ZW50LmRlbHRhWSgpOwogI2lmIEVOQUJMRShXSEVFTF9FVkVOVF9MQVRD
SElORykKQEAgLTMxMiwxMiArMzI0LDIwIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBoYW5kbGVXaGVl
bEV2ZW50SW5BcHByb3ByaWF0ZUVuY2xvc2luZ0JveChOb2RlKiBzdGFydE5vZGUsIFdoCiAgICAg
c2hvdWxkSGFuZGxlRXZlbnQgfD0gd2hlZWxFdmVudC5tb21lbnR1bVBoYXNlKCkgPT0gUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VFbmRlZDsKICNlbmRpZgogI2VuZGlmCi0gICAgaWYgKCFzdGFydE5v
ZGUtPnJlbmRlcmVyKCkgfHwgIXNob3VsZEhhbmRsZUV2ZW50KQorICAgIGlmICghc3RhcnROb2Rl
LT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBSZW5kZXJCb3gmIGlu
aXRpYWxFbmNsb3NpbmdCb3ggPSBzdGFydE5vZGUtPnJlbmRlcmVyKCktPmVuY2xvc2luZ0JveCgp
OwotICAgIGlmIChpbml0aWFsRW5jbG9zaW5nQm94LmlzTGlzdEJveCgpKQotICAgICAgICByZXR1
cm4gZGlkU2Nyb2xsSW5TY3JvbGxhYmxlQXJlYShzdGF0aWNfY2FzdDxSZW5kZXJMaXN0Qm94Kj4o
JmluaXRpYWxFbmNsb3NpbmdCb3gpLCB3aGVlbEV2ZW50KTsKKworICAgIC8vIFJlbmRlckxpc3RC
b3ggaXMgc3BlY2lhbCBiZWNhdXNlIGl0J3MgYSBTY3JvbGxhYmxlQXJlYSB0aGF0IHRoZSBzY3Jv
bGxpbmcgdHJlZSBkb2Vzbid0IGtub3cgYWJvdXQuCisgICAgaWYgKGlzPFJlbmRlckxpc3RCb3g+
KGluaXRpYWxFbmNsb3NpbmdCb3gpKQorICAgICAgICBoYW5kbGVXaGVlbEV2ZW50UGhhc2VJblNj
cm9sbGFibGVBcmVhKGRvd25jYXN0PFJlbmRlckxpc3RCb3g+KGluaXRpYWxFbmNsb3NpbmdCb3gp
LCB3aGVlbEV2ZW50KTsKKworICAgIGlmICghc2hvdWxkSGFuZGxlRXZlbnQpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGlmIChpczxSZW5kZXJMaXN0Qm94Pihpbml0aWFsRW5jbG9zaW5n
Qm94KSkKKyAgICAgICAgcmV0dXJuIGRpZFNjcm9sbEluU2Nyb2xsYWJsZUFyZWEoZG93bmNhc3Q8
UmVuZGVyTGlzdEJveD4oaW5pdGlhbEVuY2xvc2luZ0JveCksIHdoZWVsRXZlbnQpOwogCiAgICAg
UmVuZGVyQm94KiBjdXJyZW50RW5jbG9zaW5nQm94ID0gJmluaXRpYWxFbmNsb3NpbmdCb3g7CiAg
ICAgd2hpbGUgKGN1cnJlbnRFbmNsb3NpbmdCb3gpIHsKQEAgLTMyOCw3ICszNDgsNyBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgaGFuZGxlV2hlZWxFdmVudEluQXBwcm9wcmlhdGVFbmNsb3NpbmdCb3go
Tm9kZSogc3RhcnROb2RlLCBXaAogICAgICAgICAgICAgICAgIGF1dG8gY29waWVkRXZlbnQgPSBw
bGF0Zm9ybUV2ZW50LT5jb3B5V2l0aERlbHRhc0FuZFZlbG9jaXR5KGZpbHRlcmVkUGxhdGZvcm1E
ZWx0YS53aWR0aCgpLCBmaWx0ZXJlZFBsYXRmb3JtRGVsdGEuaGVpZ2h0KCksIGZpbHRlcmVkVmVs
b2NpdHkpOwogICAgICAgICAgICAgICAgIHNjcm9sbGluZ1dhc0hhbmRsZWQgPSBib3hMYXllci0+
aGFuZGxlV2hlZWxFdmVudChjb3BpZWRFdmVudCk7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgICAgICBzY3JvbGxpbmdXYXNIYW5kbGVkID0gZGlkU2Nyb2xsSW5TY3JvbGxhYmxlQXJl
YShib3hMYXllciwgd2hlZWxFdmVudCk7CisgICAgICAgICAgICAgICAgc2Nyb2xsaW5nV2FzSGFu
ZGxlZCA9IGRpZFNjcm9sbEluU2Nyb2xsYWJsZUFyZWEoKmJveExheWVyLCB3aGVlbEV2ZW50KTsK
IAogICAgICAgICAgICAgaWYgKHNjcm9sbGluZ1dhc0hhbmRsZWQpIHsKICAgICAgICAgICAgICAg
ICBzdG9wRWxlbWVudCA9IGN1cnJlbnRFbmNsb3NpbmdCb3gtPmVsZW1lbnQoKTsKQEAgLTM0Nyw3
ICszNjcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaGFuZGxlV2hlZWxFdmVudEluQXBwcm9wcmlh
dGVFbmNsb3NpbmdCb3goTm9kZSogc3RhcnROb2RlLCBXaAogfQogCiAjaWYgKEVOQUJMRShUT1VD
SF9FVkVOVFMpICYmICFQTEFURk9STShJT1NfRkFNSUxZKSkKLXN0YXRpYyBpbmxpbmUgYm9vbCBz
aG91bGRHZXN0dXJlc1RyaWdnZXJBY3RpdmUoKQorc3RhdGljIGJvb2wgc2hvdWxkR2VzdHVyZXNU
cmlnZ2VyQWN0aXZlKCkKIHsKICAgICAvLyBJZiB0aGUgcGxhdGZvcm0gd2UncmUgb24gc3VwcG9y
dHMgR2VzdHVyZVRhcERvd24gYW5kIEdlc3R1cmVUYXBDYW5jZWwgdGhlbiB3ZSdsbAogICAgIC8v
IHJlbHkgb24gdGhlbSB0byBzZXQgdGhlIGFjdGl2ZSBzdGF0ZS4gVW5mb3J0dW5hdGVseSB0aGVy
ZSdzIG5vIGdlbmVyaWMgd2F5IHRvCkBAIC0zNTgsMTMgKzM3OCwxMyBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgc2hvdWxkR2VzdHVyZXNUcmlnZ2VyQWN0aXZlKCkKIAogI2lmICFQTEFURk9STShDT0NP
QSkKIAotaW5saW5lIGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudExvb3BIYW5kbGVNb3VzZVVwKGNv
bnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKQorYm9vbCBFdmVudEhhbmRsZXI6OmV2
ZW50TG9vcEhhbmRsZU1vdXNlVXAoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYp
CiB7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWlu
bGluZSBib29sIEV2ZW50SGFuZGxlcjo6ZXZlbnRMb29wSGFuZGxlTW91c2VEcmFnZ2VkKGNvbnN0
IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKQorYm9vbCBFdmVudEhhbmRsZXI6OmV2ZW50
TG9vcEhhbmRsZU1vdXNlRHJhZ2dlZChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRz
JikKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVu
dEhhbmRsZXJNYWMubW0KaW5kZXggN2ZkZDc0MjhkOWU5ZWZkZGMzZjM1M2VkNTRmMjhhYzZiNGE0
MWJjMS4uZTIxMTM3MGJlNTIxODQ2Yzk1ZDczMTY0NWQxNTc2NTFhNDMzZWZiNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzg1LDcgKzc4NSw3IEBA
IHN0YXRpYyBTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWFGb3JCb3goUmVuZGVyQm94JiBi
b3gpCiAgICAgcmV0dXJuIGJveC5sYXllcigpOwogfQogICAgIAotc3RhdGljIENvbnRhaW5lck5v
ZGUqIGZpbmRFbmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyKENvbnRhaW5lck5vZGUqIG5vZGUs
IGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZKQorc3RhdGljIENvbnRhaW5lck5vZGUqIGZpbmRF
bmNsb3NpbmdTY3JvbGxhYmxlQ29udGFpbmVyKENvbnRhaW5lck5vZGUqIG5vZGUsIGNvbnN0IFBs
YXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKIHsKICAgICAvLyBGaW5kIHRoZSBmaXJzdCBu
b2RlIHdpdGggYSB2YWxpZCBzY3JvbGxhYmxlIGFyZWEgc3RhcnRpbmcgd2l0aCB0aGUgY3VycmVu
dAogICAgIC8vIG5vZGUgYW5kIHRyYXZlcnNpbmcgaXRzIHBhcmVudHMgKG9yIHNoYWRvdyBob3N0
cykuCkBAIC03OTcsMTQgKzc5NywyMSBAQCBzdGF0aWMgQ29udGFpbmVyTm9kZSogZmluZEVuY2xv
c2luZ1Njcm9sbGFibGVDb250YWluZXIoQ29udGFpbmVyTm9kZSogbm9kZSwgZmxvYQogICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgUmVuZGVyQm94KiBib3ggPSBjYW5kaWRh
dGUtPnJlbmRlckJveCgpOwotICAgICAgICBpZiAoYm94ICYmIGJveC0+Y2FuQmVTY3JvbGxlZEFu
ZEhhc1Njcm9sbGFibGVBcmVhKCkpIHsKLSAgICAgICAgICAgIGlmIChTY3JvbGxhYmxlQXJlYSog
c2Nyb2xsYWJsZUFyZWEgPSBzY3JvbGxhYmxlQXJlYUZvckJveCgqYm94KSkgewotICAgICAgICAg
ICAgICAgIGlmICgoKGRlbHRhWSA+IDApICYmICFzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsZWRUb1Rv
cCgpKSB8fCAoKGRlbHRhWSA8IDApICYmICFzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsZWRUb0JvdHRv
bSgpKQotICAgICAgICAgICAgICAgICAgICB8fCAoKGRlbHRhWCA+IDApICYmICFzY3JvbGxhYmxl
QXJlYS0+c2Nyb2xsZWRUb0xlZnQoKSkgfHwgKChkZWx0YVggPCAwKSAmJiAhc2Nyb2xsYWJsZUFy
ZWEtPnNjcm9sbGVkVG9SaWdodCgpKSkgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2Fu
ZGlkYXRlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAg
ICAgICBpZiAoIWJveCB8fCAhYm94LT5jYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEo
KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICAgICAgYXV0byogc2Nyb2xs
YWJsZUFyZWEgPSBzY3JvbGxhYmxlQXJlYUZvckJveCgqYm94KTsKKyAgICAgICAgaWYgKCFzY3Jv
bGxhYmxlQXJlYSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGlmICh3aGVlbEV2
ZW50LnBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VNYXlCZWdpbiB8fCB3aGVlbEV2
ZW50LnBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDYW5jZWxsZWQpCisgICAgICAg
ICAgICByZXR1cm4gY2FuZGlkYXRlOworCisgICAgICAgIGF1dG8gZGVsdGFYID0gd2hlZWxFdmVu
dC5kZWx0YVgoKTsKKyAgICAgICAgYXV0byBkZWx0YVkgPSB3aGVlbEV2ZW50LmRlbHRhWSgpOwor
ICAgICAgICBpZiAoKGRlbHRhWSA+IDAgJiYgIXNjcm9sbGFibGVBcmVhLT5zY3JvbGxlZFRvVG9w
KCkpIHx8IChkZWx0YVkgPCAwICYmICFzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsZWRUb0JvdHRvbSgp
KQorICAgICAgICAgICAgfHwgKGRlbHRhWCA+IDAgJiYgIXNjcm9sbGFibGVBcmVhLT5zY3JvbGxl
ZFRvTGVmdCgpKSB8fCAoZGVsdGFYIDwgMCAmJiAhc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbGVkVG9S
aWdodCgpKSkKKyAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7CiAgICAgfQogICAgIAogICAg
IHJldHVybiBudWxscHRyOwpAQCAtOTYzLDcgKzk3MCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpk
ZXRlcm1pbmVXaGVlbEV2ZW50VGFyZ2V0KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxF
dmVuCiAgICAgICAgICAgICBzY3JvbGxhYmxlQ29udGFpbmVyID0gd2hlZWxFdmVudFRhcmdldDsK
ICAgICAgICAgICAgIHNjcm9sbGFibGVBcmVhID0gc2Nyb2xsYWJsZUFyZWFGb3JFdmVudFRhcmdl
dCh3aGVlbEV2ZW50VGFyZ2V0LmdldCgpKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
IHNjcm9sbGFibGVDb250YWluZXIgPSBmaW5kRW5jbG9zaW5nU2Nyb2xsYWJsZUNvbnRhaW5lcih3
aGVlbEV2ZW50VGFyZ2V0LmdldCgpLCB3aGVlbEV2ZW50LmRlbHRhWCgpLCB3aGVlbEV2ZW50LmRl
bHRhWSgpKTsKKyAgICAgICAgICAgIHNjcm9sbGFibGVDb250YWluZXIgPSBmaW5kRW5jbG9zaW5n
U2Nyb2xsYWJsZUNvbnRhaW5lcih3aGVlbEV2ZW50VGFyZ2V0LmdldCgpLCB3aGVlbEV2ZW50KTsK
ICAgICAgICAgICAgIGlmIChzY3JvbGxhYmxlQ29udGFpbmVyICYmICFpczxIVE1MSUZyYW1lRWxl
bWVudD4od2hlZWxFdmVudFRhcmdldCkpCiAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEg
PSBzY3JvbGxhYmxlQXJlYUZvckNvbnRhaW5lck5vZGUoKnNjcm9sbGFibGVDb250YWluZXIpOwog
ICAgICAgICAgICAgZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXgg
ZGQxMmNlZWNhMjViYTcyN2ViNjgwNDg4Y2MxZjE1M2E5ZjRhNTc5Yy4uMTBmNTZjMWE3Yjc2OGI2
YWUyOGRkMjFkZDIwOTViZDUxMTMzMzkyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcApAQCAtMTU0LDYgKzE1NCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRW1iZWRkZWRPYmplY3Qu
aCIKICNpbmNsdWRlICJSZW5kZXJMYXllckJhY2tpbmcuaCIKICNpbmNsdWRlICJSZW5kZXJMYXll
ckNvbXBvc2l0b3IuaCIKKyNpbmNsdWRlICJSZW5kZXJMaXN0Qm94LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyTWVudUxpc3QuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJlbmRl
clRyZWVBc1RleHQuaCIKQEAgLTI3NzUsNyArMjc3NiwxMSBAQCBFeGNlcHRpb25PcjxTY3JvbGxh
YmxlQXJlYSo+IEludGVybmFsczo6c2Nyb2xsYWJsZUFyZWFGb3JOb2RlKE5vZGUqIG5vZGUpIGNv
bnN0CiAgICAgICAgIGlmICghZWxlbWVudC5yZW5kZXJCb3goKSkKICAgICAgICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKIAotICAgICAgICBzY3JvbGxhYmxl
QXJlYSA9IGVsZW1lbnQucmVuZGVyQm94KCktPmxheWVyKCk7CisgICAgICAgIGF1dG8mIHJlbmRl
ckJveCA9ICplbGVtZW50LnJlbmRlckJveCgpOworICAgICAgICBpZiAoaXM8UmVuZGVyTGlzdEJv
eD4ocmVuZGVyQm94KSkKKyAgICAgICAgICAgIHNjcm9sbGFibGVBcmVhID0gJmRvd25jYXN0PFJl
bmRlckxpc3RCb3g+KHJlbmRlckJveCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNjcm9s
bGFibGVBcmVhID0gcmVuZGVyQm94LmxheWVyKCk7CiAgICAgfSBlbHNlCiAgICAgICAgIHJldHVy
biBFeGNlcHRpb24geyBJbnZhbGlkTm9kZVR5cGVFcnJvciB9OwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGZlZDE5MjA5
YjBkYmQ3ZjEwOTBlMjE5YmQ5ZTE2MzNhNmU2ZWNkZi4uY2M4MGYyNDhlNzY0YmEzZGI0YmQ1YmM2
ZGM0ZDVjNzdiZGM0ZGEzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA1LTA3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1heUJlZ2luIHdo
ZWVsIGV2ZW50IGluIGEgPHNlbGVjdD4gZG9lc24ndCBmbGFzaCB0aGUgc2Nyb2xsZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE2MDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvc2Nyb2xs
aW5nL21hYy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMv
c2VsZWN0LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xsYmFyLXJl
dmVhbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL21hYy9z
Y3JvbGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwuaHRtbDogQWRkZWQuCisK
IDIwMjAtMDUtMDcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgT3ZlcmZsb3cgc2Nyb2xsZXJzIGluIGlmcmFtZXMgZG9uJ3QgZ2V0IG1vdXNlTW92ZWRJ
bkNvbnRlbnRBcmVhKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21h
Yy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1ob3ZlcmVkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVy
bGF5LXNjcm9sbGJhci1ob3ZlcmVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YTBjNzc1Njg5
MjFmNWUyODRjZjJlYjdhNWE4MjIyOWM1OGFiZTEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xs
YmFyLWhvdmVyZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKKworVGVzdCBob3ZlciBv
dmVyIHRoZSBvdmVybGF5IHNjcm9sbGJhciBvZiBhIHNjcm9sbGluZyBsaXN0CisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlCitlbmFibGVkCitIb3ZlcmluZyB2
ZXJ0aWNhbCBzY3JvbGxiYXIgc2hvdWxkIHNob3cgZXhwYW5kZWQgc2Nyb2xsYmFyCitQQVNTIFNj
cm9sbGJhciBzdGF0ZTogZW5hYmxlZCxleHBhbmRlZCx2aXNpYmxlX3RyYWNrLHZpc2libGVfdGh1
bWIKK1VuaG92ZXJpbmcgdmVydGljYWwgc2Nyb2xsYmFyIHNob3VsZCBoaWRlIGl0CitQQVNTIFRo
dW1iIGFuZCB0cmFjayBoaWRkZW4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9t
YWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3ZlcmxheS1zY3JvbGxiYXItaG92ZXJlZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0LW92ZXJsYXktc2Ny
b2xsYmFyLWhvdmVyZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZjcxYzRiZTNlYjE5OTM0ZjVkZmFlOGFh
MTMwNDM2YzJlM2FjMWEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvbWFjL3Njcm9sbGJhcnMvc2VsZWN0LW92ZXJsYXktc2Nyb2xsYmFyLWhvdmVyZWQuaHRt
bApAQCAtMCwwICsxLDg4IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBpbnRlcm5hbDp1c2VNb2NrU2Nyb2xsYmFycz1mYWxzZSBpbnRlcm5hbDpBc3luY092ZXJm
bG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHls
ZT4KKyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBoZWlnaHQ6IDEwMDBweDsKKyAgICAgICAg
fQorICAgICAgICBzZWxlY3QgeworICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgICAg
ICAgICBmb250LXNpemU6IDEycHQ7CisgICAgICAgICAgICBtYXJnaW46IDEwcHg7CisgICAgICAg
ICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorICAgIAorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5bmMg
PSB0cnVlOworCisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgaW50
ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKKworICAgICAgICBhc3luYyBm
dW5jdGlvbiBkb1Rlc3QoKQorICAgICAgICB7CisgICAgICAgICAgICBkZXNjcmlwdGlvbignVGVz
dCBob3ZlciBvdmVyIHRoZSBvdmVybGF5IHNjcm9sbGJhciBvZiBhIHNjcm9sbGluZyBsaXN0Jyk7
CisgICAgICAgICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgICAgICBm
aW5pc2hKU1Rlc3QoKTsgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdCBzZWxlY3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF07CisgICAgICAgICAgICBj
b25zdCBzZWxlY3RCb3VuZHMgPSBzZWxlY3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAg
ICAgICAgICBjb25zdCB4ID0gc2VsZWN0Qm91bmRzLnJpZ2h0IC0gODsKKyAgICAgICAgICAgIGNv
bnN0IHkgPSBzZWxlY3RCb3VuZHMudG9wICsgMTA7CisKKyAgICAgICAgICAgIGRlYnVnKCdJbml0
aWFsIHN0YXRlJyk7CisgICAgICAgICAgICBkZWJ1ZyhpbnRlcm5hbHMudmVydGljYWxTY3JvbGxi
YXJTdGF0ZShzZWxlY3QpKTsKKworICAgICAgICAgICAgZGVidWcoJ0hvdmVyaW5nIHZlcnRpY2Fs
IHNjcm9sbGJhciBzaG91bGQgc2hvdyBleHBhbmRlZCBzY3JvbGxiYXInKTsKKyAgICAgICAgICAg
IGF3YWl0IFVJSGVscGVyLm1vdXNlV2hlZWxTY3JvbGxBdCh4LCB5KTsKKyAgICAgICAgICAgIGF3
YWl0IFVJSGVscGVyLndhaXRGb3JDb25kaXRpb24oKCkgPT4geworICAgICAgICAgICAgICAgIGxl
dCBzdGF0ZSA9IGludGVybmFscy52ZXJ0aWNhbFNjcm9sbGJhclN0YXRlKHNlbGVjdCk7CisgICAg
ICAgICAgICAgICAgbGV0IGV4cGFuZGVkID0gc3RhdGUuaW5kZXhPZignZXhwYW5kZWQnKSAhPSAt
MTsKKyAgICAgICAgICAgICAgICBpZiAoZXhwYW5kZWQpCisgICAgICAgICAgICAgICAgICAgIHRl
c3RQYXNzZWQoJ1Njcm9sbGJhciBzdGF0ZTogJyArIHN0YXRlKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZXhwYW5kZWQ7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgZGVidWcoJ1Vu
aG92ZXJpbmcgdmVydGljYWwgc2Nyb2xsYmFyIHNob3VsZCBoaWRlIGl0Jyk7CisgICAgICAgICAg
ICBhd2FpdCBVSUhlbHBlci5tb3ZlTW91c2VBbmRXYWl0Rm9yRnJhbWUoeCAtIDEwLCB5KTsKKyAg
ICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdmVNb3VzZUFuZFdhaXRGb3JGcmFtZSh4IC0gMjAs
IHkpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbmRpdGlvbigoKSA9PiB7
CisgICAgICAgICAgICAgICAgbGV0IHN0YXRlID0gaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFy
U3RhdGUoc2VsZWN0KTsKKyAgICAgICAgICAgICAgICBsZXQgdGh1bWJIaWRkZW4gPSBzdGF0ZS5p
bmRleE9mKCd2aXNpYmxlX3RodW1iJykgPT0gLTE7CisgICAgICAgICAgICAgICAgbGV0IHRyYWNr
SGlkZGVuID0gc3RhdGUuaW5kZXhPZigndmlzaWJsZV90cmFjaycpID09IC0xOworICAgICAgICAg
ICAgICAgIGlmICh0aHVtYkhpZGRlbiAmJiB0cmFja0hpZGRlbikKKyAgICAgICAgICAgICAgICAg
ICAgdGVzdFBhc3NlZCgnVGh1bWIgYW5kIHRyYWNrIGhpZGRlbicpOworICAgICAgICAgICAgICAg
IHJldHVybiB0aHVtYkhpZGRlbiAmJiB0cmFja0hpZGRlbjsKKyAgICAgICAgICAgIH0pOworCisg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4geworICAgICAgICAgICAgZG9UZXN0KCk7Cisg
ICAgICAgIH0sIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxz
ZWxlY3Qgc2l6ZT0iNSI+CisgICAgICAgIDxvcHRpb24+SmFudWFyeTwvb3B0aW9uPgorICAgICAg
ICA8b3B0aW9uPkZlYnJ1YXJ5PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+TWFyY2g8L29wdGlv
bj4KKyAgICAgICAgPG9wdGlvbj5BcHJpbDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPk1heTwv
b3B0aW9uPgorICAgICAgICA8b3B0aW9uPkp1bmU8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5K
dWx5PC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+QXVndXN0PC9vcHRpb24+CisgICAgICAgIDxv
cHRpb24+U2VwdGVtYmVyPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+T2N0b2Jlcjwvb3B0aW9u
PgorICAgICAgICA8b3B0aW9uPk5vdmVtYmVyPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+RGVj
ZW1iZXI8L29wdGlvbj4KKyAgICA8L3NlbGVjdD4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3ZlcmxheS1zY3JvbGxiYXItcmV2
ZWFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL21hYy9zY3JvbGxi
YXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI5MGQ0YzU3MDlmZjYxMTk4NGFhNzllYzkwYzVkNTI1NTAyN2Q1N2MKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qt
b3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACisK
K1Rlc3QgbWF5YmVnaW4gYW5kIGNhbmNlbGxlZCBvbiBhIHNjcm9sbGluZyBsaXN0CisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitJbml0aWFsIHN0YXRlCitlbmFibGVkCitNYXlCZWdp
biBzaG91bGQgc2hvdyB0aGUgc2Nyb2xsYmFyCitQQVNTIFNjcm9sbGJhciBzdGF0ZTogZW5hYmxl
ZCx2aXNpYmxlX3RodW1iCitDYW5jZWxsZWQgc2hvdWxkIGhpZGUgdGhlIHNjcm9sbGJhcgorUEFT
UyBTY3JvbGxiYXIgc3RhdGU6IGVuYWJsZWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3ZlcmxheS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9tYWMvc2Nyb2xsYmFycy9zZWxlY3Qtb3Zlcmxh
eS1zY3JvbGxiYXItcmV2ZWFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE5ZDAzMGY4OWU1NDQ3ZmIwZTlk
NmMyZTM4Y2RlMGIyNGVjMjEwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL21hYy9zY3JvbGxiYXJzL3NlbGVjdC1vdmVybGF5LXNjcm9sbGJhci1yZXZlYWwu
aHRtbApAQCAtMCwwICsxLDg3IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBpbnRlcm5hbDp1c2VNb2NrU2Nyb2xsYmFycz1mYWxzZSBpbnRlcm5hbDpBc3luY092
ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxz
dHlsZT4KKyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBoZWlnaHQ6IDEwMDBweDsKKyAgICAg
ICAgfQorICAgICAgICBzZWxlY3QgeworICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAg
ICAgICAgICBmb250LXNpemU6IDEycHQ7CisgICAgICAgICAgICBtYXJnaW46IDEwcHg7CisgICAg
ICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorICAgIAorICAgIDxzY3JpcHQ+CisgICAgICAgIGpzVGVzdElzQXN5
bmMgPSB0cnVlOworICAgICAgICAKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgICBpbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRydWUpOworCisgICAg
ICAgIGFzeW5jIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCdUZXN0IG1heWJlZ2luIGFuZCBjYW5jZWxsZWQgb24gYSBzY3JvbGxpbmcgbGlzdCcp
OworICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdCBzZWxlY3QgPSBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgnc2VsZWN0JylbMF07CisgICAgICAgICAgICBjb25zdCBzZWxlY3RCb3Vu
ZHMgPSBzZWxlY3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICBjb25zdCB4
ID0gc2VsZWN0Qm91bmRzLmxlZnQgKyAxMDsKKyAgICAgICAgICAgIGNvbnN0IHkgPSBzZWxlY3RC
b3VuZHMudG9wICsgMTA7CisKKyAgICAgICAgICAgIGRlYnVnKCdJbml0aWFsIHN0YXRlJyk7Cisg
ICAgICAgICAgICBkZWJ1ZyhpbnRlcm5hbHMudmVydGljYWxTY3JvbGxiYXJTdGF0ZShzZWxlY3Qp
KTsKKworICAgICAgICAgICAgZGVidWcoJ01heUJlZ2luIHNob3VsZCBzaG93IHRoZSBzY3JvbGxi
YXInKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdXNlV2hlZWxNYXlCZWdpbkF0KHgs
IHkpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckNvbmRpdGlvbigoKSA9PiB7
CisgICAgICAgICAgICAgICAgbGV0IHN0YXRlID0gaW50ZXJuYWxzLnZlcnRpY2FsU2Nyb2xsYmFy
U3RhdGUoc2VsZWN0KTsKKyAgICAgICAgICAgICAgICBsZXQgdmlzaWJsZSA9IHN0YXRlLmluZGV4
T2YoJ3Zpc2libGVfdGh1bWInKSAhPSAtMTsKKyAgICAgICAgICAgICAgICBpZiAodmlzaWJsZSkK
KyAgICAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnU2Nyb2xsYmFyIHN0YXRlOiAnICsgc3Rh
dGUpOworICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlOworICAgICAgICAgICAgfSk7CisK
KyAgICAgICAgICAgIGRlYnVnKCdDYW5jZWxsZWQgc2hvdWxkIGhpZGUgdGhlIHNjcm9sbGJhcicp
OworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIubW91c2VXaGVlbENhbmNlbEF0KHgsIHkpOwor
CisgICAgICAgICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHsKKyAg
ICAgICAgICAgICAgICBsZXQgc3RhdGUgPSBpbnRlcm5hbHMudmVydGljYWxTY3JvbGxiYXJTdGF0
ZShzZWxlY3QpOworICAgICAgICAgICAgICAgIGxldCBoaWRkZW4gPSBzdGF0ZS5pbmRleE9mKCd2
aXNpYmxlX3RodW1iJykgPT0gLTE7CisgICAgICAgICAgICAgICAgaWYgKGhpZGRlbikKKyAgICAg
ICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnU2Nyb2xsYmFyIHN0YXRlOiAnICsgc3RhdGUpOwor
ICAgICAgICAgICAgICAgIHJldHVybiBoaWRkZW47CisgICAgICAgICAgICB9KTsKKworICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHsKKyAgICAgICAgICAgIGRvVGVzdCgpOworICAgICAg
ICB9LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2VsZWN0
IHNpemU9IjUiPgorICAgICAgICA8b3B0aW9uPkphbnVhcnk8L29wdGlvbj4KKyAgICAgICAgPG9w
dGlvbj5GZWJydWFyeTwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPk1hcmNoPC9vcHRpb24+Cisg
ICAgICAgIDxvcHRpb24+QXByaWw8L29wdGlvbj4KKyAgICAgICAgPG9wdGlvbj5NYXk8L29wdGlv
bj4KKyAgICAgICAgPG9wdGlvbj5KdW5lPC9vcHRpb24+CisgICAgICAgIDxvcHRpb24+SnVseTwv
b3B0aW9uPgorICAgICAgICA8b3B0aW9uPkF1Z3VzdDwvb3B0aW9uPgorICAgICAgICA8b3B0aW9u
PlNlcHRlbWJlcjwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPk9jdG9iZXI8L29wdGlvbj4KKyAg
ICAgICAgPG9wdGlvbj5Ob3ZlbWJlcjwvb3B0aW9uPgorICAgICAgICA8b3B0aW9uPkRlY2VtYmVy
PC9vcHRpb24+CisgICAgPC9zZWxlY3Q+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>