<?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>27963</bug_id>
          
          <creation_ts>2009-08-03 16:51:04 -0700</creation_ts>
          <short_desc>Worker layout tests should be refactored to enable testing SharedWorkers also</short_desc>
          <delta_ts>2009-08-06 11:26:24 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>27927</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrew Wilson">atwilson</reporter>
          <assigned_to name="Andrew Wilson">atwilson</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>136843</commentid>
    <comment_count>0</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2009-08-03 16:51:04 -0700</bug_when>
    <thetext>We have a bunch of worker layout tests - we should refactor them to enable running the same tests on SharedWorkers without duplicating lots of code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136845</commentid>
    <comment_count>1</comment_count>
      <attachid>34020</attachid>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2009-08-03 16:54:14 -0700</bug_when>
    <thetext>Created attachment 34020
patch with updated layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137007</commentid>
    <comment_count>2</comment_count>
      <attachid>34020</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-08-04 08:59:28 -0700</bug_when>
    <thetext>Comment on attachment 34020
patch with updated layout tests

&gt; diff --git a/LayoutTests/fast/workers/resources/shared-worker-common.js b/LayoutTests/fast/workers/resources/shared-worker-common.js
&gt;  function handleMessage(event, port) {
&gt;      if (event.data == &quot;ping&quot;)
&gt;          port.postMessage(&quot;PASS: Received ping message&quot;);
&gt;      else if (event.data == &quot;done&quot;)
&gt;          port.postMessage(&quot;DONE&quot;);
&gt; -    else if (/eval.+/.test(evt.data)) {
&gt; +    else if (/eval.+/.test(event.data)) {
&gt;          try {
&gt; -            port.postMessage(evt.data.substr(5) + &quot;: &quot; + eval(evt.data.substr(5)));
&gt; +            port.postMessage(event.data.substr(5) + &quot;: &quot; + eval(event.data.substr(5)));
&gt;          } catch (ex) {
&gt; -            port.postMessage(evt.data.substr(5) + &quot;: &quot; + ex);
&gt; +            port.postMessage(event.data.substr(5) + &quot;: &quot; + ex);

It seems like it would have been better to fix this in https://bugs.webkit.org/show_bug.cgi?id=27927 where you are adding the file... but at this point not worth changing both patches (which is maybe what you thought as well).


Note that this needs https://bugs.webkit.org/show_bug.cgi?id=27927 to land first since it changes files from that patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137011</commentid>
    <comment_count>3</comment_count>
      <attachid>34020</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-04 09:03:11 -0700</bug_when>
    <thetext>Comment on attachment 34020
patch with updated layout tests

Do you know about the JS testing harness?

fast/js/resources
the TEMPLATE.html files
make-js-test-wrappers

Gives you a bunch of stuff, including debug() and shouldBe, shouldBeEqual, etc.  In general we write most new tests using this framework (yes, it needs to be better documented and put in a better location than fast/js/resources).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137042</commentid>
    <comment_count>4</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2009-08-04 10:14:58 -0700</bug_when>
    <thetext>(In reply to comment #2)

&gt; It seems like it would have been better to fix this in
&gt; https://bugs.webkit.org/show_bug.cgi?id=27927 where you are adding the file...
&gt; but at this point not worth changing both patches (which is maybe what you
&gt; thought as well).
&gt; 

Yeah, I figured it wasn&apos;t worth going back to fix code that wasn&apos;t used in any tests.

&gt; 
&gt; Note that this needs https://bugs.webkit.org/show_bug.cgi?id=27927 to land
&gt; first since it changes files from that patch.

Yeah, I put &quot;Depends on: 27927&quot; in the bug - should I do something more?

&gt;Do you know about the JS testing harness?

I saw that code when I was working on some of the window global constructor tests. I&apos;m happy to use it in future tests - are you saying new tests should include ../js/resources/xxxxx.js?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137607</commentid>
    <comment_count>5</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2009-08-06 11:26:24 -0700</bug_when>
    <thetext>Committed as r46852.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34020</attachid>
            <date>2009-08-03 16:54:14 -0700</date>
            <delta_ts>2009-08-04 09:03:11 -0700</delta_ts>
            <desc>patch with updated layout tests</desc>
            <filename>x</filename>
            <type>text/plain</type>
            <size>22163</size>
            <attacher name="Andrew Wilson">atwilson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4MzNmOGFmLi41ODYyYmU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMDktMDgt
MDMgIERyZXcgV2lsc29uICA8YXR3aWxzb25AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmVkIHdvcmtlciB0ZXN0cyB0
byBzaGFyZSBjb2RlIHdpdGggc2hhcmVkIHdvcmtlciB2ZXJzaW9ucy4gU2hhcmVkIHdvcmtlciB0
ZXN0cyBhcmUgY3VycmVudGx5IGRpc2FibGVkIGJ5IGRlZmF1bHQuCisKKyAgICAgICAgV29ya2Vy
IGxheW91dCB0ZXN0cyBzaG91bGQgYmUgcmVmYWN0b3JlZCB0byBlbmFibGUgdGVzdGluZyBTaGFy
ZWRXb3JrZXJzIGFsc28uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNzk2MworCisgICAgICAgICogZmFzdC93b3JrZXJzL3Jlc291cmNlcy9zaGFyZWQt
d29ya2VyLWNvbW1vbi5qczoKKyAgICAgICAgKG9uY29ubmVjdCk6CisgICAgICAgIChnYyk6Cisg
ICAgICAgIChoYW5kbGVNZXNzYWdlKToKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvcmVzb3VyY2Vz
L3NoYXJlZC13b3JrZXItY3JlYXRlLWNvbW1vbi5qczogQWRkZWQuCisgICAgICAgIChjcmVhdGVX
b3JrZXIud29ya2VyLnBvcnQub25tZXNzYWdlKToKKyAgICAgICAgKGNyZWF0ZVdvcmtlci53b3Jr
ZXIucG9zdE1lc3NhZ2UpOgorICAgICAgICAoY3JlYXRlV29ya2VyKToKKyAgICAgICAgKiBmYXN0
L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1jb250ZXh0LWdjLmpzOiBBZGRlZC4KKyAgICAgICAg
KGxvZyk6CisgICAgICAgICh3b3JrZXIub25tZXNzYWdlKToKKyAgICAgICAgKiBmYXN0L3dvcmtl
cnMvcmVzb3VyY2VzL3dvcmtlci1jcmVhdGUtY29tbW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKGNy
ZWF0ZVdvcmtlcik6CisgICAgICAgICogZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItbG9j
YXRpb24uanM6IEFkZGVkLgorICAgICAgICAobG9nKToKKyAgICAgICAgKGdjKToKKyAgICAgICAg
KHdvcmtlci5vbm1lc3NhZ2UpOgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9yZXNvdXJjZXMvd29y
a2VyLW5hdmlnYXRvci5qczogQWRkZWQuCisgICAgICAgIChsb2cpOgorICAgICAgICAod29ya2Vy
Lm9ubWVzc2FnZSk6CisgICAgICAgICogZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItcmVw
bGFjZS1nbG9iYWwtY29uc3RydWN0b3IuanM6CisgICAgICAgICogZmFzdC93b3JrZXJzL3Jlc291
cmNlcy93b3JrZXItcmVwbGFjZS1zZWxmLmpzOiBBZGRlZC4KKyAgICAgICAgKGxvZyk6CisgICAg
ICAgICh3b3JrZXIub25tZXNzYWdlKToKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvc2hhcmVkLXdv
cmtlci1jb250ZXh0LWdjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC93b3Jr
ZXJzL3NoYXJlZC13b3JrZXItY29udGV4dC1nYy5odG1sLWRpc2FibGVkOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1sb2NhdGlvbi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWxvY2F0aW9uLmh0bWwt
ZGlzYWJsZWQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLW5h
dmlnYXRvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9zaGFy
ZWQtd29ya2VyLW5hdmlnYXRvci5odG1sLWRpc2FibGVkOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1yZXBsYWNlLWdsb2JhbC1jb25zdHJ1Y3Rvci5odG1sLWRp
c2FibGVkOgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLXJlcGxhY2Utc2Vs
Zi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9zaGFyZWQtd29y
a2VyLXJlcGxhY2Utc2VsZi5odG1sLWRpc2FibGVkOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3dv
cmtlcnMvd29ya2VyLWNvbnRleHQtZ2MuaHRtbDoKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvd29y
a2VyLWxvY2F0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC93b3JrZXJzL3dvcmtlci1uYXZpZ2F0
b3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvd29ya2VyLXJlcGxhY2UtZ2xvYmFsLWNv
bnN0cnVjdG9yLmh0bWw6CisgICAgICAgICogZmFzdC93b3JrZXJzL3dvcmtlci1yZXBsYWNlLXNl
bGYuaHRtbDoKKwogMjAwOS0wOC0wMSAgRHJldyBXaWxzb24gIDxhdHdpbHNvbkBnb29nbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy9zaGFyZWQtd29ya2VyLWNvbW1vbi5qcyBi
L0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvc2hhcmVkLXdvcmtlci1jb21tb24u
anMKaW5kZXggOWY4ODdiMi4uMzIwY2M3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC93
b3JrZXJzL3Jlc291cmNlcy9zaGFyZWQtd29ya2VyLWNvbW1vbi5qcworKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3NoYXJlZC13b3JrZXItY29tbW9uLmpzCkBAIC0yLDE2
ICsyLDIzIEBAIG9uY29ubmVjdCA9IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgZXZlbnQubWVzc2Fn
ZVBvcnQub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KSB7IGhhbmRsZU1lc3NhZ2UoZXZ0LCBldmVu
dC5tZXNzYWdlUG9ydCk7IH07CiB9OwogCitmdW5jdGlvbiBnYygpCit7CisgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7IC8vIGZvcmNlIGdhcmJhZ2UgY29sbGVjdGlvbiAoRkYg
cmVxdWlyZXMgYWJvdXQgOUsgYWxsb2NhdGlvbnMgYmVmb3JlIGEgY29sbGVjdCkKKyAgICAgICAg
dmFyIHMgPSBuZXcgU3RyaW5nKCJhYmMiKTsKKyAgICB9Cit9CisKIGZ1bmN0aW9uIGhhbmRsZU1l
c3NhZ2UoZXZlbnQsIHBvcnQpIHsKICAgICBpZiAoZXZlbnQuZGF0YSA9PSAicGluZyIpCiAgICAg
ICAgIHBvcnQucG9zdE1lc3NhZ2UoIlBBU1M6IFJlY2VpdmVkIHBpbmcgbWVzc2FnZSIpOwogICAg
IGVsc2UgaWYgKGV2ZW50LmRhdGEgPT0gImRvbmUiKQogICAgICAgICBwb3J0LnBvc3RNZXNzYWdl
KCJET05FIik7Ci0gICAgZWxzZSBpZiAoL2V2YWwuKy8udGVzdChldnQuZGF0YSkpIHsKKyAgICBl
bHNlIGlmICgvZXZhbC4rLy50ZXN0KGV2ZW50LmRhdGEpKSB7CiAgICAgICAgIHRyeSB7Ci0gICAg
ICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGV2dC5kYXRhLnN1YnN0cig1KSArICI6ICIgKyBldmFs
KGV2dC5kYXRhLnN1YnN0cig1KSkpOworICAgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShldmVu
dC5kYXRhLnN1YnN0cig1KSArICI6ICIgKyBldmFsKGV2ZW50LmRhdGEuc3Vic3RyKDUpKSk7CiAg
ICAgICAgIH0gY2F0Y2ggKGV4KSB7Ci0gICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKGV2dC5k
YXRhLnN1YnN0cig1KSArICI6ICIgKyBleCk7CisgICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdl
KGV2ZW50LmRhdGEuc3Vic3RyKDUpICsgIjogIiArIGV4KTsKICAgICAgICAgfQogICAgIH0KICAg
ICBlbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3No
YXJlZC13b3JrZXItY3JlYXRlLWNvbW1vbi5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9y
ZXNvdXJjZXMvc2hhcmVkLXdvcmtlci1jcmVhdGUtY29tbW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjM4MzY5NWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3NoYXJlZC13b3JrZXItY3JlYXRlLWNvbW1vbi5qcwpA
QCAtMCwwICsxLDggQEAKKy8vIE1ha2UgYSBTaGFyZWRXb3JrZXIgdGhhdCBoYXMgdGhlIHNhbWUg
ZXh0ZXJuYWwgaW50ZXJmYWNlIGFzIGEgRGVkaWNhdGVkV29ya2VyLCB0byB1c2UgaW4gc2hhcmVk
IHRlc3QgY29kZS4KK2Z1bmN0aW9uIGNyZWF0ZVdvcmtlcigpCit7CisgICAgdmFyIHdvcmtlciA9
IG5ldyBTaGFyZWRXb3JrZXIoJ3Jlc291cmNlcy9zaGFyZWQtd29ya2VyLWNvbW1vbi5qcycsICdu
YW1lJyk7CisgICAgd29ya2VyLnBvcnQub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KSB7IHdvcmtl
ci5vbm1lc3NhZ2UoZXZ0KTsgfTsKKyAgICB3b3JrZXIucG9zdE1lc3NhZ2UgPSBmdW5jdGlvbiht
c2csIHBvcnQpIHsgd29ya2VyLnBvcnQucG9zdE1lc3NhZ2UobXNnLCBwb3J0KTsgfTsKKyAgICBy
ZXR1cm4gd29ya2VyOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jl
c291cmNlcy93b3JrZXItY29udGV4dC1nYy5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9y
ZXNvdXJjZXMvd29ya2VyLWNvbnRleHQtZ2MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZmIzODJhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvd29y
a2Vycy9yZXNvdXJjZXMvd29ya2VyLWNvbnRleHQtZ2MuanMKQEAgLTAsMCArMSwyOCBAQAorZnVu
Y3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3Vs
dCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOworfQorCitpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK30KKwordmFyIHdv
cmtlciA9IGNyZWF0ZVdvcmtlcigpOworCitsb2coIlRoaXMgdGVzdHMgdGhhdCBnYyBkb2VzIG5v
dCBkZXN0cm95IHRoZSBXb3JrZXJOYXZpZ2F0b3IgYW5kIFdvcmtlckxvY2F0aW9uIHdyYXBwZXJz
IGlmIHRoZSBXb3JrZXJDb250ZXh0IGlzIHN0aWxsIGFjdGl2ZS4gWW91IHNob3VsZCBzZWUgdHdv
IFBBU1NlcyBiZWxvdyBpZiB0aGlzIHRlc3Qgc3VjY2VlZHMuIik7CisKK3dvcmtlci5wb3N0TWVz
c2FnZSgiZXZhbCBuYXZpZ2F0b3IuZm9vID0gJ1BBU1MnOyBnYygpOyBuYXZpZ2F0b3IuZm9vIik7
Cit3b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgbG9jYXRpb24uZm9vID0gJ1BBU1MnOyBnYygpOyBs
b2NhdGlvbi5mb28iKTsKKword29ya2VyLnBvc3RNZXNzYWdlKCJldmFsIGZvby8vYmFyIik7CisK
K3dvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldnQpIHsKKyAgICBpZiAoIS9mb29cL1wvYmFy
Ly50ZXN0KGV2dC5kYXRhKSkKKyAgICAgICAgbG9nKGV2dC5kYXRhLnJlcGxhY2UobmV3IFJlZ0V4
cCgiLy4qTGF5b3V0VGVzdHMiKSwgIjwuLi4+IikpOworICAgIGVsc2UgeworICAgICAgICBsb2co
IkRPTkUiKTsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9Cit9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1jcmVhdGUt
Y29tbW9uLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItY3Jl
YXRlLWNvbW1vbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDlmMTI5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93
b3JrZXItY3JlYXRlLWNvbW1vbi5qcwpAQCAtMCwwICsxLDQgQEAKK2Z1bmN0aW9uIGNyZWF0ZVdv
cmtlcigpCit7CisgICAgcmV0dXJuIG5ldyBXb3JrZXIoJ3Jlc291cmNlcy93b3JrZXItY29tbW9u
LmpzJyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2Vz
L3dvcmtlci1sb2NhdGlvbi5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMv
d29ya2VyLWxvY2F0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZh
NWYyZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3Vy
Y2VzL3dvcmtlci1sb2NhdGlvbi5qcwpAQCAtMCwwICsxLDQzIEBACitmdW5jdGlvbiBsb2cobWVz
c2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1M
ICs9IG1lc3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGdjKCkKK3sKKyAgICBpZiAod2lu
ZG93LkdDQ29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7
CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsgLy8gPiBmb3JjZSBnYXJi
YWdlIGNvbGxlY3Rpb24gKEZGIHJlcXVpcmVzIGFib3V0IDlLIGFsbG9jYXRpb25zIGJlZm9yZSBh
IGNvbGxlY3QpCisgICAgICAgIHZhciBzID0gbmV3IFN0cmluZygiYWJjIik7CisgICAgfQorfQor
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKK30KKwordmFyIHdvcmtlciA9IGNyZWF0ZVdvcmtlcigpOword29ya2VyLnBvc3RNZXNz
YWdlKCJldmFsIFdvcmtlckxvY2F0aW9uIik7Cit3b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgdHlw
ZW9mIGxvY2F0aW9uIik7Cit3b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgbG9jYXRpb24iKTsKK3dv
cmtlci5wb3N0TWVzc2FnZSgiZXZhbCBsb2NhdGlvbi5ocmVmIik7Cit3b3JrZXIucG9zdE1lc3Nh
Z2UoImV2YWwgbG9jYXRpb24ucHJvdG9jb2wiKTsKK3dvcmtlci5wb3N0TWVzc2FnZSgiZXZhbCBs
b2NhdGlvbi5ob3N0Iik7Cit3b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgbG9jYXRpb24uaG9zdG5h
bWUiKTsKK3dvcmtlci5wb3N0TWVzc2FnZSgiZXZhbCBsb2NhdGlvbi5wb3J0Iik7Cit3b3JrZXIu
cG9zdE1lc3NhZ2UoImV2YWwgbG9jYXRpb24ucGF0aG5hbWUiKTsKK3dvcmtlci5wb3N0TWVzc2Fn
ZSgiZXZhbCBsb2NhdGlvbi5zZWFyY2giKTsKK3dvcmtlci5wb3N0TWVzc2FnZSgiZXZhbCBsb2Nh
dGlvbi5oYXNoIik7Cit3b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgZm9vLy9iYXIiKTsKKword29y
a2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkgeworICAgIGlmICghL2Zvb1wvXC9iYXIvLnRl
c3QoZXZ0LmRhdGEpKQorICAgICAgICBsb2coZXZ0LmRhdGEucmVwbGFjZShuZXcgUmVnRXhwKCIv
LipMYXlvdXRUZXN0cyIpLCAiPC4uLj4iKSk7CisgICAgZWxzZSB7CisgICAgICAgIGxvZygiRE9O
RSIpOworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KK30KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLW5hdmlnYXRvci5q
cyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLW5hdmlnYXRvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzU3MDYxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItbmF2aWdh
dG9yLmpzCkBAIC0wLDAgKzEsMjkgQEAKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8
YnI+IjsKK30KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7Cit9CisKK3ZhciB3b3JrZXIgPSBjcmVhdGVXb3JrZXIoKTsKK3dvcmtl
ci5wb3N0TWVzc2FnZSgiZXZhbCB0eXBlb2YgbmF2aWdhdG9yIik7Cit3b3JrZXIucG9zdE1lc3Nh
Z2UoImV2YWwgbmF2aWdhdG9yIik7Cit3b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgbmF2aWdhdG9y
LmFwcE5hbWUiKTsKK3dvcmtlci5wb3N0TWVzc2FnZSgiZXZhbCBuYXZpZ2F0b3IuYXBwVmVyc2lv
bi5pbmRleE9mKCdXZWJLaXQnKSAhPSAwIik7Cit3b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgdHlw
ZW9mIG5hdmlnYXRvci5wbGF0Zm9ybSIpOword29ya2VyLnBvc3RNZXNzYWdlKCJldmFsIG5hdmln
YXRvci51c2VyQWdlbnQuaW5kZXhPZignV2ViS2l0JykgIT0gMCIpOword29ya2VyLnBvc3RNZXNz
YWdlKCJldmFsIHR5cGVvZiBuYXZpZ2F0b3Iub25MaW5lIik7Cit3b3JrZXIucG9zdE1lc3NhZ2Uo
ImV2YWwgZm9vLy9iYXIiKTsKKword29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkgewor
ICAgIGlmICghL2Zvb1wvXC9iYXIvLnRlc3QoZXZ0LmRhdGEpKQorICAgICAgICBsb2coZXZ0LmRh
dGEucmVwbGFjZShuZXcgUmVnRXhwKCIvLipMYXlvdXRUZXN0cyIpLCAiPC4uLj4iKSk7CisgICAg
ZWxzZSB7CisgICAgICAgIGxvZygiRE9ORSIpOworICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOworICAgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNv
dXJjZXMvd29ya2VyLXJlcGxhY2UtZ2xvYmFsLWNvbnN0cnVjdG9yLmpzIGIvTGF5b3V0VGVzdHMv
ZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItcmVwbGFjZS1nbG9iYWwtY29uc3RydWN0b3Iu
anMKaW5kZXggY2E0YjVkYy4uYjMyZWQ4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC93
b3JrZXJzL3Jlc291cmNlcy93b3JrZXItcmVwbGFjZS1nbG9iYWwtY29uc3RydWN0b3IuanMKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItcmVwbGFjZS1nbG9i
YWwtY29uc3RydWN0b3IuanMKQEAgLTksNyArOSw3IEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CiB9
CiAKLXZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvd29ya2VyLWNvbW1vbi5qcycp
OwordmFyIHdvcmtlciA9IGNyZWF0ZVdvcmtlcigpOwogd29ya2VyLnBvc3RNZXNzYWdlKCJldmFs
IHNlbGYuTWVzc2FnZUV2ZW50ID0gJ1BBU1MnOyBNZXNzYWdlRXZlbnQ7Iik7CiB3b3JrZXIucG9z
dE1lc3NhZ2UoImV2YWwgZm9vLy9iYXIiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItcmVwbGFjZS1zZWxmLmpzIGIvTGF5b3V0VGVzdHMv
ZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItcmVwbGFjZS1zZWxmLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1YjVlNTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1yZXBsYWNlLXNlbGYuanMKQEAg
LTAsMCArMSwyNCBAQAorZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOworfQor
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKK30KKwordmFyIHdvcmtlciA9IGNyZWF0ZVdvcmtlcigpOword29ya2VyLnBvc3RNZXNz
YWdlKCJldmFsIHNlbGY9J1BBU1MnIik7Cit3b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgc2VsZiIp
Oword29ya2VyLnBvc3RNZXNzYWdlKCJldmFsIGZvby8vYmFyIik7CisKK3dvcmtlci5vbm1lc3Nh
Z2UgPSBmdW5jdGlvbihldnQpIHsKKyAgICBpZiAoIS9mb29cL1wvYmFyLy50ZXN0KGV2dC5kYXRh
KSkKKyAgICAgICAgbG9nKGV2dC5kYXRhLnJlcGxhY2UobmV3IFJlZ0V4cCgiLy4qTGF5b3V0VGVz
dHMiKSwgIjwuLi4+IikpOworICAgIGVsc2UgeworICAgICAgICBsb2coIkRPTkUiKTsKKyAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1jb250ZXh0LWdjLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnRleHQtZ2MtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiOGIwMDIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1jb250
ZXh0LWdjLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3QgTmF2aWdhdG9yL0xvY2F0
aW9uIHdyYXBwZXJzIHdpdGggR0MuCisKK1RoaXMgdGVzdHMgdGhhdCBnYyBkb2VzIG5vdCBkZXN0
cm95IHRoZSBXb3JrZXJOYXZpZ2F0b3IgYW5kIFdvcmtlckxvY2F0aW9uIHdyYXBwZXJzIGlmIHRo
ZSBXb3JrZXJDb250ZXh0IGlzIHN0aWxsIGFjdGl2ZS4gWW91IHNob3VsZCBzZWUgdHdvIFBBU1Nl
cyBiZWxvdyBpZiB0aGlzIHRlc3Qgc3VjY2VlZHMuCituYXZpZ2F0b3IuZm9vID0gJ1BBU1MnOyBn
YygpOyBuYXZpZ2F0b3IuZm9vOiBQQVNTCitsb2NhdGlvbi5mb28gPSAnUEFTUyc7IGdjKCk7IGxv
Y2F0aW9uLmZvbzogUEFTUworRE9ORQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dv
cmtlcnMvc2hhcmVkLXdvcmtlci1jb250ZXh0LWdjLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0
cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1jb250ZXh0LWdjLmh0bWwtZGlzYWJsZWQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ1MTEzZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnRleHQtZ2MuaHRt
bC1kaXNhYmxlZApAQCAtMCwwICsxLDcgQEAKKzxib2R5PgorPHA+VGVzdCBOYXZpZ2F0b3IvTG9j
YXRpb24gd3JhcHBlcnMgd2l0aCBHQy48L3A+Cis8ZGl2IGlkPXJlc3VsdD48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLXdvcmtlci1jcmVhdGUtY29tbW9uLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd29ya2VyLWNvbnRleHQtZ2MuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJz
L3NoYXJlZC13b3JrZXItbG9jYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC93
b3JrZXJzL3NoYXJlZC13b3JrZXItbG9jYXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwY2NjM2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1sb2NhdGlvbi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNSBAQAorVGVzdCBXb3JrZXJMb2NhdGlvbiBwcm9wZXJ0aWVzLgorCitXb3JrZXJM
b2NhdGlvbjogW29iamVjdCBXb3JrZXJMb2NhdGlvbkNvbnN0cnVjdG9yXQordHlwZW9mIGxvY2F0
aW9uOiBvYmplY3QKK2xvY2F0aW9uOiBmaWxlOjwuLi4+L2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMv
c2hhcmVkLXdvcmtlci1jb21tb24uanMKK2xvY2F0aW9uLmhyZWY6IGZpbGU6PC4uLj4vZmFzdC93
b3JrZXJzL3Jlc291cmNlcy9zaGFyZWQtd29ya2VyLWNvbW1vbi5qcworbG9jYXRpb24ucHJvdG9j
b2w6IGZpbGU6Citsb2NhdGlvbi5ob3N0OiAKK2xvY2F0aW9uLmhvc3RuYW1lOiAKK2xvY2F0aW9u
LnBvcnQ6IAorbG9jYXRpb24ucGF0aG5hbWU6IDwuLi4+L2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMv
c2hhcmVkLXdvcmtlci1jb21tb24uanMKK2xvY2F0aW9uLnNlYXJjaDogCitsb2NhdGlvbi5oYXNo
OiAKK0RPTkUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13
b3JrZXItbG9jYXRpb24uaHRtbC1kaXNhYmxlZCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9z
aGFyZWQtd29ya2VyLWxvY2F0aW9uLmh0bWwtZGlzYWJsZWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNTAzOGNhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWxvY2F0aW9uLmh0bWwtZGlzYWJsZWQKQEAgLTAsMCAr
MSw4IEBACis8Ym9keT4KKzxwPlRlc3QgV29ya2VyTG9jYXRpb24gcHJvcGVydGllcy48L3A+Cis8
ZGl2IGlkPXJlc3VsdD48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLXdvcmtl
ci1jcmVhdGUtY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd29y
a2VyLWxvY2F0aW9uLmpzIj4KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItbmF2aWdhdG9yLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLW5hdmlnYXRv
ci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTgwYjI1
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29y
a2VyLW5hdmlnYXRvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdCBOYXZpZ2F0
b3IgcHJvcGVydGllcy4KKwordHlwZW9mIG5hdmlnYXRvcjogb2JqZWN0CituYXZpZ2F0b3I6IFtv
YmplY3QgV29ya2VyTmF2aWdhdG9yXQorbmF2aWdhdG9yLmFwcE5hbWU6IE5ldHNjYXBlCituYXZp
Z2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCdXZWJLaXQnKSAhPSAwOiB0cnVlCit0eXBlb2YgbmF2
aWdhdG9yLnBsYXRmb3JtOiBzdHJpbmcKK25hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignV2Vi
S2l0JykgIT0gMDogdHJ1ZQordHlwZW9mIG5hdmlnYXRvci5vbkxpbmU6IGJvb2xlYW4KK0RPTkUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItbmF2
aWdhdG9yLmh0bWwtZGlzYWJsZWQgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdv
cmtlci1uYXZpZ2F0b3IuaHRtbC1kaXNhYmxlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5jODZjMmE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3Jr
ZXJzL3NoYXJlZC13b3JrZXItbmF2aWdhdG9yLmh0bWwtZGlzYWJsZWQKQEAgLTAsMCArMSw2IEBA
Cis8Ym9keT4KKzxwPlRlc3QgTmF2aWdhdG9yIHByb3BlcnRpZXMuPC9wPgorPGRpdiBpZD1yZXN1
bHQ+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC13b3JrZXItY3JlYXRlLWNv
bW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dvcmtlci1uYXZpZ2F0
b3IuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93
b3JrZXJzL3NoYXJlZC13b3JrZXItcmVwbGFjZS1nbG9iYWwtY29uc3RydWN0b3IuaHRtbC1kaXNh
YmxlZCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLXJlcGxhY2UtZ2xv
YmFsLWNvbnN0cnVjdG9yLmh0bWwtZGlzYWJsZWQKaW5kZXggMmRmZjRiNS4uYzRkNGYyYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItcmVwbGFjZS1n
bG9iYWwtY29uc3RydWN0b3IuaHRtbC1kaXNhYmxlZAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dv
cmtlcnMvc2hhcmVkLXdvcmtlci1yZXBsYWNlLWdsb2JhbC1jb25zdHJ1Y3Rvci5odG1sLWRpc2Fi
bGVkCkBAIC0xLDE2ICsxLDcgQEAKIDxib2R5PgogPHA+VGVzdCByZXBsYWNpbmcgZ2xvYmFsIGNv
bnN0cnVjdG9ycyBpbiBhIHdvcmtlciBjb250ZXh0LjwvcD4KIDxkaXYgaWQ9cmVzdWx0PjwvZGl2
PgotPHNjcmlwdD4KLS8vIE1ha2UgYSBTaGFyZWRXb3JrZXIgdGhhdCBoYXMgdGhlIHNhbWUgZXh0
ZXJuYWwgaW50ZXJmYWNlIGFzIGEgRGVkaWNhdGVkV29ya2VyLCB0byB1c2UgaW4gc2hhcmVkIHRl
c3QgY29kZS4KLWZ1bmN0aW9uIGNyZWF0ZVdvcmtlcigpCi17Ci0gICAgdmFyIHdvcmtlciA9IG5l
dyBTaGFyZWRXb3JrZXIoJ3Jlc291cmNlcy9zaGFyZWQtd29ya2VyLWNvbW1vbi5qcycsICduYW1l
Jyk7Ci0gICAgd29ya2VyLnBvcnQub25tZXNzYWdlID0gZnVuY3Rpb24oZXZ0KSB7IHdvcmtlci5v
bm1lc3NhZ2UoZXZ0KTsgfTsKLSAgICB3b3JrZXIucG9zdE1lc3NhZ2UgPSBmdW5jdGlvbihtc2cs
IHBvcnQpIHsgd29ya2VyLnBvcnQucG9zTWVzc2FnZShtc2csIHBvcnQpOyB9OwotfQotPC9zY3Jp
cHQ+Ci0KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLXdvcmtlci1jcmVhdGUtY29tbW9u
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJ3b3JrZXItcmVwbGFjZS1nbG9iYWwtY29uc3Ry
dWN0b3IuanMiPgogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1yZXBsYWNlLXNlbGYtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItcmVwbGFjZS1zZWxmLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTNmZDhhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItcmVwbGFj
ZS1zZWxmLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1Rlc3QgdGhhdCBzZWxmIGlzIHJl
cGxhY2VhYmxlLgorCitzZWxmPSdQQVNTJzogUEFTUworc2VsZjogUEFTUworRE9ORQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1yZXBsYWNlLXNl
bGYuaHRtbC1kaXNhYmxlZCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2Vy
LXJlcGxhY2Utc2VsZi5odG1sLWRpc2FibGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmIzYjg1MTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtl
cnMvc2hhcmVkLXdvcmtlci1yZXBsYWNlLXNlbGYuaHRtbC1kaXNhYmxlZApAQCAtMCwwICsxLDYg
QEAKKzxib2R5PgorPHA+VGVzdCB0aGF0IHNlbGYgaXMgcmVwbGFjZWFibGUuPC9wPgorPGRpdiBp
ZD1yZXN1bHQ+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC13b3JrZXItY3Jl
YXRlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dvcmtlci1y
ZXBsYWNlLXNlbGYuanMiPjwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC93b3JrZXJzL3dvcmtlci1jb250ZXh0LWdjLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3dvcmtlcnMvd29ya2VyLWNvbnRleHQtZ2MuaHRtbAppbmRleCBlMWZhODJiLi40MmI0Yjk3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWNvbnRleHQtZ2MuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWNvbnRleHQtZ2MuaHRtbApA
QCAtMSwzNSArMSw3IEBACiA8Ym9keT4KIDxwPlRlc3QgTmF2aWdhdG9yIHByb3BlcnRpZXMuPC9w
PgogPGRpdiBpZD1yZXN1bHQ+PC9kaXY+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9nKG1lc3NhZ2Up
Ci17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBt
ZXNzYWdlICsgIjxicj4iOwotfQotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLX0KLQotdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIo
J3Jlc291cmNlcy93b3JrZXItY29tbW9uLmpzJyk7Ci0KLWxvZygiVGhpcyB0ZXN0cyB0aGF0IGdj
IGRvZXMgbm90IGRlc3Ryb3kgdGhlIFdvcmtlck5hdmlnYXRvciBhbmQgV29ya2VyTG9jYXRpb24g
d3JhcHBlcnMgaWYgdGhlIFdvcmtlckNvbnRleHQgaXMgc3RpbGwgYWN0aXZlLiBZb3Ugc2hvdWxk
IHNlZSB0d28gUEFTU2VzIGJlbG93IGlmIHRoaXMgdGVzdCBzdWNjZWVkcy4iKTsKLQotd29ya2Vy
LnBvc3RNZXNzYWdlKCJldmFsIG5hdmlnYXRvci5mb28gPSAnUEFTUyc7IGdjKCk7IG5hdmlnYXRv
ci5mb28iKTsKLXdvcmtlci5wb3N0TWVzc2FnZSgiZXZhbCBsb2NhdGlvbi5mb28gPSAnUEFTUyc7
IGdjKCk7IGxvY2F0aW9uLmZvbyIpOwotCi13b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgZm9vLy9i
YXIiKTsKLQotd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkgewotICAgIGlmICghL2Zv
b1wvXC9iYXIvLnRlc3QoZXZ0LmRhdGEpKQotICAgICAgICBsb2coZXZ0LmRhdGEucmVwbGFjZShu
ZXcgUmVnRXhwKCIvLipMYXlvdXRUZXN0cyIpLCAiPC4uLj4iKSk7Ci0gICAgZWxzZSB7Ci0gICAg
ICAgIGxvZygiRE9ORSIpOwotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0K
LX0KLTwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93b3JrZXItY3JlYXRlLWNvbW1v
bi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dvcmtlci1jb250ZXh0LWdj
LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvd29ya2Vycy93b3JrZXItbG9jYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvd29y
a2Vycy93b3JrZXItbG9jYXRpb24uaHRtbAppbmRleCBlMTM5YjlhLi5mZGE5YzQwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLWxvY2F0aW9uLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1sb2NhdGlvbi5odG1sCkBAIC0xLDUwICsx
LDcgQEAKIDxib2R5PgogPHA+VGVzdCBXb3JrZXJMb2NhdGlvbiBwcm9wZXJ0aWVzLjwvcD4KIDxk
aXYgaWQ9cmVzdWx0PjwvZGl2PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewot
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2Fn
ZSArICI8YnI+IjsKLX0KLQotZnVuY3Rpb24gZ2MoKQotewotICAgIGlmICh3aW5kb3cuR0NDb250
cm9sbGVyKQotICAgICAgICByZXR1cm4gR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKLQotICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7IGkrKykgeyAvLyA+IGZvcmNlIGdhcmJhZ2UgY29sbGVj
dGlvbiAoRkYgcmVxdWlyZXMgYWJvdXQgOUsgYWxsb2NhdGlvbnMgYmVmb3JlIGEgY29sbGVjdCkK
LSAgICAgICAgdmFyIHMgPSBuZXcgU3RyaW5nKCJhYmMiKTsKLSAgICB9Ci19Ci0KLWlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotfQot
Ci12YXIgd29ya2VyID0gbmV3IFdvcmtlcigncmVzb3VyY2VzL3dvcmtlci1jb21tb24uanMnKTsK
LXdvcmtlci5wb3N0TWVzc2FnZSgiZXZhbCBXb3JrZXJMb2NhdGlvbiIpOwotd29ya2VyLnBvc3RN
ZXNzYWdlKCJldmFsIHR5cGVvZiBsb2NhdGlvbiIpOwotd29ya2VyLnBvc3RNZXNzYWdlKCJldmFs
IGxvY2F0aW9uIik7Ci13b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgbG9jYXRpb24uaHJlZiIpOwot
d29ya2VyLnBvc3RNZXNzYWdlKCJldmFsIGxvY2F0aW9uLnByb3RvY29sIik7Ci13b3JrZXIucG9z
dE1lc3NhZ2UoImV2YWwgbG9jYXRpb24uaG9zdCIpOwotd29ya2VyLnBvc3RNZXNzYWdlKCJldmFs
IGxvY2F0aW9uLmhvc3RuYW1lIik7Ci13b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgbG9jYXRpb24u
cG9ydCIpOwotd29ya2VyLnBvc3RNZXNzYWdlKCJldmFsIGxvY2F0aW9uLnBhdGhuYW1lIik7Ci13
b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgbG9jYXRpb24uc2VhcmNoIik7Ci13b3JrZXIucG9zdE1l
c3NhZ2UoImV2YWwgbG9jYXRpb24uaGFzaCIpOwotd29ya2VyLnBvc3RNZXNzYWdlKCJldmFsIGZv
by8vYmFyIik7Ci0KLXdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldnQpIHsKLSAgICBpZiAo
IS9mb29cL1wvYmFyLy50ZXN0KGV2dC5kYXRhKSkKLSAgICAgICAgbG9nKGV2dC5kYXRhLnJlcGxh
Y2UobmV3IFJlZ0V4cCgiLy4qTGF5b3V0VGVzdHMiKSwgIjwuLi4+IikpOwotICAgIGVsc2Ugewot
ICAgICAgICBsb2coIkRPTkUiKTsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAg
ICB9Ci19Ci08L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd29ya2VyLWNyZWF0ZS1j
b21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93b3JrZXItbG9jYXRp
b24uanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC93b3JrZXJzL3dvcmtlci1uYXZpZ2F0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
d29ya2Vycy93b3JrZXItbmF2aWdhdG9yLmh0bWwKaW5kZXggYzYzNDg5Mi4uZjI3NzNiYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1uYXZpZ2F0b3IuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLW5hdmlnYXRvci5odG1sCkBAIC0x
LDM2ICsxLDYgQEAKIDxib2R5PgogPHA+VGVzdCBOYXZpZ2F0b3IgcHJvcGVydGllcy48L3A+CiA8
ZGl2IGlkPXJlc3VsdD48L2Rpdj4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsK
LSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3Nh
Z2UgKyAiPGJyPiI7Ci19Ci0KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi12YXIgd29ya2VyID0gbmV3IFdvcmtlcigncmVz
b3VyY2VzL3dvcmtlci1jb21tb24uanMnKTsKLXdvcmtlci5wb3N0TWVzc2FnZSgiZXZhbCB0eXBl
b2YgbmF2aWdhdG9yIik7Ci13b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgbmF2aWdhdG9yIik7Ci13
b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgbmF2aWdhdG9yLmFwcE5hbWUiKTsKLXdvcmtlci5wb3N0
TWVzc2FnZSgiZXZhbCBuYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCdXZWJLaXQnKSAhPSAw
Iik7Ci13b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgdHlwZW9mIG5hdmlnYXRvci5wbGF0Zm9ybSIp
Owotd29ya2VyLnBvc3RNZXNzYWdlKCJldmFsIG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZign
V2ViS2l0JykgIT0gMCIpOwotd29ya2VyLnBvc3RNZXNzYWdlKCJldmFsIHR5cGVvZiBuYXZpZ2F0
b3Iub25MaW5lIik7Ci13b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgZm9vLy9iYXIiKTsKLQotd29y
a2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkgewotICAgIGlmICghL2Zvb1wvXC9iYXIvLnRl
c3QoZXZ0LmRhdGEpKQotICAgICAgICBsb2coZXZ0LmRhdGEucmVwbGFjZShuZXcgUmVnRXhwKCIv
LipMYXlvdXRUZXN0cyIpLCAiPC4uLj4iKSk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGxvZygiRE9O
RSIpOwotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0KLX0KLTwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93b3JrZXItY3JlYXRlLWNvbW1vbi5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dvcmtlci1uYXZpZ2F0b3IuanMiPjwvc2NyaXB0
PgogPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJz
L3dvcmtlci1yZXBsYWNlLWdsb2JhbC1jb25zdHJ1Y3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC93b3JrZXJzL3dvcmtlci1yZXBsYWNlLWdsb2JhbC1jb25zdHJ1Y3Rvci5odG1sCmluZGV4IGYz
ODYwMWEuLjU1ZTU2ZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3Jr
ZXItcmVwbGFjZS1nbG9iYWwtY29uc3RydWN0b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3dvcmtlcnMvd29ya2VyLXJlcGxhY2UtZ2xvYmFsLWNvbnN0cnVjdG9yLmh0bWwKQEAgLTEsMTMg
KzEsNyBAQAogPGJvZHk+CiA8cD5UZXN0IHJlcGxhY2luZyBnbG9iYWwgY29uc3RydWN0b3JzIGlu
IGEgd29ya2VyIGNvbnRleHQuPC9wPgogPGRpdiBpZD1yZXN1bHQ+PC9kaXY+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gY3JlYXRlV29ya2VyKCkKLXsKLSAgICByZXR1cm4gbmV3IFdvcmtlcigncmVzb3Vy
Y2VzL3dvcmtlci1jb21tb24uanMnKTsKLX0KLTwvc2NyaXB0PgotCis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3dvcmtlci1jcmVhdGUtY29tbW9uLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvd29ya2VyLXJlcGxhY2UtZ2xvYmFsLWNvbnN0cnVjdG9yLmpzIj4KIDwvc2NyaXB0
PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1y
ZXBsYWNlLXNlbGYuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItcmVwbGFj
ZS1zZWxmLmh0bWwKaW5kZXggZGM4ZGFmZS4uZTg3NGZhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC93b3JrZXJzL3dvcmtlci1yZXBsYWNlLXNlbGYuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3dvcmtlcnMvd29ya2VyLXJlcGxhY2Utc2VsZi5odG1sCkBAIC0xLDMxICsxLDYgQEAK
IDxib2R5PgogPHA+VGVzdCB0aGF0IHNlbGYgaXMgcmVwbGFjZWFibGUuPC9wPgogPGRpdiBpZD1y
ZXN1bHQ+PC9kaXY+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxi
cj4iOwotfQotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKLX0KLQotdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoJ3Jlc291cmNlcy93
b3JrZXItY29tbW9uLmpzJyk7Ci13b3JrZXIucG9zdE1lc3NhZ2UoImV2YWwgc2VsZj0nUEFTUyci
KTsKLXdvcmtlci5wb3N0TWVzc2FnZSgiZXZhbCBzZWxmIik7Ci13b3JrZXIucG9zdE1lc3NhZ2Uo
ImV2YWwgZm9vLy9iYXIiKTsKLQotd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2dCkgewot
ICAgIGlmICghL2Zvb1wvXC9iYXIvLnRlc3QoZXZ0LmRhdGEpKQotICAgICAgICBsb2coZXZ0LmRh
dGEucmVwbGFjZShuZXcgUmVnRXhwKCIvLipMYXlvdXRUZXN0cyIpLCAiPC4uLj4iKSk7Ci0gICAg
ZWxzZSB7Ci0gICAgICAgIGxvZygiRE9ORSIpOwotICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwotICAgIH0KLX0KLTwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93b3JrZXIt
Y3JlYXRlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dvcmtl
ci1yZXBsYWNlLXNlbGYuanMiPjwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgo=
</data>
<flag name="review"
          id="18183"
          type_id="1"
          status="+"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>