<?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>205070</bug_id>
          
          <creation_ts>2019-12-10 11:01:25 -0800</creation_ts>
          <short_desc>Re-sync imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html from usptream</short_desc>
          <delta_ts>2019-12-11 09:11:54 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>127395</blocked>
    
    <blocked>205120</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1597254</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-10 11:01:25 -0800</bug_when>
    <thetext>Re-sync imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html from usptream ab28e18f067f17a76d9c32.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597256</commentid>
    <comment_count>1</comment_count>
      <attachid>385287</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-10 11:02:17 -0800</bug_when>
    <thetext>Created attachment 385287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597301</commentid>
    <comment_count>2</comment_count>
      <attachid>385287</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-10 12:19:16 -0800</bug_when>
    <thetext>Comment on attachment 385287
Patch

Clearing flags on attachment: 385287

Committed r253340: &lt;https://trac.webkit.org/changeset/253340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597302</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-10 12:19:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1597304</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-10 12:21:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/57803640&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385287</attachid>
            <date>2019-12-10 11:02:17 -0800</date>
            <delta_ts>2019-12-10 12:19:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205070-20191210110216.patch</filename>
            <type>text/plain</type>
            <size>26700</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzMzMwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBiYzliNTQ1NDI5NmUyNTgwYmQ2MTZkNzZkYTgyYzAzMmYyZGI5YTRiLi5jYjEwYWIzOTg4
NjdjNzRhNjhlMTU5Nzk5NGU0MTg2NTk5ZWNkY2NmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOS0xMi0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFJlLXN5bmMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1vcmln
aW4tb2JqZWN0cy5odG1sIGZyb20gdXNwdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlLXN5bmMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1vcmln
aW4tb2JqZWN0cy5odG1sIGZyb20gdXNwdHJlYW0KKyAgICAgICAgYWIyOGUxOGYwNjdmMTdhNzZk
OWMzMi4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdp
bi9jcm9zcy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3Nz
LW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLmh0bWw6CisKIDIwMTktMTItMDkg
IFBhdHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgSW1wb3J0
IHNlY3VyZSBjb29raWUgdGVzdHMgZnJvbSBXUFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mt
b3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdp
bi9jcm9zcy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1leHBlY3RlZC50eHQK
aW5kZXggZWVkM2ExYTczMWQ2NTI2MmRkM2E4OWVlNWE3ZWZjZWY2ZmMzMDg3Ny4uNDNhOWI0NzQ0
MWNmODUxNTdhOTMyYmEzMGNmMTk3YmNhY2FlYjdkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9z
cy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJz
L29yaWdpbi9jcm9zcy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1leHBlY3Rl
ZC50eHQKQEAgLTEsMTAgKzEsMjggQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMDI6IEJsb2Nr
ZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4ODAwIiBmcm9tIGFjY2Vz
c2luZyBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjg4MDAiLiBQcm90b2Nv
bHMsIGRvbWFpbnMsIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDI4NzogQmxvY2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0Ojg4MDAi
IGZyb20gYWNjZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly8xMjcuMC4wLjE6ODgw
MCIuIFByb3RvY29scywgZG9tYWlucywgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgMzAyOiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2Nh
bGhvc3Q6ODgwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0cDovLzEy
Ny4wLjAuMTo4ODAwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBtYXRjaC4K
K0NPTlNPTEUgTUVTU0FHRTogbGluZSAyODc6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9yaWdpbiAi
aHR0cDovL2xvY2FsaG9zdDo4ODAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGggb3JpZ2lu
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAiLiBUaGUgZnJhbWUgYmVpbmcgYWNjZXNzZWQgc2V0ICJk
b2N1bWVudC5kb21haW4iIHRvICJsb2NhbGhvc3QiLCBidXQgdGhlIGZyYW1lIHJlcXVlc3Rpbmcg
YWNjZXNzIGRpZCBub3QuIEJvdGggbXVzdCBzZXQgImRvY3VtZW50LmRvbWFpbiIgdG8gdGhlIHNh
bWUgdmFsdWUgdG8gYWxsb3cgYWNjZXNzLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDMwMjogQmxv
Y2tlZCBhIGZyYW1lIHdpdGggb3JpZ2luICJodHRwOi8vbG9jYWxob3N0Ojg4MDAiIGZyb20gYWNj
ZXNzaW5nIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMCIuIFRoZSBm
cmFtZSBiZWluZyBhY2Nlc3NlZCBzZXQgImRvY3VtZW50LmRvbWFpbiIgdG8gImxvY2FsaG9zdCIs
IGJ1dCB0aGUgZnJhbWUgcmVxdWVzdGluZyBhY2Nlc3MgZGlkIG5vdC4gQm90aCBtdXN0IHNldCAi
ZG9jdW1lbnQuZG9tYWluIiB0byB0aGUgc2FtZSB2YWx1ZSB0byBhbGxvdyBhY2Nlc3MuCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMjg3OiBCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW4gImh0dHA6
Ly9sb2NhbGhvc3Q6ODgwMCIgZnJvbSBhY2Nlc3NpbmcgYSBmcmFtZSB3aXRoIG9yaWdpbiAiaHR0
cDovLzEyNy4wLjAuMTo4ODAwIi4gUHJvdG9jb2xzLCBkb21haW5zLCBhbmQgcG9ydHMgbXVzdCBt
YXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMDI6IEJsb2NrZWQgYSBmcmFtZSB3aXRoIG9y
aWdpbiAiaHR0cDovL2xvY2FsaG9zdDo4ODAwIiBmcm9tIGFjY2Vzc2luZyBhIGZyYW1lIHdpdGgg
b3JpZ2luICJodHRwOi8vMTI3LjAuMC4xOjg4MDAiLiBQcm90b2NvbHMsIGRvbWFpbnMsIGFuZCBw
b3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBVbmFibGUgdG8gcG9zdCBtZXNzYWdl
IHRvIGh0dHA6Ly9kb2VzLW5vdC5leGlzdC4gUmVjaXBpZW50IGhhcyBvcmlnaW4gaHR0cDovLzEy
Ny4wLjAuMTo4ODAwLgogCi1QQVNTIEJhc2ljIHNhbml0eS1jaGVja2luZyAoY3Jvc3Mtb3JpZ2lu
KSAKLVBBU1MgQmFzaWMgc2FuaXR5LWNoZWNraW5nIChzYW1lLW9yaWdpbiArIGRvY3VtZW50LmRv
bWFpbikgCi1QQVNTIEJhc2ljIHNhbml0eS1jaGVja2luZyAoY3Jvc3Mtc2l0ZSkgCisKK0ZBSUwg
QmFzaWMgc2FuaXR5LWNoZWNraW5nIChjcm9zcy1vcmlnaW4pIGFzc2VydF9lcXVhbHM6IE92ZXJy
aWRlcyB2aXNpYmxlIGluIHRoZSBzYW1lLW9yaWdpbiBjYXNlIGV4cGVjdGVkIChzdHJpbmcpICJv
dmVycmlkZSIgYnV0IGdvdCAoZnVuY3Rpb24pIGZ1bmN0aW9uICJmdW5jdGlvbiBmb2N1cygpIHsK
KyAgICBbbmF0aXZlIGNvZGVdCit9IgorRkFJTCBCYXNpYyBzYW5pdHktY2hlY2tpbmcgKHNhbWUt
b3JpZ2luICsgZG9jdW1lbnQuZG9tYWluKSBhc3NlcnRfZXF1YWxzOiBPdmVycmlkZXMgdmlzaWJs
ZSBpbiB0aGUgc2FtZS1vcmlnaW4gY2FzZSBleHBlY3RlZCAoc3RyaW5nKSAib3ZlcnJpZGUiIGJ1
dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVuY3Rpb24gZm9jdXMoKSB7CisgICAgW25hdGl2
ZSBjb2RlXQorfSIKK0ZBSUwgQmFzaWMgc2FuaXR5LWNoZWNraW5nIChjcm9zcy1zaXRlKSBhc3Nl
cnRfZXF1YWxzOiBPdmVycmlkZXMgdmlzaWJsZSBpbiB0aGUgc2FtZS1vcmlnaW4gY2FzZSBleHBl
Y3RlZCAoc3RyaW5nKSAib3ZlcnJpZGUiIGJ1dCBnb3QgKGZ1bmN0aW9uKSBmdW5jdGlvbiAiZnVu
Y3Rpb24gZm9jdXMoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKIEZBSUwgT25seSB3aGl0ZWxp
c3RlZCBwcm9wZXJ0aWVzIGFyZSBhY2Nlc3NpYmxlIGNyb3NzLW9yaWdpbiAoY3Jvc3Mtb3JpZ2lu
KSBhc3NlcnRfdGhyb3dzOiBTaG91bGQgdGhyb3cgd2hlbiB3cml0aW5nIHRvIHRvU3RyaW5nIG9u
IExvY2F0aW9uIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHdpbi5sb2NhdGlvbltwcm9wXSA9IHVu
ZGVmaW5lZDsgfSIgZGlkIG5vdCB0aHJvdwogRkFJTCBPbmx5IHdoaXRlbGlzdGVkIHByb3BlcnRp
ZXMgYXJlIGFjY2Vzc2libGUgY3Jvc3Mtb3JpZ2luIChzYW1lLW9yaWdpbiArIGRvY3VtZW50LmRv
bWFpbikgYXNzZXJ0X3Rocm93czogU2hvdWxkIHRocm93IHdoZW4gd3JpdGluZyB0byB0b1N0cmlu
ZyBvbiBMb2NhdGlvbiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB3aW4ubG9jYXRpb25bcHJvcF0g
PSB1bmRlZmluZWQ7IH0iIGRpZCBub3QgdGhyb3cKIEZBSUwgT25seSB3aGl0ZWxpc3RlZCBwcm9w
ZXJ0aWVzIGFyZSBhY2Nlc3NpYmxlIGNyb3NzLW9yaWdpbiAoY3Jvc3Mtc2l0ZSkgYXNzZXJ0X3Ro
cm93czogU2hvdWxkIHRocm93IHdoZW4gd3JpdGluZyB0byB0b1N0cmluZyBvbiBMb2NhdGlvbiBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB3aW4ubG9jYXRpb25bcHJvcF0gPSB1bmRlZmluZWQ7IH0i
IGRpZCBub3QgdGhyb3cKK0ZBSUwgT25seSB3aGl0ZWxpc3RlZCBwcm9wZXJ0aWVzIGFyZSB1c2Fi
bGUgYXMgY3Jvc3Mtb3JpZ2luIHRoaXMgb2JqZWN0cyAoY3Jvc3Mtb3JpZ2luKSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJTeW50YXhFcnJvcjog
VGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLiIKK0ZBSUwgT25s
eSB3aGl0ZWxpc3RlZCBwcm9wZXJ0aWVzIGFyZSB1c2FibGUgYXMgY3Jvc3Mtb3JpZ2luIHRoaXMg
b2JqZWN0cyAoc2FtZS1vcmlnaW4gKyBkb2N1bWVudC5kb21haW4pIGFzc2VydF90aHJvd3M6IFNo
b3VsZCB0aHJvdyB3aGVuIGNhbGxpbmcgd2luZG93LmNyZWF0ZUltYWdlQml0bWFwIHdpdGggY3Jv
c3Mtb3JpZ2luIHRoaXMgb2JqZWN0IGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGUgfSIg
dGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzIiB0aGF0IGlzIG5v
dCBhIERPTUV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwg
dG8gdW5kZWZpbmVkLCBleHBlY3RlZCAxOAorRkFJTCBPbmx5IHdoaXRlbGlzdGVkIHByb3BlcnRp
ZXMgYXJlIHVzYWJsZSBhcyBjcm9zcy1vcmlnaW4gdGhpcyBvYmplY3RzIChjcm9zcy1zaXRlKSBh
c3NlcnRfdGhyb3dzOiBTaG91bGQgdGhyb3cgd2hlbiBjYWxsaW5nIHdpbmRvdy5jcmVhdGVJbWFn
ZUJpdG1hcCB3aXRoIGNyb3NzLW9yaWdpbiB0aGlzIG9iamVjdCBmdW5jdGlvbiAiZnVuY3Rpb24g
KCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3Vt
ZW50cyIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gU2VjdXJpdHlFcnJvcjogcHJvcGVydHkg
ImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTgKIFBBU1MgW1tHZXRQcm90
b3R5cGVPZl1dIHNob3VsZCByZXR1cm4gbnVsbCAoY3Jvc3Mtb3JpZ2luKSAKIFBBU1MgW1tHZXRQ
cm90b3R5cGVPZl1dIHNob3VsZCByZXR1cm4gbnVsbCAoc2FtZS1vcmlnaW4gKyBkb2N1bWVudC5k
b21haW4pIAogUEFTUyBbW0dldFByb3RvdHlwZU9mXV0gc2hvdWxkIHJldHVybiBudWxsIChjcm9z
cy1zaXRlKSAKQEAgLTk4LDIyICsxMTYsMTYgQEAgUEFTUyBTYW1lLW9yaWdpbiBvYnNlcnZlcnMg
Z2V0IGRpZmZlcmVudCBhY2Nlc3NvcnMgZm9yIGNyb3NzLW9yaWdpbiBMb2NhdGlvbiAoY3IKIFBB
U1Mge30udG9TdHJpbmcuY2FsbCgpIGRvZXMgdGhlIHJpZ2h0IHRoaW5nIG9uIGNyb3NzLW9yaWdp
biBvYmplY3RzIChjcm9zcy1vcmlnaW4pIAogUEFTUyB7fS50b1N0cmluZy5jYWxsKCkgZG9lcyB0
aGUgcmlnaHQgdGhpbmcgb24gY3Jvc3Mtb3JpZ2luIG9iamVjdHMgKHNhbWUtb3JpZ2luICsgZG9j
dW1lbnQuZG9tYWluKSAKIFBBU1Mge30udG9TdHJpbmcuY2FsbCgpIGRvZXMgdGhlIHJpZ2h0IHRo
aW5nIG9uIGNyb3NzLW9yaWdpbiBvYmplY3RzIChjcm9zcy1zaXRlKSAKLVBBU1MgQ3Jvc3Mtb3Jp
Z2luIGJlaGF2aW9yIG9mIFdpbmRvdyBhbmQgTG9jYXRpb24gCi1QQVNTIFJlc29sdmluZyBhIHBy
b21pc2Ugd2l0aCBhIGNyb3NzLW9yaWdpbiB3aW5kb3cgd2l0aG91dCBhICd0aGVuJyBzdWJmcmFt
ZSBzaG91bGQgd29yayAoY3Jvc3Mtb3JpZ2luKS4gCi1QQVNTIENyb3NzLW9yaWdpbiBiZWhhdmlv
ciBvZiBXaW5kb3cgYW5kIExvY2F0aW9uIDEgCi1QQVNTIFJlc29sdmluZyBhIHByb21pc2Ugd2l0
aCBhIGNyb3NzLW9yaWdpbiB3aW5kb3cgd2l0aG91dCBhICd0aGVuJyBzdWJmcmFtZSBzaG91bGQg
d29yayAoc2FtZS1vcmlnaW4gKyBkb2N1bWVudC5kb21haW4pLiAKLVBBU1MgQ3Jvc3Mtb3JpZ2lu
IGJlaGF2aW9yIG9mIFdpbmRvdyBhbmQgTG9jYXRpb24gMiAKLVBBU1MgUmVzb2x2aW5nIGEgcHJv
bWlzZSB3aXRoIGEgY3Jvc3Mtb3JpZ2luIHdpbmRvdyB3aXRob3V0IGEgJ3RoZW4nIHN1YmZyYW1l
IHNob3VsZCB3b3JrIChjcm9zcy1zaXRlKS4gCi1QQVNTIENyb3NzLW9yaWdpbiBiZWhhdmlvciBv
ZiBXaW5kb3cgYW5kIExvY2F0aW9uIDMgCi1QQVNTIFJlc29sdmluZyBhIHByb21pc2Ugd2l0aCBh
IGNyb3NzLW9yaWdpbiB3aW5kb3cgd2l0aCBhICd0aGVuJyBzdWJmcmFtZSBzaG91bGQgd29yayAo
Y3Jvc3Mtb3JpZ2luKS4gCi1QQVNTIENyb3NzLW9yaWdpbiBiZWhhdmlvciBvZiBXaW5kb3cgYW5k
IExvY2F0aW9uIDQgCi1QQVNTIFJlc29sdmluZyBhIHByb21pc2Ugd2l0aCBhIGNyb3NzLW9yaWdp
biB3aW5kb3cgd2l0aCBhICd0aGVuJyBzdWJmcmFtZSBzaG91bGQgd29yayAoc2FtZS1vcmlnaW4g
KyBkb2N1bWVudC5kb21haW4pLiAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIGJlaGF2aW9yIG9mIFdpbmRv
dyBhbmQgTG9jYXRpb24gNSAKLVBBU1MgUmVzb2x2aW5nIGEgcHJvbWlzZSB3aXRoIGEgY3Jvc3Mt
b3JpZ2luIHdpbmRvdyB3aXRoIGEgJ3RoZW4nIHN1YmZyYW1lIHNob3VsZCB3b3JrIChjcm9zcy1z
aXRlKS4gCi1QQVNTIENyb3NzLW9yaWdpbiBiZWhhdmlvciBvZiBXaW5kb3cgYW5kIExvY2F0aW9u
IDYgCi1QQVNTIFJlc29sdmluZyBhIHByb21pc2Ugd2l0aCBhIGNyb3NzLW9yaWdpbiBsb2NhdGlv
biBzaG91bGQgd29yayAoY3Jvc3Mtb3JpZ2luKS4gCi1QQVNTIENyb3NzLW9yaWdpbiBiZWhhdmlv
ciBvZiBXaW5kb3cgYW5kIExvY2F0aW9uIDcgCi1QQVNTIFJlc29sdmluZyBhIHByb21pc2Ugd2l0
aCBhIGNyb3NzLW9yaWdpbiBsb2NhdGlvbiBzaG91bGQgd29yayAoc2FtZS1vcmlnaW4gKyBkb2N1
bWVudC5kb21haW4pLiAKLVBBU1MgQ3Jvc3Mtb3JpZ2luIGJlaGF2aW9yIG9mIFdpbmRvdyBhbmQg
TG9jYXRpb24gOCAKLVBBU1MgUmVzb2x2aW5nIGEgcHJvbWlzZSB3aXRoIGEgY3Jvc3Mtb3JpZ2lu
IGxvY2F0aW9uIHNob3VsZCB3b3JrIChjcm9zcy1zaXRlKS4gCitQQVNTIFJlc29sdmluZyBhIHBy
b21pc2Ugd2l0aCBhIGNyb3NzLW9yaWdpbiB3aW5kb3cgd2l0aG91dCBhICd0aGVuJyBzdWJmcmFt
ZSBzaG91bGQgd29yayAoY3Jvc3Mtb3JpZ2luKSAKK1BBU1MgUmVzb2x2aW5nIGEgcHJvbWlzZSB3
aXRoIGEgY3Jvc3Mtb3JpZ2luIHdpbmRvdyB3aXRob3V0IGEgJ3RoZW4nIHN1YmZyYW1lIHNob3Vs
ZCB3b3JrIChzYW1lLW9yaWdpbiArIGRvY3VtZW50LmRvbWFpbikgCitQQVNTIFJlc29sdmluZyBh
IHByb21pc2Ugd2l0aCBhIGNyb3NzLW9yaWdpbiB3aW5kb3cgd2l0aG91dCBhICd0aGVuJyBzdWJm
cmFtZSBzaG91bGQgd29yayAoY3Jvc3Mtc2l0ZSkgCitQQVNTIFJlc29sdmluZyBhIHByb21pc2Ug
d2l0aCBhIGNyb3NzLW9yaWdpbiB3aW5kb3cgd2l0aCBhICd0aGVuJyBzdWJmcmFtZSBzaG91bGQg
d29yayAoY3Jvc3Mtb3JpZ2luKSAKK1BBU1MgUmVzb2x2aW5nIGEgcHJvbWlzZSB3aXRoIGEgY3Jv
c3Mtb3JpZ2luIHdpbmRvdyB3aXRoIGEgJ3RoZW4nIHN1YmZyYW1lIHNob3VsZCB3b3JrIChzYW1l
LW9yaWdpbiArIGRvY3VtZW50LmRvbWFpbikgCitQQVNTIFJlc29sdmluZyBhIHByb21pc2Ugd2l0
aCBhIGNyb3NzLW9yaWdpbiB3aW5kb3cgd2l0aCBhICd0aGVuJyBzdWJmcmFtZSBzaG91bGQgd29y
ayAoY3Jvc3Mtc2l0ZSkgCitQQVNTIFJlc29sdmluZyBhIHByb21pc2Ugd2l0aCBhIGNyb3NzLW9y
aWdpbiBsb2NhdGlvbiBzaG91bGQgd29yayAoY3Jvc3Mtb3JpZ2luKSAKK1BBU1MgUmVzb2x2aW5n
IGEgcHJvbWlzZSB3aXRoIGEgY3Jvc3Mtb3JpZ2luIGxvY2F0aW9uIHNob3VsZCB3b3JrIChzYW1l
LW9yaWdpbiArIGRvY3VtZW50LmRvbWFpbikgCitQQVNTIFJlc29sdmluZyBhIHByb21pc2Ugd2l0
aCBhIGNyb3NzLW9yaWdpbiBsb2NhdGlvbiBzaG91bGQgd29yayAoY3Jvc3Mtc2l0ZSkgCitQQVNT
IExlbmllbnRUaGlzIGJlaGF2aW9yIChjcm9zcy1vcmlnaW4pIAorUEFTUyBMZW5pZW50VGhpcyBi
ZWhhdmlvciAoc2FtZS1vcmlnaW4gKyBkb2N1bWVudC5kb21haW4pIAorUEFTUyBMZW5pZW50VGhp
cyBiZWhhdmlvciAoY3Jvc3Mtc2l0ZSkgCiAgICAgICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jv
c3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jv
c3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMuaHRtbAppbmRleCBmNjY0ODE5
ZDM0MDQ0OThkYzFlZjllZGU1MGM3YjFiMjhmYWQxOTMzLi5mMTZhMThkNjM5Y2M2ZTUyOGI1NjFk
ODAwMDg4ZmNmZWJmMmMxMGNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3NzLW9yaWdpbi1vYmpl
Y3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmlnaW4t
b2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy5odG1sCkBAIC05NSw4ICs5NSwyMCBAQCBmdW5j
dGlvbiBhZGRUZXN0KGZ1bmMsIGRlc2MpIHsKICAgICAgcHJvbWlzZVRlc3Q6IGZhbHNlfSk7CiB9
CiAKK2Z1bmN0aW9uIGFkZFByb21pc2VUZXN0KGZ1bmMsIGRlc2MpIHsKKyAgdGVzdExpc3QucHVz
aCgKKyAgICB7dGVzdHM6IFsKKyAgICAgIHtmdW5jOiBmdW5jLmJpbmQobnVsbCwgQyksCisgICAg
ICAgZGVzYzogZGVzYyArICIgKGNyb3NzLW9yaWdpbikifSwKKyAgICAgIHtmdW5jOiBmdW5jLmJp
bmQobnVsbCwgRSksCisgICAgICAgZGVzYzogZGVzYyArICIgKHNhbWUtb3JpZ2luICsgZG9jdW1l
bnQuZG9tYWluKSJ9LAorICAgICAge2Z1bmM6IGZ1bmMuYmluZChudWxsLCBHKSwKKyAgICAgICBk
ZXNjOiBkZXNjICsgIiAoY3Jvc3Mtc2l0ZSkifV0sCisgICAgIHByb21pc2VUZXN0OiB0cnVlfSk7
Cit9CisKIC8qKgotICogQSBzaW1pbGFyIGhlbHBlciwgYnV0IGZvciB0aGUgc3ViZnJhbWVzIHRo
YXQgbG9hZCBmcmFtZS13aXRoLXRoZW4uaHRtbAorICogU2ltaWxhciBoZWxwZXJzLCBidXQgZm9y
IHRoZSBzdWJmcmFtZXMgdGhhdCBsb2FkIGZyYW1lLXdpdGgtdGhlbi5odG1sCiAgKi8KIGZ1bmN0
aW9uIGFkZFRoZW5UZXN0KGZ1bmMsIGRlc2MpIHsKICAgdGVzdExpc3QucHVzaCgKQEAgLTExMCw4
ICsxMjIsMTcgQEAgZnVuY3Rpb24gYWRkVGhlblRlc3QoZnVuYywgZGVzYykgewogICAgICBwcm9t
aXNlVGVzdDogZmFsc2V9KTsKIH0KIAotZnVuY3Rpb24gYWRkUHJvbWlzZVRlc3QoZnVuYywgZGVz
YykgewotICB0ZXN0TGlzdC5wdXNoKHt0ZXN0czpbe2Z1bmMsIGRlc2N9XSwgcHJvbWlzZVRlc3Q6
IHRydWV9KTsgfQorZnVuY3Rpb24gYWRkUHJvbWlzZVRoZW5UZXN0KGZ1bmMsIGRlc2MpIHsKKyAg
dGVzdExpc3QucHVzaCgKKyAgICB7dGVzdHM6IFsKKyAgICAgIHtmdW5jOiBmdW5jLmJpbmQobnVs
bCwgRCksCisgICAgICAgZGVzYzogZGVzYyArICIgKGNyb3NzLW9yaWdpbikifSwKKyAgICAgIHtm
dW5jOiBmdW5jLmJpbmQobnVsbCwgRiksCisgICAgICAgZGVzYzogZGVzYyArICIgKHNhbWUtb3Jp
Z2luICsgZG9jdW1lbnQuZG9tYWluKSJ9LAorICAgICAge2Z1bmM6IGZ1bmMuYmluZChudWxsLCBI
KSwKKyAgICAgICBkZXNjOiBkZXNjICsgIiAoY3Jvc3Mtc2l0ZSkifV0sCisgICAgIHByb21pc2VU
ZXN0OiB0cnVlfSk7Cit9CiAKIC8qCiAgKiBCYXNpYyBzYW5pdHkgdGVzdGluZy4KQEAgLTEyNyw2
ICsxNDgsOSBAQCBhZGRUZXN0KGZ1bmN0aW9uKHdpbikgewogICBhc3NlcnRfdGhyb3dzKCJTZWN1
cml0eUVycm9yIiwgZnVuY3Rpb24oKSB7IHdpbi5sb2NhdGlvbi5wYXRobmFtZTsgfSwgImxvY2F0
aW9uLnBhdGhuYW1lIHRocm93cyBjcm9zcy1vcmlnaW4iKTsKICAgYXNzZXJ0X2VxdWFscyhCLmZy
YW1lcywgJ292ZXJyaWRlJywgIk92ZXJyaWRlcyB2aXNpYmxlIGluIHRoZSBzYW1lLW9yaWdpbiBj
YXNlIik7CiAgIGFzc2VydF9lcXVhbHMod2luLmZyYW1lcywgd2luLCAiT3ZlcnJpZGVzIGludmlz
aWJsZSBpbiB0aGUgY3Jvc3Mtb3JpZ2luIGNhc2UiKTsKKyAgYXNzZXJ0X2VxdWFscyhCLmZvY3Vz
LCAnb3ZlcnJpZGUnLCAiT3ZlcnJpZGVzIHZpc2libGUgaW4gdGhlIHNhbWUtb3JpZ2luIGNhc2Ui
KTsKKyAgY2hlY2tGdW5jdGlvbih3aW4uZm9jdXMsIEZ1bmN0aW9uLnByb3RvdHlwZSk7CisgIGFz
c2VydF9ub3RfZXF1YWxzKHdpbi5mb2N1cywgZm9jdXMsICJPdmVycmlkZXMgaW52aXNpYmxlIGlu
IHRoZSBjcm9zcy1vcmlnaW4gY2FzZSIpOwogfSwgIkJhc2ljIHNhbml0eS1jaGVja2luZyIpOwog
CiAvKgpAQCAtMTM1LDIwICsxNTksNjQgQEAgYWRkVGVzdChmdW5jdGlvbih3aW4pIHsKICAqIEFs
c28gdGVzdHMgZm9yIFtbR2V0T3duUHJvcGVydHldXSBhbmQgW1tIYXNPd25Qcm9wZXJ0eV1dIGJl
aGF2aW9yLgogICovCiAKLXZhciB3aGl0ZWxpc3RlZFdpbmRvd0luZGljZXMgPSBbJzAnLCAnMSdd
OwotdmFyIHdoaXRlbGlzdGVkV2luZG93UHJvcE5hbWVzID0gWydsb2NhdGlvbicsICdwb3N0TWVz
c2FnZScsICd3aW5kb3cnLCAnZnJhbWVzJywgJ3NlbGYnLCAndG9wJywgJ3BhcmVudCcsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29wZW5lcicsICdjbG9zZWQnLCAnY2xvc2Un
LCAnYmx1cicsICdmb2N1cycsICdsZW5ndGgnLCAndGhlbiddOwotd2hpdGVsaXN0ZWRXaW5kb3dQ
cm9wTmFtZXMgPSB3aGl0ZWxpc3RlZFdpbmRvd1Byb3BOYW1lcy5jb25jYXQod2hpdGVsaXN0ZWRX
aW5kb3dJbmRpY2VzKTsKLXdoaXRlbGlzdGVkV2luZG93UHJvcE5hbWVzLnNvcnQoKTsKLXZhciB3
aGl0ZWxpc3RlZExvY2F0aW9uUHJvcE5hbWVzID0gWydocmVmJywgJ3JlcGxhY2UnLCAndGhlbidd
Owotd2hpdGVsaXN0ZWRMb2NhdGlvblByb3BOYW1lcy5zb3J0KCk7CiB2YXIgd2hpdGVsaXN0ZWRT
eW1ib2xzID0gW1N5bWJvbC50b1N0cmluZ1RhZywgU3ltYm9sLmhhc0luc3RhbmNlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICBTeW1ib2wuaXNDb25jYXRTcHJlYWRhYmxlXTsKLXZhciB3aGl0
ZWxpc3RlZFdpbmRvd1Byb3BzID0gd2hpdGVsaXN0ZWRXaW5kb3dQcm9wTmFtZXMuY29uY2F0KHdo
aXRlbGlzdGVkU3ltYm9scyk7Cit2YXIgd2luZG93V2hpdGVsaXN0cyA9IHsKKyAgbmFtZWRGcmFt
ZXM6IFsnZG9ub3RsZWFrbWUnXSwKKyAgaW5kaWNlczogWycwJywgJzEnXSwKKyAgZ2V0dGVyczog
Wydsb2NhdGlvbicsICd3aW5kb3cnLCAnZnJhbWVzJywgJ3NlbGYnLCAndG9wJywgJ3BhcmVudCcs
CisgICAgICAgICAgICAnb3BlbmVyJywgJ2Nsb3NlZCcsICdsZW5ndGgnXSwKKyAgc2V0dGVyczog
Wydsb2NhdGlvbiddLAorICBtZXRob2RzOiBbJ3Bvc3RNZXNzYWdlJywgJ2Nsb3NlJywgJ2JsdXIn
LCAnZm9jdXMnXSwKKyAgLy8gVGhlc2UgYXJlIG1ldGhvZHMgd2hpY2ggcmV0dXJuIHByb21pc2Vz
IGFuZCwgdGhlcmVmb3JlLCB3aGVuIGNhbGxlZCB3aXRoIGEKKyAgLy8gY3Jvc3Mtb3JpZ2luIGB0
aGlzYCBvYmplY3QsIGRvIG5vdCB0aHJvdyBpbW1lZGlhdGVseSwgYnV0IGluc3RlYWQgcmV0dXJu
IGEKKyAgLy8gUHJvbWlzZSB3aGljaCByZWplY3RzIHdpdGggdGhlIHNhbWUgU2VjdXJpdHlFcnJv
ciB0aGF0IHRoZXkgd291bGQKKyAgLy8gb3RoZXJ3aXNlIHRocm93LiBUaGV5IGFyZSBub3QsIGhv
d2V2ZXIsIGNyb3NzLW9yaWdpbiBhY2Nlc3NpYmxlLgorICBwcm9taXNlTWV0aG9kczogWydjcmVh
dGVJbWFnZUJpdG1hcCcsICdmZXRjaCddLAorfQord2luZG93V2hpdGVsaXN0cy5wcm9wTmFtZXMg
PSBBcnJheS5mcm9tKG5ldyBTZXQoWy4uLndpbmRvd1doaXRlbGlzdHMuaW5kaWNlcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi53aW5kb3dXaGl0
ZWxpc3RzLmdldHRlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLi4ud2luZG93V2hpdGVsaXN0cy5zZXR0ZXJzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLndpbmRvd1doaXRlbGlzdHMubWV0aG9k
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGhl
biddKSkuc29ydCgpOword2luZG93V2hpdGVsaXN0cy5wcm9wcyA9IHdpbmRvd1doaXRlbGlzdHMu
cHJvcE5hbWVzLmNvbmNhdCh3aGl0ZWxpc3RlZFN5bWJvbHMpOworCit2YXIgbG9jYXRpb25XaGl0
ZWxpc3RzID0geworICBnZXR0ZXJzOiBbXSwKKyAgc2V0dGVyczogWydocmVmJ10sCisgIG1ldGhv
ZHM6IFsncmVwbGFjZSddLAorICBwcm9taXNlTWV0aG9kczogW10sCit9Citsb2NhdGlvbldoaXRl
bGlzdHMucHJvcE5hbWVzID0gQXJyYXkuZnJvbShuZXcgU2V0KFsuLi5sb2NhdGlvbldoaXRlbGlz
dHMuZ2V0dGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC4uLmxvY2F0aW9uV2hpdGVsaXN0cy5zZXR0ZXJzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ubG9jYXRpb25XaGl0ZWxpc3RzLm1l
dGhvZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAndGhlbiddKSkuc29ydCgpOworCisvLyBEZWZpbmUgdmFyaW91cyBzZXRzIG9mIGFyZ3VtZW50
cyB0byBjYWxsIGNyb3NzLW9yaWdpbiBtZXRob2RzIHdpdGguIEFyZ3VtZW50cworLy8gZm9yIGFu
eSBjcm9zcy1vcmlnaW4tY2FsbGFibGUgbWV0aG9kIG11c3QgYmUgdmFsaWQsIGFuZCBzaG91bGQg
YWltIHRvIGhhdmUgbm8KKy8vIHNpZGUtZWZmZWN0cy4gQW55IG1ldGhvZCB3aXRob3V0IGFuIGVu
dHJ5IGluIHRoaXMgbGlzdCB3aWxsIGJlIGNhbGxlZCB3aXRoCisvLyBhbiBlbXB0eSBhcmd1bWVu
dHMgbGlzdC4KK3ZhciBtZXRob2RBcmdzID0gbmV3IE1hcChPYmplY3QuZW50cmllcyh7CisgIC8v
IEFzIGEgYmFzaWMgc21va2UgdGVzdCwgd2UgY2FsbCBvbmUgY3Jvc3Mtb3JpZ2luLWluYWNjZXNz
aWJsZSBtZXRob2Qgd2l0aAorICAvLyBib3RoIHZhbGlkIGFuZCBpbnZhbGlkIGFyZ3VtZW50cyB0
byBtYWtlIHN1cmUgdGhhdCBpdCByZWplY3RzIHdpdGggdGhlCisgIC8vIHNhbWUgU2VjdXJpdHlF
cnJvciByZWdhcmRsZXNzLgorICBhc3NpZ246IFsKKyAgICBbXSwKKyAgICBbImphdmFzY3JpcHQ6
dW5kZWZpbmVkIl0sCisgIF0sCisgIC8vIE5vdGU6IElmIHdlIHBvc3QgYSBtZXNzYWdlIHRvIGZy
YW1lLmh0bWwgd2l0aCBhIG1hdGNoaW5nIG9yaWdpbiwgaXRzCisgIC8vICJvbm1lc3NhZ2UiIGhh
bmRsZXIgd2lsbCBjaGFuZ2UgaXRzIGBkb2N1bWVudC5kb21haW5gLCBhbmQgcG90ZW50aWFsbHkK
KyAgLy8gaW52YWxpZGF0ZSBzdWJzZXF1ZW50IHRlc3RzLCBzbyBiZSBzdXJlIHRvIG9ubHkgcGFz
cyBub24tbWF0Y2hpbmcgb3JpZ2lucy4KKyAgcG9zdE1lc3NhZ2U6IFsKKyAgICBbImZvbyIsICJo
dHRwOi8vZG9lcy1ub3QuZXhpc3QvIl0sCisgICAgWyJmb28iLCB7fV0sCisgIF0sCisgIHJlcGxh
Y2U6IFtbImphdmFzY3JpcHQ6dW5kZWZpbmVkIl1dLAorfSkpOwogCiBhZGRUZXN0KGZ1bmN0aW9u
KHdpbikgewogICBmb3IgKHZhciBwcm9wIGluIHdpbmRvdykgewotICAgIGlmICh3aGl0ZWxpc3Rl
ZFdpbmRvd1Byb3BzLmluZGV4T2YocHJvcCkgIT0gLTEpIHsKKyAgICBpZiAod2luZG93V2hpdGVs
aXN0cy5wcm9wcy5pbmRleE9mKHByb3ApICE9IC0xKSB7CiAgICAgICB3aW5bcHJvcF07IC8vIFNo
b3VsZG4ndCB0aHJvdy4KICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2lu
LCBwcm9wKTsgLy8gU2hvdWxkbid0IHRocm93LgogICAgICAgYXNzZXJ0X3RydWUoT2JqZWN0LnBy
b3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHdpbiwgcHJvcCksICJoYXNPd25Qcm9wZXJ0eSBm
b3IgIiArIFN0cmluZyhwcm9wKSk7CkBAIC0xNjIsNiArMjMwLDExIEBAIGFkZFRlc3QoZnVuY3Rp
b24od2luKSB7CiAgICAgaWYgKHByb3AgIT0gJ2xvY2F0aW9uJykKICAgICAgIGFzc2VydF90aHJv
d3MoIlNlY3VyaXR5RXJyb3IiLCBmdW5jdGlvbigpIHsgd2luW3Byb3BdID0gdW5kZWZpbmVkOyB9
LCAiU2hvdWxkIHRocm93IHdoZW4gd3JpdGluZyB0byAiICsgcHJvcCArICIgb24gV2luZG93Iik7
CiAgIH0KKyAgZm9yICh2YXIgcHJvcCBvZiB3aW5kb3dXaGl0ZWxpc3RzLm5hbWVkRnJhbWVzKSB7
CisgICAgd2luW3Byb3BdOyAvLyBTaG91bGRuJ3QgdGhyb3cuCisgICAgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3aW4sIHByb3ApOyAvLyBTaG91bGRuJ3QgdGhyb3cuCisgICAgYXNz
ZXJ0X3RydWUoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHdpbiwgcHJvcCks
ICJoYXNPd25Qcm9wZXJ0eSBmb3IgIiArIFN0cmluZyhwcm9wKSk7CisgIH0KICAgZm9yICh2YXIg
cHJvcCBpbiBsb2NhdGlvbikgewogICAgIGlmIChwcm9wID09ICdyZXBsYWNlJykgewogICAgICAg
d2luLmxvY2F0aW9uW3Byb3BdOyAvLyBTaG91bGRuJ3QgdGhyb3cuCkBAIC0xODYsNiArMjU5LDYw
IEBAIGFkZFRlc3QoZnVuY3Rpb24od2luKSB7CiAgIH0KIH0sICJPbmx5IHdoaXRlbGlzdGVkIHBy
b3BlcnRpZXMgYXJlIGFjY2Vzc2libGUgY3Jvc3Mtb3JpZ2luIik7CiAKK2FkZFByb21pc2VUZXN0
KGFzeW5jIGZ1bmN0aW9uKHdpbiwgdGVzdF9vYmopIHsKKyAgYXN5bmMgZnVuY3Rpb24gY2hlY2tQ
cm9wZXJ0aWVzKG9iak5hbWUsIHdoaXRlbGlzdHMpIHsKKyAgICB2YXIgbG9jYWxPYmogPSB3aW5k
b3dbb2JqTmFtZV07CisgICAgdmFyIG90aGVyT2JqID0gd2luW29iak5hbWVdOworCisgICAgZm9y
ICh2YXIgcHJvcCBpbiBsb2NhbE9iaikgeworICAgICAgbGV0IGRlc2M7CisgICAgICBmb3IgKGxl
dCBvYmogPSBsb2NhbE9iajsgIWRlc2M7IG9iaiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmop
KSB7CisgICAgICAgIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwg
cHJvcCk7CisKKyAgICAgIH0KKworICAgICAgaWYgKCJ2YWx1ZSIgaW4gZGVzYykgeworICAgICAg
ICBpZiAodHlwZW9mIGRlc2MudmFsdWUgPT09ICJmdW5jdGlvbiIgJiYgU3RyaW5nKGRlc2MudmFs
dWUpLmluY2x1ZGVzKCJbbmF0aXZlIGNvZGVdIikpIHsKKyAgICAgICAgICBpZiAod2hpdGVsaXN0
cy5wcm9taXNlTWV0aG9kcy5pbmNsdWRlcyhwcm9wKSkgeworICAgICAgICAgICAgYXdhaXQgcHJv
bWlzZV9yZWplY3RzKHRlc3Rfb2JqLCAiU2VjdXJpdHlFcnJvciIsIGRlc2MudmFsdWUuY2FsbChv
dGhlck9iaiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFNob3VsZCB0aHJv
dyB3aGVuIGNhbGxpbmcgJHtvYmpOYW1lfS4ke3Byb3B9IHdpdGggY3Jvc3Mtb3JpZ2luIHRoaXMg
b2JqZWN0YCk7CisgICAgICAgICAgfSBlbHNlIGlmICghd2hpdGVsaXN0cy5tZXRob2RzLmluY2x1
ZGVzKHByb3ApKSB7CisgICAgICAgICAgICBmb3IgKGxldCBhcmdzIG9mIG1ldGhvZEFyZ3MuZ2V0
KHByb3ApIHx8IFtbXV0pIHsKKyAgICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlF
cnJvciIsIGRlc2MudmFsdWUuYmluZChvdGhlck9iaiwgLi4uYXJncyksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYFNob3VsZCB0aHJvdyB3aGVuIGNhbGxpbmcgJHtvYmpOYW1lfS4ke3By
b3B9IHdpdGggY3Jvc3Mtb3JpZ2luIHRoaXMgb2JqZWN0YCk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yIChsZXQgYXJncyBvZiBtZXRob2RBcmdz
LmdldChwcm9wKSB8fCBbW11dKSB7CisgICAgICAgICAgICAgIGRlc2MudmFsdWUuYXBwbHkob3Ro
ZXJPYmosIGFyZ3MpOyAvLyBTaG91bGRuJ3QgdGhyb3cuCisgICAgICAgICAgICB9CisgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICB9IGVsc2UgeworICAgICAgICBpZiAoZGVzYy5nZXQpIHsK
KyAgICAgICAgICBpZiAod2hpdGVsaXN0cy5nZXR0ZXJzLmluY2x1ZGVzKHByb3ApKSB7CisgICAg
ICAgICAgICBkZXNjLmdldC5jYWxsKG90aGVyT2JqKTsgLy8gU2hvdWxkbid0IHRocm93LgorICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9y
IiwgZGVzYy5nZXQuYmluZChvdGhlck9iaiksCisgICAgICAgICAgICAgICAgICAgICAgICAgIGBT
aG91bGQgdGhyb3cgd2hlbiBjYWxsaW5nICR7b2JqTmFtZX0uJHtwcm9wfSBnZXR0ZXIgd2l0aCBj
cm9zcy1vcmlnaW4gdGhpcyBvYmplY3RgKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKGRlc2Muc2V0KSB7CisgICAgICAgICAgaWYgKHdoaXRlbGlzdHMuc2V0dGVycy5pbmNs
dWRlcyhwcm9wKSkgeworICAgICAgICAgICAgZGVzYy5zZXQuY2FsbChvdGhlck9iaiwgImphdmFz
Y3JpcHQ6dW5kZWZpbmVkIik7IC8vIFNob3VsZG4ndCB0aHJvdy4KKyAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsIGRlc2Muc2V0LmJp
bmQob3RoZXJPYmosICJmb28iKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYFNob3VsZCB0
aHJvdyB3aGVuIGNhbGxpbmcgJHtvYmpOYW1lfS4ke3Byb3B9IHNldHRlciB3aXRoIGNyb3NzLW9y
aWdpbiB0aGlzIG9iamVjdGApOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQorICAg
IH0KKyAgfQorCisgIGF3YWl0IGNoZWNrUHJvcGVydGllcygibG9jYXRpb24iLCBsb2NhdGlvbldo
aXRlbGlzdHMpOworICBhd2FpdCBjaGVja1Byb3BlcnRpZXMoIndpbmRvdyIsIHdpbmRvd1doaXRl
bGlzdHMpOworfSwgIk9ubHkgd2hpdGVsaXN0ZWQgcHJvcGVydGllcyBhcmUgdXNhYmxlIGFzIGNy
b3NzLW9yaWdpbiB0aGlzIG9iamVjdHMiKTsKKwogLyoKICAqIEVTIEludGVybmFsIE1ldGhvZHMu
CiAgKi8KQEAgLTI5MSw3ICs0MTgsNyBAQCBmdW5jdGlvbiBjaGVja1Byb3BlcnR5RGVzY3JpcHRv
cihkZXNjLCBwcm9wTmFtZSwgZXhwZWN0V3JpdGFibGUpIHsKIH0KIAogYWRkVGVzdChmdW5jdGlv
bih3aW4pIHsKLSAgd2hpdGVsaXN0ZWRXaW5kb3dQcm9wcy5mb3JFYWNoKGZ1bmN0aW9uKHByb3Ap
IHsKKyAgd2luZG93V2hpdGVsaXN0cy5wcm9wcy5mb3JFYWNoKGZ1bmN0aW9uKHByb3ApIHsKICAg
ICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luLCBwcm9wKTsK
ICAgICBjaGVja1Byb3BlcnR5RGVzY3JpcHRvcihkZXNjLCBwcm9wLCBwcm9wID09ICdsb2NhdGlv
bicpOwogICB9KTsKQEAgLTM2Nyw5ICs0OTQsOSBAQCBhZGRUZXN0KGZ1bmN0aW9uKHdpbikgewog
ICBsZXQgaSA9IDA7CiAgIGZvciAodmFyIHByb3AgaW4gd2luKSB7CiAgICAgaSsrOwotICAgIGFz
c2VydF90cnVlKHdoaXRlbGlzdGVkV2luZG93SW5kaWNlcy5pbmNsdWRlcyhwcm9wKSwgcHJvcCAr
ICIgaXMgbm90IHNhZmVsaXN0ZWQgZm9yIGEgY3Jvc3Mtb3JpZ2luIFdpbmRvdyIpOworICAgIGFz
c2VydF90cnVlKHdpbmRvd1doaXRlbGlzdHMuaW5kaWNlcy5pbmNsdWRlcyhwcm9wKSwgcHJvcCAr
ICIgaXMgbm90IHNhZmVsaXN0ZWQgZm9yIGEgY3Jvc3Mtb3JpZ2luIFdpbmRvdyIpOwogICB9Ci0g
IGFzc2VydF9lcXVhbHMoaSwgd2hpdGVsaXN0ZWRXaW5kb3dJbmRpY2VzLmxlbmd0aCwgIkVudW1l
cmF0ZSBhbGwgZW51bWVyYWJsZSBzYWZlbGlzdGVkIGNyb3NzLW9yaWdpbiBXaW5kb3cgcHJvcGVy
dGllcyIpOworICBhc3NlcnRfZXF1YWxzKGksIHdpbmRvd1doaXRlbGlzdHMuaW5kaWNlcy5sZW5n
dGgsICJFbnVtZXJhdGUgYWxsIGVudW1lcmFibGUgc2FmZWxpc3RlZCBjcm9zcy1vcmlnaW4gV2lu
ZG93IHByb3BlcnRpZXMiKTsKICAgaSA9IDA7CiAgIGZvciAodmFyIHByb3AgaW4gd2luLmxvY2F0
aW9uKSB7CiAgICAgaSsrOwpAQCAtMzgzLDEzICs1MTAsMTMgQEAgYWRkVGVzdChmdW5jdGlvbih3
aW4pIHsKIAogYWRkVGVzdChmdW5jdGlvbih3aW4pIHsKICAgYXNzZXJ0X2FycmF5X2VxdWFscyhP
YmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3aW4pLnNvcnQoKSwKLSAgICAgICAgICAgICAgICAg
ICAgICB3aGl0ZWxpc3RlZFdpbmRvd1Byb3BOYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICB3
aW5kb3dXaGl0ZWxpc3RzLnByb3BOYW1lcywKICAgICAgICAgICAgICAgICAgICAgICAiT2JqZWN0
LmdldE93blByb3BlcnR5TmFtZXMoKSBnaXZlcyB0aGUgcmlnaHQgYW5zd2VyIGZvciBjcm9zcy1v
cmlnaW4gV2luZG93Iik7CiAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmtleXMod2luKS5z
b3J0KCksCi0gICAgICAgICAgICAgICAgICAgICAgd2hpdGVsaXN0ZWRXaW5kb3dJbmRpY2VzLAor
ICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd1doaXRlbGlzdHMuaW5kaWNlcywKICAgICAgICAg
ICAgICAgICAgICAgICAiT2JqZWN0LmtleXMoKSBnaXZlcyB0aGUgcmlnaHQgYW5zd2VyIGZvciBj
cm9zcy1vcmlnaW4gV2luZG93Iik7CiAgIGFzc2VydF9hcnJheV9lcXVhbHMoT2JqZWN0LmdldE93
blByb3BlcnR5TmFtZXMod2luLmxvY2F0aW9uKS5zb3J0KCksCi0gICAgICAgICAgICAgICAgICAg
ICAgd2hpdGVsaXN0ZWRMb2NhdGlvblByb3BOYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICBs
b2NhdGlvbldoaXRlbGlzdHMucHJvcE5hbWVzLAogICAgICAgICAgICAgICAgICAgICAgICJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlOYW1lcygpIGdpdmVzIHRoZSByaWdodCBhbnN3ZXIgZm9yIGNyb3Nz
LW9yaWdpbiBMb2NhdGlvbiIpOwogICBhc3NlcnRfZXF1YWxzKE9iamVjdC5rZXlzKHdpbi5sb2Nh
dGlvbikubGVuZ3RoLCAwLAogICAgICAgICAgICAgICAgICAgICAgICJPYmplY3Qua2V5cygpIGdp
dmVzIHRoZSByaWdodCBhbnN3ZXIgZm9yIGNyb3NzLW9yaWdpbiBMb2NhdGlvbiIpOwpAQCAtNDA1
LDE2ICs1MzIsMTYgQEAgYWRkVGVzdChmdW5jdGlvbih3aW4pIHsKIAogYWRkVGVzdChmdW5jdGlv
bih3aW4pIHsKICAgdmFyIGFsbFdpbmRvd1Byb3BzID0gUmVmbGVjdC5vd25LZXlzKHdpbik7Ci0g
IGluZGV4ZWRXaW5kb3dQcm9wcyA9IGFsbFdpbmRvd1Byb3BzLnNsaWNlKDAsIHdoaXRlbGlzdGVk
V2luZG93SW5kaWNlcy5sZW5ndGgpOworICBpbmRleGVkV2luZG93UHJvcHMgPSBhbGxXaW5kb3dQ
cm9wcy5zbGljZSgwLCB3aW5kb3dXaGl0ZWxpc3RzLmluZGljZXMubGVuZ3RoKTsKICAgc3RyaW5n
V2luZG93UHJvcHMgPSBhbGxXaW5kb3dQcm9wcy5zbGljZSgwLCAtMSAqIHdoaXRlbGlzdGVkU3lt
Ym9scy5sZW5ndGgpOwogICBzeW1ib2xXaW5kb3dQcm9wcyA9IGFsbFdpbmRvd1Byb3BzLnNsaWNl
KC0xICogd2hpdGVsaXN0ZWRTeW1ib2xzLmxlbmd0aCk7CiAgIC8vIHN0cmluZ1dpbmRvd1Byb3Bz
IHNob3VsZCBoYXZlICJ0aGVuIiBsYXN0IGluIHRoaXMgY2FzZS4gIERvIHRoaXMKICAgLy8gY2hl
Y2sgYmVmb3JlIHdlIGNhbGwgc3RyaW5nV2luZG93UHJvcHMuc29ydCgpIGJlbG93LgogICBhc3Nl
cnRfZXF1YWxzKHN0cmluZ1dpbmRvd1Byb3BzW3N0cmluZ1dpbmRvd1Byb3BzLmxlbmd0aCAtIDFd
LCAidGhlbiIsCiAgICAgICAgICAgICAgICAgIid0aGVuJyBwcm9wZXJ0eSBzaG91bGQgYmUgYWRk
ZWQgdG8gdGhlIGVuZCBvZiB0aGUgc3RyaW5nIGxpc3QgaWYgbm90IHRoZXJlIik7Ci0gIGFzc2Vy
dF9hcnJheV9lcXVhbHMoaW5kZXhlZFdpbmRvd1Byb3BzLCB3aGl0ZWxpc3RlZFdpbmRvd0luZGlj
ZXMsCisgIGFzc2VydF9hcnJheV9lcXVhbHMoaW5kZXhlZFdpbmRvd1Byb3BzLCB3aW5kb3dXaGl0
ZWxpc3RzLmluZGljZXMsCiAgICAgICAgICAgICAgICAgICAgICAgIlJlZmxlY3Qub3duS2V5cyBz
aG91bGQgc3RhcnQgd2l0aCB0aGUgaW5kaWNlcyBleHBvc2VkIG9uIHRoZSBjcm9zcy1vcmlnaW4g
d2luZG93LiIpOwotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHN0cmluZ1dpbmRvd1Byb3BzLnNvcnQo
KSwgd2hpdGVsaXN0ZWRXaW5kb3dQcm9wTmFtZXMsCisgIGFzc2VydF9hcnJheV9lcXVhbHMoc3Ry
aW5nV2luZG93UHJvcHMuc29ydCgpLCB3aW5kb3dXaGl0ZWxpc3RzLnByb3BOYW1lcywKICAgICAg
ICAgICAgICAgICAgICAgICAiUmVmbGVjdC5vd25LZXlzIHNob3VsZCBjb250aW51ZSB3aXRoIHRo
ZSBjcm9zcy1vcmlnaW4gd2luZG93IHByb3BlcnRpZXMgZm9yIGEgY3Jvc3Mtb3JpZ2luIFdpbmRv
dy4iKTsKICAgYXNzZXJ0X2FycmF5X2VxdWFscyhzeW1ib2xXaW5kb3dQcm9wcywgd2hpdGVsaXN0
ZWRTeW1ib2xzLAogICAgICAgICAgICAgICAgICAgICAgICJSZWZsZWN0Lm93bktleXMgc2hvdWxk
IGVuZCB3aXRoIHRoZSBjcm9zcy1vcmlnaW4gc3ltYm9scyBmb3IgYSBjcm9zcy1vcmlnaW4gV2lu
ZG93LiIpOwpAQCAtNDIyLDcgKzU0OSw3IEBAIGFkZFRlc3QoZnVuY3Rpb24od2luKSB7CiAgIHZh
ciBhbGxMb2NhdGlvblByb3BzID0gUmVmbGVjdC5vd25LZXlzKHdpbi5sb2NhdGlvbik7CiAgIHN0
cmluZ0xvY2F0aW9uUHJvcHMgPSBhbGxMb2NhdGlvblByb3BzLnNsaWNlKDAsIC0xICogd2hpdGVs
aXN0ZWRTeW1ib2xzLmxlbmd0aCk7CiAgIHN5bWJvbExvY2F0aW9uUHJvcHMgPSBhbGxMb2NhdGlv
blByb3BzLnNsaWNlKC0xICogd2hpdGVsaXN0ZWRTeW1ib2xzLmxlbmd0aCk7Ci0gIGFzc2VydF9h
cnJheV9lcXVhbHMoc3RyaW5nTG9jYXRpb25Qcm9wcy5zb3J0KCksIHdoaXRlbGlzdGVkTG9jYXRp
b25Qcm9wTmFtZXMsCisgIGFzc2VydF9hcnJheV9lcXVhbHMoc3RyaW5nTG9jYXRpb25Qcm9wcy5z
b3J0KCksIGxvY2F0aW9uV2hpdGVsaXN0cy5wcm9wTmFtZXMsCiAgICAgICAgICAgICAgICAgICAg
ICAgIlJlZmxlY3Qub3duS2V5cyBzaG91bGQgc3RhcnQgd2l0aCB0aGUgY3Jvc3Mtb3JpZ2luIHdp
bmRvdyBwcm9wZXJ0aWVzIGZvciBhIGNyb3NzLW9yaWdpbiBMb2NhdGlvbi4iKQogICBhc3NlcnRf
YXJyYXlfZXF1YWxzKHN5bWJvbExvY2F0aW9uUHJvcHMsIHdoaXRlbGlzdGVkU3ltYm9scywKICAg
ICAgICAgICAgICAgICAgICAgICAiUmVmbGVjdC5vd25LZXlzIHNob3VsZCBlbmQgd2l0aCB0aGUg
Y3Jvc3Mtb3JpZ2luIHN5bWJvbHMgZm9yIGEgY3Jvc3Mtb3JpZ2luIExvY2F0aW9uLiIpCkBAIC01
MDcsNTkgKzYzNCw0OSBAQCBhZGRUZXN0KGZ1bmN0aW9uKHdpbikgewogICBhc3NlcnRfZXF1YWxz
KHt9LnRvU3RyaW5nLmNhbGwod2luLmxvY2F0aW9uKSwgIltvYmplY3QgT2JqZWN0XSIpOwogfSwg
Int9LnRvU3RyaW5nLmNhbGwoKSBkb2VzIHRoZSByaWdodCB0aGluZyBvbiBjcm9zcy1vcmlnaW4g
b2JqZWN0cyIpOwogCi1hZGRQcm9taXNlVGVzdChmdW5jdGlvbigpIHsKLSAgcmV0dXJuIFByb21p
c2UucmVzb2x2ZShDKS50aGVuKChhcmcpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGFyZywgQyk7
Ci0gIH0pOwotfSwgIlJlc29sdmluZyBhIHByb21pc2Ugd2l0aCBhIGNyb3NzLW9yaWdpbiB3aW5k
b3cgd2l0aG91dCBhICd0aGVuJyBzdWJmcmFtZSBzaG91bGQgd29yayAoY3Jvc3Mtb3JpZ2luKS4i
KTsKLQotYWRkUHJvbWlzZVRlc3QoZnVuY3Rpb24oKSB7Ci0gIHJldHVybiBQcm9taXNlLnJlc29s
dmUoRSkudGhlbigoYXJnKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhhcmcsIEUpOwotICB9KTsK
LX0sICJSZXNvbHZpbmcgYSBwcm9taXNlIHdpdGggYSBjcm9zcy1vcmlnaW4gd2luZG93IHdpdGhv
dXQgYSAndGhlbicgc3ViZnJhbWUgc2hvdWxkIHdvcmsgKHNhbWUtb3JpZ2luICsgZG9jdW1lbnQu
ZG9tYWluKS4iKTsKLQotYWRkUHJvbWlzZVRlc3QoZnVuY3Rpb24oKSB7Ci0gIHJldHVybiBQcm9t
aXNlLnJlc29sdmUoRykudGhlbigoYXJnKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhhcmcsIEcp
OwotICB9KTsKLX0sICJSZXNvbHZpbmcgYSBwcm9taXNlIHdpdGggYSBjcm9zcy1vcmlnaW4gd2lu
ZG93IHdpdGhvdXQgYSAndGhlbicgc3ViZnJhbWUgc2hvdWxkIHdvcmsgKGNyb3NzLXNpdGUpLiIp
OwotCi1hZGRQcm9taXNlVGVzdChmdW5jdGlvbigpIHsKLSAgcmV0dXJuIFByb21pc2UucmVzb2x2
ZShEKS50aGVuKChhcmcpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGFyZywgRCk7Ci0gIH0pOwot
fSwgIlJlc29sdmluZyBhIHByb21pc2Ugd2l0aCBhIGNyb3NzLW9yaWdpbiB3aW5kb3cgd2l0aCBh
ICd0aGVuJyBzdWJmcmFtZSBzaG91bGQgd29yayAoY3Jvc3Mtb3JpZ2luKS4iKTsKLQotYWRkUHJv
bWlzZVRlc3QoZnVuY3Rpb24oKSB7Ci0gIHJldHVybiBQcm9taXNlLnJlc29sdmUoRikudGhlbigo
YXJnKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhhcmcsIEYpOworYWRkUHJvbWlzZVRlc3QoZnVu
Y3Rpb24od2luKSB7CisgIHJldHVybiBQcm9taXNlLnJlc29sdmUod2luKS50aGVuKChhcmcpID0+
IHsKKyAgICBhc3NlcnRfZXF1YWxzKGFyZywgd2luKTsKICAgfSk7Ci19LCAiUmVzb2x2aW5nIGEg
cHJvbWlzZSB3aXRoIGEgY3Jvc3Mtb3JpZ2luIHdpbmRvdyB3aXRoIGEgJ3RoZW4nIHN1YmZyYW1l
IHNob3VsZCB3b3JrIChzYW1lLW9yaWdpbiArIGRvY3VtZW50LmRvbWFpbikuIik7Cit9LCAiUmVz
b2x2aW5nIGEgcHJvbWlzZSB3aXRoIGEgY3Jvc3Mtb3JpZ2luIHdpbmRvdyB3aXRob3V0IGEgJ3Ro
ZW4nIHN1YmZyYW1lIHNob3VsZCB3b3JrIik7CiAKLWFkZFByb21pc2VUZXN0KGZ1bmN0aW9uKCkg
ewotICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKEgpLnRoZW4oKGFyZykgPT4gewotICAgIGFzc2Vy
dF9lcXVhbHMoYXJnLCBIKTsKK2FkZFByb21pc2VUaGVuVGVzdChmdW5jdGlvbih3aW4pIHsKKyAg
cmV0dXJuIFByb21pc2UucmVzb2x2ZSh3aW4pLnRoZW4oKGFyZykgPT4geworICAgIGFzc2VydF9l
cXVhbHMoYXJnLCB3aW4pOwogICB9KTsKLX0sICJSZXNvbHZpbmcgYSBwcm9taXNlIHdpdGggYSBj
cm9zcy1vcmlnaW4gd2luZG93IHdpdGggYSAndGhlbicgc3ViZnJhbWUgc2hvdWxkIHdvcmsgKGNy
b3NzLXNpdGUpLiIpOworfSwgIlJlc29sdmluZyBhIHByb21pc2Ugd2l0aCBhIGNyb3NzLW9yaWdp
biB3aW5kb3cgd2l0aCBhICd0aGVuJyBzdWJmcmFtZSBzaG91bGQgd29yayIpOwogCi1hZGRQcm9t
aXNlVGVzdChmdW5jdGlvbigpIHsKLSAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShELmxvY2F0aW9u
KS50aGVuKChhcmcpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGFyZywgRC5sb2NhdGlvbik7Cith
ZGRQcm9taXNlVGhlblRlc3QoZnVuY3Rpb24od2luKSB7CisgIHJldHVybiBQcm9taXNlLnJlc29s
dmUod2luLmxvY2F0aW9uKS50aGVuKChhcmcpID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGFyZywg
d2luLmxvY2F0aW9uKTsKICAgfSk7Ci19LCAiUmVzb2x2aW5nIGEgcHJvbWlzZSB3aXRoIGEgY3Jv
c3Mtb3JpZ2luIGxvY2F0aW9uIHNob3VsZCB3b3JrIChjcm9zcy1vcmlnaW4pLiIpOworfSwgIlJl
c29sdmluZyBhIHByb21pc2Ugd2l0aCBhIGNyb3NzLW9yaWdpbiBsb2NhdGlvbiBzaG91bGQgd29y
ayIpOwogCi1hZGRQcm9taXNlVGVzdChmdW5jdGlvbigpIHsKLSAgcmV0dXJuIFByb21pc2UucmVz
b2x2ZShGLmxvY2F0aW9uKS50aGVuKChhcmcpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGFyZywg
Ri5sb2NhdGlvbik7Ci0gIH0pOwotfSwgIlJlc29sdmluZyBhIHByb21pc2Ugd2l0aCBhIGNyb3Nz
LW9yaWdpbiBsb2NhdGlvbiBzaG91bGQgd29yayAoc2FtZS1vcmlnaW4gKyBkb2N1bWVudC5kb21h
aW4pLiIpOwotCi1hZGRQcm9taXNlVGVzdChmdW5jdGlvbigpIHsKLSAgcmV0dXJuIFByb21pc2Uu
cmVzb2x2ZShILmxvY2F0aW9uKS50aGVuKChhcmcpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKGFy
ZywgSC5sb2NhdGlvbik7Ci0gIH0pOwotfSwgIlJlc29sdmluZyBhIHByb21pc2Ugd2l0aCBhIGNy
b3NzLW9yaWdpbiBsb2NhdGlvbiBzaG91bGQgd29yayAoY3Jvc3Mtc2l0ZSkuIik7CithZGRUZXN0
KGZ1bmN0aW9uKHdpbikgeworICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3Iod2luZG93LCAib25tb3VzZWVudGVyIik7CisgIHZhciBmID0gKCkgPT4ge307CisKKyAg
Ly8gQ2hlY2sgdGhhdCBpdCBoYXMgW0xlbmllbnRUaGlzXSBiZWhhdmlvcgorICBhc3NlcnRfZXF1
YWxzKGRlc2MuZ2V0LmNhbGwoe30pLCB1bmRlZmluZWQsICJnZXR0ZXIgc2hvdWxkIHJldHVybiB1
bmRlZmluZWQiKTsKKyAgZGVzYy5zZXQuY2FsbCh7fSwgZik7IC8vIFNob3VsZCBub3QgdGhyb3cu
CisKKyAgLy8gQ2hlY2sgdGhhdCB3ZSBjYW4gYXBwbHkgaXQgdG8gYSBzYW1lLW9yaWdpbiB3aW5k
b3cuCisgIGFzc2VydF9lcXVhbHMoZGVzYy5nZXQuY2FsbChCKSwgbnVsbCwgIlNob3VsZCBiZSBh
YmxlIHRvIHJlYWQgdGhlIHZhbHVlIik7CisgIGRlc2Muc2V0LmNhbGwoQiwgZik7CisgIGFzc2Vy
dF9lcXVhbHMoZGVzYy5nZXQuY2FsbChCKSwgZiwgIlZhbHVlIHNob3VsZCBoYXZlIHVwZGF0ZWQi
KTsKKyAgLy8gQW5kIHJlc2V0IGl0IGZvciBvdXIgbmV4dCB0ZXN0CisgIGRlc2Muc2V0LmNhbGwo
QiwgbnVsbCk7CisgIGFzc2VydF9lcXVhbHMoZGVzYy5nZXQuY2FsbChCKSwgbnVsbCwgIlNob3Vs
ZCBoYXZlIGJlZW4gcmVzZXQiKTsKKworICAvLyBDaGVjayB0aGF0IGFwcGx5aW5nIGl0IHRvIGEg
Y3Jvc3Mtb3JpZ2luIHdpbmRvdyB0aHJvd3MgaW5zdGVhZCBvZiBkb2luZworICAvLyB0aGUgW0xl
bmllbnRUaGlzXSBiZWhhdmlvci4KKyAgYXNzZXJ0X3Rocm93cygiU2VjdXJpdHlFcnJvciIsICgp
ID0+IHsKKyAgICBkZXNjLmdldC5jYWxsKHdpbik7CisgIH0sICJTaG91bGQgdGhyb3cgd2hlbiBn
ZXR0aW5nIGNyb3NzLW9yaWdpbiIpOworICBhc3NlcnRfdGhyb3dzKCJTZWN1cml0eUVycm9yIiwg
KCkgPT4geworICAgIGRlc2Muc2V0LmNhbGwod2luLCBmKTsKKyAgfSwgIlNob3VsZCB0aHJvdyB3
aGVuIHNldHRpbmcgY3Jvc3Mtb3JpZ2luIik7Cit9LCAiTGVuaWVudFRoaXMgYmVoYXZpb3IiKTsK
IAogLy8gV2UgZG8gYSBmcmVzaCBsb2FkIG9mIHRoZSBzdWJmcmFtZXMgZm9yIGVhY2ggdGVzdCB0
byBtaW5pbWl6ZSBzaWRlLWVmZmVjdHMuCiAvLyBJdCB3b3VsZCBiZSBuaWNlIHRvIHJlbG9hZCBv
dXJzZWx2ZXMgYXMgd2VsbCwgYnV0IHdlIGNhbid0IGRvIHRoYXQgd2l0aG91dApAQCAtNTcyLDE5
ICs2ODksMjIgQEAgZnVuY3Rpb24gdGVzdERvbmUoKSB7CiAgIH0KIH0KIAotZnVuY3Rpb24gcnVu
TmV4dFRlc3QoKSB7Cithc3luYyBmdW5jdGlvbiBydW5OZXh0VGVzdCgpIHsKICAgdmFyIGVudHJ5
ID0gdGVzdExpc3Quc2hpZnQoKTsKICAgaWYgKGVudHJ5LnByb21pc2VUZXN0KSB7Ci0gICAgdGVz
dChmdW5jdGlvbigpIHsKLSAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkudGVzdHMubGVuZ3RoLCAx
LCAiV2UgY2FuJ3QgaGFuZGxlIHRoaXMgeWV0Iik7Ci0gICAgfSk7Ci0gICAgcHJvbWlzZV90ZXN0
KCgpID0+IGVudHJ5LnRlc3RzWzBdLmZ1bmMoKS5maW5hbGx5KHRlc3REb25lKSwgZW50cnkudGVz
dHNbMF0uZGVzYyk7CisgICAgZm9yIChsZXQgdCBvZiBlbnRyeS50ZXN0cykgeworICAgICAgYXdh
aXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHByb21pc2VfdGVzdCh0ZXN0X29i
aiA9PiB7CisgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlcyA9PiByZXModC5mdW5jKHRl
c3Rfb2JqKSkpLmZpbmFsbHkocmVzb2x2ZSk7CisgICAgICAgIH0sIHQuZGVzYyk7CisgICAgICB9
KTsKKyAgICB9CiAgIH0gZWxzZSB7Ci0gICAgZm9yICh0IG9mIGVudHJ5LnRlc3RzKSB7CisgICAg
Zm9yIChsZXQgdCBvZiBlbnRyeS50ZXN0cykgewogICAgICAgdGVzdCh0LmZ1bmMsIHQuZGVzYyk7
CiAgICAgfQotICAgIHRlc3REb25lKCk7CiAgIH0KKyAgdGVzdERvbmUoKTsKIH0KIHJlbG9hZFN1
YmZyYW1lcyhydW5OZXh0VGVzdCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>