<?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>210471</bug_id>
          
          <creation_ts>2020-04-13 18:18:52 -0700</creation_ts>
          <short_desc>[Async overflow] Get scroll-snap working with async overflow scrolling on macOS</short_desc>
          <delta_ts>2020-04-13 19:59:35 -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>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>
          
          
          <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>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1641206</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-13 18:18:52 -0700</bug_when>
    <thetext>[Async overflow] Get scroll-snap working with async overflow scrolling on macOS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641207</commentid>
    <comment_count>1</comment_count>
      <attachid>396368</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-13 18:20:19 -0700</bug_when>
    <thetext>Created attachment 396368
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641208</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-13 18:20:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/61643199&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641223</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-13 19:59:34 -0700</bug_when>
    <thetext>Committed r260056: &lt;https://trac.webkit.org/changeset/260056&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396368.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396368</attachid>
            <date>2020-04-13 18:20:19 -0700</date>
            <delta_ts>2020-04-13 19:59:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210471-20200413182018.patch</filename>
            <type>text/plain</type>
            <size>26000</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwMDUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU0YTJjNzA3MGMyMGMy
NGI3MDM1NWZlNjhkODcwMTM2MGFiMjBiMC4uOTRmNDVkMjdmN2JhMWE3YjgxYjlhNzFhNzBkMTBh
OTkxYmYwN2E2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA0LTEzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtBc3luYyBvdmVy
Zmxvd10gR2V0IHNjcm9sbC1zbmFwIHdvcmtpbmcgd2l0aCBhc3luYyBvdmVyZmxvdyBzY3JvbGxp
bmcgb24gbWFjT1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMDQ3MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjE2NDMxOTk+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT2JleSB0aGUgRklYTUUgYW5k
IG1vdmUgc2Nyb2xsLXNuYXAgcmVsYXRlZCBjb2RlIHRvIHRoZSBkZWxlZ2F0ZSBzbyB0aGF0IGl0
IHdvcmtzIGZvcgorICAgICAgICBib3RoIGZyYW1lIGFuZCBvdmVyZmxvdyBub2Rlcy4KKworICAg
ICAgICBUZXN0czogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNu
YXAtbWFuZGF0b3J5LWFzeW5jLW92ZXJmbG93LXN0YXRlbGVzcy5odG1sCisgICAgICAgICAgICAg
ICB0aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRv
cnktYXN5bmMtb3ZlcmZsb3cuaHRtbAorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjb21taXRTdGF0ZUJlZm9yZUNoaWxk
cmVuKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUb0xheW91dFVuaXRzKTogRGVsZXRlZC4K
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUb0xheW91dFVuaXRzKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6
OnVwZGF0ZUZyb21TdGF0ZU5vZGUpOgorCiAyMDIwLTA0LTEzICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBFTkFCTEVfQ1VTVE9NX1NDUk9MTEJB
UlMgYW5kIGRlZmluZSBpdCBmb3IgbWFjT1MgYW5kIGZvciBub24tQ29jb2EgcGxhdGZvcm1zCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4IGI5MWFjOThi
NjVjYWNiZTNjNjJiYmM0YTFhNGUzODczNDMzNThmM2EuLmNjMzE0YWUyMTg0Mjc0ZGQ0NzEzMGUw
ZDY2M2FiMzkyOGI5MTk2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTWFjLm1tCkBAIC01NywyOCArNTcsNiBAQCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTWFjOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjKFNjcm9sbGluZwogCiBT
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjp+U2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZU1hYygpID0gZGVmYXVsdDsKIAotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVAp
Ci1zdGF0aWMgaW5saW5lIFZlY3RvcjxMYXlvdXRVbml0PiBjb252ZXJ0VG9MYXlvdXRVbml0cyhj
b25zdCBWZWN0b3I8ZmxvYXQ+JiBzbmFwT2Zmc2V0c0FzRmxvYXQpCi17Ci0gICAgVmVjdG9yPExh
eW91dFVuaXQ+IHNuYXBPZmZzZXRzOwotICAgIHNuYXBPZmZzZXRzLnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkoc25hcE9mZnNldHNBc0Zsb2F0LnNpemUoKSk7Ci0gICAgZm9yIChhdXRvIG9mZnNldCA6
IHNuYXBPZmZzZXRzQXNGbG9hdCkKLSAgICAgICAgc25hcE9mZnNldHMudW5jaGVja2VkQXBwZW5k
KG9mZnNldCk7Ci0KLSAgICByZXR1cm4gc25hcE9mZnNldHM7Ci19Ci0KLXN0YXRpYyBpbmxpbmUg
VmVjdG9yPFNjcm9sbE9mZnNldFJhbmdlPExheW91dFVuaXQ+PiBjb252ZXJ0VG9MYXlvdXRVbml0
cyhjb25zdCBWZWN0b3I8U2Nyb2xsT2Zmc2V0UmFuZ2U8ZmxvYXQ+PiYgc25hcE9mZnNldFJhbmdl
c0FzRmxvYXQpCi17Ci0gICAgVmVjdG9yPFNjcm9sbE9mZnNldFJhbmdlPExheW91dFVuaXQ+PiBz
bmFwT2Zmc2V0UmFuZ2VzOwotICAgIHNuYXBPZmZzZXRSYW5nZXMucmVzZXJ2ZUluaXRpYWxDYXBh
Y2l0eShzbmFwT2Zmc2V0UmFuZ2VzQXNGbG9hdC5zaXplKCkpOwotICAgIGZvciAoYXV0byByYW5n
ZSA6IHNuYXBPZmZzZXRSYW5nZXNBc0Zsb2F0KQotICAgICAgICBzbmFwT2Zmc2V0UmFuZ2VzLnVu
Y2hlY2tlZEFwcGVuZCh7IExheW91dFVuaXQocmFuZ2Uuc3RhcnQpLCBMYXlvdXRVbml0KHJhbmdl
LmVuZCkgfSk7Ci0KLSAgICByZXR1cm4gc25hcE9mZnNldFJhbmdlczsKLX0KLSNlbmRpZgotCiB2
b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmNvbW1pdFN0YXRlQmVmb3Jl
Q2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJiBzdGF0ZU5vZGUpCiB7CiAgICAgU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Y29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihz
dGF0ZU5vZGUpOwpAQCAtMTExLDIxICs4OSw2IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZU1hYzo6Y29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpCiAK
ICAgICBtX2RlbGVnYXRlLnVwZGF0ZUZyb21TdGF0ZU5vZGUoc2Nyb2xsaW5nU3RhdGVOb2RlKTsK
IAotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCi0gICAgLy8gRklYTUU6IHRoaXMgc2hvdWxk
IG1vdmUgdG8gdGhlIGRlbGVnYXRlIGFuZCBiZSBzaGFyZWQgd2l0aCBvdmVyZmxvdy4KLSAgICBp
ZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZy
YW1lU2Nyb2xsaW5nTm9kZTo6SG9yaXpvbnRhbFNuYXBPZmZzZXRzKSB8fCBzY3JvbGxpbmdTdGF0
ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2Rl
OjpIb3Jpem9udGFsU25hcE9mZnNldFJhbmdlcykpCi0gICAgICAgIG1fZGVsZWdhdGUudXBkYXRl
U2Nyb2xsU25hcFBvaW50cyhTY3JvbGxFdmVudEF4aXM6Okhvcml6b250YWwsIGNvbnZlcnRUb0xh
eW91dFVuaXRzKHNjcm9sbGluZ1N0YXRlTm9kZS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSksIGNv
bnZlcnRUb0xheW91dFVuaXRzKHNjcm9sbGluZ1N0YXRlTm9kZS5ob3Jpem9udGFsU25hcE9mZnNl
dFJhbmdlcygpKSk7Ci0KLSAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9w
ZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6VmVydGljYWxTbmFwT2Zmc2V0
cykgfHwgc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6VmVydGljYWxTbmFwT2Zmc2V0UmFuZ2VzKSkKLSAgICAgICAg
bV9kZWxlZ2F0ZS51cGRhdGVTY3JvbGxTbmFwUG9pbnRzKFNjcm9sbEV2ZW50QXhpczo6VmVydGlj
YWwsIGNvbnZlcnRUb0xheW91dFVuaXRzKHNjcm9sbGluZ1N0YXRlTm9kZS52ZXJ0aWNhbFNuYXBP
ZmZzZXRzKCkpLCBjb252ZXJ0VG9MYXlvdXRVbml0cyhzY3JvbGxpbmdTdGF0ZU5vZGUudmVydGlj
YWxTbmFwT2Zmc2V0UmFuZ2VzKCkpKTsKLQotICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFz
Q2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6Q3VycmVudEhvcml6
b250YWxTbmFwT2Zmc2V0SW5kZXgpKQotICAgICAgICBtX2RlbGVnYXRlLnNldEFjdGl2ZVNjcm9s
bFNuYXBJbmRleEZvckF4aXMoU2Nyb2xsRXZlbnRBeGlzOjpIb3Jpem9udGFsLCBzY3JvbGxpbmdT
dGF0ZU5vZGUuY3VycmVudEhvcml6b250YWxTbmFwUG9pbnRJbmRleCgpKTsKLSAgICAKLSAgICBp
ZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGU6OkN1cnJlbnRWZXJ0aWNhbFNuYXBPZmZzZXRJbmRleCkpCi0gICAgICAgIG1f
ZGVsZWdhdGUuc2V0QWN0aXZlU2Nyb2xsU25hcEluZGV4Rm9yQXhpcyhTY3JvbGxFdmVudEF4aXM6
OlZlcnRpY2FsLCBzY3JvbGxpbmdTdGF0ZU5vZGUuY3VycmVudFZlcnRpY2FsU25hcFBvaW50SW5k
ZXgoKSk7Ci0jZW5kaWYKLQogICAgIG1faGFkRmlyc3RVcGRhdGUgPSB0cnVlOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCmluZGV4IDYwZDdl
ZTIxZTQ1YTExNDFjMmQ5NTAyMmJjYWI1YjJhOGEzNDE1ZGIuLmQ0NWM3ODBiNDI3NDE5YTU4NDE0
NDZiMTM5NmJhMjk5ZjNhNGUwODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlTWFjLm1tCkBAIC00OSw2ICs0OSwyOCBAQCBTY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZURlbGVnYXRlTWFjOjp+U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1h
YygpCiAgICAgcmVsZWFzZVJlZmVyZW5jZXNUb1Njcm9sbGVySW1wc09uVGhlTWFpblRocmVhZCgp
OwogfQogCisjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKK3N0YXRpYyBpbmxpbmUgVmVjdG9y
PExheW91dFVuaXQ+IGNvbnZlcnRUb0xheW91dFVuaXRzKGNvbnN0IFZlY3RvcjxmbG9hdD4mIHNu
YXBPZmZzZXRzQXNGbG9hdCkKK3sKKyAgICBWZWN0b3I8TGF5b3V0VW5pdD4gc25hcE9mZnNldHM7
CisgICAgc25hcE9mZnNldHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShzbmFwT2Zmc2V0c0FzRmxv
YXQuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8gb2Zmc2V0IDogc25hcE9mZnNldHNBc0Zsb2F0KQor
ICAgICAgICBzbmFwT2Zmc2V0cy51bmNoZWNrZWRBcHBlbmQob2Zmc2V0KTsKKworICAgIHJldHVy
biBzbmFwT2Zmc2V0czsKK30KKworc3RhdGljIGlubGluZSBWZWN0b3I8U2Nyb2xsT2Zmc2V0UmFu
Z2U8TGF5b3V0VW5pdD4+IGNvbnZlcnRUb0xheW91dFVuaXRzKGNvbnN0IFZlY3RvcjxTY3JvbGxP
ZmZzZXRSYW5nZTxmbG9hdD4+JiBzbmFwT2Zmc2V0UmFuZ2VzQXNGbG9hdCkKK3sKKyAgICBWZWN0
b3I8U2Nyb2xsT2Zmc2V0UmFuZ2U8TGF5b3V0VW5pdD4+IHNuYXBPZmZzZXRSYW5nZXM7CisgICAg
c25hcE9mZnNldFJhbmdlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNuYXBPZmZzZXRSYW5nZXNB
c0Zsb2F0LnNpemUoKSk7CisgICAgZm9yIChhdXRvIHJhbmdlIDogc25hcE9mZnNldFJhbmdlc0Fz
RmxvYXQpCisgICAgICAgIHNuYXBPZmZzZXRSYW5nZXMudW5jaGVja2VkQXBwZW5kKHsgTGF5b3V0
VW5pdChyYW5nZS5zdGFydCksIExheW91dFVuaXQocmFuZ2UuZW5kKSB9KTsKKworICAgIHJldHVy
biBzbmFwT2Zmc2V0UmFuZ2VzOworfQorI2VuZGlmCisKIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9s
bGluZ05vZGVEZWxlZ2F0ZU1hYzo6dXBkYXRlRnJvbVN0YXRlTm9kZShjb25zdCBTY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGUmIHNjcm9sbGluZ1N0YXRlTm9kZSkKIHsKICAgICBpZiAoc2Nyb2xs
aW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGU6OlBhaW50ZXJGb3JTY3JvbGxiYXIpKSB7CkBAIC01Niw2ICs3OCwyMCBAQCB2b2lkIFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVNYWM6OnVwZGF0ZUZyb21TdGF0ZU5vZGUoY29u
c3QgU2Nyb2xsaW5nUwogICAgICAgICBtX3ZlcnRpY2FsU2Nyb2xsZXJJbXAgPSBzY3JvbGxpbmdT
dGF0ZU5vZGUudmVydGljYWxTY3JvbGxlckltcCgpOwogICAgICAgICBtX2hvcml6b250YWxTY3Jv
bGxlckltcCA9IHNjcm9sbGluZ1N0YXRlTm9kZS5ob3Jpem9udGFsU2Nyb2xsZXJJbXAoKTsKICAg
ICB9CisKKyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQorICAgIGlmIChzY3JvbGxpbmdTdGF0
ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2Rl
OjpIb3Jpem9udGFsU25hcE9mZnNldHMpIHx8IHNjcm9sbGluZ1N0YXRlTm9kZS5oYXNDaGFuZ2Vk
UHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6Okhvcml6b250YWxTbmFw
T2Zmc2V0UmFuZ2VzKSkKKyAgICAgICAgdXBkYXRlU2Nyb2xsU25hcFBvaW50cyhTY3JvbGxFdmVu
dEF4aXM6Okhvcml6b250YWwsIGNvbnZlcnRUb0xheW91dFVuaXRzKHNjcm9sbGluZ1N0YXRlTm9k
ZS5ob3Jpem9udGFsU25hcE9mZnNldHMoKSksIGNvbnZlcnRUb0xheW91dFVuaXRzKHNjcm9sbGlu
Z1N0YXRlTm9kZS5ob3Jpem9udGFsU25hcE9mZnNldFJhbmdlcygpKSk7CisKKyAgICBpZiAoc2Ny
b2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZTo6VmVydGljYWxTbmFwT2Zmc2V0cykgfHwgc2Nyb2xsaW5nU3RhdGVOb2RlLmhh
c0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6VmVydGlj
YWxTbmFwT2Zmc2V0UmFuZ2VzKSkKKyAgICAgICAgdXBkYXRlU2Nyb2xsU25hcFBvaW50cyhTY3Jv
bGxFdmVudEF4aXM6OlZlcnRpY2FsLCBjb252ZXJ0VG9MYXlvdXRVbml0cyhzY3JvbGxpbmdTdGF0
ZU5vZGUudmVydGljYWxTbmFwT2Zmc2V0cygpKSwgY29udmVydFRvTGF5b3V0VW5pdHMoc2Nyb2xs
aW5nU3RhdGVOb2RlLnZlcnRpY2FsU25hcE9mZnNldFJhbmdlcygpKSk7CisKKyAgICBpZiAoc2Ny
b2xsaW5nU3RhdGVOb2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGU6OkN1cnJlbnRIb3Jpem9udGFsU25hcE9mZnNldEluZGV4KSkKKyAgICAgICAgc2V0QWN0
aXZlU2Nyb2xsU25hcEluZGV4Rm9yQXhpcyhTY3JvbGxFdmVudEF4aXM6Okhvcml6b250YWwsIHNj
cm9sbGluZ1N0YXRlTm9kZS5jdXJyZW50SG9yaXpvbnRhbFNuYXBQb2ludEluZGV4KCkpOworICAg
IAorICAgIGlmIChzY3JvbGxpbmdTdGF0ZU5vZGUuaGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZTo6Q3VycmVudFZlcnRpY2FsU25hcE9mZnNldEluZGV4KSkKKyAg
ICAgICAgc2V0QWN0aXZlU2Nyb2xsU25hcEluZGV4Rm9yQXhpcyhTY3JvbGxFdmVudEF4aXM6OlZl
cnRpY2FsLCBzY3JvbGxpbmdTdGF0ZU5vZGUuY3VycmVudFZlcnRpY2FsU25hcFBvaW50SW5kZXgo
KSk7CisjZW5kaWYKIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRl
TWFjOjp1cGRhdGVTY3JvbGxTbmFwUG9pbnRzKFNjcm9sbEV2ZW50QXhpcyBheGlzLCBjb25zdCBW
ZWN0b3I8TGF5b3V0VW5pdD4mIHNuYXBPZmZzZXRzLCBjb25zdCBWZWN0b3I8U2Nyb2xsT2Zmc2V0
UmFuZ2U8TGF5b3V0VW5pdD4+JiBzbmFwUmFuZ2VzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNkMzVhZTE3NGZlY2I1ODZm
YWRjOTYxZTM2ZGIyMDE2NGNkYzVlMmYuLmJhM2I2ZTMzOWQ4N2ZjOGFkYTczZmE2NzE5YWFjOWQ3
MmFmNjA0NTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wNC0xMyAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBbQXN5bmMgb3ZlcmZsb3ddIEdl
dCBzY3JvbGwtc25hcCB3b3JraW5nIHdpdGggYXN5bmMgb3ZlcmZsb3cgc2Nyb2xsaW5nIG9uIG1h
Y09TCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0
NzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYxNjQzMTk5PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENsb25lIHNvbWUgb3ZlcmZsb3cgc2Nyb2xs
LXNuYXAgdGVzdHMsIGFuZCBlbmFibGUgYXN5bmMgc2Nyb2xsaW5nIGZvciB0aGVtLgorCisgICAg
ICAgICogdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFu
ZGF0b3J5LWFzeW5jLW92ZXJmbG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LWFz
eW5jLW92ZXJmbG93LXN0YXRlbGVzcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHRp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1h
c3luYy1vdmVyZmxvdy1zdGF0ZWxlc3MuaHRtbDogQWRkZWQuCisgICAgICAgICogdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LWFzeW5jLW92
ZXJmbG93Lmh0bWw6IEFkZGVkLgorCiAyMDIwLTA0LTEzICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRw
aW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV1BFXSBHYXJkZW5pbmcsIHVwZGF0ZSBl
eHBlY3RhdGlvbnMgYWZ0ZXIgcjI2MDAxNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQt
ZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LWFzeW5j
LW92ZXJmbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1hc3luYy1vdmVyZmxvdy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2E3NzJhYWIyZTVjZDBmMDM0MThkZTI0ODFmMjA4NmJiNmU3
YTJjZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL3Njcm9sbC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1hc3luYy1vdmVyZmxvdy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdHMgdGhhdCB0aGUgc2Nyb2xsLXNuYXAgZmVh
dHVyZSB3b3JrcyBwcm9wZXJseSBpbiBvdmVyZmxvdyByZWdpb25zLgorIFRlc3Rpbmcgc2Nyb2xs
LXNuYXAgZ2xpZGUgZm9yIGhvcml6b250YWxUYXJnZXQ6CitQQVNTIGRpdiBzY3JvbGxlZCB0byBu
ZXh0IHdpbmRvdy4KK1Rlc3Rpbmcgc2Nyb2xsLXNuYXAgc25hcCBmb3IgaG9yaXpvbnRhbFRhcmdl
dDoKK1BBU1MgZGl2IGhvbm9yZWQgc25hcCBwb2ludHMuCitUZXN0aW5nIHNjcm9sbC1zbmFwIGds
aWRlIGZvciB2ZXJ0aWNhbFRhcmdldDoKK1BBU1MgZGl2IHNjcm9sbGVkIHRvIG5leHQgd2luZG93
LgorVGVzdGluZyBzY3JvbGwtc25hcCBzbmFwIGZvciB2ZXJ0aWNhbFRhcmdldDoKK1BBU1MgZGl2
IGhvbm9yZWQgc25hcCBwb2ludHMuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LWFzeW5jLW92ZXJmbG93
LXN0YXRlbGVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9s
bGluZy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktYXN5bmMtb3ZlcmZsb3ctc3Rh
dGVsZXNzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMmI4YmU5NWU5ZGFjNzNiYTE4NTFkYTdh
ZDE2MGIzNzY5MmY5ZmY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LWFzeW5jLW92
ZXJmbG93LXN0YXRlbGVzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUZXN0cyB0aGF0
IHRoZSBzY3JvbGwtc25hcCBmZWF0dXJlIHdvcmtzIHByb3Blcmx5IGluIG92ZXJmbG93IHJlZ2lv
bnMgd2hlbiB1c2luZyBhIG1lY2hhbmljYWwgbW91c2Ugd2hlZWwuCisgUEFTUyBkaXYgaG9ub3Jl
ZCBzbmFwIHBvaW50cy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktYXN5bmMtb3ZlcmZsb3ctc3RhdGVs
ZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9zY3JvbGwtc25h
cC9zY3JvbGwtc25hcC1tYW5kYXRvcnktYXN5bmMtb3ZlcmZsb3ctc3RhdGVsZXNzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjExNTY0ZmE3ZGRkYzNhZTcwMDU0NGJjY2IxMzkxOWYwNGE4OGViNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9sbC1z
bmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS1hc3luYy1vdmVyZmxvdy1zdGF0ZWxlc3MuaHRtbApA
QCAtMCwwICsxLDk5IEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBpbnRlcm5hbDpBc3luY092ZXJmbG93U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLmdhbGxlcnkgewor
ICAgICAgICAgICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDQw
MHB4OworICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgICAgICAg
ICAgICBvdmVyZmxvdy14OiBoaWRkZW47CisgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0
bzsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIC5jb2xvckJveCB7CisgICAgICAgICAgICAgICAgaGVpZ2h0
OiA0MDBweDsKKyAgICAgICAgICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgICAgICAgICAg
c2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgI2l0
ZW0wLCAjaXRlbTIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKyAgICAgICAgICAgICNpdGVt
MSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
ICAgICAgICBmdW5jdGlvbiBsb2NhdGlvbkluV2luZG93Q29vcmRpbmF0ZXMoZWxlbWVudCkKKyAg
ICAgICAgeworICAgICAgICAgICAgdmFyIHBvc2l0aW9uID0ge307CisgICAgICAgICAgICBwb3Np
dGlvbi54ID0gZWxlbWVudC5vZmZzZXRMZWZ0OworICAgICAgICAgICAgcG9zaXRpb24ueSA9IGVs
ZW1lbnQub2Zmc2V0VG9wOworCisgICAgICAgICAgICB3aGlsZSAoZWxlbWVudC5vZmZzZXRQYXJl
bnQpIHsKKyAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gcG9zaXRpb24ueCArIGVsZW1lbnQu
b2Zmc2V0UGFyZW50Lm9mZnNldExlZnQ7CisgICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9IHBv
c2l0aW9uLnkgKyBlbGVtZW50Lm9mZnNldFBhcmVudC5vZmZzZXRUb3A7CisgICAgICAgICAgICAg
ICAgaWYgKGVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVsw
XSkKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBlbGVtZW50
ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQ7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJl
dHVybiBwb3NpdGlvbjsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHNjcm9sbFNuYXBU
ZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGRpdlRhcmdldCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgICAgICAgICAgIHZhciB3aW5kb3dQb3NpdGlvbiA9
IGxvY2F0aW9uSW5XaW5kb3dDb29yZGluYXRlcyhkaXZUYXJnZXQpOworCisgICAgICAgICAgICB2
YXIgc3RhcnRQb3NYID0gd2luZG93UG9zaXRpb24ueCArIDAuNSAqIGRpdlRhcmdldC5jbGllbnRX
aWR0aDsKKyAgICAgICAgICAgIHZhciBzdGFydFBvc1kgPSB3aW5kb3dQb3NpdGlvbi55ICsgMC41
ICogZGl2VGFyZ2V0LmNsaWVudEhlaWdodDsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKHN0YXJ0UG9zWCwgc3RhcnRQb3NZKTsKKyAgICAgICAgICAgIC8vIEVhY2ggdW5pdCBv
ZiBzdGF0ZWxlc3Mgc2Nyb2xsIGlzIHNjYWxlZCBieSAxMCBwaXhlbHMuCisgICAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEw
LCAibm9uZSIsICJub25lIik7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgLTEwLCAibm9uZSIsICJub25lIik7CisgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFz
ZXMoMCwgLTEwLCAibm9uZSIsICJub25lIik7CisgICAgICAgICAgICAvLyBXYWl0IGZvciB0aGUg
c25hcHBpbmcgdG8gZmluaXNoLgorICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgICBpZiAoZGl2VGFyZ2V0LnNjcm9sbFRvcCAhPSA0MDApCisgICAgICAg
ICAgICAgICAgICAgIHRlc3RGYWlsZWQoImRpdiBkaWQgbm90IHNuYXAgdG8gdGhlIGdyZWVuIHJl
Z2lvbi4gRXhwZWN0ZWQgNDAwLCBidXQgZ290ICIgKyBkaXZUYXJnZXQuc2Nyb2xsVG9wICsgIi4i
KTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQo
ImRpdiBob25vcmVkIHNuYXAgcG9pbnRzLiIpOworCisgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICB9LCAyMDAwKTsKKyAgICAgICAgfQorCisKKyAgICAgICAgZnVu
Y3Rpb24gb25Mb2FkKCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikgeworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2ZW50cygp
OworICAgICAgICAgICAgICAgIGludGVybmFscy5zZXRQbGF0Zm9ybU1vbWVudHVtU2Nyb2xsaW5n
UHJlZGljdGlvbkVuYWJsZWQoZmFsc2UpOworICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoc2Ny
b2xsU25hcFRlc3QsIDApOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB2
YXIgbWVzc2FnZUxvY2F0aW9uSCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpdGVtMCIpOwor
ICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CisgICAgICAgICAgICAgICAgbWVzc2FnZS5pbm5lckhUTUwgPSAiVGhpcyB0ZXN0IGlzIGJl
dHRlciBydW4gdW5kZXIgRHVtcFJlbmRlclRyZWUuIFRvIG1hbnVhbGx5PGJyLz4iCisgICAgICAg
ICAgICAgICAgICAgICsgInRlc3QgaXQsIHBsYWNlIHRoZSBtb3VzZSBwb2ludGVyIGluc2lkZSB0
aGUgcmVkIHJlZ2lvbiBhdCB0aGU8YnIvPiIKKyAgICAgICAgICAgICAgICAgICAgKyAidG9wIG9m
IHRoZSBwYWdlLCBhbmQgdGhlbiwgdXNpbmcgYSBtZWNoYW5pY2FsIG1vdXNlIHdoZWVsLDxici8+
IgorICAgICAgICAgICAgICAgICAgICArICJzY3JvbGwgc28gdGhhdCB0aGUgZ3JlZW4gcmVnaW9u
IHRha2VzIHVwIG1vcmUgb2YgdGhlPGJyLz4iCisgICAgICAgICAgICAgICAgICAgICsgImNvbnRh
aW5lciB0aGFuIHRoZSBzdXJyb3VuZGluZyByZWQgcmVnaW9ucy4gQWZ0ZXIgYSBicmllZjxici8+
IgorICAgICAgICAgICAgICAgICAgICArICJwYXVzZSwgdGhlIHRhcmdldCBzaG91bGQgc2Nyb2xs
IHNvIHRoYXQgdGhlIGdyZWVuIHJlZ2lvbiBpczxici8+IgorICAgICAgICAgICAgICAgICAgICAr
ICJmdWxseSB2aXNpYmxlLCBhbmQgbm8gcmVkIGlzIHZpc2libGUuIjsKKyAgICAgICAgICAgICAg
ICBtZXNzYWdlTG9jYXRpb25ILmFwcGVuZENoaWxkKG1lc3NhZ2UpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxv
YWQ9Im9uTG9hZCgpOyI+CisgICAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsg
d2lkdGg6IDQwMHB4Ij4KKyAgICAgICAgICAgIDxkaXY+VGVzdHMgdGhhdCB0aGUgc2Nyb2xsLXNu
YXAgZmVhdHVyZSB3b3JrcyBwcm9wZXJseSBpbiBvdmVyZmxvdyByZWdpb25zIHdoZW4gdXNpbmcg
YSBtZWNoYW5pY2FsIG1vdXNlIHdoZWVsLjwvZGl2PgorICAgICAgICAgICAgPGRpdiBjbGFzcz0i
Z2FsbGVyeSIgaWQ9InRhcmdldCI+CisgICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRlbTAiIGNs
YXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRlbTEiIGNs
YXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRlbTIiIGNs
YXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xsLXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5
LWFzeW5jLW92ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9zY3JvbGwtc25hcC9zY3JvbGwtc25hcC1tYW5kYXRvcnktYXN5bmMtb3ZlcmZsb3cuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mNTZiNGZhNjllYzcwN2RjMmVjMThlNDc4MWRkMjQ4MDBmYWQyMWNkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvc2Nyb2xs
LXNuYXAvc2Nyb2xsLXNuYXAtbWFuZGF0b3J5LWFzeW5jLW92ZXJmbG93Lmh0bWwKQEAgLTAsMCAr
MSwyMTggQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVy
bmFsOkFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorICAg
IDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAuaG9yaXpvbnRhbEdhbGxlcnkg
eworICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6
IDMwMHB4OworICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsKKyAgICAgICAgICAg
ICAgICBvdmVyZmxvdy14OiBhdXRvOworICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJw
eDsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIC5ob3Jpem9udGFsR2FsbGVyeURyYXdlciB7CisgICAgICAg
ICAgICAgICAgd2lkdGg6IDE4MDBweDsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwMHB4Owor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgLnZlcnRpY2FsR2FsbGVyeSB7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDMwMHB4OworICAgICAgICAgICAgICAgIGhlaWdodDogMzAwcHg7CisgICAg
ICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgICAgICAgICAgIG92ZXJm
bG93LXg6IGhpZGRlbjsKKyAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOworICAgICAg
ICAgICAgICAgIG1hcmdpbi10b3A6IDJweDsKKyAgICAgICAgICAgICAgICBzY3JvbGwtc25hcC10
eXBlOiB5IG1hbmRhdG9yeTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC52ZXJ0aWNhbEdh
bGxlcnlEcmF3ZXIgeworICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgICAg
ICAgICBoZWlnaHQ6IDE4MDBweDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC5jb2xvckJv
eCB7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMzAwcHg7CisgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7CisgICAgICAgICAgICAgICAg
c2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgI2l0
ZW1IMCwgI2l0ZW1WMCB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgI2l0
ZW1IMSwgI2l0ZW1WMSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAgICAgICAj
aXRlbUgyLCAjaXRlbVYyIHsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsgfQorICAgICAgICAgICAg
I2l0ZW1IMywgI2l0ZW1WMyB7IGJhY2tncm91bmQtY29sb3I6IGFxdWE7IH0KKyAgICAgICAgICAg
ICNpdGVtSDQsICNpdGVtVjQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7IH0KKyAgICAgICAg
ICAgICNpdGVtSDUsICNpdGVtVjUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBmdWNoc2lhOyB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgIHdpbmRvdy5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworICAgICAgICB2YXIgZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmVH
bGlkZTsKKyAgICAgICAgdmFyIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlU25hcDsKKworICAgICAg
ICBmdW5jdGlvbiBsb2NhdGlvbkluV2luZG93Q29vcmRpbmF0ZXMoZWxlbWVudCkKKyAgICAgICAg
eworICAgICAgICAgICAgdmFyIHBvc2l0aW9uID0ge307CisgICAgICAgICAgICBwb3NpdGlvbi54
ID0gZWxlbWVudC5vZmZzZXRMZWZ0OworICAgICAgICAgICAgcG9zaXRpb24ueSA9IGVsZW1lbnQu
b2Zmc2V0VG9wOworCisgICAgICAgICAgICB3aGlsZSAoZWxlbWVudC5vZmZzZXRQYXJlbnQpIHsK
KyAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gcG9zaXRpb24ueCArIGVsZW1lbnQub2Zmc2V0
UGFyZW50Lm9mZnNldExlZnQ7CisgICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9IHBvc2l0aW9u
LnkgKyBlbGVtZW50Lm9mZnNldFBhcmVudC5vZmZzZXRUb3A7CisgICAgICAgICAgICAgICAgaWYg
KGVsZW1lbnQgPT0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSkKKyAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICBlbGVtZW50ID0gZWxl
bWVudC5vZmZzZXRQYXJlbnQ7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiBw
b3NpdGlvbjsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xsU25h
cCh0YXJnZXRMYWJlbCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGRpdlRhcmdldCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldExhYmVsKTsKKworICAgICAgICAgICAgdmFyIGFj
dHVhbFBvc2l0aW9uID0gZGl2VGFyZ2V0LnNjcm9sbFRvcDsKKyAgICAgICAgICAgIGlmICh0YXJn
ZXRMYWJlbCA9PSAnaG9yaXpvbnRhbFRhcmdldCcpCisgICAgICAgICAgICAgICAgYWN0dWFsUG9z
aXRpb24gPSBkaXZUYXJnZXQuc2Nyb2xsTGVmdDsKKworICAgICAgICAgICAgLy8gVGhlIGRpdiBz
aG91bGQgaGF2ZSBzbmFwcGVkIGJhY2sgdG8gdGhlIHByZXZpb3VzIHBvc2l0aW9uCisgICAgICAg
ICAgICBpZiAoYWN0dWFsUG9zaXRpb24gIT0gZGl2U2Nyb2xsUG9zaXRpb25CZWZvcmVTbmFwKQor
ICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoImRpdiBkaWQgbm90IHNuYXAgYmFjayB0byBwcm9w
ZXIgbG9jYXRpb24gZm9yICIgKyB0YXJnZXRMYWJlbCArIi4gRXhwZWN0ZWQgIiArIGRpdlNjcm9s
bFBvc2l0aW9uQmVmb3JlU25hcCArICIsIGJ1dCBnb3QgIiArIGFjdHVhbFBvc2l0aW9uKTsKKyAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJkaXYgaG9ub3JlZCBz
bmFwIHBvaW50cy4iKTsKKworICAgICAgICAgICAgaWYgKHRhcmdldExhYmVsID09ICdob3Jpem9u
dGFsVGFyZ2V0JykKKyAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBzY3Jv
bGxHbGlkZVRlc3QoJ3ZlcnRpY2FsVGFyZ2V0JykgfSwgMCk7CisgICAgICAgICAgICBlbHNlICAg
CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0KKworICAgICAgICBm
dW5jdGlvbiBzY3JvbGxTbmFwVGVzdCh0YXJnZXRMYWJlbCkKKyAgICAgICAgeworICAgICAgICAg
ICAgZGVidWcoIlRlc3Rpbmcgc2Nyb2xsLXNuYXAgc25hcCBmb3IgIiArIHRhcmdldExhYmVsICsg
IjoiKTsKKyAgICAgICAgICAgIHZhciBkaXZUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCh0YXJnZXRMYWJlbCk7CisgCisgICAgICAgICAgICB2YXIgZHggPSAwOworICAgICAgICAgICAg
dmFyIGR5ID0gMDsKKyAgICAgICAgICAgIGlmICh0YXJnZXRMYWJlbCA9PSAnaG9yaXpvbnRhbFRh
cmdldCcpIHsKKyAgICAgICAgICAgICAgICBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZVNuYXAgPSBk
aXZUYXJnZXQuc2Nyb2xsTGVmdDsKKyAgICAgICAgICAgICAgICBkeCA9IC0xOworICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZVNuYXAg
PSBkaXZUYXJnZXQuc2Nyb2xsVG9wOworICAgICAgICAgICAgICAgIGR5ID0gLTE7CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIHZhciB3aW5kb3dQb3NpdGlvbiA9IGxvY2F0aW9uSW5XaW5k
b3dDb29yZGluYXRlcyhkaXZUYXJnZXQpOworCisgICAgICAgICAgICB2YXIgc3RhcnRQb3NYID0g
d2luZG93UG9zaXRpb24ueCArIDAuNSAqIGRpdlRhcmdldC5jbGllbnRXaWR0aDsKKyAgICAgICAg
ICAgIHZhciBzdGFydFBvc1kgPSB3aW5kb3dQb3NpdGlvbi55ICsgMC41ICogZGl2VGFyZ2V0LmNs
aWVudEhlaWdodDsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2ZW50cygp
OworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRQb3NYLCBzdGFydFBv
c1kpOyAvLyBNYWtlIHN1cmUgd2UgYXJlIGp1c3Qgb3V0c2lkZSB0aGUgaUZyYW1lCisgICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
ZHgsIGR5LCAnYmVnYW4nLCAnbm9uZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VT
Y3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKGR4LCBkeSwgJ2NoYW5nZWQnLCAnbm9u
ZScpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKGR4LCBkeSwgJ2NoYW5nZWQnLCAnbm9uZScpOworICAgICAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDAsICdl
bmRlZCcsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5jYWxsQWZ0ZXJTY3JvbGxp
bmdDb21wbGV0ZXMoZnVuY3Rpb24oKSB7IHJldHVybiBjaGVja0ZvclNjcm9sbFNuYXAodGFyZ2V0
TGFiZWwpOyB9KTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGNoZWNrRm9yU2Nyb2xs
R2xpZGUodGFyZ2V0TGFiZWwpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBkaXZUYXJnZXQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRMYWJlbCk7CisKKyAgICAgICAgICAgIHZh
ciBhY3R1YWxQb3NpdGlvbiA9IGRpdlRhcmdldC5zY3JvbGxUb3A7CisgICAgICAgICAgICB2YXIg
ZXhwZWN0ZWRQb3NpdGlvbiA9IGRpdlRhcmdldC5jbGllbnRIZWlnaHQ7CisgICAgICAgICAgICBp
ZiAodGFyZ2V0TGFiZWwgPT0gJ2hvcml6b250YWxUYXJnZXQnKSB7CisgICAgICAgICAgICAgICAg
YWN0dWFsUG9zaXRpb24gPSBkaXZUYXJnZXQuc2Nyb2xsTGVmdDsKKyAgICAgICAgICAgICAgICBl
eHBlY3RlZFBvc2l0aW9uID0gZGl2VGFyZ2V0LmNsaWVudFdpZHRoOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAvLyBUaGUgZGl2IHNob3VsZCBoYXZlIHNjcm9sbGVkIChnbGlkZWQpIHRv
IHRoZSBuZXh0IHNuYXAgcG9pbnQuCisgICAgICAgICAgICBpZiAoYWN0dWFsUG9zaXRpb24gPT0g
ZXhwZWN0ZWRQb3NpdGlvbikKKyAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCJkaXYgc2Nyb2xs
ZWQgdG8gbmV4dCB3aW5kb3cuIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgiZGl2IGRpZCBub3QgaG9ub3Igc25hcCBwb2ludHMuIEV4cGVjdGVkICIgKyBl
eHBlY3RlZFBvc2l0aW9uICsgIiwgYnV0IGdvdCAiICsgYWN0dWFsUG9zaXRpb24pOworCisgICAg
ICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBzY3JvbGxTbmFwVGVzdCh0YXJnZXRMYWJl
bCkgfSwgMCk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBzY3JvbGxHbGlkZVRlc3Qo
dGFyZ2V0TGFiZWwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlYnVnKCJUZXN0aW5nIHNjcm9s
bC1zbmFwIGdsaWRlIGZvciAiICsgdGFyZ2V0TGFiZWwgKyAiOiIpOworICAgICAgICAgICAgdmFy
IGRpdlRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldExhYmVsKTsKKyAKKyAg
ICAgICAgICAgIHZhciBkeCA9IDA7CisgICAgICAgICAgICB2YXIgZHkgPSAwOworICAgICAgICAg
ICAgaWYgKHRhcmdldExhYmVsID09ICdob3Jpem9udGFsVGFyZ2V0JykgeworICAgICAgICAgICAg
ICAgIGRpdlNjcm9sbFBvc2l0aW9uQmVmb3JlR2xpZGUgPSBkaXZUYXJnZXQuc2Nyb2xsTGVmdDsK
KyAgICAgICAgICAgICAgICBkeCA9IC0xOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBkaXZTY3JvbGxQb3NpdGlvbkJlZm9yZUdsaWRlID0gZGl2VGFyZ2V0LnNjcm9sbFRv
cDsKKyAgICAgICAgICAgICAgICBkeSA9IC0xOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICB2YXIgd2luZG93UG9zaXRpb24gPSBsb2NhdGlvbkluV2luZG93Q29vcmRpbmF0ZXMoZGl2VGFy
Z2V0KTsKKworICAgICAgICAgICAgdmFyIHN0YXJ0UG9zWCA9IHdpbmRvd1Bvc2l0aW9uLnggKyAw
LjUgKiBkaXZUYXJnZXQuY2xpZW50V2lkdGg7CisgICAgICAgICAgICB2YXIgc3RhcnRQb3NZID0g
d2luZG93UG9zaXRpb24ueSArIDAuNSAqIGRpdlRhcmdldC5jbGllbnRIZWlnaHQ7CisgICAgICAg
ICAgICBldmVudFNlbmRlci5tb25pdG9yV2hlZWxFdmVudHMoKTsKKyAgICAgICAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0UG9zWCwgc3RhcnRQb3NZKTsKKyAgICAgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcyhkeCwgZHks
ICdiZWdhbicsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoZHgsIGR5LCAnY2hhbmdlZCcsICdub25lJyk7Cisg
ICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1Q
aGFzZXMoZHgsIGR5LCAnY2hhbmdlZCcsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRl
ci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoZHgsIGR5LCAnY2hhbmdl
ZCcsICdub25lJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdo
ZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMCwgJ2VuZGVkJywgJ25vbmUnKTsKKyAgICAgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcyhkeCwg
ZHksICdub25lJywgJ2JlZ2luJyk7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9s
bEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoZHgsIGR5LCAnbm9uZScsICdjb250aW51ZScp
OworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVu
dHVtUGhhc2VzKDAsIDAsICdub25lJywgJ2VuZCcpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIu
Y2FsbEFmdGVyU2Nyb2xsaW5nQ29tcGxldGVzKGZ1bmN0aW9uKCkgeyByZXR1cm4gY2hlY2tGb3JT
Y3JvbGxHbGlkZSh0YXJnZXRMYWJlbCk7IH0pOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rp
b24gb25Mb2FkKCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRl
cikgeworICAgICAgICAgICAgICAgIGludGVybmFscy5zZXRQbGF0Zm9ybU1vbWVudHVtU2Nyb2xs
aW5nUHJlZGljdGlvbkVuYWJsZWQoZmFsc2UpOworICAgICAgICAgICAgICAgIHNldFRpbWVvdXQo
ZnVuY3Rpb24oKSB7IHNjcm9sbEdsaWRlVGVzdCgnaG9yaXpvbnRhbFRhcmdldCcpIH0sIDApOwor
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZUxvY2F0aW9u
SCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpdGVtSDAnKTsKKyAgICAgICAgICAgICAgICB2
YXIgbWVzc2FnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAg
ICAgIG1lc3NhZ2UuaW5uZXJIVE1MID0gIjxwPlRoaXMgdGVzdCBpcyBiZXR0ZXIgcnVuIHVuZGVy
IER1bXBSZW5kZXJUcmVlLjxici8+VG8gbWFudWFsbHkgdGVzdCBpdCwgcGxhY2UgdGhlIG1vdXNl
IHBvaW50ZXI8YnIvPiIKKyAgICAgICAgICAgICAgICAgICAgKyAiaW5zaWRlIHRoZSByZWQgcmVn
aW9uIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UsPGJyLz5hbmQgdGhlbiB1c2UgdGhlIG1vdXNlIHdo
ZWVsIG9yIGEgdHdvLWZpbmdlcjxici8+c3dpcGUgdG8gbWFrZSBhIgorICAgICAgICAgICAgICAg
ICAgICArICJzbWFsbCBzd2lwZSBnZXN0dXJlIHdpdGg8YnIvPnNvbWUgbW9tZW50dW0uPGJyLz48
YnIvPiIKKyAgICAgICAgICAgICAgICAgICAgKyAiVGhlIHJlZ2lvbiBzaG91bGQgc2Nyb2xsIHRv
IHNob3cgYSBncmVlbiByZWdpb24uPGJyLz48YnIvPiIKKyAgICAgICAgICAgICAgICAgICAgKyAi
TmV4dCwgcGVyZm9ybSBhIHNtYWxsIHNjcm9sbCBnZXN0dXJlIHRoYXQgZG9lczxici8+bm90IGlu
dm9sdmUgbW9tZW50dW0uIFlvdSBzaG91bGQgYmVnaW4gdG88YnIvPnNlZSBvbmUgb2YgdGhlIGNv
bG9ycyAiCisgICAgICAgICAgICAgICAgICAgICsgInRvIHRoZSBzaWRlIG9mIHRoZSBjdXJyZW50
PGJyLz5ncmVlbiBib3guIFdoZW4geW91IHJlbGVhc2UgdGhlIHdoZWVsLCB0aGU8YnIvPnJlZ2lv
biBzaG91bGQgc2Nyb2xsIGJhY2sgdG8gYSBzaW5nbGUgY29sb3IuIjsKKyAgICAgICAgICAgICAg
ICBtZXNzYWdlTG9jYXRpb25ILmFwcGVuZENoaWxkKG1lc3NhZ2UpOworCisgICAgICAgICAgICAg
ICAgdmFyIG1lc3NhZ2VMb2NhdGlvblYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaXRlbVYw
Jyk7CisgICAgICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKKyAgICAgICAgICAgICAgICBtZXNzYWdlLmlubmVySFRNTCA9ICI8cD5Zb3Ugc2hv
dWxkIGFsc28gYmUgYWJsZSB0byByZXBlYXQgdGhlc2UgdGVzdHMgc3RlcHMgZm9yIHRoaXMgdmVy
dGljYWwgcmVnaW9uLjxici8+IgorICAgICAgICAgICAgICAgIG1lc3NhZ2VMb2NhdGlvblYuYXBw
ZW5kQ2hpbGQobWVzc2FnZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0ib25Mb2FkKCk7Ij4KKyAgICAg
ICAgPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMzAwcHgiPgorICAgICAg
ICAgICAgPGRpdj5UZXN0cyB0aGF0IHRoZSBzY3JvbGwtc25hcCBmZWF0dXJlIHdvcmtzIHByb3Bl
cmx5IGluIG92ZXJmbG93IHJlZ2lvbnMuPC9kaXY+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJo
b3Jpem9udGFsR2FsbGVyeSIgaWQ9Imhvcml6b250YWxUYXJnZXQiPgorICAgICAgICAgICAgICAg
IDxkaXYgY2xhc3M9Imhvcml6b250YWxHYWxsZXJ5RHJhd2VyIj4KKyAgICAgICAgICAgICAgICAg
ICAgPGRpdiBpZD0iaXRlbUgwIiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgorICAgICAgICAgICAg
ICAgICAgICA8ZGl2IGlkPSJpdGVtSDEiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAgICAg
ICAgICAgICAgICAgIDxkaXYgaWQ9Iml0ZW1IMiIgY2xhc3M9ImNvbG9yQm94Ij48L2Rpdj4KKyAg
ICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRlbUgzIiBjbGFzcz0iY29sb3JCb3giPjwvZGl2
PgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtSDQiIGNsYXNzPSJjb2xvckJveCI+
PC9kaXY+CisgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Iml0ZW1INSIgY2xhc3M9ImNvbG9y
Qm94Ij48L2Rpdj4KKyAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2Pgor
ICAgICAgICAgICAgPGRpdiBjbGFzcz0idmVydGljYWxHYWxsZXJ5IiBpZD0idmVydGljYWxUYXJn
ZXQiPgorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZlcnRpY2FsR2FsbGVyeURyYXdlciI+
CisgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Iml0ZW1WMCIgY2xhc3M9ImNvbG9yQm94Ij48
L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRlbVYxIiBjbGFzcz0iY29sb3JC
b3giPjwvZGl2PgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJpdGVtVjIiIGNsYXNzPSJj
b2xvckJveCI+PC9kaXY+CisgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Iml0ZW1WMyIgY2xh
c3M9ImNvbG9yQm94Ij48L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iaXRlbVY0
IiBjbGFzcz0iY29sb3JCb3giPjwvZGl2PgorICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJp
dGVtVjUiIGNsYXNzPSJjb2xvckJveCI+PC9kaXY+CisgICAgICAgICAgICAgICAgPC9kaXY+Cisg
ICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>