<?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>174963</bug_id>
          
          <creation_ts>2017-07-28 18:50:25 -0700</creation_ts>
          <short_desc>[WK2] Replace RetainPtr&lt;&gt; with auto when adopting allocated ObjC objects in DataInteractionTests</short_desc>
          <delta_ts>2017-07-30 14:36:10 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1333160</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-07-28 18:50:25 -0700</bug_when>
    <thetext>These tests are very inconsistent in their use of RetainPtr&lt;&gt; vs. auto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333161</commentid>
    <comment_count>1</comment_count>
      <attachid>316690</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-07-28 19:07:07 -0700</bug_when>
    <thetext>Created attachment 316690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333339</commentid>
    <comment_count>2</comment_count>
      <attachid>316690</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-30 14:35:21 -0700</bug_when>
    <thetext>Comment on attachment 316690
Patch

Clearing flags on attachment: 316690

Committed r220051: &lt;http://trac.webkit.org/changeset/220051&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333340</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-30 14:35:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333341</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-07-30 14:36:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/33615381&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>316690</attachid>
            <date>2017-07-28 19:07:07 -0700</date>
            <delta_ts>2017-07-30 14:35:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174963-20170728190706.patch</filename>
            <type>text/plain</type>
            <size>26095</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwMDM0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGFkOTRlZDEzN2ViOTAwMzI3YzVkNzkzOWY4NWNkMzYw
ZTE2MmU5OC4uYzdiZTY2MjhlMGQ0ZmVhNDkxNGQyN2FjNzkzZjEyMzIxMDJjZWY2ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE3LTA3LTI4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgor
CisgICAgICAgIFtXSzJdIFJlcGxhY2UgUmV0YWluUHRyPD4gd2l0aCBhdXRvIHdoZW4gYWRvcHRp
bmcgYWxsb2NhdGVkIE9iakMgb2JqZWN0cyBpbiBEYXRhSW50ZXJhY3Rpb25UZXN0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0OTYzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVwbGFjZXMgc2V2ZXJh
bCB1c2VzIG9mIFJldGFpblB0cjw+cyB3aXRoIGF1dG8uIFNvbWUgdGVzdCBjYXNlcyBpbiB0aGlz
IGZpbGUgdXNlIGF1dG8sIHdoaWxlIG90aGVyIHRlc3QgY2FzZXMgZGVjbGFyZSB1c2luZworICAg
ICAgICBSZXRhaW5QdHI8Pi4gVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZW0gdG8gYWxsIHVzZSBhdXRv
LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvRGF0YUludGVyYWN0aW9uVGVz
dHMubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0wNy0yOCAgQnJh
ZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQVBJIHRlc3RzIHRoYXQg
dXNlIFVSTFNjaGVtZUhhbmRsZXIgYXJlIGZhaWxpbmcuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL2lvcy9EYXRhSW50ZXJhY3Rpb25UZXN0cy5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvaW9zL0RhdGFJbnRlcmFjdGlvblRlc3RzLm1tCmluZGV4IGFkMjkyMDgz
ZmNmNjAxZDBlYTY1ODhlODI2YjA0NGU0ODMzNDA4MDIuLjYwNjBiOTk5YmU0MmY5ZTAyYjQ4Zjk2
YmZmZGMwMmE1OTdiNWYzOGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
aW9zL0RhdGFJbnRlcmFjdGlvblRlc3RzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvaW9zL0RhdGFJbnRlcmFjdGlvblRlc3RzLm1tCkBAIC0xNjcsMTAgKzE2NywxMCBAQCBuYW1l
c3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMsIEltYWdl
VG9Db250ZW50RWRpdGFibGUpCiB7Ci0gICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZp
ZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RN
YWtlKDAsIDAsIDMyMCwgNTAwKV0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDAp
XSk7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiaW1hZ2Ut
YW5kLWNvbnRlbnRlZGl0YWJsZSJdOwogCi0gICAgUmV0YWluUHRyPERhdGFJbnRlcmFjdGlvblNp
bXVsYXRvcj4gZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yID0gYWRvcHROUyhbW0RhdGFJbnRlcmFj
dGlvblNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OndlYlZpZXcuZ2V0KCldKTsKKyAg
ICBhdXRvIGRhdGFJbnRlcmFjdGlvblNpbXVsYXRvciA9IGFkb3B0TlMoW1tEYXRhSW50ZXJhY3Rp
b25TaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlldzp3ZWJWaWV3LmdldCgpXSk7CiAgICAg
W2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBydW5Gcm9tOkNHUG9pbnRNYWtlKDEwMCwgNTApIHRv
OkNHUG9pbnRNYWtlKDEwMCwgMzAwKV07CiAKICAgICBFWFBFQ1RfVFJVRShbd2ViVmlldyBlZGl0
b3JDb250YWluc0ltYWdlRWxlbWVudF0pOwpAQCAtMTk4LDEwICsxOTgsMTAgQEAgVEVTVChEYXRh
SW50ZXJhY3Rpb25UZXN0cywgQ2FuU3RhcnREcmFnT25Fbm9ybW91c0ltYWdlKQogCiBURVNUKERh
dGFJbnRlcmFjdGlvblRlc3RzLCBJbWFnZVRvVGV4dGFyZWEpCiB7Ci0gICAgUmV0YWluUHRyPFRl
c3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOworICAgIGF1dG8gd2ViVmll
dyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1h
a2UoMCwgMCwgMzIwLCA1MDApXSk7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0
UGFnZU5hbWVkOkAiaW1hZ2UtYW5kLXRleHRhcmVhIl07CiAKLSAgICBSZXRhaW5QdHI8RGF0YUlu
dGVyYWN0aW9uU2ltdWxhdG9yPiBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtb
RGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5n
ZXQoKV0pOworICAgIGF1dG8gZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yID0gYWRvcHROUyhbW0Rh
dGFJbnRlcmFjdGlvblNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OndlYlZpZXcuZ2V0
KCldKTsKICAgICBbZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIHJ1bkZyb206Q0dQb2ludE1ha2Uo
MTAwLCA1MCkgdG86Q0dQb2ludE1ha2UoMTAwLCAzMDApXTsKIAogICAgIEVYUEVDVF9XS19TVFJF
USgiIiwgW3dlYlZpZXcgZWRpdG9yVmFsdWVdKTsKQEAgLTIxNiwxMCArMjE2LDEwIEBAIFRFU1Qo
RGF0YUludGVyYWN0aW9uVGVzdHMsIEltYWdlVG9UZXh0YXJlYSkKIAogVEVTVChEYXRhSW50ZXJh
Y3Rpb25UZXN0cywgSW1hZ2VJbkxpbmtUb0lucHV0KQogewotICAgIFJldGFpblB0cjxUZXN0V0tX
ZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCldKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBh
ZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAs
IDAsIDMyMCwgNTAwKV0pOwogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VO
YW1lZDpAImltYWdlLWluLWxpbmstYW5kLWlucHV0Il07CiAKLSAgICBSZXRhaW5QdHI8RGF0YUlu
dGVyYWN0aW9uU2ltdWxhdG9yPiBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtb
RGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5n
ZXQoKV0pOworICAgIGF1dG8gZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yID0gYWRvcHROUyhbW0Rh
dGFJbnRlcmFjdGlvblNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OndlYlZpZXcuZ2V0
KCldKTsKICAgICBbZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIHJ1bkZyb206Q0dQb2ludE1ha2Uo
MTAwLCA1MCkgdG86Q0dQb2ludE1ha2UoMTAwLCAzMDApXTsKIAogICAgIEVYUEVDVF9XS19TVFJF
USgiaHR0cHM6Ly93d3cuYXBwbGUuY29tLyIsIFt3ZWJWaWV3IGVkaXRvclZhbHVlXS5VVEY4U3Ry
aW5nKTsKQEAgLTIzMCwxMSArMjMwLDExIEBAIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMsIElt
YWdlSW5MaW5rVG9JbnB1dCkKIAogVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgSW1hZ2VJbkxp
bmtXaXRob3V0SFJFRlRvSW5wdXQpCiB7Ci0gICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdl
YlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1Jl
Y3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tU
ZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1
MDApXSk7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiaW1h
Z2UtaW4tbGluay1hbmQtaW5wdXQiXTsKICAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAibGluay5ocmVmID0gJyciXTsKIAotICAgIFJldGFpblB0cjxEYXRhSW50ZXJh
Y3Rpb25TaW11bGF0b3I+IGRhdGFJbnRlcmFjdGlvblNpbXVsYXRvciA9IGFkb3B0TlMoW1tEYXRh
SW50ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlldzp3ZWJWaWV3LmdldCgp
XSk7CisgICAgYXV0byBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUlu
dGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0p
OwogICAgIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgcnVuRnJvbTpDR1BvaW50TWFrZSgxMDAs
IDUwKSB0bzpDR1BvaW50TWFrZSgxMDAsIDMwMCldOwogCiAgICAgRVhQRUNUX1dLX1NUUkVRKCIi
LCBbd2ViVmlldyBlZGl0b3JWYWx1ZV0pOwpAQCAtMjU3LDggKzI1Nyw4IEBAIFRFU1QoRGF0YUlu
dGVyYWN0aW9uVGVzdHMsIEltYWdlRG9lc05vdFVzZUVsZW1lbnRTaXplQXNFc3RpbWF0ZWRTaXpl
KQogCiBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBDb250ZW50RWRpdGFibGVUb0NvbnRlbnRF
ZGl0YWJsZSkKIHsKLSAgICBSZXRhaW5QdHI8VGVzdFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0
TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwg
MzIwLCA1MDApXSk7Ci0gICAgUmV0YWluUHRyPERhdGFJbnRlcmFjdGlvblNpbXVsYXRvcj4gZGF0
YUludGVyYWN0aW9uU2ltdWxhdG9yID0gYWRvcHROUyhbW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRv
ciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OndlYlZpZXcuZ2V0KCldKTsKKyAgICBhdXRvIHdlYlZp
ZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RN
YWtlKDAsIDAsIDMyMCwgNTAwKV0pOworICAgIGF1dG8gZGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
ID0gYWRvcHROUyhbW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhXZWJW
aWV3OndlYlZpZXcuZ2V0KCldKTsKIAogICAgIFt3ZWJWaWV3IGxvYWRUZXN0UGFnZU5hbWVkOkAi
YXV0b2ZvY3VzLWNvbnRlbnRlZGl0YWJsZSJdOwogICAgIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0
b3Igd2FpdEZvcklucHV0U2Vzc2lvbl07CkBAIC0yNzcsOCArMjc3LDggQEAgVEVTVChEYXRhSW50
ZXJhY3Rpb25UZXN0cywgQ29udGVudEVkaXRhYmxlVG9Db250ZW50RWRpdGFibGUpCiAKIFRFU1Qo
RGF0YUludGVyYWN0aW9uVGVzdHMsIENvbnRlbnRFZGl0YWJsZVRvVGV4dGFyZWEpCiB7Ci0gICAg
UmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOwotICAg
IFJldGFpblB0cjxEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3I+IGRhdGFJbnRlcmFjdGlvblNpbXVs
YXRvciA9IGFkb3B0TlMoW1tEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2NdIGluaXRXaXRo
V2ViVmlldzp3ZWJWaWV3LmdldCgpXSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rl
c3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUw
MCldKTsKKyAgICBhdXRvIGRhdGFJbnRlcmFjdGlvblNpbXVsYXRvciA9IGFkb3B0TlMoW1tEYXRh
SW50ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlldzp3ZWJWaWV3LmdldCgp
XSk7CiAKICAgICBbd2ViVmlldyBsb2FkVGVzdFBhZ2VOYW1lZDpAImNvbnRlbnRlZGl0YWJsZS1h
bmQtdGV4dGFyZWEiXTsKICAgICBbZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIHdhaXRGb3JJbnB1
dFNlc3Npb25dOwpAQCAtMjk3LDggKzI5Nyw4IEBAIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMs
IENvbnRlbnRFZGl0YWJsZVRvVGV4dGFyZWEpCiAKIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMs
IENvbnRlbnRFZGl0YWJsZU1vdmVQYXJhZ3JhcGhzKQogewotICAgIFJldGFpblB0cjxUZXN0V0tX
ZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCldKTsKLSAgICBSZXRhaW5QdHI8RGF0YUlu
dGVyYWN0aW9uU2ltdWxhdG9yPiBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtb
RGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5n
ZXQoKV0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7CisgICAgYXV0byBk
YXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxh
dG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOwogCiAgICAgW3dlYlZp
ZXcgbG9hZFRlc3RQYWdlTmFtZWQ6QCJ0d28tcGFyYWdyYXBoLWNvbnRlbnRlZGl0YWJsZSJdOwog
ICAgIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3Igd2FpdEZvcklucHV0U2Vzc2lvbl07CkBAIC0z
MjcsOCArMzI3LDggQEAgVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgRHJhZ0ltYWdlRnJvbUNv
bnRlbnRFZGl0YWJsZSkKIAogVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgVGV4dEFyZWFUb0lu
cHV0KQogewotICAgIFJldGFpblB0cjxUZXN0V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhb
W1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAs
IDUwMCldKTsKLSAgICBSZXRhaW5QdHI8RGF0YUludGVyYWN0aW9uU2ltdWxhdG9yPiBkYXRhSW50
ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFs
bG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOworICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2Uo
MCwgMCwgMzIwLCA1MDApXSk7CisgICAgYXV0byBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBh
ZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6
d2ViVmlldy5nZXQoKV0pOwogCiAgICAgW3dlYlZpZXcgbG9hZFRlc3RQYWdlTmFtZWQ6QCJ0ZXh0
YXJlYS10by1pbnB1dCJdOwogICAgIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3Igd2FpdEZvcklu
cHV0U2Vzc2lvbl07CkBAIC0zNDEsOCArMzQxLDggQEAgVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0
cywgVGV4dEFyZWFUb0lucHV0KQogCiBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBTaW5nbGVQ
bGFpblRleHRXb3JkVHlwZUlkZW50aWZpZXJzKQogewotICAgIFJldGFpblB0cjxUZXN0V0tXZWJW
aWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJh
bWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCldKTsKLSAgICBSZXRhaW5QdHI8RGF0YUludGVy
YWN0aW9uU2ltdWxhdG9yPiBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0
YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQo
KV0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7CisgICAgYXV0byBkYXRh
SW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
IGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOwogCiAgICAgW3dlYlZpZXcg
bG9hZFRlc3RQYWdlTmFtZWQ6QCJ0ZXh0YXJlYS10by1pbnB1dCJdOwogICAgIFtkYXRhSW50ZXJh
Y3Rpb25TaW11bGF0b3Igd2FpdEZvcklucHV0U2Vzc2lvbl07CkBAIC0zNjAsOCArMzYwLDggQEAg
VEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgU2luZ2xlUGxhaW5UZXh0V29yZFR5cGVJZGVudGlm
aWVycykKIAogVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgU2luZ2xlUGxhaW5UZXh0VVJMVHlw
ZUlkZW50aWZpZXJzKQogewotICAgIFJldGFpblB0cjxUZXN0V0tXZWJWaWV3PiB3ZWJWaWV3ID0g
YWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgw
LCAwLCAzMjAsIDUwMCldKTsKLSAgICBSZXRhaW5QdHI8RGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
PiBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2lt
dWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOworICAgIGF1dG8g
d2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNH
UmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7CisgICAgYXV0byBkYXRhSW50ZXJhY3Rpb25TaW11
bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0
aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOwogCiAgICAgW3dlYlZpZXcgbG9hZFRlc3RQYWdlTmFt
ZWQ6QCJ0ZXh0YXJlYS10by1pbnB1dCJdOwogICAgIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3Ig
d2FpdEZvcklucHV0U2Vzc2lvbl07CkBAIC0zODAsMTAgKzM4MCwxMCBAQCBURVNUKERhdGFJbnRl
cmFjdGlvblRlc3RzLCBTaW5nbGVQbGFpblRleHRVUkxUeXBlSWRlbnRpZmllcnMpCiAKIFRFU1Qo
RGF0YUludGVyYWN0aW9uVGVzdHMsIExpbmtUb0lucHV0KQogewotICAgIFJldGFpblB0cjxUZXN0
V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCldKTsKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtl
KDAsIDAsIDMyMCwgNTAwKV0pOwogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBh
Z2VOYW1lZDpAImxpbmstYW5kLWlucHV0Il07CiAKLSAgICBSZXRhaW5QdHI8RGF0YUludGVyYWN0
aW9uU2ltdWxhdG9yPiBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUlu
dGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0p
OworICAgIGF1dG8gZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yID0gYWRvcHROUyhbW0RhdGFJbnRl
cmFjdGlvblNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OndlYlZpZXcuZ2V0KCldKTsK
ICAgICBbZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIHJ1bkZyb206Q0dQb2ludE1ha2UoMTAwLCA1
MCkgdG86Q0dQb2ludE1ha2UoMTAwLCAzMDApXTsKIAogICAgIEVYUEVDVF9XS19TVFJFUSgiaHR0
cHM6Ly93d3cuYXBwbGUuY29tLyIsIFt3ZWJWaWV3IGVkaXRvclZhbHVlXS5VVEY4U3RyaW5nKTsK
QEAgLTQwNywxMCArNDA3LDEwIEBAIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMsIExpbmtUb0lu
cHV0KQogCiBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBCYWNrZ3JvdW5kSW1hZ2VMaW5rVG9J
bnB1dCkKIHsKLSAgICBSZXRhaW5QdHI8VGVzdFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMo
W1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIw
LCA1MDApXSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxs
b2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCldKTsKICAgICBbd2Vi
VmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJiYWNrZ3JvdW5kLWltYWdlLWxp
bmstYW5kLWlucHV0Il07CiAKLSAgICBSZXRhaW5QdHI8RGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
PiBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2lt
dWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOworICAgIGF1dG8g
ZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yID0gYWRvcHROUyhbW0RhdGFJbnRlcmFjdGlvblNpbXVs
YXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OndlYlZpZXcuZ2V0KCldKTsKICAgICBbZGF0YUlu
dGVyYWN0aW9uU2ltdWxhdG9yIHJ1bkZyb206Q0dQb2ludE1ha2UoMTAwLCA1MCkgdG86Q0dQb2lu
dE1ha2UoMTAwLCAzMDApXTsKIAogICAgIEVYUEVDVF9XS19TVFJFUSgiaHR0cHM6Ly93d3cuYXBw
bGUuY29tLyIsIFt3ZWJWaWV3IGVkaXRvclZhbHVlXS5VVEY4U3RyaW5nKTsKQEAgLTQyNSwxMCAr
NDI1LDEwIEBAIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMsIEJhY2tncm91bmRJbWFnZUxpbmtU
b0lucHV0KQogCiBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBDYW5QcmV2ZW50U3RhcnQpCiB7
Ci0gICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0p
OworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7CiAgICAgW3dlYlZpZXcgc3lu
Y2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAicHJldmVudC1zdGFydCJdOwogCi0gICAgUmV0
YWluUHRyPERhdGFJbnRlcmFjdGlvblNpbXVsYXRvcj4gZGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
ID0gYWRvcHROUyhbW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhXZWJW
aWV3OndlYlZpZXcuZ2V0KCldKTsKKyAgICBhdXRvIGRhdGFJbnRlcmFjdGlvblNpbXVsYXRvciA9
IGFkb3B0TlMoW1tEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmll
dzp3ZWJWaWV3LmdldCgpXSk7CiAgICAgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBydW5Gcm9t
OkNHUG9pbnRNYWtlKDEwMCwgNTApIHRvOkNHUG9pbnRNYWtlKDEwMCwgMzAwKV07CiAKICAgICBF
WFBFQ1RfRVEoRGF0YUludGVyYWN0aW9uQ2FuY2VsbGVkLCBbZGF0YUludGVyYWN0aW9uU2ltdWxh
dG9yIHBoYXNlXSk7CkBAIC00NDIsMTAgKzQ0MiwxMCBAQCBURVNUKERhdGFJbnRlcmFjdGlvblRl
c3RzLCBDYW5QcmV2ZW50U3RhcnQpCiAKIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMsIENhblBy
ZXZlbnRPcGVyYXRpb24pCiB7Ci0gICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtl
KDAsIDAsIDMyMCwgNTAwKV0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7
CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAicHJldmVudC1v
cGVyYXRpb24iXTsKIAotICAgIFJldGFpblB0cjxEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3I+IGRh
dGFJbnRlcmFjdGlvblNpbXVsYXRvciA9IGFkb3B0TlMoW1tEYXRhSW50ZXJhY3Rpb25TaW11bGF0
b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlldzp3ZWJWaWV3LmdldCgpXSk7CisgICAgYXV0byBkYXRh
SW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
IGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOwogICAgIFtkYXRhSW50ZXJh
Y3Rpb25TaW11bGF0b3IgcnVuRnJvbTpDR1BvaW50TWFrZSgxMDAsIDUwKSB0bzpDR1BvaW50TWFr
ZSgxMDAsIDMwMCldOwogCiAgICAgRVhQRUNUX0ZBTFNFKFt3ZWJWaWV3IGVkaXRvckNvbnRhaW5z
SW1hZ2VFbGVtZW50XSk7CkBAIC00NTgsMTAgKzQ1OCwxMCBAQCBURVNUKERhdGFJbnRlcmFjdGlv
blRlc3RzLCBDYW5QcmV2ZW50T3BlcmF0aW9uKQogCiBURVNUKERhdGFJbnRlcmFjdGlvblRlc3Rz
LCBFbnRlckFuZExlYXZlRXZlbnRzKQogewotICAgIFJldGFpblB0cjxUZXN0V0tXZWJWaWV3PiB3
ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dS
ZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCldKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtb
VGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwg
NTAwKV0pOwogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAImxp
bmstYW5kLWlucHV0Il07CiAKLSAgICBSZXRhaW5QdHI8RGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
PiBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2lt
dWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOworICAgIGF1dG8g
ZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yID0gYWRvcHROUyhbW0RhdGFJbnRlcmFjdGlvblNpbXVs
YXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OndlYlZpZXcuZ2V0KCldKTsKICAgICBbZGF0YUlu
dGVyYWN0aW9uU2ltdWxhdG9yIHJ1bkZyb206Q0dQb2ludE1ha2UoMTAwLCA1MCkgdG86Q0dQb2lu
dE1ha2UoMTAwLCA0NTApXTsKIAogICAgIEVYUEVDVF9XS19TVFJFUSgiIiwgW3dlYlZpZXcgZWRp
dG9yVmFsdWVdLlVURjhTdHJpbmcpOwpAQCAtNDk1LDE0ICs0OTUsMTQgQEAgVEVTVChEYXRhSW50
ZXJhY3Rpb25UZXN0cywgRXh0ZXJuYWxTb3VyY2VQbGFpblRleHRUb0lGcmFtZSkKIAogVEVTVChE
YXRhSW50ZXJhY3Rpb25UZXN0cywgRXh0ZXJuYWxTb3VyY2VKU09OVG9GaWxlSW5wdXQpCiB7Ci0g
ICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOwor
ICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0
aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7CiAgICAgW3dlYlZpZXcgc3luY2hy
b25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiZmlsZS11cGxvYWRpbmciXTsKIAotICAgIFJldGFp
blB0cjxVSUl0ZW1Qcm92aWRlcj4gc2ltdWxhdGVkSlNPTkl0ZW1Qcm92aWRlciA9IGFkb3B0TlMo
W1tVSUl0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gc2ltdWxhdGVkSlNPTkl0
ZW1Qcm92aWRlciA9IGFkb3B0TlMoW1tVSUl0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOwogICAg
IE5TRGF0YSAqanNvbkRhdGEgPSBbQCJ7IFwiZm9vXCI6IFwiYmFyXCIsICBcImJhclwiOiBcImJh
elwiIH0iIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsKICAgICBbc2lt
dWxhdGVkSlNPTkl0ZW1Qcm92aWRlciByZWdpc3RlckRhdGFSZXByZXNlbnRhdGlvbkZvclR5cGVJ
ZGVudGlmaWVyOihOU1N0cmluZyAqKWtVVFR5cGVKU09OIHdpdGhEYXRhOmpzb25EYXRhXTsKIAot
ICAgIFJldGFpblB0cjxEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3I+IGRhdGFJbnRlcmFjdGlvblNp
bXVsYXRvciA9IGFkb3B0TlMoW1tEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2NdIGluaXRX
aXRoV2ViVmlldzp3ZWJWaWV3LmdldCgpXSk7CisgICAgYXV0byBkYXRhSW50ZXJhY3Rpb25TaW11
bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0
aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOwogICAgIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3Ig
c2V0RXh0ZXJuYWxJdGVtUHJvdmlkZXJzOkBbIHNpbXVsYXRlZEpTT05JdGVtUHJvdmlkZXIuZ2V0
KCkgXV07CiAgICAgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBydW5Gcm9tOkNHUG9pbnRNYWtl
KDIwMCwgMTAwKSB0bzpDR1BvaW50TWFrZSgxMDAsIDEwMCldOwogCkBAIC01MTEsMTQgKzUxMSwx
NCBAQCBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBFeHRlcm5hbFNvdXJjZUpTT05Ub0ZpbGVJ
bnB1dCkKIAogVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgRXh0ZXJuYWxTb3VyY2VJbWFnZVRv
RmlsZUlucHV0KQogewotICAgIFJldGFpblB0cjxUZXN0V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRv
cHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAw
LCAzMjAsIDUwMCldKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOwogICAg
IFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAImZpbGUtdXBsb2FkaW5n
Il07CiAKLSAgICBSZXRhaW5QdHI8VUlJdGVtUHJvdmlkZXI+IHNpbXVsYXRlZEltYWdlSXRlbVBy
b3ZpZGVyID0gYWRvcHROUyhbW1VJSXRlbVByb3ZpZGVyIGFsbG9jXSBpbml0XSk7CisgICAgYXV0
byBzaW11bGF0ZWRJbWFnZUl0ZW1Qcm92aWRlciA9IGFkb3B0TlMoW1tVSUl0ZW1Qcm92aWRlciBh
bGxvY10gaW5pdF0pOwogICAgIE5TRGF0YSAqaW1hZ2VEYXRhID0gVUlJbWFnZUpQRUdSZXByZXNl
bnRhdGlvbih0ZXN0SWNvbkltYWdlKCksIDAuNSk7CiAgICAgW3NpbXVsYXRlZEltYWdlSXRlbVBy
b3ZpZGVyIHJlZ2lzdGVyRGF0YVJlcHJlc2VudGF0aW9uRm9yVHlwZUlkZW50aWZpZXI6KE5TU3Ry
aW5nICopa1VUVHlwZUpQRUcgd2l0aERhdGE6aW1hZ2VEYXRhXTsKIAotICAgIFJldGFpblB0cjxE
YXRhSW50ZXJhY3Rpb25TaW11bGF0b3I+IGRhdGFJbnRlcmFjdGlvblNpbXVsYXRvciA9IGFkb3B0
TlMoW1tEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlldzp3ZWJW
aWV3LmdldCgpXSk7CisgICAgYXV0byBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5T
KFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmll
dy5nZXQoKV0pOwogICAgIFtkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3Igc2V0RXh0ZXJuYWxJdGVt
UHJvdmlkZXJzOkBbIHNpbXVsYXRlZEltYWdlSXRlbVByb3ZpZGVyLmdldCgpIF1dOwogICAgIFtk
YXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgcnVuRnJvbTpDR1BvaW50TWFrZSgyMDAsIDEwMCkgdG86
Q0dQb2ludE1ha2UoMTAwLCAxMDApXTsKIApAQCAtNTk5LDE4ICs1OTksMTggQEAgVEVTVChEYXRh
SW50ZXJhY3Rpb25UZXN0cywgRXh0ZXJuYWxTb3VyY2VaSVBBcmNoaXZlVG9VcGxvYWRBcmVhKQog
CiBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBFeHRlcm5hbFNvdXJjZUltYWdlQW5kSFRNTFRv
U2luZ2xlRmlsZUlucHV0KQogewotICAgIFJldGFpblB0cjxUZXN0V0tXZWJWaWV3PiB3ZWJWaWV3
ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFr
ZSgwLCAwLCAzMjAsIDUwMCldKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0p
OwogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAImZpbGUtdXBs
b2FkaW5nIl07CiAKLSAgICBSZXRhaW5QdHI8VUlJdGVtUHJvdmlkZXI+IHNpbXVsYXRlZEltYWdl
SXRlbVByb3ZpZGVyID0gYWRvcHROUyhbW1VJSXRlbVByb3ZpZGVyIGFsbG9jXSBpbml0XSk7Cisg
ICAgYXV0byBzaW11bGF0ZWRJbWFnZUl0ZW1Qcm92aWRlciA9IGFkb3B0TlMoW1tVSUl0ZW1Qcm92
aWRlciBhbGxvY10gaW5pdF0pOwogICAgIE5TRGF0YSAqaW1hZ2VEYXRhID0gVUlJbWFnZUpQRUdS
ZXByZXNlbnRhdGlvbih0ZXN0SWNvbkltYWdlKCksIDAuNSk7CiAgICAgW3NpbXVsYXRlZEltYWdl
SXRlbVByb3ZpZGVyIHJlZ2lzdGVyRGF0YVJlcHJlc2VudGF0aW9uRm9yVHlwZUlkZW50aWZpZXI6
KE5TU3RyaW5nICopa1VUVHlwZUpQRUcgd2l0aERhdGE6aW1hZ2VEYXRhXTsKIAotICAgIFJldGFp
blB0cjxVSUl0ZW1Qcm92aWRlcj4gc2ltdWxhdGVkSFRNTEl0ZW1Qcm92aWRlciA9IGFkb3B0TlMo
W1tVSUl0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gc2ltdWxhdGVkSFRNTEl0
ZW1Qcm92aWRlciA9IGFkb3B0TlMoW1tVSUl0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOwogICAg
IE5TRGF0YSAqaHRtbERhdGEgPSBbQCI8Ym9keSBjb250ZW50ZWRpdGFibGU+PC9ib2R5PiIgZGF0
YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddOwogICAgIFtzaW11bGF0ZWRIVE1M
SXRlbVByb3ZpZGVyIHJlZ2lzdGVyRGF0YVJlcHJlc2VudGF0aW9uRm9yVHlwZUlkZW50aWZpZXI6
KE5TU3RyaW5nICopa1VUVHlwZUhUTUwgd2l0aERhdGE6aHRtbERhdGFdOwogCi0gICAgUmV0YWlu
UHRyPERhdGFJbnRlcmFjdGlvblNpbXVsYXRvcj4gZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yID0g
YWRvcHROUyhbW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3
OndlYlZpZXcuZ2V0KCldKTsKKyAgICBhdXRvIGRhdGFJbnRlcmFjdGlvblNpbXVsYXRvciA9IGFk
b3B0TlMoW1tEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlldzp3
ZWJWaWV3LmdldCgpXSk7CiAgICAgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBzZXRFeHRlcm5h
bEl0ZW1Qcm92aWRlcnM6QFsgc2ltdWxhdGVkSFRNTEl0ZW1Qcm92aWRlci5nZXQoKSwgc2ltdWxh
dGVkSW1hZ2VJdGVtUHJvdmlkZXIuZ2V0KCkgXV07CiAgICAgW2RhdGFJbnRlcmFjdGlvblNpbXVs
YXRvciBydW5Gcm9tOkNHUG9pbnRNYWtlKDIwMCwgMTAwKSB0bzpDR1BvaW50TWFrZSgxMDAsIDEw
MCldOwogCkBAIC02MjAsMTkgKzYyMCwxOSBAQCBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBF
eHRlcm5hbFNvdXJjZUltYWdlQW5kSFRNTFRvU2luZ2xlRmlsZUlucHV0KQogCiBURVNUKERhdGFJ
bnRlcmFjdGlvblRlc3RzLCBFeHRlcm5hbFNvdXJjZUltYWdlQW5kSFRNTFRvTXVsdGlwbGVGaWxl
SW5wdXQpCiB7Ci0gICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5T
KFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMy
MCwgNTAwKV0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7CiAgICAgW3dl
YlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiZmlsZS11cGxvYWRpbmciXTsK
ICAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiaW5wdXQuc2V0QXR0
cmlidXRlKCdtdWx0aXBsZScsICcnKSJdOwogCi0gICAgUmV0YWluUHRyPFVJSXRlbVByb3ZpZGVy
PiBzaW11bGF0ZWRJbWFnZUl0ZW1Qcm92aWRlciA9IGFkb3B0TlMoW1tVSUl0ZW1Qcm92aWRlciBh
bGxvY10gaW5pdF0pOworICAgIGF1dG8gc2ltdWxhdGVkSW1hZ2VJdGVtUHJvdmlkZXIgPSBhZG9w
dE5TKFtbVUlJdGVtUHJvdmlkZXIgYWxsb2NdIGluaXRdKTsKICAgICBOU0RhdGEgKmltYWdlRGF0
YSA9IFVJSW1hZ2VKUEVHUmVwcmVzZW50YXRpb24odGVzdEljb25JbWFnZSgpLCAwLjUpOwogICAg
IFtzaW11bGF0ZWRJbWFnZUl0ZW1Qcm92aWRlciByZWdpc3RlckRhdGFSZXByZXNlbnRhdGlvbkZv
clR5cGVJZGVudGlmaWVyOihOU1N0cmluZyAqKWtVVFR5cGVKUEVHIHdpdGhEYXRhOmltYWdlRGF0
YV07CiAKLSAgICBSZXRhaW5QdHI8VUlJdGVtUHJvdmlkZXI+IHNpbXVsYXRlZEhUTUxJdGVtUHJv
dmlkZXIgPSBhZG9wdE5TKFtbVUlJdGVtUHJvdmlkZXIgYWxsb2NdIGluaXRdKTsKKyAgICBhdXRv
IHNpbXVsYXRlZEhUTUxJdGVtUHJvdmlkZXIgPSBhZG9wdE5TKFtbVUlJdGVtUHJvdmlkZXIgYWxs
b2NdIGluaXRdKTsKICAgICBOU0RhdGEgKmh0bWxEYXRhID0gW0AiPGJvZHkgY29udGVudGVkaXRh
YmxlPjwvYm9keT4iIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsKICAg
ICBbc2ltdWxhdGVkSFRNTEl0ZW1Qcm92aWRlciByZWdpc3RlckRhdGFSZXByZXNlbnRhdGlvbkZv
clR5cGVJZGVudGlmaWVyOihOU1N0cmluZyAqKWtVVFR5cGVIVE1MIHdpdGhEYXRhOmh0bWxEYXRh
XTsKIAotICAgIFJldGFpblB0cjxEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3I+IGRhdGFJbnRlcmFj
dGlvblNpbXVsYXRvciA9IGFkb3B0TlMoW1tEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2Nd
IGluaXRXaXRoV2ViVmlldzp3ZWJWaWV3LmdldCgpXSk7CisgICAgYXV0byBkYXRhSW50ZXJhY3Rp
b25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBp
bml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOwogICAgIFtkYXRhSW50ZXJhY3Rpb25TaW11
bGF0b3Igc2V0RXh0ZXJuYWxJdGVtUHJvdmlkZXJzOkBbIHNpbXVsYXRlZEhUTUxJdGVtUHJvdmlk
ZXIuZ2V0KCksIHNpbXVsYXRlZEltYWdlSXRlbVByb3ZpZGVyLmdldCgpIF1dOwogICAgIFtkYXRh
SW50ZXJhY3Rpb25TaW11bGF0b3IgcnVuRnJvbTpDR1BvaW50TWFrZSgyMDAsIDEwMCkgdG86Q0dQ
b2ludE1ha2UoMTAwLCAxMDApXTsKIApAQCAtNzU4LDEyICs3NTgsMTIgQEAgVEVTVChEYXRhSW50
ZXJhY3Rpb25UZXN0cywgUmVzcGVjdHNFeHRlcm5hbFNvdXJjZUZpZGVsaXR5UmFua2luZ3MpCiAK
IFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMsIEV4dGVybmFsU291cmNlVVRGOFBsYWluVGV4dE9u
bHkpCiB7Ci0gICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtb
VGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwg
NTAwKV0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7CiAgICAgW3dlYlZp
ZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiYXV0b2ZvY3VzLWNvbnRlbnRlZGl0
YWJsZSJdOwogCiAgICAgTlNTdHJpbmcgKnRleHRQYXlsb2FkID0gQCJDZWNpIG4nZXN0IHBhcyB1
bmUgc3RyaW5nIjsKLSAgICBSZXRhaW5QdHI8RGF0YUludGVyYWN0aW9uU2ltdWxhdG9yPiBkYXRh
SW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
IGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOwotICAgIFJldGFpblB0cjxV
SUl0ZW1Qcm92aWRlcj4gc2ltdWxhdGVkSXRlbVByb3ZpZGVyID0gYWRvcHROUyhbW1VJSXRlbVBy
b3ZpZGVyIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3Ig
PSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZp
ZXc6d2ViVmlldy5nZXQoKV0pOworICAgIGF1dG8gc2ltdWxhdGVkSXRlbVByb3ZpZGVyID0gYWRv
cHROUyhbW1VJSXRlbVByb3ZpZGVyIGFsbG9jXSBpbml0XSk7CiAgICAgW3NpbXVsYXRlZEl0ZW1Q
cm92aWRlciByZWdpc3RlckRhdGFSZXByZXNlbnRhdGlvbkZvclR5cGVJZGVudGlmaWVyOihfX2Jy
aWRnZSBOU1N0cmluZyAqKWtVVFR5cGVVVEY4UGxhaW5UZXh0IG9wdGlvbnM6bmlsIGxvYWRIYW5k
bGVyOl5OU1Byb2dyZXNzICooVUlJdGVtUHJvdmlkZXJEYXRhTG9hZENvbXBsZXRpb25CbG9jayBj
b21wbGV0aW9uQmxvY2spCiAgICAgewogICAgICAgICBjb21wbGV0aW9uQmxvY2soW3RleHRQYXls
b2FkIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXSwgbmlsKTsKQEAgLTc3
NywxMSArNzc3LDExIEBAIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMsIEV4dGVybmFsU291cmNl
VVRGOFBsYWluVGV4dE9ubHkpCiAKIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMsIEV4dGVybmFs
U291cmNlSlBFR09ubHkpCiB7Ci0gICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtl
KDAsIDAsIDMyMCwgNTAwKV0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7
CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiYXV0b2ZvY3Vz
LWNvbnRlbnRlZGl0YWJsZSJdOwogCi0gICAgUmV0YWluUHRyPERhdGFJbnRlcmFjdGlvblNpbXVs
YXRvcj4gZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yID0gYWRvcHROUyhbW0RhdGFJbnRlcmFjdGlv
blNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3OndlYlZpZXcuZ2V0KCldKTsKLSAgICBS
ZXRhaW5QdHI8VUlJdGVtUHJvdmlkZXI+IHNpbXVsYXRlZEl0ZW1Qcm92aWRlciA9IGFkb3B0TlMo
W1tVSUl0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gZGF0YUludGVyYWN0aW9u
U2ltdWxhdG9yID0gYWRvcHROUyhbW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBhbGxvY10gaW5p
dFdpdGhXZWJWaWV3OndlYlZpZXcuZ2V0KCldKTsKKyAgICBhdXRvIHNpbXVsYXRlZEl0ZW1Qcm92
aWRlciA9IGFkb3B0TlMoW1tVSUl0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOwogICAgIFtzaW11
bGF0ZWRJdGVtUHJvdmlkZXIgcmVnaXN0ZXJEYXRhUmVwcmVzZW50YXRpb25Gb3JUeXBlSWRlbnRp
ZmllcjooX19icmlkZ2UgTlNTdHJpbmcgKilrVVRUeXBlSlBFRyBvcHRpb25zOm5pbCBsb2FkSGFu
ZGxlcjpeTlNQcm9ncmVzcyAqKFVJSXRlbVByb3ZpZGVyRGF0YUxvYWRDb21wbGV0aW9uQmxvY2sg
Y29tcGxldGlvbkJsb2NrKQogICAgIHsKICAgICAgICAgY29tcGxldGlvbkJsb2NrKFVJSW1hZ2VK
UEVHUmVwcmVzZW50YXRpb24odGVzdEljb25JbWFnZSgpLCAwLjUpLCBuaWwpOwpAQCAtODg5LDE0
ICs4ODksMTQgQEAgVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgRXh0ZXJuYWxTb3VyY2VPdmVy
cmlkZURyb3BJbnNlcnRVUkwpCiAKIFRFU1QoRGF0YUludGVyYWN0aW9uVGVzdHMsIE92ZXJyaWRl
RGF0YUludGVyYWN0aW9uT3BlcmF0aW9uKQogewotICAgIFJldGFpblB0cjxUZXN0V0tXZWJWaWV3
PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCldKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5T
KFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMy
MCwgNTAwKV0pOwogICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpA
InNpbXBsZSJdOwogCi0gICAgUmV0YWluUHRyPFVJSXRlbVByb3ZpZGVyPiBzaW11bGF0ZWRJdGVt
UHJvdmlkZXIgPSBhZG9wdE5TKFtbVUlJdGVtUHJvdmlkZXIgYWxsb2NdIGluaXRdKTsKKyAgICBh
dXRvIHNpbXVsYXRlZEl0ZW1Qcm92aWRlciA9IGFkb3B0TlMoW1tVSUl0ZW1Qcm92aWRlciBhbGxv
Y10gaW5pdF0pOwogICAgIFtzaW11bGF0ZWRJdGVtUHJvdmlkZXIgcmVnaXN0ZXJEYXRhUmVwcmVz
ZW50YXRpb25Gb3JUeXBlSWRlbnRpZmllcjooTlNTdHJpbmcgKilrVVRUeXBlSFRNTCB3aXRoRGF0
YTpbQCI8Ym9keT48L2JvZHk+IiBkYXRhVXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGlu
Z11dOwogCiAgICAgX19ibG9jayBib29sIGZpbmlzaGVkTG9hZGluZ0RhdGEgPSBmYWxzZTsKLSAg
ICBSZXRhaW5QdHI8RGF0YUludGVyYWN0aW9uU2ltdWxhdG9yPiBkYXRhSW50ZXJhY3Rpb25TaW11
bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0
aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOworICAgIGF1dG8gZGF0YUludGVyYWN0aW9uU2ltdWxh
dG9yID0gYWRvcHROUyhbW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhX
ZWJWaWV3OndlYlZpZXcuZ2V0KCldKTsKICAgICBbZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIHNl
dEV4dGVybmFsSXRlbVByb3ZpZGVyczpAWyBzaW11bGF0ZWRJdGVtUHJvdmlkZXIuZ2V0KCkgXV07
CiAgICAgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBzZXRPdmVycmlkZURhdGFJbnRlcmFjdGlv
bk9wZXJhdGlvbkJsb2NrOl5OU1VJbnRlZ2VyKE5TVUludGVnZXIgb3BlcmF0aW9uLCBpZCBzZXNz
aW9uKQogICAgIHsKQEAgLTEwMDgsMTAgKzEwMDgsMTAgQEAgVEVTVChEYXRhSW50ZXJhY3Rpb25U
ZXN0cywgTGFyZ2VJbWFnZVRvVGFyZ2V0RGl2KQogICAgIGF1dG8gdGVzdFdlYlZpZXdDb25maWd1
cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
ICAgICBbW3Rlc3RXZWJWaWV3Q29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10gX3NldExhcmdlSW1h
Z2VBc3luY0RlY29kaW5nRW5hYmxlZDpOT107CiAKLSAgICBSZXRhaW5QdHI8VGVzdFdLV2ViVmll
dz4gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1l
OkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApIGNvbmZpZ3VyYXRpb246dGVzdFdlYlZpZXdDb25m
aWd1cmF0aW9uLmdldCgpXSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCkgY29u
ZmlndXJhdGlvbjp0ZXN0V2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKICAgICBbd2ViVmll
dyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJkaXYtYW5kLWxhcmdlLWltYWdlIl07
CiAKLSAgICBSZXRhaW5QdHI8RGF0YUludGVyYWN0aW9uU2ltdWxhdG9yPiBkYXRhSW50ZXJhY3Rp
b25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGFsbG9jXSBp
bml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOworICAgIGF1dG8gZGF0YUludGVyYWN0aW9u
U2ltdWxhdG9yID0gYWRvcHROUyhbW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBhbGxvY10gaW5p
dFdpdGhXZWJWaWV3OndlYlZpZXcuZ2V0KCldKTsKICAgICBbZGF0YUludGVyYWN0aW9uU2ltdWxh
dG9yIHJ1bkZyb206Q0dQb2ludE1ha2UoMjAwLCA0MDApIHRvOkNHUG9pbnRNYWtlKDIwMCwgMTUw
KV07CiAgICAgRVhQRUNUX1dLX1NUUkVRKCJQQVNTIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAInRhcmdldC50ZXh0Q29udGVudCJdLlVURjhTdHJpbmcpOwogICAgIGNo
ZWNrVHlwZUlkZW50aWZpZXJBbmRJc05vdE90aGVyVHlwZUlkZW50aWZpZXIoZGF0YUludGVyYWN0
aW9uU2ltdWxhdG9yLmdldCgpLCAoTlNTdHJpbmcgKilrVVRUeXBlUE5HLCAoTlNTdHJpbmcgKilr
VVRUeXBlRmlsZVVSTCk7CkBAIC0xMDIwLDExICsxMDIwLDExIEBAIFRFU1QoRGF0YUludGVyYWN0
aW9uVGVzdHMsIExhcmdlSW1hZ2VUb1RhcmdldERpdikKIAogVEVTVChEYXRhSW50ZXJhY3Rpb25U
ZXN0cywgTGlua1dpdGhFbXB0eUhSRUYpCiB7Ci0gICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpD
R1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMo
W1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIw
LCA1MDApXSk7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAi
bGluay1hbmQtaW5wdXQiXTsKICAgICBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2Ny
aXB0OkAiZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYScpLmhyZWYgPSAnJyJdOwogCi0gICAgUmV0
YWluUHRyPERhdGFJbnRlcmFjdGlvblNpbXVsYXRvcj4gZGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
ID0gYWRvcHROUyhbW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhXZWJW
aWV3OndlYlZpZXcuZ2V0KCldKTsKKyAgICBhdXRvIGRhdGFJbnRlcmFjdGlvblNpbXVsYXRvciA9
IGFkb3B0TlMoW1tEYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmll
dzp3ZWJWaWV3LmdldCgpXSk7CiAgICAgW2RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBydW5Gcm9t
OkNHUG9pbnRNYWtlKDEwMCwgNTApIHRvOkNHUG9pbnRNYWtlKDEwMCwgMzAwKV07CiAKICAgICBF
WFBFQ1RfRVEoRGF0YUludGVyYWN0aW9uQ2FuY2VsbGVkLCBbZGF0YUludGVyYWN0aW9uU2ltdWxh
dG9yIHBoYXNlXSk7CkBAIC0xMDcxLDcgKzEwNzEsNyBAQCBURVNUKERhdGFJbnRlcmFjdGlvblRl
c3RzLCBEb05vdENyYXNoV2hlblNlbGVjdGlvbklzQ2xlYXJlZEluRHJhZ1N0YXJ0KQogCiBURVNU
KERhdGFJbnRlcmFjdGlvblRlc3RzLCBDdXN0b21BY3Rpb25TaGVldFBvcG92ZXIpCiB7Ci0gICAg
UmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApXSk7CiAgICAgW3dlYlZpZXcgc3luY2hyb25v
dXNseUxvYWRUZXN0UGFnZU5hbWVkOkAibGluay1hbmQtdGFyZ2V0LWRpdiJdOwogCiAgICAgYXV0
byBkYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IgPSBhZG9wdE5TKFtbRGF0YUludGVyYWN0aW9uU2lt
dWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXc6d2ViVmlldy5nZXQoKV0pOwpAQCAtMTA5NSw3
ICsxMDk1LDcgQEAgVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgVW5yZXNwb25zaXZlUGFnZURv
ZXNOb3RIYW5nVUkpCiAgICAgX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uICpwcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24gPSBbW1tfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGlu
aXRdIGF1dG9yZWxlYXNlXTsKICAgICBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaWdub3JlU3lu
Y2hyb25vdXNNZXNzYWdpbmdUaW1lb3V0c0ZvclRlc3RpbmcgPSBZRVM7CiAKLSAgICBSZXRhaW5Q
dHI8VGVzdFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgMzIwLCA1MDApIGNvbmZpZ3VyYXRpb246
W1tbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0gYXV0b3JlbGVhc2VdIHByb2Nl
c3NQb29sQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb25dKTsKKyAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpD
R1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKSBjb25maWd1cmF0aW9uOltbW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdIGF1dG9yZWxlYXNlXSBwcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b246cHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uXSk7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNs
eUxvYWRUZXN0UGFnZU5hbWVkOkAic2ltcGxlIl07CiAgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZh
U2NyaXB0OkAid2hpbGUoMSk7IiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>