<?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>183404</bug_id>
          
          <creation_ts>2018-03-07 04:20:48 -0800</creation_ts>
          <short_desc>[GTK][WPE] Leak checker is not working in WebKitGLib web process tests</short_desc>
          <delta_ts>2018-03-07 22:35:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>Gtk, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>lforschler</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1404312</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-03-07 04:20:48 -0800</bug_when>
    <thetext>This might have regressed when we started to use the JSC garbage collector timers. The thing is that we expect that the WebProcessTester object that we expose to JavaScript is released when the web frame is destroyed, but that&apos;s no longer the case. On window object cleared a GC is scheduled, but JSC timers do the actual garbage collection later. In the case of tests that never happens because the web process finishes quickly after the test. We need to force a garbage collection at some point when the web page is destroyed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404313</commentid>
    <comment_count>1</comment_count>
      <attachid>335184</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-03-07 04:34:52 -0800</bug_when>
    <thetext>Created attachment 335184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404314</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-03-07 04:36:36 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404617</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-03-07 22:34:48 -0800</bug_when>
    <thetext>Committed r229395: &lt;https://trac.webkit.org/changeset/229395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404618</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-07 22:35:46 -0800</bug_when>
    <thetext>&lt;rdar://problem/38250675&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335184</attachid>
            <date>2018-03-07 04:34:52 -0800</date>
            <delta_ts>2018-03-07 10:01:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-web-process-leaks.diff</filename>
            <type>text/plain</type>
            <size>26707</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNWZjOTRlZmU1OWEuLjExOGE3N2RkNDkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE4IEBACisyMDE4LTAzLTA3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIExlYWsgY2hlY2tlciBpcyBub3Qgd29ya2luZyBp
biBXZWJLaXRHTGliIHdlYiBwcm9jZXNzIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM0MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgcHJpdmF0ZSBoZWxwZXIgZm9yIHRlc3RpbmcgdG8g
ZG8gYSBnYXJiYWdlIGNvbGxlY3Rpb24gd2hlbiB0aGUgcGFnZSBpcyBjbG9zaW5nLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9XZWJLaXRXZWJFeHRlbnNp
b24uY3BwOgorICAgICAgICAod2Via2l0V2ViRXh0ZW5zaW9uU2V0R2FyYmFnZUNvbGxlY3RPblBh
Z2VEZXN0cm95KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGli
L1dlYktpdFdlYkV4dGVuc2lvblByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9ndGsvRE9NL1dlYktpdERPTUNsaWVudFJlY3RMaXN0Lmg6IEZpeCBhbm5v
dGF0aW9uIG9mCisgICAgICAgIHdlYmtpdF9kb21fY2xpZW50X3JlY3RfbGlzdF9pdGVtKCksIGl0
IHNob3VsZCBiZSB0cmFuc2ZlciBmdWxsLgorCiAyMDE4LTAzLTA2ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUg
T3B0aW9uc0dUSy5jbWFrZSBhbmQgTkVXUyBmb3IgMi4xOS45MiByZWxlYXNlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktp
dFdlYkV4dGVuc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2dsaWIvV2ViS2l0V2ViRXh0ZW5zaW9uLmNwcAppbmRleCAzNThiNzE1MmFmYi4uMDgy
ZDYwOWE4N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvZ2xpYi9XZWJLaXRXZWJFeHRlbnNpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9XZWJLaXRXZWJFeHRlbnNpb24uY3Bw
CkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiV2ViS2l0V2ViRXh0ZW5zaW9uUHJpdmF0ZS5o
IgogI2luY2x1ZGUgIldlYktpdFdlYlBhZ2VQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vz
cy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvR0NDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2ds
aWIvV1RGR1R5cGUuaD4KQEAgLTExOCw2ICsxMTksOSBAQCB0eXBlZGVmIEhhc2hNYXA8V2ViUGFn
ZSosIEdSZWZQdHI8V2ViS2l0V2ViUGFnZT4gPiBXZWJQYWdlTWFwOwogCiBzdHJ1Y3QgX1dlYktp
dFdlYkV4dGVuc2lvblByaXZhdGUgewogICAgIFdlYlBhZ2VNYXAgcGFnZXM7CisjaWYgRU5BQkxF
KERFVkVMT1BFUl9NT0RFKQorICAgIGJvb2wgZ2FyYmFnZUNvbGxlY3RPblBhZ2VEZXN0cm95Owor
I2VuZGlmCiB9OwogCiBzdGF0aWMgZ3VpbnQgc2lnbmFsc1tMQVNUX1NJR05BTF0gPSB7IDAsIH07
CkBAIC0xNjIsNiArMTY2LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCB3aWxsRGVzdHJveVBhZ2Uo
SW5qZWN0ZWRCdW5kbGUmLCBXZWJQYWdlJiBwYWdlKSBvdmVycmlkZQogICAgIHsKICAgICAgICAg
bV9leHRlbnNpb24tPnByaXYtPnBhZ2VzLnJlbW92ZSgmcGFnZSk7CisjaWYgRU5BQkxFKERFVkVM
T1BFUl9NT0RFKQorICAgICAgICBpZiAobV9leHRlbnNpb24tPnByaXYtPmdhcmJhZ2VDb2xsZWN0
T25QYWdlRGVzdHJveSkKKyAgICAgICAgICAgIFdlYkNvcmU6OkdDQ29udHJvbGxlcjo6c2luZ2xl
dG9uKCkuZ2FyYmFnZUNvbGxlY3ROb3coKTsKKyNlbmRpZgogICAgIH0KIAogICAgIHZvaWQgZGlk
UmVjZWl2ZU1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGUmLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1l
LCBBUEk6Ok9iamVjdCogbWVzc2FnZUJvZHkpIG92ZXJyaWRlCkBAIC0xOTIsNiArMjAwLDEzIEBA
IFdlYktpdFdlYkV4dGVuc2lvbiogd2Via2l0V2ViRXh0ZW5zaW9uQ3JlYXRlKEluamVjdGVkQnVu
ZGxlKiBidW5kbGUpCiAgICAgcmV0dXJuIGV4dGVuc2lvbjsKIH0KIAordm9pZCB3ZWJraXRXZWJF
eHRlbnNpb25TZXRHYXJiYWdlQ29sbGVjdE9uUGFnZURlc3Ryb3koV2ViS2l0V2ViRXh0ZW5zaW9u
KiBleHRlbnNpb24pCit7CisjaWYgRU5BQkxFKERFVkVMT1BFUl9NT0RFKQorICAgIGV4dGVuc2lv
bi0+cHJpdi0+Z2FyYmFnZUNvbGxlY3RPblBhZ2VEZXN0cm95ID0gdHJ1ZTsKKyNlbmRpZgorfQor
CiAvKioKICAqIHdlYmtpdF93ZWJfZXh0ZW5zaW9uX2dldF9wYWdlOgogICogQGV4dGVuc2lvbjog
YSAjV2ViS2l0V2ViRXh0ZW5zaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2dsaWIvV2ViS2l0V2ViRXh0ZW5zaW9uUHJpdmF0ZS5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdFdl
YkV4dGVuc2lvblByaXZhdGUuaAppbmRleCBmZjdkMTNjYTMyNy4uZTI3MzlhOTBkMjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ2xpYi9X
ZWJLaXRXZWJFeHRlbnNpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9nbGliL1dlYktpdFdlYkV4dGVuc2lvblByaXZhdGUuaApAQCAt
MTcsMTIgKzE3LDEwIEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0j
aWZuZGVmIFdlYktpdFdlYkV4dGVuc2lvblByaXZhdGVfaAotI2RlZmluZSBXZWJLaXRXZWJFeHRl
bnNpb25Qcml2YXRlX2gKKyNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUu
aCIKICNpbmNsdWRlICJXZWJLaXRXZWJFeHRlbnNpb24uaCIKIAogV2ViS2l0V2ViRXh0ZW5zaW9u
KiB3ZWJraXRXZWJFeHRlbnNpb25DcmVhdGUoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZSopOwotCi0j
ZW5kaWYgLy8gV2ViS2l0V2ViRXh0ZW5zaW9uUHJpdmF0ZV9oCit2b2lkIHdlYmtpdFdlYkV4dGVu
c2lvblNldEdhcmJhZ2VDb2xsZWN0T25QYWdlRGVzdHJveShXZWJLaXRXZWJFeHRlbnNpb24qKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Z3RrL0RPTS9XZWJLaXRET01DbGllbnRSZWN0TGlzdC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvRE9NL1dlYktpdERPTUNsaWVudFJlY3RMaXN0LmgK
aW5kZXggMjk3YTMxOTM1OWMuLmViOWE0Zjc5ZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9ET00vV2ViS2l0RE9NQ2xpZW50UmVj
dExpc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2d0ay9ET00vV2ViS2l0RE9NQ2xpZW50UmVjdExpc3QuaApAQCAtNjgsNyArNjgsNyBAQCB3ZWJr
aXRfZG9tX2NsaWVudF9yZWN0X2xpc3RfZ2V0X2xlbmd0aChXZWJLaXRET01DbGllbnRSZWN0TGlz
dCogc2VsZik7CiAgKgogICogUmV0dXJucyB0aGUgI1dlYktpdERPTUNsaWVudFJlY3Qgb2JqZWN0
IHRoYXQgQHNlbGYgY29udGFpbnMgYXQgQGluZGV4LgogICoKLSAqIFJldHVybnM6ICh0cmFuc2Zl
ciBub25lKTogQSAjV2ViS2l0RE9NQ2xpZW50UmVjdAorICogUmV0dXJuczogKHRyYW5zZmVyIGZ1
bGwpOiBBICNXZWJLaXRET01DbGllbnRSZWN0CiAgKgogICogU2luY2U6IDIuMTgKICoqLwpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDliODJjMmFi
NTgwLi5jZDcxNmVlNzNiMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE4LTAzLTA3ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIExlYWsgY2hl
Y2tlciBpcyBub3Qgd29ya2luZyBpbiBXZWJLaXRHTGliIHdlYiBwcm9jZXNzIHRlc3RzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM0MDQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIG1pZ2h0IGhh
dmUgcmVncmVzc2VkIHdoZW4gd2Ugc3RhcnRlZCB0byB1c2UgdGhlIEpTQyBnYXJiYWdlIGNvbGxl
Y3RvciB0aW1lcnMuIFRoZSB0aGluZyBpcyB0aGF0IHdlIGV4cGVjdAorICAgICAgICB0aGF0IHRo
ZSBXZWJQcm9jZXNzVGVzdGVyIG9iamVjdCB0aGF0IHdlIGV4cG9zZSB0byBKYXZhU2NyaXB0IGlz
IHJlbGVhc2VkIHdoZW4gdGhlIHdlYiBmcmFtZSBpcyBkZXN0cm95ZWQsIGJ1dAorICAgICAgICB0
aGF0J3Mgbm8gbG9uZ2VyIHRoZSBjYXNlLiBPbiB3aW5kb3cgb2JqZWN0IGNsZWFyZWQgYSBHQyBp
cyBzY2hlZHVsZWQsIGJ1dCBKU0MgdGltZXJzIGRvIHRoZSBhY3R1YWwgZ2FyYmFnZQorICAgICAg
ICBjb2xsZWN0aW9uIGxhdGVyLiBJbiB0aGUgY2FzZSBvZiB0ZXN0cyB0aGF0IG5ldmVyIGhhcHBl
bnMgYmVjYXVzZSB0aGUgd2ViIHByb2Nlc3MgZmluaXNoZXMgcXVpY2tseSBhZnRlciB0aGUKKyAg
ICAgICAgdGVzdC4gV2UgbmVlZCB0byBmb3JjZSBhIGdhcmJhZ2UgY29sbGVjdGlvbiBhdCBzb21l
IHBvaW50IHdoZW4gdGhlIHdlYiBwYWdlIGlzIGRlc3Ryb3llZC4gV2UgY2FuJ3QgdXNlIHRoZQor
ICAgICAgICBXZWJLaXRXZWJQYWdlIGRlc3Ryb3kgc2lnbmFsLCBzaW5jZSB3ZSBhcmUgYWxzbyBj
aGVja2luZyB0aGF0IFdlYktpdFdlYlBhZ2UgaXNuJ3QgbGVha2VkLiBUaGUKKyAgICAgICAgQVBJ
OjpJbmplY3RlZEJ1bmRsZTo6Q2xpZW50Ojp3aWxsRGVzdHJveVBhZ2UoKSBhbHdheXMgaGFwcGVu
IHdoZW4gdGhlIHBhZ2UgaXMgY2xvc2VkLCBldmVuIGlmIFdlYktpdFdlYlBhZ2UgaXMKKyAgICAg
ICAgc3RpbGwgYWxpdmUsIHNvIHdlIGNhbiBmb3JjZSB0aGUgR0MgYXQgdGhhdCBwb2ludC4gVGhl
IG9ubHkgcHJvYmxlbSBpcyB0aGF0IHRoZSBmcmFtZSBpcyBkZXRhY2hlZCByaWdodCBhZnRlcgor
ICAgICAgICB0aGF0IHBvaW50LCBzbyB3ZSBjYW4ndCBjaGVjayBXZWJLaXRGcmFtZSBsZWFrcy4g
VGhlIG9ubHkgZnJhbWUgaW4gdGhlIHRlc3RzIGlzIHRoZSBtYWluIG9uZSwgc28gd2UgY2FuIGFz
c3VtZQorICAgICAgICB0aGF0IGlmIFdlYktpdFdlYlBhZ2UgaXMgcmVsZWFzZWQsIHRoZSBmcmFt
ZSBpcyB0b28uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvRnJh
bWVUZXN0LmNwcDoKKyAgICAgICAgKFdlYktpdEZyYW1lVGVzdDo6dGVzdE1haW5GcmFtZSk6IFN0
b3AgY2hlY2tpbmcgd2UgZG9uJ3QgbGVhayBXZWJLaXRGcmFtZS4KKyAgICAgICAgKFdlYktpdEZy
YW1lVGVzdDo6dGVzdFVSSSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0RnJhbWVUZXN0Ojp0ZXN0
SmF2YVNjcmlwdENvbnRleHQpOiBEaXR0by4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdEdMaWIvVGVzdEZyYW1lLmNwcDoKKyAgICAgICAgKHRlc3RXZWJLaXRGcmFtZU1haW5G
cmFtZSk6IFVzZSBuZXcgV2ViVmlld1Rlc3Q6OnJ1bldlYlByb2Nlc3NUZXN0KCkgQVBJLgorICAg
ICAgICAodGVzdFdlYktpdEZyYW1lVVJJKTogRGl0dG8uCisgICAgICAgICh0ZXN0V2ViS2l0RnJh
bWVKYXZhU2NyaXB0Q29udGV4dCk6IERpdHRvLgorICAgICAgICAod2Via2l0RnJhbWVUZXN0UnVu
KTogRGVsZXRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvV2Vi
UHJvY2Vzc1Rlc3QuY3BwOgorICAgICAgICAocnVuVGVzdCk6IFdlIG5vIGxvbmdlciBuZWVkIHRo
ZSBzcGVjaWFsIGNhc2UgZm9yIGRvbS1jYWNoZSB0ZXN0LgorICAgICAgICAod2luZG93T2JqZWN0
Q2xlYXJlZENhbGxiYWNrKTogT25seSBleHBvc2UgdGVzdCBydW5uZXIgb2JqZWN0IHRvIEphdmFT
Y3JpcHQgd2hlbiBsb2FkaW5nIHRlc3RzLgorICAgICAgICAod2Via2l0X3dlYl9leHRlbnNpb25f
aW5pdGlhbGl6ZSk6IENhbGwgd2Via2l0V2ViRXh0ZW5zaW9uU2V0R2FyYmFnZUNvbGxlY3RPblBh
Z2VEZXN0cm95KCkgdG8gZW5zdXJlIGEgZ2FyYmFnZQorICAgICAgICBjb2xsZWN0aW9uIGlzIHBl
cmZvcm1lZCB3aGVuIHRoZSBwYWdlIGlzIGNsb3NpbmcuCisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRHdGsvRE9NQ2xpZW50UmVjdFRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0
RE9NQ2xpZW50UmVjdFRlc3Q6OnRlc3REaXZDbGllbnRSZWN0c1Bvc2l0aW9uQW5kTGVuZ3RoKTog
Rml4IG1lbW9yeSBsZWFrLAorICAgICAgICB3ZWJraXRfZG9tX2NsaWVudF9yZWN0X2xpc3RfaXRl
bSgpIHJldHVybnMgYSBmdWxsIHJlZmVyZW5jZS4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdEd0ay9UZXN0QXV0b2NsZWFudXBzLmNwcDoKKyAgICAgICAgKHRlc3RXZWJQcm9j
ZXNzQXV0b2NsZWFudXBzKTpVc2UgbmV3IFdlYlZpZXdUZXN0OjpydW5XZWJQcm9jZXNzVGVzdCgp
IEFQSS4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEd0ay9UZXN0RE9NQ2xp
ZW50UmVjdC5jcHA6CisgICAgICAgICh0ZXN0V2ViS2l0RE9NQ2xpZW50UmVjdERpdkJvdW5kaW5n
Q2xpZW50UmVjdFBvc2l0aW9uKTogVXNlIG5ldyBXZWJWaWV3VGVzdDo6cnVuV2ViUHJvY2Vzc1Rl
c3QoKSBBUEkuCisgICAgICAgICh0ZXN0V2ViS2l0RE9NQ2xpZW50UmVjdERpdkNsaWVudFJlY3Rz
UG9zaXRpb25BbmRMZW5ndGgpOiBVc2UgbmV3IFdlYlZpZXdUZXN0OjpydW5XZWJQcm9jZXNzVGVz
dCgpIEFQSS4KKyAgICAgICAgKHByZXBhcmVET01Gb3JDbGllbnRSZWN0UG9zaXRpb25UZXN0cyk6
IERlbGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHdGsvVGVzdERP
TU5vZGUuY3BwOgorICAgICAgICAodGVzdFdlYktpdERPTU5vZGVIaWVyYXJjaHlOYXZpZ2F0aW9u
KTogVXNlIG5ldyBXZWJWaWV3VGVzdDo6cnVuV2ViUHJvY2Vzc1Rlc3QoKSBBUEkuCisgICAgICAg
ICh0ZXN0V2ViS2l0RE9NTm9kZUluc2VydGlvbik6IERpdHRvLgorICAgICAgICAodGVzdFdlYktp
dERPTU5vZGVUYWdOYW1lc05vZGVMaXN0KTogRGl0dG8uCisgICAgICAgICh0ZXN0V2ViS2l0RE9N
Tm9kZVRhZ05hbWVzSFRNTENvbGxlY3Rpb24pOiBEaXR0by4KKyAgICAgICAgKHRlc3RXZWJLaXRE
T01PYmplY3RDYWNoZSk6IFdlIG5vIGxvbmdlciBuZWVkIHRvIHJ1biB0aGUgdGVzdCBzZXZlcmFs
IHRpbWVzLCBzaW5jZSBydW5XZWJQcm9jZXNzVGVzdCgpIGxvYWRzCisgICAgICAgIGFib3V0IGJs
YW5rIGFmdGVyIGV2ZXJ5IHRlc3QuCisgICAgICAgIChwcmVwYXJlRE9NRm9yVGFnTmFtZXNUZXN0
cyk6IERlbGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHdGsvVGVz
dERPTU5vZGVGaWx0ZXIuY3BwOgorICAgICAgICAodGVzdFdlYktpdERPTU5vZGVGaWx0ZXJUcmVl
V2Fsa2VyKTogVXNlIG5ldyBXZWJWaWV3VGVzdDo6cnVuV2ViUHJvY2Vzc1Rlc3QoKSBBUEkuCisg
ICAgICAgICh0ZXN0V2ViS2l0RE9NTm9kZUZpbHRlck5vZGVJdGVyYXRvcik6IERpdHRvLgorICAg
ICAgICAocnVuVGVzdCk6IERlbGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRHdGsvVGVzdERPTVhQYXRoTlNSZXNvbHZlci5jcHA6CisgICAgICAgICh0ZXN0V2ViS2l0
RE9NWFBhdGhOU1Jlc29sdmVyTmF0aXZlKTogVXNlIG5ldyBXZWJWaWV3VGVzdDo6cnVuV2ViUHJv
Y2Vzc1Rlc3QoKSBBUEkuCisgICAgICAgICh0ZXN0V2ViS2l0RE9NWFBhdGhOU1Jlc29sdmVyQ3Vz
dG9tKTogRGl0dG8uCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHdGsvVGVz
dEVkaXRvci5jcHA6CisgICAgICAgICh0ZXN0V2ViS2l0V2ViRWRpdG9yU2VsZWN0aW9uQ2hhbmdl
ZCk6IFVzZSBuZXcgV2ViVmlld1Rlc3Q6OnJ1bldlYlByb2Nlc3NUZXN0KCkgQVBJLgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYlZpZXdUZXN0LmNwcDoKKyAgICAg
ICAgKFdlYlZpZXdUZXN0OjpydW5XZWJQcm9jZXNzVGVzdCk6IEl0IG5vdyByZWNlaXZlcyB0aGUg
Y29udGVudHMsIHNvIGl0IGF1dG9tYXRpY2FsbHkgbG9hZHMgdGhlIHZpZXcgdXNpbmcKKyAgICAg
ICAgIndlYnByb2Nlc3M6Ly90ZXN0IiBhcyBiYXNlIFVSSSwgdXNlZCB0byBkZXRlY3QgdGVzdHMg
aW4gdGhlIHdlYiBwcm9jZXNzLiBJdCBhbHNvIGxvYWRzIGFib3V0OmJsYW5rIGFmdGVyIGV2ZXJ5
CisgICAgICAgIHRlc3QgdG8gZW5zdXJlIHRoYXQgd2luZG93IG9iamVjdCBpcyBjbGVhcmVkLgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYlZpZXdUZXN0Lmg6CisK
IDIwMTgtMDItMjcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAg
IFN0YW5kYXJkaXplIHRlcm1pbm9sb2d5IGZvciBtYXJrZWQgdGV4dApkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL0ZyYW1lVGVzdC5jcHAgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvRnJhbWVUZXN0LmNwcAppbmRleCBkZTgwMzE0
M2RjMS4uOTk2NzNlNDg3NWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0R0xpYi9GcmFtZVRlc3QuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0R0xpYi9GcmFtZVRlc3QuY3BwCkBAIC0zMSw3ICszMSw2IEBAIHByaXZhdGU6CiAgICAg
ewogICAgICAgICBXZWJLaXRGcmFtZSogZnJhbWUgPSB3ZWJraXRfd2ViX3BhZ2VfZ2V0X21haW5f
ZnJhbWUocGFnZSk7CiAgICAgICAgIGdfYXNzZXJ0KFdFQktJVF9JU19GUkFNRShmcmFtZSkpOwot
ICAgICAgICBhc3NlcnRPYmplY3RJc0RlbGV0ZWRXaGVuVGVzdEZpbmlzaGVzKEdfT0JKRUNUKGZy
YW1lKSk7CiAgICAgICAgIGdfYXNzZXJ0KHdlYmtpdF9mcmFtZV9pc19tYWluX2ZyYW1lKGZyYW1l
KSk7CiAKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC00MSw3ICs0MCw2IEBAIHByaXZhdGU6CiAg
ICAgewogICAgICAgICBXZWJLaXRGcmFtZSogZnJhbWUgPSB3ZWJraXRfd2ViX3BhZ2VfZ2V0X21h
aW5fZnJhbWUocGFnZSk7CiAgICAgICAgIGdfYXNzZXJ0KFdFQktJVF9JU19GUkFNRShmcmFtZSkp
OwotICAgICAgICBhc3NlcnRPYmplY3RJc0RlbGV0ZWRXaGVuVGVzdEZpbmlzaGVzKEdfT0JKRUNU
KGZyYW1lKSk7CiAgICAgICAgIGdfYXNzZXJ0X2NtcHN0cih3ZWJraXRfd2ViX3BhZ2VfZ2V0X3Vy
aShwYWdlKSwgPT0sIHdlYmtpdF9mcmFtZV9nZXRfdXJpKGZyYW1lKSk7CiAKICAgICAgICAgcmV0
dXJuIHRydWU7CkBAIC01MSw3ICs0OSw2IEBAIHByaXZhdGU6CiAgICAgewogICAgICAgICBXZWJL
aXRGcmFtZSogZnJhbWUgPSB3ZWJraXRfd2ViX3BhZ2VfZ2V0X21haW5fZnJhbWUocGFnZSk7CiAg
ICAgICAgIGdfYXNzZXJ0KFdFQktJVF9JU19GUkFNRShmcmFtZSkpOwotICAgICAgICBhc3NlcnRP
YmplY3RJc0RlbGV0ZWRXaGVuVGVzdEZpbmlzaGVzKEdfT0JKRUNUKGZyYW1lKSk7CiAgICAgICAg
IGdfYXNzZXJ0KHdlYmtpdF9mcmFtZV9nZXRfamF2YXNjcmlwdF9nbG9iYWxfY29udGV4dChmcmFt
ZSkpOwogCiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RGcmFtZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdEdMaWIvVGVzdEZyYW1lLmNwcAppbmRleCAyNTQ1N2Q3ZmZjNy4uMjM0MWZi
MzE2ZGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9U
ZXN0RnJhbWUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9U
ZXN0RnJhbWUuY3BwCkBAIC0yMSwyOCArMjEsMTkgQEAKIAogI2luY2x1ZGUgIldlYlZpZXdUZXN0
LmgiCiAKLXN0YXRpYyB2b2lkIHdlYmtpdEZyYW1lVGVzdFJ1bihXZWJWaWV3VGVzdCogdGVzdCwg
Y29uc3QgY2hhciogdGVzdE5hbWUpCi17Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIHRlc3RIVE1M
ID0gIjxodG1sPjxib2R5PjwvYm9keT48L2h0bWw+IjsKLSAgICB0ZXN0LT5sb2FkSHRtbCh0ZXN0
SFRNTCwgMCk7Ci0gICAgdGVzdC0+d2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7Ci0KLSAgICBnX2Fz
c2VydCh0ZXN0LT5ydW5XZWJQcm9jZXNzVGVzdCgiV2ViS2l0RnJhbWUiLCB0ZXN0TmFtZSkpOwot
fQotCiBzdGF0aWMgdm9pZCB0ZXN0V2ViS2l0RnJhbWVNYWluRnJhbWUoV2ViVmlld1Rlc3QqIHRl
c3QsIGdjb25zdHBvaW50ZXIpCiB7Ci0gICAgd2Via2l0RnJhbWVUZXN0UnVuKHRlc3QsICJtYWlu
LWZyYW1lIik7CisgICAgZ19hc3NlcnQodGVzdC0+cnVuV2ViUHJvY2Vzc1Rlc3QoIldlYktpdEZy
YW1lIiwgIm1haW4tZnJhbWUiKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHRlc3RXZWJLaXRGcmFtZVVS
SShXZWJWaWV3VGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKIHsKLSAgICB3ZWJraXRGcmFtZVRl
c3RSdW4odGVzdCwgInVyaSIpOworICAgIGdfYXNzZXJ0KHRlc3QtPnJ1bldlYlByb2Nlc3NUZXN0
KCJXZWJLaXRGcmFtZSIsICJ1cmkiKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHRlc3RXZWJLaXRGcmFt
ZUphdmFTY3JpcHRDb250ZXh0KFdlYlZpZXdUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogewot
ICAgIHdlYmtpdEZyYW1lVGVzdFJ1bih0ZXN0LCAiamF2YXNjcmlwdC1jb250ZXh0Iik7CisgICAg
Z19hc3NlcnQodGVzdC0+cnVuV2ViUHJvY2Vzc1Rlc3QoIldlYktpdEZyYW1lIiwgImphdmFzY3Jp
cHQtY29udGV4dCIpKTsKIH0KIAogdm9pZCBiZWZvcmVBbGwoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1dlYlByb2Nlc3NUZXN0LmNwcCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9XZWJQcm9jZXNzVGVzdC5jcHAKaW5kZXgg
YmMwNTg2OTNkNzYuLmUzNWY3Nzk5NDRiIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdEdMaWIvV2ViUHJvY2Vzc1Rlc3QuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9XZWJQcm9jZXNzVGVzdC5jcHAKQEAgLTIwLDYgKzIwLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzVGVzdC5oIgogCisj
aW5jbHVkZSAiV2ViS2l0V2ViRXh0ZW5zaW9uUHJpdmF0ZS5oIgogI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8Z2lvL2dpby5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CkBAIC02NCwxNCArNjUsNyBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBydW5UZXN0
KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZQog
CiAgICAgV2ViS2l0V2ViUGFnZSogd2ViUGFnZSA9IFdFQktJVF9XRUJfUEFHRShKU09iamVjdEdl
dFByaXZhdGUodGhpc09iamVjdCkpOwogICAgIGdfYXNzZXJ0KFdFQktJVF9JU19XRUJfUEFHRSh3
ZWJQYWdlKSk7Ci0gICAgLy8gVGVzdCAvV2ViS2l0RE9NTm9kZS9kb20tY2FjaGUgaXMgYW4gZXhj
ZXB0aW9uLCBiZWNhdXNlIGl0J3MgY2FsbGVkIDMgdGltZXMsIHNvCi0gICAgLy8gdGhlIFdlYlBh
Z2UgaXMgZGVzdHJveWVkIGFmdGVyIHRoZSB0aGlyZCB0aW1lLgotICAgIGlmIChnX3N0cl9lcXVh
bCh0ZXN0UGF0aC5nZXQoKSwgIldlYktpdERPTU5vZGUvZG9tLWNhY2hlIikpIHsKLSAgICAgICAg
c3RhdGljIHVuc2lnbmVkIGRvbUNhY2hlVGVzdFJ1bkNvdW50ID0gMDsKLSAgICAgICAgaWYgKCsr
ZG9tQ2FjaGVUZXN0UnVuQ291bnQgPT0gMykKLSAgICAgICAgICAgIFdlYlByb2Nlc3NUZXN0Ojph
c3NlcnRPYmplY3RJc0RlbGV0ZWRXaGVuVGVzdEZpbmlzaGVzKEdfT0JKRUNUKHdlYlBhZ2UpKTsK
LSAgICB9IGVsc2UKLSAgICAgICAgV2ViUHJvY2Vzc1Rlc3Q6OmFzc2VydE9iamVjdElzRGVsZXRl
ZFdoZW5UZXN0RmluaXNoZXMoR19PQkpFQ1Qod2ViUGFnZSkpOworICAgIFdlYlByb2Nlc3NUZXN0
Ojphc3NlcnRPYmplY3RJc0RlbGV0ZWRXaGVuVGVzdEZpbmlzaGVzKEdfT0JKRUNUKHdlYlBhZ2Up
KTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJQcm9jZXNzVGVzdD4gdGVzdCA9IFdlYlByb2Nl
c3NUZXN0OjpjcmVhdGUoU3RyaW5nOjpmcm9tVVRGOCh0ZXN0UGF0aC5nZXQoKSkpOwogICAgIHJl
dHVybiBKU1ZhbHVlTWFrZUJvb2xlYW4oY29udGV4dCwgdGVzdC0+cnVuVGVzdChnX3N0cnJzdHIo
dGVzdFBhdGguZ2V0KCksICIvIikgKyAxLCB3ZWJQYWdlKSk7CkBAIC0xMDAsNiArOTQsOSBAQCBz
dGF0aWMgdm9pZCB3ZWJQcm9jZXNzVGVzdFJ1bm5lckZpbmFsaXplKEpTT2JqZWN0UmVmIG9iamVj
dCkKIAogc3RhdGljIHZvaWQgd2luZG93T2JqZWN0Q2xlYXJlZENhbGxiYWNrKFdlYktpdFNjcmlw
dFdvcmxkKiB3b3JsZCwgV2ViS2l0V2ViUGFnZSogd2ViUGFnZSwgV2ViS2l0RnJhbWUqIGZyYW1l
LCBXZWJLaXRXZWJFeHRlbnNpb24qIGV4dGVuc2lvbikKIHsKKyAgICBpZiAoZ19zdHJjbXAwKHdl
YmtpdF93ZWJfcGFnZV9nZXRfdXJpKHdlYlBhZ2UpLCAid2VicHJvY2VzczovL3Rlc3QiKSkKKyAg
ICAgICAgcmV0dXJuOworCiAgICAgSlNHbG9iYWxDb250ZXh0UmVmIGNvbnRleHQgPSB3ZWJraXRf
ZnJhbWVfZ2V0X2phdmFzY3JpcHRfY29udGV4dF9mb3Jfc2NyaXB0X3dvcmxkKGZyYW1lLCB3b3Js
ZCk7CiAgICAgSlNPYmplY3RSZWYgZ2xvYmFsT2JqZWN0ID0gSlNDb250ZXh0R2V0R2xvYmFsT2Jq
ZWN0KGNvbnRleHQpOwogCkBAIC0xMTcsNSArMTE0LDYgQEAgc3RhdGljIHZvaWQgd2luZG93T2Jq
ZWN0Q2xlYXJlZENhbGxiYWNrKFdlYktpdFNjcmlwdFdvcmxkKiB3b3JsZCwgV2ViS2l0V2ViUGFn
ZSoKIAogZXh0ZXJuICJDIiB2b2lkIHdlYmtpdF93ZWJfZXh0ZW5zaW9uX2luaXRpYWxpemUoV2Vi
S2l0V2ViRXh0ZW5zaW9uKiBleHRlbnNpb24pCiB7CisgICAgd2Via2l0V2ViRXh0ZW5zaW9uU2V0
R2FyYmFnZUNvbGxlY3RPblBhZ2VEZXN0cm95KGV4dGVuc2lvbik7CiAgICAgZ19zaWduYWxfY29u
bmVjdCh3ZWJraXRfc2NyaXB0X3dvcmxkX2dldF9kZWZhdWx0KCksICJ3aW5kb3ctb2JqZWN0LWNs
ZWFyZWQiLCBHX0NBTExCQUNLKHdpbmRvd09iamVjdENsZWFyZWRDYWxsYmFjayksIGV4dGVuc2lv
bik7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEd0ay9E
T01DbGllbnRSZWN0VGVzdC5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEd0
ay9ET01DbGllbnRSZWN0VGVzdC5jcHAKaW5kZXggNzU1Y2NiYWI2YmIuLmNhNTkyYzNhYmNmIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEd0ay9ET01DbGllbnRS
ZWN0VGVzdC5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHdGsvRE9N
Q2xpZW50UmVjdFRlc3QuY3BwCkBAIC03NCwxMyArNzQsMTQgQEAgcHJpdmF0ZToKIAogICAgICAg
ICBnX2Fzc2VydF9jbXB1aW50KHdlYmtpdF9kb21fY2xpZW50X3JlY3RfbGlzdF9nZXRfbGVuZ3Ro
KGNsaWVudFJlY3RMaXN0LmdldCgpKSwgPT0sIDEpOwogCi0gICAgICAgIFdlYktpdERPTUNsaWVu
dFJlY3QqIGNsaWVudFJlY3QgPSB3ZWJraXRfZG9tX2NsaWVudF9yZWN0X2xpc3RfaXRlbShjbGll
bnRSZWN0TGlzdC5nZXQoKSwgMCk7Ci0gICAgICAgIGdfYXNzZXJ0KFdFQktJVF9ET01fSVNfQ0xJ
RU5UX1JFQ1QoY2xpZW50UmVjdCkpOwotICAgICAgICBhc3NlcnRPYmplY3RJc0RlbGV0ZWRXaGVu
VGVzdEZpbmlzaGVzKEdfT0JKRUNUKGNsaWVudFJlY3QpKTsKLSAgICAgICAgY2hlY2tDbGllbnRS
ZWN0UG9zaXRpb24oY2xpZW50UmVjdCk7CisgICAgICAgIEdSZWZQdHI8V2ViS2l0RE9NQ2xpZW50
UmVjdD4gY2xpZW50UmVjdCA9IGFkb3B0R1JlZih3ZWJraXRfZG9tX2NsaWVudF9yZWN0X2xpc3Rf
aXRlbShjbGllbnRSZWN0TGlzdC5nZXQoKSwgMCkpOworICAgICAgICBnX2Fzc2VydChXRUJLSVRf
RE9NX0lTX0NMSUVOVF9SRUNUKGNsaWVudFJlY3QuZ2V0KCkpKTsKKyAgICAgICAgYXNzZXJ0T2Jq
ZWN0SXNEZWxldGVkV2hlblRlc3RGaW5pc2hlcyhHX09CSkVDVChjbGllbnRSZWN0LmdldCgpKSk7
CisgICAgICAgIGNoZWNrQ2xpZW50UmVjdFBvc2l0aW9uKGNsaWVudFJlY3QuZ2V0KCkpOwogCiAg
ICAgICAgIC8vIEdldHRpbmcgdGhlIGNsaWVudFJlY3QgdHdpY2Ugc2hvdWxkIHJldHVybiB0aGUg
c2FtZSBwb2ludGVyLgotICAgICAgICBnX2Fzc2VydCh3ZWJraXRfZG9tX2NsaWVudF9yZWN0X2xp
c3RfaXRlbShjbGllbnRSZWN0TGlzdC5nZXQoKSwgMCkgPT0gd2Via2l0X2RvbV9jbGllbnRfcmVj
dF9saXN0X2l0ZW0oY2xpZW50UmVjdExpc3QuZ2V0KCksIDApKTsKKyAgICAgICAgR1JlZlB0cjxX
ZWJLaXRET01DbGllbnRSZWN0PiBjbGllbnRSZWN0MiA9IGFkb3B0R1JlZih3ZWJraXRfZG9tX2Ns
aWVudF9yZWN0X2xpc3RfaXRlbShjbGllbnRSZWN0TGlzdC5nZXQoKSwgMCkpOworICAgICAgICBn
X2Fzc2VydChjbGllbnRSZWN0LmdldCgpID09IGNsaWVudFJlY3QyLmdldCgpKTsKIAogICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdEd0ay9UZXN0QXV0b2NsZWFudXBzLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0R3RrL1Rlc3RBdXRvY2xlYW51cHMuY3BwCmluZGV4IDk3NTY4OGNlZDRiLi41
MGU4MmE5YzZmNSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRH
dGsvVGVzdEF1dG9jbGVhbnVwcy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRHdGsvVGVzdEF1dG9jbGVhbnVwcy5jcHAKQEAgLTQ0LDEwICs0NCw2IEBAIHN0YXRpYyB2
b2lkIHRlc3RVSVByb2Nlc3NBdXRvY2xlYW51cHMoV2ViVmlld1Rlc3QqIHRlc3QsIGdjb25zdHBv
aW50ZXIpCiAKIHN0YXRpYyB2b2lkIHRlc3RXZWJQcm9jZXNzQXV0b2NsZWFudXBzKFdlYlZpZXdU
ZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogewotICAgIHN0YXRpYyBjb25zdCBjaGFyKiB0ZXN0
SFRNTCA9ICI8aHRtbD48Ym9keT48L2JvZHk+PC9odG1sPiI7Ci0gICAgdGVzdC0+bG9hZEh0bWwo
dGVzdEhUTUwsIG51bGxwdHIpOwotICAgIHRlc3QtPndhaXRVbnRpbExvYWRGaW5pc2hlZCgpOwot
CiAgICAgZ19hc3NlcnQodGVzdC0+cnVuV2ViUHJvY2Vzc1Rlc3QoIkF1dG9jbGVhbnVwcyIsICJ3
ZWItcHJvY2Vzcy1hdXRvY2xlYW51cHMiKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0R3RrL1Rlc3RET01DbGllbnRSZWN0LmNwcCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R3RrL1Rlc3RET01DbGllbnRSZWN0LmNwcAppbmRleCBk
YzkxNTBhZjdkOC4uZmZiNDc0NzE1MzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0R3RrL1Rlc3RET01DbGllbnRSZWN0LmNwcAorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdEd0ay9UZXN0RE9NQ2xpZW50UmVjdC5jcHAKQEAgLTIyLDI3ICsy
MiwyMCBAQAogI2luY2x1ZGUgIldlYlZpZXdUZXN0LmgiCiAjaW5jbHVkZSA8d2Via2l0Mi93ZWJr
aXQyLmg+CiAKLXN0YXRpYyB2b2lkIHByZXBhcmVET01Gb3JDbGllbnRSZWN0UG9zaXRpb25UZXN0
cyhXZWJWaWV3VGVzdCogdGVzdCkKLXsKLSAgICBzdGF0aWMgY29uc3QgY2hhciogdGVzdEhUTUwg
PSAiPGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PiIKLSAgICAgICAgIjxzdHlsZT4iCi0gICAgICAg
ICIgICAgI3JlY3QgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogLTI1cHg7IGxlZnQ6IC01MHB4OyB3
aWR0aDogMTAwcHg7IGhlaWdodDogMjAwcHg7IH0iCi0gICAgICAgICI8L3N0eWxlPiIKLSAgICAg
ICAgIjxkaXYgaWQ9cmVjdD48L2Rpdj48L2JvZHk+PC9odG1sPiI7Ci0gICAgdGVzdC0+bG9hZEh0
bWwodGVzdEhUTUwsIG51bGxwdHIpOwotICAgIHRlc3QtPndhaXRVbnRpbExvYWRGaW5pc2hlZCgp
OwotfQorc3RhdGljIGNvbnN0IGNoYXIqIHRlc3RIVE1MID0gIjxodG1sPjxoZWFkPjwvaGVhZD48
Ym9keT4iCisgICAgIjxzdHlsZT4iCisgICAgIiAgICAjcmVjdCB7IHBvc2l0aW9uOiBmaXhlZDsg
dG9wOiAtMjVweDsgbGVmdDogLTUwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAyMDBweDsgfSIK
KyAgICAiPC9zdHlsZT4iCisgICAgIjxkaXYgaWQ9cmVjdD48L2Rpdj48L2JvZHk+PC9odG1sPiI7
CiAKIHN0YXRpYyB2b2lkIHRlc3RXZWJLaXRET01DbGllbnRSZWN0RGl2Qm91bmRpbmdDbGllbnRS
ZWN0UG9zaXRpb24oV2ViVmlld1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiB7Ci0gICAgcHJl
cGFyZURPTUZvckNsaWVudFJlY3RQb3NpdGlvblRlc3RzKHRlc3QpOwotICAgIGdfYXNzZXJ0KHRl
c3QtPnJ1bldlYlByb2Nlc3NUZXN0KCJXZWJLaXRET01DbGllbnRSZWN0IiwgImRpdi1ib3VuZGlu
Zy1jbGllbnQtcmVjdC1wb3NpdGlvbiIpKTsKKyAgICBnX2Fzc2VydCh0ZXN0LT5ydW5XZWJQcm9j
ZXNzVGVzdCgiV2ViS2l0RE9NQ2xpZW50UmVjdCIsICJkaXYtYm91bmRpbmctY2xpZW50LXJlY3Qt
cG9zaXRpb24iLCB0ZXN0SFRNTCkpOwogfQogCiBzdGF0aWMgdm9pZCB0ZXN0V2ViS2l0RE9NQ2xp
ZW50UmVjdERpdkNsaWVudFJlY3RzUG9zaXRpb25BbmRMZW5ndGgoV2ViVmlld1Rlc3QqIHRlc3Qs
IGdjb25zdHBvaW50ZXIpCiB7Ci0gICAgcHJlcGFyZURPTUZvckNsaWVudFJlY3RQb3NpdGlvblRl
c3RzKHRlc3QpOwotICAgIGdfYXNzZXJ0KHRlc3QtPnJ1bldlYlByb2Nlc3NUZXN0KCJXZWJLaXRE
T01DbGllbnRSZWN0IiwgImRpdi1jbGllbnQtcmVjdHMtcG9zaXRpb24tYW5kLWxlbmd0aCIpKTsK
KyAgICBnX2Fzc2VydCh0ZXN0LT5ydW5XZWJQcm9jZXNzVGVzdCgiV2ViS2l0RE9NQ2xpZW50UmVj
dCIsICJkaXYtY2xpZW50LXJlY3RzLXBvc2l0aW9uLWFuZC1sZW5ndGgiLCB0ZXN0SFRNTCkpOwog
fQogCiB2b2lkIGJlZm9yZUFsbCgpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdEd0ay9UZXN0RE9NTm9kZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdEd0ay9UZXN0RE9NTm9kZS5jcHAKaW5kZXggODg2MzU2YjdlMzkuLjQ2ZTBkYWJlNTA2
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEd0ay9UZXN0RE9N
Tm9kZS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHdGsvVGVzdERP
TU5vZGUuY3BwCkBAIC0yNiw2MSArMjYsMzkgQEAKIHN0YXRpYyB2b2lkIHRlc3RXZWJLaXRET01O
b2RlSGllcmFyY2h5TmF2aWdhdGlvbihXZWJWaWV3VGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikK
IHsKICAgICBzdGF0aWMgY29uc3QgY2hhciogdGVzdEhUTUwgPSAiPGh0bWw+PGhlYWQ+PHRpdGxl
PlRoaXMgaXMgdGhlIHRpdGxlPC90aXRsZT48L2hlYWQ+PGJvZHk+PHA+MTwvcD48cD4yPC9wPjxw
PjM8L3A+PC9ib2R5PjwvaHRtbD4iOwotICAgIHRlc3QtPmxvYWRIdG1sKHRlc3RIVE1MLCAwKTsK
LSAgICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNoZWQoKTsKLQotICAgIGdfYXNzZXJ0KHRlc3Qt
PnJ1bldlYlByb2Nlc3NUZXN0KCJXZWJLaXRET01Ob2RlIiwgImhpZXJhcmNoeS1uYXZpZ2F0aW9u
IikpOworICAgIGdfYXNzZXJ0KHRlc3QtPnJ1bldlYlByb2Nlc3NUZXN0KCJXZWJLaXRET01Ob2Rl
IiwgImhpZXJhcmNoeS1uYXZpZ2F0aW9uIiwgdGVzdEhUTUwpKTsKIH0KIAogc3RhdGljIHZvaWQg
dGVzdFdlYktpdERPTU5vZGVJbnNlcnRpb24oV2ViVmlld1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50
ZXIpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIHRlc3RIVE1MID0gIjxodG1sPjxib2R5Pjwv
Ym9keT48L2h0bWw+IjsKLSAgICB0ZXN0LT5sb2FkSHRtbCh0ZXN0SFRNTCwgMCk7Ci0gICAgdGVz
dC0+d2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7Ci0KICAgICBnX2Fzc2VydCh0ZXN0LT5ydW5XZWJQ
cm9jZXNzVGVzdCgiV2ViS2l0RE9NTm9kZSIsICJpbnNlcnRpb24iKSk7CiB9CiAKLXN0YXRpYyB2
b2lkIHByZXBhcmVET01Gb3JUYWdOYW1lc1Rlc3RzKFdlYlZpZXdUZXN0KiB0ZXN0KQotewotICAg
IHN0YXRpYyBjb25zdCBjaGFyKiB0ZXN0SFRNTCA9ICI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+
IgotICAgICAgICAiPHZpZGVvIGlkPSd2aWRlbycgcHJlbG9hZD0nbm9uZSc+IgotICAgICAgICAi
ICAgIDxzb3VyY2Ugc3JjPSdtb3ZpZS5vZ2cnIHR5cGU9J3ZpZGVvL29nZyc+IgotICAgICAgICAi
ICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgdmlkZW8gdGFnLiIKLSAg
ICAgICAgIjwvdmlkZW8+IgotICAgICAgICAiPHZpZGVvIGlkPSd2aWRlbzInIHByZWxvYWQ9J25v
bmUnPiIKLSAgICAgICAgIiAgICAgPHNvdXJjZSBzcmM9J21vdmllLm9nZycgdHlwZT0ndmlkZW8v
b2dnJz4iCi0gICAgICAgICIgICAgICAgIFlvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRo
ZSB2aWRlbyB0YWcuIgotICAgICAgICAiPC92aWRlbz4iCi0gICAgICAgICI8aW5wdXQgdHlwZT0n
aGlkZGVuJyBpZD0ndGVzdCcgbmFtZT0nZmluaXNoJyB2YWx1ZT0nZmFsc2UnPjwvYm9keT48L2h0
bWw+IjsKLSAgICB0ZXN0LT5sb2FkSHRtbCh0ZXN0SFRNTCwgbnVsbHB0cik7Ci0gICAgdGVzdC0+
d2FpdFVudGlsTG9hZEZpbmlzaGVkKCk7Ci19CitzdGF0aWMgY29uc3QgY2hhciogdGFnTmFtZXNU
ZXN0SFRNTCA9ICI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+IgorICAgICI8dmlkZW8gaWQ9J3Zp
ZGVvJyBwcmVsb2FkPSdub25lJz4iCisgICAgIiAgICA8c291cmNlIHNyYz0nbW92aWUub2dnJyB0
eXBlPSd2aWRlby9vZ2cnPiIKKyAgICAiICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3Vw
cG9ydCB0aGUgdmlkZW8gdGFnLiIKKyAgICAiPC92aWRlbz4iCisgICAgIjx2aWRlbyBpZD0ndmlk
ZW8yJyBwcmVsb2FkPSdub25lJz4iCisgICAgIiAgICAgPHNvdXJjZSBzcmM9J21vdmllLm9nZycg
dHlwZT0ndmlkZW8vb2dnJz4iCisgICAgIiAgICAgICAgWW91ciBicm93c2VyIGRvZXMgbm90IHN1
cHBvcnQgdGhlIHZpZGVvIHRhZy4iCisgICAgIjwvdmlkZW8+IgorICAgICI8aW5wdXQgdHlwZT0n
aGlkZGVuJyBpZD0ndGVzdCcgbmFtZT0nZmluaXNoJyB2YWx1ZT0nZmFsc2UnPjwvYm9keT48L2h0
bWw+IjsKIAogc3RhdGljIHZvaWQgdGVzdFdlYktpdERPTU5vZGVUYWdOYW1lc05vZGVMaXN0KFdl
YlZpZXdUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogewotICAgIHByZXBhcmVET01Gb3JUYWdO
YW1lc1Rlc3RzKHRlc3QpOwotICAgIGdfYXNzZXJ0KHRlc3QtPnJ1bldlYlByb2Nlc3NUZXN0KCJX
ZWJLaXRET01Ob2RlIiwgInRhZy1uYW1lcy1ub2RlLWxpc3QiKSk7CisgICAgZ19hc3NlcnQodGVz
dC0+cnVuV2ViUHJvY2Vzc1Rlc3QoIldlYktpdERPTU5vZGUiLCAidGFnLW5hbWVzLW5vZGUtbGlz
dCIsIHRhZ05hbWVzVGVzdEhUTUwpKTsKIH0KIAogc3RhdGljIHZvaWQgdGVzdFdlYktpdERPTU5v
ZGVUYWdOYW1lc0hUTUxDb2xsZWN0aW9uKFdlYlZpZXdUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVy
KQogewotICAgIHByZXBhcmVET01Gb3JUYWdOYW1lc1Rlc3RzKHRlc3QpOwotICAgIGdfYXNzZXJ0
KHRlc3QtPnJ1bldlYlByb2Nlc3NUZXN0KCJXZWJLaXRET01Ob2RlIiwgInRhZy1uYW1lcy1odG1s
LWNvbGxlY3Rpb24iKSk7CisgICAgZ19hc3NlcnQodGVzdC0+cnVuV2ViUHJvY2Vzc1Rlc3QoIldl
YktpdERPTU5vZGUiLCAidGFnLW5hbWVzLWh0bWwtY29sbGVjdGlvbiIsIHRhZ05hbWVzVGVzdEhU
TUwpKTsKIH0KIAogc3RhdGljIHZvaWQgdGVzdFdlYktpdERPTU9iamVjdENhY2hlKFdlYlZpZXdU
ZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogewogICAgIHN0YXRpYyBjb25zdCBjaGFyKiB0ZXN0
SFRNTCA9ICI8aHRtbD48Ym9keT48ZGl2IGlkPSdjb250YWluZXInPjxwPkRPTSBDYWNoZSB0ZXN0
PC9wPjxhIGlkPSdsaW5rIGhyZWY9JyMnPmxpbms8L2E+PC9kaXY+PC9ib2R5PjwvaHRtbD4iOwot
Ci0gICAgLy8gUnVuIHRoZSB0ZXN0IDMgdGltZXMgdG8gbWFrZSBzdXJlIHRoZSBET00gb2JqZWN0
cyBhcmUgY29ycmVjdGx5IHJlbGVhc2VkIHdoZW4gdGhlCi0gICAgLy8gZG9jdW1lbnQgaXMgZGV0
YWNoZWQgZnJvbSB0aGUgZnJhbWUgZm9yIGV2ZXJ5IG5ldyBkb2N1bWVudCBjcmVhdGVkLgotICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAzOyArK2kpIHsKLSAgICAgICAgdGVzdC0+bG9hZEh0
bWwodGVzdEhUTUwsIG51bGxwdHIpOwotICAgICAgICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNo
ZWQoKTsKLQotICAgICAgICBnX2Fzc2VydCh0ZXN0LT5ydW5XZWJQcm9jZXNzVGVzdCgiV2ViS2l0
RE9NTm9kZSIsICJkb20tY2FjaGUiKSk7Ci0gICAgfQorICAgIGdfYXNzZXJ0KHRlc3QtPnJ1bldl
YlByb2Nlc3NUZXN0KCJXZWJLaXRET01Ob2RlIiwgImRvbS1jYWNoZSIsIHRlc3RIVE1MKSk7CiB9
CiAKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHdGsvVGVz
dERPTU5vZGVGaWx0ZXIuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHdGsv
VGVzdERPTU5vZGVGaWx0ZXIuY3BwCmluZGV4IDgxMjk0NjE1M2Y0Li5lMGMwYWRkODhlYSAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHdGsvVGVzdERPTU5vZGVG
aWx0ZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R3RrL1Rlc3RE
T01Ob2RlRmlsdGVyLmNwcApAQCAtMjYsMjIgKzI2LDE0IEBACiBzdGF0aWMgY29uc3QgY2hhciog
dGVzdEhUTUwgPSAiPGh0bWwgaWQ9J3Jvb3QnPjxoZWFkPjx0aXRsZT5ET01Ob2RlVHJlZVdhbGtl
cjwvdGl0bGU+PC9oZWFkPiIKICAgICAiPGJvZHk+PGlucHV0IHR5cGU9J2J1dHRvbicgbmFtZT0n
cHVzaCcgdmFsdWU9J3B1c2gnPjxpbnB1dCB0eXBlPSdidXR0b24nIG5hbWU9J2NsZWFyJyB2YWx1
ZT0nY2xlYXInPjxicj48L2JvZHk+PC9odG1sPiI7CiAKLXN0YXRpYyB2b2lkIHJ1blRlc3QoV2Vi
Vmlld1Rlc3QqIHRlc3QsIGNvbnN0IGNoYXIqIG5hbWUpCi17Ci0gICAgdGVzdC0+bG9hZEh0bWwo
dGVzdEhUTUwsIG51bGxwdHIpOwotICAgIHRlc3QtPndhaXRVbnRpbExvYWRGaW5pc2hlZCgpOwot
Ci0gICAgZ19hc3NlcnQodGVzdC0+cnVuV2ViUHJvY2Vzc1Rlc3QoIldlYktpdERPTU5vZGVGaWx0
ZXIiLCBuYW1lKSk7Ci19Ci0KIHN0YXRpYyB2b2lkIHRlc3RXZWJLaXRET01Ob2RlRmlsdGVyVHJl
ZVdhbGtlcihXZWJWaWV3VGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKIHsKLSAgICBydW5UZXN0
KHRlc3QsICJ0cmVlLXdhbGtlciIpOworICAgIGdfYXNzZXJ0KHRlc3QtPnJ1bldlYlByb2Nlc3NU
ZXN0KCJXZWJLaXRET01Ob2RlRmlsdGVyIiwgInRyZWUtd2Fsa2VyIiwgdGVzdEhUTUwpKTsKIH0K
IAogc3RhdGljIHZvaWQgdGVzdFdlYktpdERPTU5vZGVGaWx0ZXJOb2RlSXRlcmF0b3IoV2ViVmll
d1Rlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiB7Ci0gICAgcnVuVGVzdCh0ZXN0LCAibm9kZS1p
dGVyYXRvciIpOworICAgIGdfYXNzZXJ0KHRlc3QtPnJ1bldlYlByb2Nlc3NUZXN0KCJXZWJLaXRE
T01Ob2RlRmlsdGVyIiwgIm5vZGUtaXRlcmF0b3IiLCB0ZXN0SFRNTCkpOwogfQogCiB2b2lkIGJl
Zm9yZUFsbCgpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEd0
ay9UZXN0RE9NWFBhdGhOU1Jlc29sdmVyLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0R3RrL1Rlc3RET01YUGF0aE5TUmVzb2x2ZXIuY3BwCmluZGV4IGZmOWE3NzE5MjM0Li42
M2VkZjQ2Y2M0NiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRH
dGsvVGVzdERPTVhQYXRoTlNSZXNvbHZlci5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRHdGsvVGVzdERPTVhQYXRoTlNSZXNvbHZlci5jcHAKQEAgLTI2LDE5ICsyNiwx
MyBAQAogc3RhdGljIHZvaWQgdGVzdFdlYktpdERPTVhQYXRoTlNSZXNvbHZlck5hdGl2ZShXZWJW
aWV3VGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKIHsKICAgICBzdGF0aWMgY29uc3QgY2hhciog
bmF0aXZlWE1MID0gIjxyb290IHhtbG5zOmZvbz0naHR0cDovL3d3dy5leGFtcGxlLm9yZyc+PGZv
bzpjaGlsZD5TVUNDRVNTPC9mb286Y2hpbGQ+PC9yb290PiI7Ci0gICAgR1JlZlB0cjxHQnl0ZXM+
IGJ5dGVzID0gYWRvcHRHUmVmKGdfYnl0ZXNfbmV3X3N0YXRpYyhuYXRpdmVYTUwsIHN0cmxlbihu
YXRpdmVYTUwpKSk7Ci0gICAgdGVzdC0+bG9hZEJ5dGVzKGJ5dGVzLmdldCgpLCAidGV4dC94bWwi
LCBudWxscHRyLCBudWxscHRyKTsKLSAgICB0ZXN0LT53YWl0VW50aWxMb2FkRmluaXNoZWQoKTsK
LSAgICBnX2Fzc2VydCh0ZXN0LT5ydW5XZWJQcm9jZXNzVGVzdCgiV2ViS2l0RE9NWFBhdGhOU1Jl
c29sdmVyIiwgIm5hdGl2ZSIpKTsKKyAgICBnX2Fzc2VydCh0ZXN0LT5ydW5XZWJQcm9jZXNzVGVz
dCgiV2ViS2l0RE9NWFBhdGhOU1Jlc29sdmVyIiwgIm5hdGl2ZSIsIG5hdGl2ZVhNTCwgInRleHQv
eG1sIikpOwogfQogCiBzdGF0aWMgdm9pZCB0ZXN0V2ViS2l0RE9NWFBhdGhOU1Jlc29sdmVyQ3Vz
dG9tKFdlYlZpZXdUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogewogICAgIHN0YXRpYyBjb25z
dCBjaGFyKiBjdXN0b21YTUwgPSAiPHJvb3QgeG1sbnM9J2h0dHA6Ly93d3cuZXhhbXBsZS5jb20n
PjxjaGlsZD5TVUNDRVNTPC9jaGlsZD48L3Jvb3Q+IjsKLSAgICBHUmVmUHRyPEdCeXRlcz4gYnl0
ZXMgPSBhZG9wdEdSZWYoZ19ieXRlc19uZXdfc3RhdGljKGN1c3RvbVhNTCwgc3RybGVuKGN1c3Rv
bVhNTCkpKTsKLSAgICB0ZXN0LT5sb2FkQnl0ZXMoYnl0ZXMuZ2V0KCksICJ0ZXh0L3htbCIsIG51
bGxwdHIsIG51bGxwdHIpOwotICAgIHRlc3QtPndhaXRVbnRpbExvYWRGaW5pc2hlZCgpOwotICAg
IGdfYXNzZXJ0KHRlc3QtPnJ1bldlYlByb2Nlc3NUZXN0KCJXZWJLaXRET01YUGF0aE5TUmVzb2x2
ZXIiLCAiY3VzdG9tIikpOworICAgIGdfYXNzZXJ0KHRlc3QtPnJ1bldlYlByb2Nlc3NUZXN0KCJX
ZWJLaXRET01YUGF0aE5TUmVzb2x2ZXIiLCAiY3VzdG9tIiwgY3VzdG9tWE1MLCAidGV4dC94bWwi
KSk7CiB9CiAKIHZvaWQgYmVmb3JlQWxsKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0R3RrL1Rlc3RFZGl0b3IuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRHdGsvVGVzdEVkaXRvci5jcHAKaW5kZXggZmM0MjlkNGMzODAuLmQzNGVmZWNk
MTkxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEd0ay9UZXN0
RWRpdG9yLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEd0ay9UZXN0
RWRpdG9yLmNwcApAQCAtMjYsMTAgKzI2LDcgQEAKIHN0YXRpYyB2b2lkIHRlc3RXZWJLaXRXZWJF
ZGl0b3JTZWxlY3Rpb25DaGFuZ2VkKFdlYlZpZXdUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQog
ewogICAgIHN0YXRpYyBjb25zdCBnY2hhciogdGVzdEhUTUwgPSAiPGh0bWw+PGJvZHk+QWxsIHdv
cmsgYW5kIG5vIHBsYXkgbWFrZSBKYWNrIGEgZHVsbCBib3kuPC9ib2R5PjwvaHRtbD4iOwotICAg
IHRlc3QtPmxvYWRIdG1sKHRlc3RIVE1MLCBudWxscHRyKTsKLSAgICB0ZXN0LT53YWl0VW50aWxM
b2FkRmluaXNoZWQoKTsKLQotICAgIGdfYXNzZXJ0KHRlc3QtPnJ1bldlYlByb2Nlc3NUZXN0KCJX
ZWJLaXRXZWJFZGl0b3IiLCAic2VsZWN0aW9uLWNoYW5nZWQiKSk7CisgICAgZ19hc3NlcnQodGVz
dC0+cnVuV2ViUHJvY2Vzc1Rlc3QoIldlYktpdFdlYkVkaXRvciIsICJzZWxlY3Rpb24tY2hhbmdl
ZCIsIHRlc3RIVE1MKSk7CiB9CiAKIHZvaWQgYmVmb3JlQWxsKCkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYlZpZXdUZXN0LmNwcCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYlZpZXdUZXN0LmNwcAppbmRleCA4NzgyM2Zh
NzhiZS4uZjYwYTIwZTJmMzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9X
ZWJLaXRHTGliL1dlYlZpZXdUZXN0LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIv
V2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5jcHAKQEAgLTM5NywxMSArMzk3LDIyIEBAIGNhaXJvX3N1
cmZhY2VfdCogV2ViVmlld1Rlc3Q6OmdldFNuYXBzaG90QW5kV2FpdFVudGlsUmVhZHkoV2ViS2l0
U25hcHNob3RSZWdpb24KIH0KICNlbmRpZgogCi1ib29sIFdlYlZpZXdUZXN0OjpydW5XZWJQcm9j
ZXNzVGVzdChjb25zdCBjaGFyKiBzdWl0ZU5hbWUsIGNvbnN0IGNoYXIqIHRlc3ROYW1lKQotewor
Ym9vbCBXZWJWaWV3VGVzdDo6cnVuV2ViUHJvY2Vzc1Rlc3QoY29uc3QgY2hhciogc3VpdGVOYW1l
LCBjb25zdCBjaGFyKiB0ZXN0TmFtZSwgY29uc3QgY2hhciogY29udGVudHMsIGNvbnN0IGNoYXIq
IGNvbnRlbnRUeXBlKQoreworICAgIGlmICghY29udGVudFR5cGUpIHsKKyAgICAgICAgc3RhdGlj
IGNvbnN0IGNoYXIqIGVtcHR5SFRNTCA9ICI8aHRtbD48Ym9keT48L2JvZHk+PC9odG1sPiI7Cisg
ICAgICAgIGxvYWRIdG1sKGNvbnRlbnRzID8gY29udGVudHMgOiBlbXB0eUhUTUwsICJ3ZWJwcm9j
ZXNzOi8vdGVzdCIpOworICAgIH0gZWxzZSB7CisgICAgICAgIEdSZWZQdHI8R0J5dGVzPiBieXRl
cyA9IGFkb3B0R1JlZihnX2J5dGVzX25ld19zdGF0aWMoY29udGVudHMsIHN0cmxlbihjb250ZW50
cykpKTsKKyAgICAgICAgbG9hZEJ5dGVzKGJ5dGVzLmdldCgpLCBjb250ZW50VHlwZSwgbnVsbHB0
ciwgIndlYnByb2Nlc3M6Ly90ZXN0Iik7CisgICAgfQorICAgIHdhaXRVbnRpbExvYWRGaW5pc2hl
ZCgpOworCiAgICAgR1VuaXF1ZVB0cjxjaGFyPiBzY3JpcHQoZ19zdHJkdXBfcHJpbnRmKCJXZWJQ
cm9jZXNzVGVzdFJ1bm5lci5ydW5UZXN0KCclcy8lcycpOyIsIHN1aXRlTmFtZSwgdGVzdE5hbWUp
KTsKICAgICBHVW5pcXVlT3V0UHRyPEdFcnJvcj4gZXJyb3I7CiAgICAgV2ViS2l0SmF2YXNjcmlw
dFJlc3VsdCogamF2YXNjcmlwdFJlc3VsdCA9IHJ1bkphdmFTY3JpcHRBbmRXYWl0VW50aWxGaW5p
c2hlZChzY3JpcHQuZ2V0KCksICZlcnJvci5vdXRQdHIoKSk7CiAgICAgZ19hc3NlcnQoIWVycm9y
KTsKKyAgICBsb2FkVVJJKCJhYm91dDpibGFuayIpOworICAgIHdhaXRVbnRpbExvYWRGaW5pc2hl
ZCgpOwogICAgIHJldHVybiBqYXZhc2NyaXB0UmVzdWx0VG9Cb29sZWFuKGphdmFzY3JpcHRSZXN1
bHQpOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIv
V2ViVmlld1Rlc3QuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYlZp
ZXdUZXN0LmgKaW5kZXggN2ZmNmIzMDI2MjguLjRjYjBiNzEzYTJlIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJWaWV3VGVzdC5oCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYlZpZXdUZXN0LmgKQEAgLTg0LDcgKzg0
LDcgQEAgcHVibGljOgogICAgIGNhaXJvX3N1cmZhY2VfdCogZ2V0U25hcHNob3RBbmRXYWl0VW50
aWxSZWFkeShXZWJLaXRTbmFwc2hvdFJlZ2lvbiwgV2ViS2l0U25hcHNob3RPcHRpb25zKTsKICNl
bmRpZgogCi0gICAgYm9vbCBydW5XZWJQcm9jZXNzVGVzdChjb25zdCBjaGFyKiBzdWl0ZU5hbWUs
IGNvbnN0IGNoYXIqIHRlc3ROYW1lKTsKKyAgICBib29sIHJ1bldlYlByb2Nlc3NUZXN0KGNvbnN0
IGNoYXIqIHN1aXRlTmFtZSwgY29uc3QgY2hhciogdGVzdE5hbWUsIGNvbnN0IGNoYXIqIGNvbnRl
bnRzID0gbnVsbHB0ciwgY29uc3QgY2hhciogY29udGVudFR5cGUgPSBudWxscHRyKTsKIAogICAg
IC8vIFByb2hpYml0IG92ZXJyaWRlcyBiZWNhdXNlIHRoaXMgaXMgY2FsbGVkIHdoZW4gdGhlIHdl
YiB2aWV3IGlzIGNyZWF0ZWQKICAgICAvLyBpbiBvdXIgY29uc3RydWN0b3IsIGJlZm9yZSBhIGRl
cml2ZWQgY2xhc3MncyB2dGFibGUgaXMgcmVhZHkuCg==
</data>
<flag name="review"
          id="353858"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>