<?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>85836</bug_id>
          
          <creation_ts>2012-05-07 15:26:57 -0700</creation_ts>
          <short_desc>[chromium] move event_listener_unittest to webkit_unit_tests</short_desc>
          <delta_ts>2012-05-08 10:05:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>85850</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>abarth</cc>
    
    <cc>jamesr</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>618008</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-05-07 15:26:57 -0700</bug_when>
    <thetext>[chromium] move event_listener_unittest to webkit_unit_tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618031</commentid>
    <comment_count>1</comment_count>
      <attachid>140609</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-05-07 15:45:47 -0700</bug_when>
    <thetext>Created attachment 140609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618032</commentid>
    <comment_count>2</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-05-07 15:46:27 -0700</bug_when>
    <thetext>First step in fixing https://code.google.com/p/chromium/issues/detail?id=126514 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618034</commentid>
    <comment_count>3</comment_count>
      <attachid>140609</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-07 15:48:49 -0700</bug_when>
    <thetext>Comment on attachment 140609
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=140609&amp;action=review

Death to test_shell_tests (and test_shell)!

&gt; Source/WebKit/chromium/tests/EventListenerTest.cpp:78
&gt; +        std::string baseURL(&quot;http://www.test.com/&quot;);

nit: shouldn&apos;t we use example.com ? test.com is a real domain, example.com is an RFC 2606 (?) placeholder

&gt; Source/WebKit/chromium/tests/data/listener/mutation_event_listener.html:1
&gt; +&lt;html&gt;

&lt;!DOCTYPE html&gt; unless we need quirks mode for this test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618040</commentid>
    <comment_count>4</comment_count>
      <attachid>140610</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-05-07 15:52:49 -0700</bug_when>
    <thetext>Created attachment 140610
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618041</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-05-07 15:53:10 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 140609 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140609&amp;action=review
&gt; 
&gt; Death to test_shell_tests (and test_shell)!
&gt; 
&gt; &gt; Source/WebKit/chromium/tests/EventListenerTest.cpp:78
&gt; &gt; +        std::string baseURL(&quot;http://www.test.com/&quot;);
&gt; 
&gt; nit: shouldn&apos;t we use example.com ? test.com is a real domain, example.com is an RFC 2606 (?) placeholder

Fixed.

&gt; &gt; Source/WebKit/chromium/tests/data/listener/mutation_event_listener.html:1
&gt; &gt; +&lt;html&gt;
&gt; 
&gt; &lt;!DOCTYPE html&gt; unless we need quirks mode for this test

Added.

Thanks for the fast review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618117</commentid>
    <comment_count>6</comment_count>
      <attachid>140610</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 17:05:05 -0700</bug_when>
    <thetext>Comment on attachment 140610
Patch for landing

Clearing flags on attachment: 140610

Committed r116375: &lt;http://trac.webkit.org/changeset/116375&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618118</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 17:05:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618199</commentid>
    <comment_count>8</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-07 18:42:59 -0700</bug_when>
    <thetext>The patch caused build errors on Chromium-win and Chromium-mac.  I&apos;m rolling it out soon.



1: .\tests\EventListenerTest.cpp(76) : error C2146: syntax error : missing &apos;;&apos; before identifier &apos;SetUp&apos;

2: .\tests\EventListenerTest.cpp(76) : error C2182: &apos;override&apos; : illegal use of type &apos;void&apos;

3: .\tests\EventListenerTest.cpp(76) : error C2433: &apos;`anonymous-namespace&apos;::WebDOMEventListenerTest::override&apos; : &apos;virtual&apos; not permitted on data declarations

4: .\tests\EventListenerTest.cpp(77) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

5: .\tests\EventListenerTest.cpp(85) : error C2146: syntax error : missing &apos;;&apos; before identifier &apos;TearDown&apos;

6: .\tests\EventListenerTest.cpp(85) : error C2182: &apos;override&apos; : illegal use of type &apos;void&apos;

7: .\tests\EventListenerTest.cpp(85) : error C2433: &apos;`anonymous-namespace&apos;::WebDOMEventListenerTest::override&apos; : &apos;virtual&apos; not permitted on data declarations

8: .\tests\EventListenerTest.cpp(85) : error C2086: &apos;int `anonymous-namespace&apos;::WebDOMEventListenerTest::override&apos; : redefinition

9: .\tests\EventListenerTest.cpp(86) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

10: .\tests\EventListenerTest.cpp(117) : error C2555: &apos;`anonymous-namespace&apos;::WebDOMEventListenerTest::SetUp&apos;: overriding virtual function return type differs and is not covariant from &apos;testing::Test::SetUp&apos;

11: .\tests\EventListenerTest.cpp(117) : error C2555: &apos;`anonymous-namespace&apos;::WebDOMEventListenerTest::TearDown&apos;: overriding virtual function return type differs and is not covariant from &apos;testing::Test::TearDown&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618200</commentid>
    <comment_count>9</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-07 18:45:34 -0700</bug_when>
    <thetext>oh - OVERRIDE has to go after the function name, not before it.  It&apos;s an easy mechanical fix if you want to do that instead of reverting</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618202</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 18:46:01 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 85850</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618209</commentid>
    <comment_count>11</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-07 18:53:29 -0700</bug_when>
    <thetext>Rolled out by http://trac.webkit.org/changeset/116383</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618587</commentid>
    <comment_count>12</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-05-08 10:05:19 -0700</bug_when>
    <thetext>Committed r116433: &lt;http://trac.webkit.org/changeset/116433&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618588</commentid>
    <comment_count>13</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-05-08 10:05:52 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Committed r116433: &lt;http://trac.webkit.org/changeset/116433&gt;

Landed with the syntax fix.  I verified that it compiled using clang.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140609</attachid>
            <date>2012-05-07 15:45:47 -0700</date>
            <delta_ts>2012-05-07 15:52:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85836-20120507154552.patch</filename>
            <type>text/plain</type>
            <size>14335</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDM3NGNmYjk5NGJlNTU5ZDAxNzlmNGQ4YzkxZTFlMTEyYTA2Njk2NzUuLmRhMzY4NzQyZDJhM2Rm
MjJkYmMxYTc3MTJkNjZhMzdlZjk5NGY3YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTItMDUtMDcgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9y
Zz4KKworICAgICAgICBbY2hyb21pdW1dIG1vdmUgZXZlbnRfbGlzdGVuZXJfdW5pdHRlc3QgdG8g
d2Via2l0X3VuaXRfdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg1ODM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUG9ydGluZyB0aGUgdGVzdCBmcm9tIHNyYy93ZWJraXQvdG9vbHMvdGVzdF9zaGVs
bC9ldmVudF9saXN0ZW5lcl91bml0dGVzdC5jYy4KKyAgICAgICAgQWxsIEkgZGlkIHdhcyBjaGFu
Z2UgdGhlIHN0eWxlIGFuZCB1c2UgdGhlIEZyYW1lVGVzdEhlbHBlciB0byBsb2FkIHRoZSBmaWxl
LgorCisgICAgICAgICogV2ViS2l0Lmd5cDogRXhjbHVkZSBmaWxlIGluIGNvbXBvbmVudHMgYnVp
bGQuCisgICAgICAgICogV2ViS2l0Lmd5cGk6IEFkZCBuZXcgZmlsZS4KKyAgICAgICAgKiB0ZXN0
cy9FdmVudExpc3RlbmVyVGVzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFRlc3RXZWJET01FdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYktpdDo6VGVzdFdlYkRP
TUV2ZW50TGlzdGVuZXI6OlRlc3RXZWJET01FdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYktp
dDo6VGVzdFdlYkRPTUV2ZW50TGlzdGVuZXI6On5UZXN0V2ViRE9NRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJLaXQ6OlRlc3RXZWJET01FdmVudExpc3RlbmVyOjpldmVudENvdW50KToKKyAg
ICAgICAgKFdlYktpdDo6VGVzdFdlYkRPTUV2ZW50TGlzdGVuZXI6OmV2ZW50QXQpOgorICAgICAg
ICAoV2ViS2l0OjpUZXN0V2ViRE9NRXZlbnRMaXN0ZW5lcjo6Y2xlYXJFdmVudHMpOgorICAgICAg
ICAoV2ViRE9NRXZlbnRMaXN0ZW5lclRlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVu
dExpc3RlbmVyVGVzdDo6V2ViRE9NRXZlbnRMaXN0ZW5lclRlc3QpOgorICAgICAgICAoV2ViS2l0
OjpXZWJET01FdmVudExpc3RlbmVyVGVzdDo6U2V0VXApOgorICAgICAgICAoV2ViS2l0OjpXZWJE
T01FdmVudExpc3RlbmVyVGVzdDo6VGVhckRvd24pOgorICAgICAgICAoV2ViS2l0OjpXZWJET01F
dmVudExpc3RlbmVyVGVzdDo6bWFpbkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViRE9NRXZl
bnRMaXN0ZW5lclRlc3Q6OmRvY3VtZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRE9NRXZlbnRM
aXN0ZW5lclRlc3Q6OmV4ZWN1dGVTY3JpcHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVu
dExpc3RlbmVyVGVzdDo6R2V0Tm9kZUlEKToKKyAgICAgICAgKFdlYktpdDo6VEVTVF9GKToKKyAg
ICAgICAgKiB0ZXN0cy9kYXRhL2xpc3RlbmVyL211dGF0aW9uX2V2ZW50X2xpc3RlbmVyLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTA1LTA3ICBEYXZpZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVc2UgR0xfQ0hST01JVU1fY29tbWFuZF9idWZmZXJf
cXVlcnkgdG8gdGhyb3R0bGUgdGV4dHVyZSB1cGxvYWRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwCmluZGV4IDIyMTIwYTUxNTlkMGE1NmEyMjVjMzFlMjIyY2IwODJkYjNmMzEwY2YuLjAwZWZk
NGViNWFlZmRjNThlMDBlNWM1YTFiM2RkZGRhZmI4MjA5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dl
YktpdC5neXAKQEAgLTczNSw2ICs3MzUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIFRoZXNlIHRlc3RzIGRlcGVuZCBvbiB3ZWJraXRfc3VwcG9ydCBhbmQKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIyBmdW5jdGlvbnMgZGVmaW5lZCBvbmx5IGluICFXRUJL
SVRfSU1QTEVNRU5UQVRJT04uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0
cy9Bc3NvY2lhdGVkVVJMTG9hZGVyVGVzdC5jcHAnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAndGVzdHMvRXZlbnRMaXN0ZW5lclRlc3QuY3BwJywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ3Rlc3RzL0ZyYW1lVGVzdEhlbHBlcnMuY3BwJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL0xldmVsREJUZXN0LmNwcCcsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9Qb3B1cE1lbnVUZXN0LmNwcCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwaQppbmRleCBjZjBhNDYwMGJkZDc5ODJiOTdiOTVmNjQ0M2UyZWM0
MzRiZTYyMWQ4Li4zMzgxOTg2OGIzZWY5ZTFjOTkzYmFlMGFkODVhZjA0ZTY4NDY5NjVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKQEAgLTk3LDYgKzk3LDcgQEAKICAgICAgICAgICAg
ICd0ZXN0cy9Db21wb3NpdG9yRmFrZVdlYkdyYXBoaWNzQ29udGV4dDNELmgnLAogICAgICAgICAg
ICAgJ3Rlc3RzL0RyYWdJbWFnZVRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9EcmF3aW5n
QnVmZmVyQ2hyb21pdW1UZXN0LmNwcCcsCisgICAgICAgICAgICAndGVzdHMvRXZlbnRMaXN0ZW5l
clRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9GYWtlQ0NMYXllclRyZWVIb3N0Q2xpZW50
LmgnLAogICAgICAgICAgICAgJ3Rlc3RzL0Zha2VHcmFwaGljc0NvbnRleHQzRFRlc3QuY3BwJywK
ICAgICAgICAgICAgICd0ZXN0cy9GYWtlV2ViR3JhcGhpY3NDb250ZXh0M0QuaCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0V2ZW50TGlzdGVuZXJUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvRXZlbnRMaXN0ZW5lclRlc3QuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjc2NmQ5MjVkOWFiOGU0NWU5ZTg3MjFjNDY2M2QwMzgzMjVlZDkxOTMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0V2ZW50TGlzdGVuZXJUZXN0
LmNwcApAQCAtMCwwICsxLDI1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIkZy
YW1lVGVzdEhlbHBlcnMuaCIKKyNpbmNsdWRlICJXZWJET01FdmVudC5oIgorI2luY2x1ZGUgIldl
YkRPTUV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJXZWJET01NdXRhdGlvbkV2ZW50LmgiCisj
aW5jbHVkZSAiV2ViRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJXZWJFbGVtZW50LmgiCisjaW5jbHVk
ZSAiV2ViRnJhbWUuaCIKKyNpbmNsdWRlICJXZWJTY3JpcHRTb3VyY2UuaCIKKyNpbmNsdWRlICJX
ZWJWaWV3LmgiCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlIDx3ZWJraXQvc3Vw
cG9ydC93ZWJraXRfc3VwcG9ydC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCituYW1l
c3BhY2UgeworCitjbGFzcyBUZXN0V2ViRE9NRXZlbnRMaXN0ZW5lciA6IHB1YmxpYyBXZWJET01F
dmVudExpc3RlbmVyIHsKK3B1YmxpYzoKKyAgICBUZXN0V2ViRE9NRXZlbnRMaXN0ZW5lcigpIHsg
fQorICAgIHZpcnR1YWwgflRlc3RXZWJET01FdmVudExpc3RlbmVyKCkgeyB9CisKKyAgICB2aXJ0
dWFsIHZvaWQgaGFuZGxlRXZlbnQoY29uc3QgV2ViRE9NRXZlbnQmIGV2ZW50KSBPVkVSUklERQor
ICAgIHsKKyAgICAgIG1fZXZlbnRzLnB1c2hfYmFjayhldmVudCk7CisgICAgfQorCisgICAgc2l6
ZV90IGV2ZW50Q291bnQoKSBjb25zdCB7IHJldHVybiBtX2V2ZW50cy5zaXplKCk7IH0KKworICAg
IFdlYkRPTUV2ZW50IGV2ZW50QXQoaW50IGluZGV4KSBjb25zdCB7IHJldHVybiBtX2V2ZW50cy5h
dChpbmRleCk7IH0KKworICAgIHZvaWQgY2xlYXJFdmVudHMoKSB7IG1fZXZlbnRzLmNsZWFyKCk7
IH0KKworcHJpdmF0ZToKKyAgICBzdGQ6OnZlY3RvcjxXZWJET01FdmVudD4gbV9ldmVudHM7Cit9
OworCitjbGFzcyBXZWJET01FdmVudExpc3RlbmVyVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0
IHsKK3B1YmxpYzoKKyAgICBXZWJET01FdmVudExpc3RlbmVyVGVzdCgpCisgICAgICAgIDogbV93
ZWJWaWV3KDApCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBPVkVSUklERSBTZXRV
cCgpCisgICAgeworICAgICAgICBzdGQ6OnN0cmluZyBiYXNlVVJMKCJodHRwOi8vd3d3LnRlc3Qu
Y29tLyIpOworICAgICAgICBzdGQ6OnN0cmluZyBmaWxlTmFtZSgibGlzdGVuZXIvbXV0YXRpb25f
ZXZlbnRfbGlzdGVuZXIuaHRtbCIpOworICAgICAgICBib29sIGV4ZWN1dGVTY3JpcHQgPSB0cnVl
OworICAgICAgICBGcmFtZVRlc3RIZWxwZXJzOjpyZWdpc3Rlck1vY2tlZFVSTExvYWQoYmFzZVVS
TCwgZmlsZU5hbWUpOworICAgICAgICBtX3dlYlZpZXcgPSBGcmFtZVRlc3RIZWxwZXJzOjpjcmVh
dGVXZWJWaWV3QW5kTG9hZChiYXNlVVJMICsgZmlsZU5hbWUsIGV4ZWN1dGVTY3JpcHQpOworICAg
IH0KKworICAgIHZpcnR1YWwgdm9pZCBPVkVSUklERSBUZWFyRG93bigpCisgICAgeworICAgICAg
ICBtX3dlYlZpZXctPmNsb3NlKCk7CisgICAgICAgIHdlYmtpdF9zdXBwb3J0OjpVbnJlZ2lzdGVy
QWxsTW9ja2VkVVJMcygpOworICAgIH0KKworICAgIFdlYkZyYW1lKiBtYWluRnJhbWUoKSBjb25z
dAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fd2ViVmlldy0+bWFpbkZyYW1lKCk7CisgICAgfQor
CisgICAgV2ViRG9jdW1lbnQgZG9jdW1lbnQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJu
IG1haW5GcmFtZSgpLT5kb2N1bWVudCgpOworICAgIH0KKworICAgIHZvaWQgZXhlY3V0ZVNjcmlw
dChjb25zdCBjaGFyKiBjb2RlKQorICAgIHsKKyAgICAgICAgbWFpbkZyYW1lKCktPmV4ZWN1dGVT
Y3JpcHQoV2ViU2NyaXB0U291cmNlKFdlYlN0cmluZzo6ZnJvbVVURjgoY29kZSkpKTsKKyAgICB9
CisKKworICAgIHN0YXRpYyBXZWJTdHJpbmcgR2V0Tm9kZUlEKGNvbnN0IFdlYk5vZGUmIG5vZGUp
CisgICAgeworICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSgpICE9IFdlYk5vZGU6OkVsZW1lbnRO
b2RlKQorICAgICAgICAgICAgcmV0dXJuIFdlYlN0cmluZygpOworICAgICAgICBXZWJFbGVtZW50
IGVsZW1lbnQgPSBub2RlLnRvQ29uc3Q8V2ViRWxlbWVudD4oKTsKKyAgICAgICAgcmV0dXJuIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpOworICAgIH0KKworcHJvdGVjdGVkOgorICAgIFdlYlZp
ZXcqIG1fd2ViVmlldzsKK307CisKKworLy8gVGVzdHMgdGhhdCB0aGUgcmlnaHQgbXV0YXRpb24g
ZXZlbnRzIGFyZSBmaXJlZCB3aGVuIGEgbm9kZSBpcyBhZGRlZC9yZW1vdmVkLgorLy8gTm90ZSB0
aGF0IHRoZSBET01TdWJ0cmVlTW9kaWZpZWQgZXZlbnQgaXMgZmFpcmx5IHZhZ2UsIGl0IG9ubHkg
dGVsbHMgeW91CisvLyBzb21ldGhpbmcgY2hhbmdlZCBmb3IgdGhlIHRhcmdldCBub2RlLgorVEVT
VF9GKFdlYkRPTUV2ZW50TGlzdGVuZXJUZXN0LCBOb2RlQWRkZWRSZW1vdmVkTXV0YXRpb25FdmVu
dCkKK3sKKyAgICBUZXN0V2ViRE9NRXZlbnRMaXN0ZW5lciBldmVudExpc3RlbmVyOworICAgIGRv
Y3VtZW50KCkuYWRkRXZlbnRMaXN0ZW5lcigiRE9NU3VidHJlZU1vZGlmaWVkIiwgJmV2ZW50TGlz
dGVuZXIsIGZhbHNlKTsKKworICAgIC8vIFRlc3QgYWRkaW5nIGEgbm9kZS4KKyAgICBleGVjdXRl
U2NyaXB0KCJhZGRFbGVtZW50KCduZXdOb2RlJykiKTsKKyAgICBBU1NFUlRfRVEoMVUsIGV2ZW50
TGlzdGVuZXIuZXZlbnRDb3VudCgpKTsKKyAgICBXZWJET01FdmVudCBldmVudCA9IGV2ZW50TGlz
dGVuZXIuZXZlbnRBdCgwKTsKKyAgICBBU1NFUlRfVFJVRShldmVudC5pc011dGF0aW9uRXZlbnQo
KSk7CisgICAgLy8gTm8gbmVlZCB0byBjaGVjayBhbnkgb2YgdGhlIE11dGF0aW9uRXZlbnQsIFdl
YktpdCBkb2VzIG5vdCBzZXQgYW55LgorICAgIEVYUEVDVF9FUSgiRElWIiwgZXZlbnQudGFyZ2V0
KCkubm9kZU5hbWUoKSk7CisgICAgRVhQRUNUX0VRKCJ0b3BEaXYiLCBHZXROb2RlSUQoZXZlbnQu
dGFyZ2V0KCkpKTsKKyAgICBldmVudExpc3RlbmVyLmNsZWFyRXZlbnRzKCk7CisKKyAgICAvLyBU
ZXN0IHJlbW92aW5nIGEgbm9kZS4KKyAgICBleGVjdXRlU2NyaXB0KCJyZW1vdmVOb2RlKCdkaXYx
JykiKTsKKyAgICBBU1NFUlRfRVEoMVUsIGV2ZW50TGlzdGVuZXIuZXZlbnRDb3VudCgpKTsKKyAg
ICBldmVudCA9IGV2ZW50TGlzdGVuZXIuZXZlbnRBdCgwKTsKKyAgICBBU1NFUlRfVFJVRShldmVu
dC5pc011dGF0aW9uRXZlbnQoKSk7CisgICAgRVhQRUNUX0VRKCJESVYiLCBldmVudC50YXJnZXQo
KS5ub2RlTmFtZSgpKTsKKyAgICBFWFBFQ1RfRVEoInRvcERpdiIsIEdldE5vZGVJRChldmVudC50
YXJnZXQoKSkpOworfQorCisvLyBUZXN0cyB0aGUgcmlnaHQgbXV0YXRpb24gZXZlbnQgaXMgZmly
ZWQgd2hlbiBhIHRleHQgbm9kZSBpcyBtb2RpZmllZC4KK1RFU1RfRihXZWJET01FdmVudExpc3Rl
bmVyVGVzdCwgVGV4dE5vZGVNb2RpZmllZE11dGF0aW9uRXZlbnQpCit7CisgICAgVGVzdFdlYkRP
TUV2ZW50TGlzdGVuZXIgZXZlbnRMaXN0ZW5lcjsKKyAgICBkb2N1bWVudCgpLmFkZEV2ZW50TGlz
dGVuZXIoIkRPTVN1YnRyZWVNb2RpZmllZCIsICZldmVudExpc3RlbmVyLCBmYWxzZSk7CisgICAg
ZXhlY3V0ZVNjcmlwdCgiY2hhbmdlVGV4dCgnZGl2MicsICdIZWxsbycpIik7CisgICAgQVNTRVJU
X0VRKDFVLCBldmVudExpc3RlbmVyLmV2ZW50Q291bnQoKSk7CisgICAgV2ViRE9NRXZlbnQgZXZl
bnQgPSBldmVudExpc3RlbmVyLmV2ZW50QXQoMCk7CisgICAgQVNTRVJUX1RSVUUoZXZlbnQuaXNN
dXRhdGlvbkV2ZW50KCkpOworICAgIEFTU0VSVF9FUShXZWJOb2RlOjpUZXh0Tm9kZSwgZXZlbnQu
dGFyZ2V0KCkubm9kZVR5cGUoKSk7Cit9CisKKy8vIFRlc3RzIHRoZSByaWdodCBtdXRhdGlvbiBl
dmVudHMgYXJlIGZpcmVkIHdoZW4gYW4gYXR0cmlidXRlIGlzIGFkZGVkL3JlbW92ZWQuCitURVNU
X0YoV2ViRE9NRXZlbnRMaXN0ZW5lclRlc3QsIEF0dHJpYnV0ZU11dGF0aW9uRXZlbnQpCit7Cisg
ICAgVGVzdFdlYkRPTUV2ZW50TGlzdGVuZXIgZXZlbnRMaXN0ZW5lcjsKKyAgICBkb2N1bWVudCgp
LmFkZEV2ZW50TGlzdGVuZXIoIkRPTVN1YnRyZWVNb2RpZmllZCIsICZldmVudExpc3RlbmVyLCBm
YWxzZSk7CisgICAgZXhlY3V0ZVNjcmlwdCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpdjIn
KS5zZXRBdHRyaWJ1dGUoJ215QXR0cicsIgorICAgICAgICAgICAgICAgICAgIidzb21lIHZhbHVl
JykiKTsKKyAgICBBU1NFUlRfRVEoMVUsIGV2ZW50TGlzdGVuZXIuZXZlbnRDb3VudCgpKTsKKyAg
ICBXZWJET01FdmVudCBldmVudCA9IGV2ZW50TGlzdGVuZXIuZXZlbnRBdCgwKTsKKyAgICBBU1NF
UlRfVFJVRShldmVudC5pc011dGF0aW9uRXZlbnQoKSk7CisgICAgRVhQRUNUX0VRKCJESVYiLCBl
dmVudC50YXJnZXQoKS5ub2RlTmFtZSgpKTsKKyAgICBFWFBFQ1RfRVEoImRpdjIiLCBHZXROb2Rl
SUQoZXZlbnQudGFyZ2V0KCkpKTsKKyAgICBldmVudExpc3RlbmVyLmNsZWFyRXZlbnRzKCk7CisK
KyAgICBleGVjdXRlU2NyaXB0KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2MicpLnJlbW92
ZUF0dHJpYnV0ZSgnbXlBdHRyJykiKTsKKyAgICBBU1NFUlRfRVEoMVUsIGV2ZW50TGlzdGVuZXIu
ZXZlbnRDb3VudCgpKTsKKyAgICBldmVudCA9IGV2ZW50TGlzdGVuZXIuZXZlbnRBdCgwKTsKKyAg
ICBBU1NFUlRfVFJVRShldmVudC5pc011dGF0aW9uRXZlbnQoKSk7CisgICAgRVhQRUNUX0VRKCJE
SVYiLCBldmVudC50YXJnZXQoKS5ub2RlTmFtZSgpKTsKKyAgICBFWFBFQ1RfRVEoImRpdjIiLCBH
ZXROb2RlSUQoZXZlbnQudGFyZ2V0KCkpKTsKK30KKworLy8gVGVzdHMgZGVzdHJveWluZyBXZWJE
T01FdmVudExpc3RlbmVyIGFuZCB0cmlnZ2VyaW5nIGV2ZW50cywgd2Ugc2hvdWxkbid0CisvLyBj
cmFzaC4KK1RFU1RfRihXZWJET01FdmVudExpc3RlbmVyVGVzdCwgRmlyZUV2ZW50RGVsZXRlZExp
c3RlbmVyKQoreworICAgIFRlc3RXZWJET01FdmVudExpc3RlbmVyKiBldmVudExpc3RlbmVyID0g
bmV3IFRlc3RXZWJET01FdmVudExpc3RlbmVyKCk7CisgICAgZG9jdW1lbnQoKS5hZGRFdmVudExp
c3RlbmVyKCJET01TdWJ0cmVlTW9kaWZpZWQiLCBldmVudExpc3RlbmVyLCBmYWxzZSk7CisgICAg
ZGVsZXRlIGV2ZW50TGlzdGVuZXI7CisgICAgZXhlY3V0ZVNjcmlwdCgiYWRkRWxlbWVudCgnbmV3
Tm9kZScpIik7IC8vIFRoYXQgc2hvdWxkIGZpcmUgYW4gZXZlbnQuCit9CisKKy8vIFRlc3RzIHJl
Z2lzdGVyaW5nIHNldmVyYWwgZXZlbnRzIG9uIHRoZSBzYW1lIFdlYkRPTUV2ZW50TGlzdGVuZXIg
YW5kCisvLyB0cmlnZ2VyaW5nIGV2ZW50cy4KK1RFU1RfRihXZWJET01FdmVudExpc3RlbmVyVGVz
dCwgU2FtZUxpc3RlbmVyTXVsdGlwbGVFdmVudHMpCit7CisgICAgVGVzdFdlYkRPTUV2ZW50TGlz
dGVuZXIgZXZlbnRMaXN0ZW5lcjsKKyAgICBjb25zdCBXZWJTdHJpbmcga0RPTVN1YnRyZWVNb2Rp
ZmllZFR5cGUoIkRPTVN1YnRyZWVNb2RpZmllZCIpOworICAgIGNvbnN0IFdlYlN0cmluZyBrRE9N
Tm9kZVJlbW92ZWRUeXBlKCJET01Ob2RlUmVtb3ZlZCIpOworICAgIGRvY3VtZW50KCkuYWRkRXZl
bnRMaXN0ZW5lcihrRE9NU3VidHJlZU1vZGlmaWVkVHlwZSwgJmV2ZW50TGlzdGVuZXIsIGZhbHNl
KTsKKyAgICBXZWJFbGVtZW50IGRpdjFFbGVtID0gZG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJZCgi
ZGl2MSIpOworICAgIGRpdjFFbGVtLmFkZEV2ZW50TGlzdGVuZXIoa0RPTU5vZGVSZW1vdmVkVHlw
ZSwgJmV2ZW50TGlzdGVuZXIsIGZhbHNlKTsKKworICAgIC8vIFRyaWdnZXIgYSBET01TdWJ0cmVl
TW9kaWZpZWQgZXZlbnQgYnkgYWRkaW5nIGEgbm9kZS4KKyAgICBleGVjdXRlU2NyaXB0KCJhZGRF
bGVtZW50KCduZXdOb2RlJykiKTsKKyAgICBBU1NFUlRfRVEoMVUsIGV2ZW50TGlzdGVuZXIuZXZl
bnRDb3VudCgpKTsKKyAgICBXZWJET01FdmVudCBldmVudCA9IGV2ZW50TGlzdGVuZXIuZXZlbnRB
dCgwKTsKKyAgICBBU1NFUlRfVFJVRShldmVudC5pc011dGF0aW9uRXZlbnQoKSk7CisgICAgRVhQ
RUNUX0VRKCJESVYiLCBldmVudC50YXJnZXQoKS5ub2RlTmFtZSgpKTsKKyAgICBFWFBFQ1RfRVEo
InRvcERpdiIsIEdldE5vZGVJRChldmVudC50YXJnZXQoKSkpOworICAgIGV2ZW50TGlzdGVuZXIu
Y2xlYXJFdmVudHMoKTsKKworICAgIC8vIFRyaWdnZXIgZm9yIGJvdGggZXZlbnQgbGlzdGVuZXIg
YnkgcmVtb3ZpbmcgdGhlIGRpdjEgbm9kZS4KKyAgICBleGVjdXRlU2NyaXB0KCJyZW1vdmVOb2Rl
KCdkaXYxJykiKTsKKyAgICBBU1NFUlRfRVEoMlUsIGV2ZW50TGlzdGVuZXIuZXZlbnRDb3VudCgp
KTsKKyAgICAvLyBOb3Qgc3VyZSBpZiB0aGUgb3JkZXIgb2YgdGhlIGV2ZW50cyBpcyBpbXBvcnRh
bnQuIEFzc3VtaW5nIG5vIHNwZWNpZmljCisgICAgLy8gb3JkZXIuCisgICAgV2ViU3RyaW5nIHR5
cGUxID0gZXZlbnRMaXN0ZW5lci5ldmVudEF0KDApLnR5cGUoKTsKKyAgICBXZWJTdHJpbmcgdHlw
ZTIgPSBldmVudExpc3RlbmVyLmV2ZW50QXQoMSkudHlwZSgpOworICAgIEVYUEVDVF9UUlVFKHR5
cGUxID09IGtET01TdWJ0cmVlTW9kaWZpZWRUeXBlIHx8IHR5cGUxID09IGtET01Ob2RlUmVtb3Zl
ZFR5cGUpOworICAgIEVYUEVDVF9UUlVFKHR5cGUyID09IGtET01TdWJ0cmVlTW9kaWZpZWRUeXBl
IHx8IHR5cGUyID09IGtET01Ob2RlUmVtb3ZlZFR5cGUpOworICAgIEVYUEVDVF9UUlVFKHR5cGUx
ICE9IHR5cGUyKTsKK30KKworLy8gVGVzdHMgcmVtb3ZpbmcgZXZlbnQgbGlzdGVuZXJzLgorVEVT
VF9GKFdlYkRPTUV2ZW50TGlzdGVuZXJUZXN0LCBSZW1vdmVFdmVudExpc3RlbmVyKQoreworICAg
IFRlc3RXZWJET01FdmVudExpc3RlbmVyIGV2ZW50TGlzdGVuZXI7CisgICAgY29uc3QgV2ViU3Ry
aW5nIGtET01TdWJ0cmVlTW9kaWZpZWRUeXBlKCJET01TdWJ0cmVlTW9kaWZpZWQiKTsKKyAgICAv
LyBBZGRpbmcgdHdpY2UgdGhlIHNhbWUgbGlzdGVuZXIgZm9yIHRoZSBzYW1lIGV2ZW50LCBzaG91
bGQgYmUgc3VwcG9ydGVkLgorICAgIGRvY3VtZW50KCkuYWRkRXZlbnRMaXN0ZW5lcihrRE9NU3Vi
dHJlZU1vZGlmaWVkVHlwZSwgJmV2ZW50TGlzdGVuZXIsIGZhbHNlKTsKKyAgICBkb2N1bWVudCgp
LmFkZEV2ZW50TGlzdGVuZXIoa0RPTVN1YnRyZWVNb2RpZmllZFR5cGUsICZldmVudExpc3RlbmVy
LCBmYWxzZSk7CisKKyAgICAvLyBBZGQgYSBub2RlLCB0aGF0IHNob3VsZCB0cmlnZ2VyIDIgZXZl
bnRzLgorICAgIGV4ZWN1dGVTY3JpcHQoImFkZEVsZW1lbnQoJ25ld05vZGUnKSIpOworICAgIEVY
UEVDVF9FUSgyVSwgZXZlbnRMaXN0ZW5lci5ldmVudENvdW50KCkpOworICAgIGV2ZW50TGlzdGVu
ZXIuY2xlYXJFdmVudHMoKTsKKworICAgIC8vIFJlbW92ZSBvbmUgbGlzdGVuZXIgYW5kIHRyaWdn
ZXIgYW4gZXZlbnQgYWdhaW4uCisgICAgZG9jdW1lbnQoKS5yZW1vdmVFdmVudExpc3RlbmVyKAor
ICAgICAgICBrRE9NU3VidHJlZU1vZGlmaWVkVHlwZSwgJmV2ZW50TGlzdGVuZXIsIGZhbHNlKTsK
KyAgICBleGVjdXRlU2NyaXB0KCJhZGRFbGVtZW50KCduZXdlck5vZGUnKSIpOworICAgIEVYUEVD
VF9FUSgxVSwgZXZlbnRMaXN0ZW5lci5ldmVudENvdW50KCkpOworICAgIGV2ZW50TGlzdGVuZXIu
Y2xlYXJFdmVudHMoKTsKKworICAgIC8vIFJlbW92ZSB0aGUgbGFzdCBsaXN0ZW5lciBhbmQgdHJp
Z2dlciB5ZXQgYW5vdGhlciBldmVudC4KKyAgICBkb2N1bWVudCgpLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoCisgICAgICAgIGtET01TdWJ0cmVlTW9kaWZpZWRUeXBlLCAmZXZlbnRMaXN0ZW5lciwgZmFs
c2UpOworICAgIGV4ZWN1dGVTY3JpcHQoImFkZEVsZW1lbnQoJ25ld2VyZXJOb2RlJykiKTsKKyAg
ICBFWFBFQ1RfRVEoMFUsIGV2ZW50TGlzdGVuZXIuZXZlbnRDb3VudCgpKTsKK30KKworfSAvLyBu
YW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9s
aXN0ZW5lci9tdXRhdGlvbl9ldmVudF9saXN0ZW5lci5odG1sIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9kYXRhL2xpc3RlbmVyL211dGF0aW9uX2V2ZW50X2xpc3RlbmVyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZlZmU1OWM3NDRkYTVjNDdhYjc5YTEyZGI3ZDBhNTE1YzJhNzJkOQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9saXN0ZW5lci9t
dXRhdGlvbl9ldmVudF9saXN0ZW5lci5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcmVtb3ZlTm9kZShpZCkgeworICB2YXIgbm9kZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgbm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxk
KG5vZGUpOworIH0KKworZnVuY3Rpb24gYWRkRWxlbWVudChpZCkgeworICB2YXIgZWxlbSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICBlbGVtLnNldEF0dHJpYnV0ZSgiaWQiLCBp
ZCk7CisgIHZhciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIkFkZGVkIG5vZGUgaWQ9
IiArIGlkKTsKKyAgZWxlbS5hcHBlbmRDaGlsZCh0ZXh0KTsKKyAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRvcERpdiIpLmFwcGVuZENoaWxkKGVsZW0pOworIH0KKworZnVuY3Rpb24gY2hhbmdl
VGV4dChpZCwgbmV3VGV4dCkgeworICB2YXIgbm9kZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KGlkKTsKKyAgbm9kZS5jaGlsZE5vZGVzWzBdLm5vZGVWYWx1ZSA9IG5ld1RleHQ7Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHk+CisKKzxkaXYgaWQ9InRvcERpdiI+CisgICA8ZGl2IGlk
PSJkaXYxIj5EaXYgIzE8L2Rpdj4KKyAgIDxkaXYgaWQ9ImRpdjIiPkRpdiAjMjwvZGl2PgorICAg
PGRpdiBpZD0iZGl2MyI+RGl2ICMzPC9kaXY+Cis8L2Rpdj4KKworPGJ1dHRvbiBvbmNsaWNrPSJy
ZW1vdmVOb2RlKCdkaXYxJykiPlJlbW92ZSBub2RlPC9idXR0b24+PGJyPgorPGJ1dHRvbiBvbmNs
aWNrPSJhZGRFbGVtZW50KCdiaWR1bGUnKSI+QWRkIG5vZGU8L2J1dHRvbj48YnI+Cis8YnV0dG9u
IG9uY2xpY2s9ImNoYW5nZVRleHQoJ2RpdjInLCAnQmlqb3VyJykiPkNoYW5nZSB0ZXh0PC9idXR0
b24+PGJyPgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140610</attachid>
            <date>2012-05-07 15:52:49 -0700</date>
            <delta_ts>2012-05-07 17:05:05 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-85836-20120507155254.patch</filename>
            <type>text/plain</type>
            <size>14355</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDM3NGNmYjk5NGJlNTU5ZDAxNzlmNGQ4YzkxZTFlMTEyYTA2Njk2NzUuLjQwYWU1YzdjZWMzMGMx
MmRjNTVkYTVjNDQzNTZkMzgwYTg1MmVkNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTItMDUtMDcgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9y
Zz4KKworICAgICAgICBbY2hyb21pdW1dIG1vdmUgZXZlbnRfbGlzdGVuZXJfdW5pdHRlc3QgdG8g
d2Via2l0X3VuaXRfdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg1ODM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisK
KyAgICAgICAgUG9ydGluZyB0aGUgdGVzdCBmcm9tIHNyYy93ZWJraXQvdG9vbHMvdGVzdF9zaGVs
bC9ldmVudF9saXN0ZW5lcl91bml0dGVzdC5jYy4KKyAgICAgICAgQWxsIEkgZGlkIHdhcyBjaGFu
Z2UgdGhlIHN0eWxlIGFuZCB1c2UgdGhlIEZyYW1lVGVzdEhlbHBlciB0byBsb2FkIHRoZSBmaWxl
LgorCisgICAgICAgICogV2ViS2l0Lmd5cDogRXhjbHVkZSBmaWxlIGluIGNvbXBvbmVudHMgYnVp
bGQuCisgICAgICAgICogV2ViS2l0Lmd5cGk6IEFkZCBuZXcgZmlsZS4KKyAgICAgICAgKiB0ZXN0
cy9FdmVudExpc3RlbmVyVGVzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFRlc3RXZWJET01FdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYktpdDo6VGVzdFdlYkRP
TUV2ZW50TGlzdGVuZXI6OlRlc3RXZWJET01FdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYktp
dDo6VGVzdFdlYkRPTUV2ZW50TGlzdGVuZXI6On5UZXN0V2ViRE9NRXZlbnRMaXN0ZW5lcik6Cisg
ICAgICAgIChXZWJLaXQ6OlRlc3RXZWJET01FdmVudExpc3RlbmVyOjpldmVudENvdW50KToKKyAg
ICAgICAgKFdlYktpdDo6VGVzdFdlYkRPTUV2ZW50TGlzdGVuZXI6OmV2ZW50QXQpOgorICAgICAg
ICAoV2ViS2l0OjpUZXN0V2ViRE9NRXZlbnRMaXN0ZW5lcjo6Y2xlYXJFdmVudHMpOgorICAgICAg
ICAoV2ViRE9NRXZlbnRMaXN0ZW5lclRlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVu
dExpc3RlbmVyVGVzdDo6V2ViRE9NRXZlbnRMaXN0ZW5lclRlc3QpOgorICAgICAgICAoV2ViS2l0
OjpXZWJET01FdmVudExpc3RlbmVyVGVzdDo6U2V0VXApOgorICAgICAgICAoV2ViS2l0OjpXZWJE
T01FdmVudExpc3RlbmVyVGVzdDo6VGVhckRvd24pOgorICAgICAgICAoV2ViS2l0OjpXZWJET01F
dmVudExpc3RlbmVyVGVzdDo6bWFpbkZyYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViRE9NRXZl
bnRMaXN0ZW5lclRlc3Q6OmRvY3VtZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRE9NRXZlbnRM
aXN0ZW5lclRlc3Q6OmV4ZWN1dGVTY3JpcHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJET01FdmVu
dExpc3RlbmVyVGVzdDo6R2V0Tm9kZUlEKToKKyAgICAgICAgKFdlYktpdDo6VEVTVF9GKToKKyAg
ICAgICAgKiB0ZXN0cy9kYXRhL2xpc3RlbmVyL211dGF0aW9uX2V2ZW50X2xpc3RlbmVyLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTA1LTA3ICBEYXZpZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVc2UgR0xfQ0hST01JVU1fY29tbWFuZF9idWZmZXJf
cXVlcnkgdG8gdGhyb3R0bGUgdGV4dHVyZSB1cGxvYWRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwCmluZGV4IDIyMTIwYTUxNTlkMGE1NmEyMjVjMzFlMjIyY2IwODJkYjNmMzEwY2YuLjAwZWZk
NGViNWFlZmRjNThlMDBlNWM1YTFiM2RkZGRhZmI4MjA5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dl
YktpdC5neXAKQEAgLTczNSw2ICs3MzUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIFRoZXNlIHRlc3RzIGRlcGVuZCBvbiB3ZWJraXRfc3VwcG9ydCBhbmQKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIyBmdW5jdGlvbnMgZGVmaW5lZCBvbmx5IGluICFXRUJL
SVRfSU1QTEVNRU5UQVRJT04uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0
cy9Bc3NvY2lhdGVkVVJMTG9hZGVyVGVzdC5jcHAnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAndGVzdHMvRXZlbnRMaXN0ZW5lclRlc3QuY3BwJywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ3Rlc3RzL0ZyYW1lVGVzdEhlbHBlcnMuY3BwJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL0xldmVsREJUZXN0LmNwcCcsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9Qb3B1cE1lbnVUZXN0LmNwcCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwaQppbmRleCBjZjBhNDYwMGJkZDc5ODJiOTdiOTVmNjQ0M2UyZWM0
MzRiZTYyMWQ4Li4zMzgxOTg2OGIzZWY5ZTFjOTkzYmFlMGFkODVhZjA0ZTY4NDY5NjVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKQEAgLTk3LDYgKzk3LDcgQEAKICAgICAgICAgICAg
ICd0ZXN0cy9Db21wb3NpdG9yRmFrZVdlYkdyYXBoaWNzQ29udGV4dDNELmgnLAogICAgICAgICAg
ICAgJ3Rlc3RzL0RyYWdJbWFnZVRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9EcmF3aW5n
QnVmZmVyQ2hyb21pdW1UZXN0LmNwcCcsCisgICAgICAgICAgICAndGVzdHMvRXZlbnRMaXN0ZW5l
clRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9GYWtlQ0NMYXllclRyZWVIb3N0Q2xpZW50
LmgnLAogICAgICAgICAgICAgJ3Rlc3RzL0Zha2VHcmFwaGljc0NvbnRleHQzRFRlc3QuY3BwJywK
ICAgICAgICAgICAgICd0ZXN0cy9GYWtlV2ViR3JhcGhpY3NDb250ZXh0M0QuaCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0V2ZW50TGlzdGVuZXJUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvRXZlbnRMaXN0ZW5lclRlc3QuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVhMDJhNGUzM2I1MGNkYTY0MTE3ZTZmNjBmMjc0MzNmYWU2ZmVjMzEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0V2ZW50TGlzdGVuZXJUZXN0
LmNwcApAQCAtMCwwICsxLDI1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIkZy
YW1lVGVzdEhlbHBlcnMuaCIKKyNpbmNsdWRlICJXZWJET01FdmVudC5oIgorI2luY2x1ZGUgIldl
YkRPTUV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJXZWJET01NdXRhdGlvbkV2ZW50LmgiCisj
aW5jbHVkZSAiV2ViRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJXZWJFbGVtZW50LmgiCisjaW5jbHVk
ZSAiV2ViRnJhbWUuaCIKKyNpbmNsdWRlICJXZWJTY3JpcHRTb3VyY2UuaCIKKyNpbmNsdWRlICJX
ZWJWaWV3LmgiCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlIDx3ZWJraXQvc3Vw
cG9ydC93ZWJraXRfc3VwcG9ydC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCituYW1l
c3BhY2UgeworCitjbGFzcyBUZXN0V2ViRE9NRXZlbnRMaXN0ZW5lciA6IHB1YmxpYyBXZWJET01F
dmVudExpc3RlbmVyIHsKK3B1YmxpYzoKKyAgICBUZXN0V2ViRE9NRXZlbnRMaXN0ZW5lcigpIHsg
fQorICAgIHZpcnR1YWwgflRlc3RXZWJET01FdmVudExpc3RlbmVyKCkgeyB9CisKKyAgICB2aXJ0
dWFsIHZvaWQgaGFuZGxlRXZlbnQoY29uc3QgV2ViRE9NRXZlbnQmIGV2ZW50KSBPVkVSUklERQor
ICAgIHsKKyAgICAgIG1fZXZlbnRzLnB1c2hfYmFjayhldmVudCk7CisgICAgfQorCisgICAgc2l6
ZV90IGV2ZW50Q291bnQoKSBjb25zdCB7IHJldHVybiBtX2V2ZW50cy5zaXplKCk7IH0KKworICAg
IFdlYkRPTUV2ZW50IGV2ZW50QXQoaW50IGluZGV4KSBjb25zdCB7IHJldHVybiBtX2V2ZW50cy5h
dChpbmRleCk7IH0KKworICAgIHZvaWQgY2xlYXJFdmVudHMoKSB7IG1fZXZlbnRzLmNsZWFyKCk7
IH0KKworcHJpdmF0ZToKKyAgICBzdGQ6OnZlY3RvcjxXZWJET01FdmVudD4gbV9ldmVudHM7Cit9
OworCitjbGFzcyBXZWJET01FdmVudExpc3RlbmVyVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0
IHsKK3B1YmxpYzoKKyAgICBXZWJET01FdmVudExpc3RlbmVyVGVzdCgpCisgICAgICAgIDogbV93
ZWJWaWV3KDApCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBPVkVSUklERSBTZXRV
cCgpCisgICAgeworICAgICAgICBzdGQ6OnN0cmluZyBiYXNlVVJMKCJodHRwOi8vd3d3LmV4YW1w
bGUuY29tLyIpOworICAgICAgICBzdGQ6OnN0cmluZyBmaWxlTmFtZSgibGlzdGVuZXIvbXV0YXRp
b25fZXZlbnRfbGlzdGVuZXIuaHRtbCIpOworICAgICAgICBib29sIGV4ZWN1dGVTY3JpcHQgPSB0
cnVlOworICAgICAgICBGcmFtZVRlc3RIZWxwZXJzOjpyZWdpc3Rlck1vY2tlZFVSTExvYWQoYmFz
ZVVSTCwgZmlsZU5hbWUpOworICAgICAgICBtX3dlYlZpZXcgPSBGcmFtZVRlc3RIZWxwZXJzOjpj
cmVhdGVXZWJWaWV3QW5kTG9hZChiYXNlVVJMICsgZmlsZU5hbWUsIGV4ZWN1dGVTY3JpcHQpOwor
ICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBPVkVSUklERSBUZWFyRG93bigpCisgICAgeworICAg
ICAgICBtX3dlYlZpZXctPmNsb3NlKCk7CisgICAgICAgIHdlYmtpdF9zdXBwb3J0OjpVbnJlZ2lz
dGVyQWxsTW9ja2VkVVJMcygpOworICAgIH0KKworICAgIFdlYkZyYW1lKiBtYWluRnJhbWUoKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fd2ViVmlldy0+bWFpbkZyYW1lKCk7CisgICAg
fQorCisgICAgV2ViRG9jdW1lbnQgZG9jdW1lbnQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIG1haW5GcmFtZSgpLT5kb2N1bWVudCgpOworICAgIH0KKworICAgIHZvaWQgZXhlY3V0ZVNj
cmlwdChjb25zdCBjaGFyKiBjb2RlKQorICAgIHsKKyAgICAgICAgbWFpbkZyYW1lKCktPmV4ZWN1
dGVTY3JpcHQoV2ViU2NyaXB0U291cmNlKFdlYlN0cmluZzo6ZnJvbVVURjgoY29kZSkpKTsKKyAg
ICB9CisKKworICAgIHN0YXRpYyBXZWJTdHJpbmcgR2V0Tm9kZUlEKGNvbnN0IFdlYk5vZGUmIG5v
ZGUpCisgICAgeworICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSgpICE9IFdlYk5vZGU6OkVsZW1l
bnROb2RlKQorICAgICAgICAgICAgcmV0dXJuIFdlYlN0cmluZygpOworICAgICAgICBXZWJFbGVt
ZW50IGVsZW1lbnQgPSBub2RlLnRvQ29uc3Q8V2ViRWxlbWVudD4oKTsKKyAgICAgICAgcmV0dXJu
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpOworICAgIH0KKworcHJvdGVjdGVkOgorICAgIFdl
YlZpZXcqIG1fd2ViVmlldzsKK307CisKKworLy8gVGVzdHMgdGhhdCB0aGUgcmlnaHQgbXV0YXRp
b24gZXZlbnRzIGFyZSBmaXJlZCB3aGVuIGEgbm9kZSBpcyBhZGRlZC9yZW1vdmVkLgorLy8gTm90
ZSB0aGF0IHRoZSBET01TdWJ0cmVlTW9kaWZpZWQgZXZlbnQgaXMgZmFpcmx5IHZhZ2UsIGl0IG9u
bHkgdGVsbHMgeW91CisvLyBzb21ldGhpbmcgY2hhbmdlZCBmb3IgdGhlIHRhcmdldCBub2RlLgor
VEVTVF9GKFdlYkRPTUV2ZW50TGlzdGVuZXJUZXN0LCBOb2RlQWRkZWRSZW1vdmVkTXV0YXRpb25F
dmVudCkKK3sKKyAgICBUZXN0V2ViRE9NRXZlbnRMaXN0ZW5lciBldmVudExpc3RlbmVyOworICAg
IGRvY3VtZW50KCkuYWRkRXZlbnRMaXN0ZW5lcigiRE9NU3VidHJlZU1vZGlmaWVkIiwgJmV2ZW50
TGlzdGVuZXIsIGZhbHNlKTsKKworICAgIC8vIFRlc3QgYWRkaW5nIGEgbm9kZS4KKyAgICBleGVj
dXRlU2NyaXB0KCJhZGRFbGVtZW50KCduZXdOb2RlJykiKTsKKyAgICBBU1NFUlRfRVEoMVUsIGV2
ZW50TGlzdGVuZXIuZXZlbnRDb3VudCgpKTsKKyAgICBXZWJET01FdmVudCBldmVudCA9IGV2ZW50
TGlzdGVuZXIuZXZlbnRBdCgwKTsKKyAgICBBU1NFUlRfVFJVRShldmVudC5pc011dGF0aW9uRXZl
bnQoKSk7CisgICAgLy8gTm8gbmVlZCB0byBjaGVjayBhbnkgb2YgdGhlIE11dGF0aW9uRXZlbnQs
IFdlYktpdCBkb2VzIG5vdCBzZXQgYW55LgorICAgIEVYUEVDVF9FUSgiRElWIiwgZXZlbnQudGFy
Z2V0KCkubm9kZU5hbWUoKSk7CisgICAgRVhQRUNUX0VRKCJ0b3BEaXYiLCBHZXROb2RlSUQoZXZl
bnQudGFyZ2V0KCkpKTsKKyAgICBldmVudExpc3RlbmVyLmNsZWFyRXZlbnRzKCk7CisKKyAgICAv
LyBUZXN0IHJlbW92aW5nIGEgbm9kZS4KKyAgICBleGVjdXRlU2NyaXB0KCJyZW1vdmVOb2RlKCdk
aXYxJykiKTsKKyAgICBBU1NFUlRfRVEoMVUsIGV2ZW50TGlzdGVuZXIuZXZlbnRDb3VudCgpKTsK
KyAgICBldmVudCA9IGV2ZW50TGlzdGVuZXIuZXZlbnRBdCgwKTsKKyAgICBBU1NFUlRfVFJVRShl
dmVudC5pc011dGF0aW9uRXZlbnQoKSk7CisgICAgRVhQRUNUX0VRKCJESVYiLCBldmVudC50YXJn
ZXQoKS5ub2RlTmFtZSgpKTsKKyAgICBFWFBFQ1RfRVEoInRvcERpdiIsIEdldE5vZGVJRChldmVu
dC50YXJnZXQoKSkpOworfQorCisvLyBUZXN0cyB0aGUgcmlnaHQgbXV0YXRpb24gZXZlbnQgaXMg
ZmlyZWQgd2hlbiBhIHRleHQgbm9kZSBpcyBtb2RpZmllZC4KK1RFU1RfRihXZWJET01FdmVudExp
c3RlbmVyVGVzdCwgVGV4dE5vZGVNb2RpZmllZE11dGF0aW9uRXZlbnQpCit7CisgICAgVGVzdFdl
YkRPTUV2ZW50TGlzdGVuZXIgZXZlbnRMaXN0ZW5lcjsKKyAgICBkb2N1bWVudCgpLmFkZEV2ZW50
TGlzdGVuZXIoIkRPTVN1YnRyZWVNb2RpZmllZCIsICZldmVudExpc3RlbmVyLCBmYWxzZSk7Cisg
ICAgZXhlY3V0ZVNjcmlwdCgiY2hhbmdlVGV4dCgnZGl2MicsICdIZWxsbycpIik7CisgICAgQVNT
RVJUX0VRKDFVLCBldmVudExpc3RlbmVyLmV2ZW50Q291bnQoKSk7CisgICAgV2ViRE9NRXZlbnQg
ZXZlbnQgPSBldmVudExpc3RlbmVyLmV2ZW50QXQoMCk7CisgICAgQVNTRVJUX1RSVUUoZXZlbnQu
aXNNdXRhdGlvbkV2ZW50KCkpOworICAgIEFTU0VSVF9FUShXZWJOb2RlOjpUZXh0Tm9kZSwgZXZl
bnQudGFyZ2V0KCkubm9kZVR5cGUoKSk7Cit9CisKKy8vIFRlc3RzIHRoZSByaWdodCBtdXRhdGlv
biBldmVudHMgYXJlIGZpcmVkIHdoZW4gYW4gYXR0cmlidXRlIGlzIGFkZGVkL3JlbW92ZWQuCitU
RVNUX0YoV2ViRE9NRXZlbnRMaXN0ZW5lclRlc3QsIEF0dHJpYnV0ZU11dGF0aW9uRXZlbnQpCit7
CisgICAgVGVzdFdlYkRPTUV2ZW50TGlzdGVuZXIgZXZlbnRMaXN0ZW5lcjsKKyAgICBkb2N1bWVu
dCgpLmFkZEV2ZW50TGlzdGVuZXIoIkRPTVN1YnRyZWVNb2RpZmllZCIsICZldmVudExpc3RlbmVy
LCBmYWxzZSk7CisgICAgZXhlY3V0ZVNjcmlwdCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rp
djInKS5zZXRBdHRyaWJ1dGUoJ215QXR0cicsIgorICAgICAgICAgICAgICAgICAgIidzb21lIHZh
bHVlJykiKTsKKyAgICBBU1NFUlRfRVEoMVUsIGV2ZW50TGlzdGVuZXIuZXZlbnRDb3VudCgpKTsK
KyAgICBXZWJET01FdmVudCBldmVudCA9IGV2ZW50TGlzdGVuZXIuZXZlbnRBdCgwKTsKKyAgICBB
U1NFUlRfVFJVRShldmVudC5pc011dGF0aW9uRXZlbnQoKSk7CisgICAgRVhQRUNUX0VRKCJESVYi
LCBldmVudC50YXJnZXQoKS5ub2RlTmFtZSgpKTsKKyAgICBFWFBFQ1RfRVEoImRpdjIiLCBHZXRO
b2RlSUQoZXZlbnQudGFyZ2V0KCkpKTsKKyAgICBldmVudExpc3RlbmVyLmNsZWFyRXZlbnRzKCk7
CisKKyAgICBleGVjdXRlU2NyaXB0KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2MicpLnJl
bW92ZUF0dHJpYnV0ZSgnbXlBdHRyJykiKTsKKyAgICBBU1NFUlRfRVEoMVUsIGV2ZW50TGlzdGVu
ZXIuZXZlbnRDb3VudCgpKTsKKyAgICBldmVudCA9IGV2ZW50TGlzdGVuZXIuZXZlbnRBdCgwKTsK
KyAgICBBU1NFUlRfVFJVRShldmVudC5pc011dGF0aW9uRXZlbnQoKSk7CisgICAgRVhQRUNUX0VR
KCJESVYiLCBldmVudC50YXJnZXQoKS5ub2RlTmFtZSgpKTsKKyAgICBFWFBFQ1RfRVEoImRpdjIi
LCBHZXROb2RlSUQoZXZlbnQudGFyZ2V0KCkpKTsKK30KKworLy8gVGVzdHMgZGVzdHJveWluZyBX
ZWJET01FdmVudExpc3RlbmVyIGFuZCB0cmlnZ2VyaW5nIGV2ZW50cywgd2Ugc2hvdWxkbid0Cisv
LyBjcmFzaC4KK1RFU1RfRihXZWJET01FdmVudExpc3RlbmVyVGVzdCwgRmlyZUV2ZW50RGVsZXRl
ZExpc3RlbmVyKQoreworICAgIFRlc3RXZWJET01FdmVudExpc3RlbmVyKiBldmVudExpc3RlbmVy
ID0gbmV3IFRlc3RXZWJET01FdmVudExpc3RlbmVyKCk7CisgICAgZG9jdW1lbnQoKS5hZGRFdmVu
dExpc3RlbmVyKCJET01TdWJ0cmVlTW9kaWZpZWQiLCBldmVudExpc3RlbmVyLCBmYWxzZSk7Cisg
ICAgZGVsZXRlIGV2ZW50TGlzdGVuZXI7CisgICAgZXhlY3V0ZVNjcmlwdCgiYWRkRWxlbWVudCgn
bmV3Tm9kZScpIik7IC8vIFRoYXQgc2hvdWxkIGZpcmUgYW4gZXZlbnQuCit9CisKKy8vIFRlc3Rz
IHJlZ2lzdGVyaW5nIHNldmVyYWwgZXZlbnRzIG9uIHRoZSBzYW1lIFdlYkRPTUV2ZW50TGlzdGVu
ZXIgYW5kCisvLyB0cmlnZ2VyaW5nIGV2ZW50cy4KK1RFU1RfRihXZWJET01FdmVudExpc3RlbmVy
VGVzdCwgU2FtZUxpc3RlbmVyTXVsdGlwbGVFdmVudHMpCit7CisgICAgVGVzdFdlYkRPTUV2ZW50
TGlzdGVuZXIgZXZlbnRMaXN0ZW5lcjsKKyAgICBjb25zdCBXZWJTdHJpbmcga0RPTVN1YnRyZWVN
b2RpZmllZFR5cGUoIkRPTVN1YnRyZWVNb2RpZmllZCIpOworICAgIGNvbnN0IFdlYlN0cmluZyBr
RE9NTm9kZVJlbW92ZWRUeXBlKCJET01Ob2RlUmVtb3ZlZCIpOworICAgIGRvY3VtZW50KCkuYWRk
RXZlbnRMaXN0ZW5lcihrRE9NU3VidHJlZU1vZGlmaWVkVHlwZSwgJmV2ZW50TGlzdGVuZXIsIGZh
bHNlKTsKKyAgICBXZWJFbGVtZW50IGRpdjFFbGVtID0gZG9jdW1lbnQoKS5nZXRFbGVtZW50QnlJ
ZCgiZGl2MSIpOworICAgIGRpdjFFbGVtLmFkZEV2ZW50TGlzdGVuZXIoa0RPTU5vZGVSZW1vdmVk
VHlwZSwgJmV2ZW50TGlzdGVuZXIsIGZhbHNlKTsKKworICAgIC8vIFRyaWdnZXIgYSBET01TdWJ0
cmVlTW9kaWZpZWQgZXZlbnQgYnkgYWRkaW5nIGEgbm9kZS4KKyAgICBleGVjdXRlU2NyaXB0KCJh
ZGRFbGVtZW50KCduZXdOb2RlJykiKTsKKyAgICBBU1NFUlRfRVEoMVUsIGV2ZW50TGlzdGVuZXIu
ZXZlbnRDb3VudCgpKTsKKyAgICBXZWJET01FdmVudCBldmVudCA9IGV2ZW50TGlzdGVuZXIuZXZl
bnRBdCgwKTsKKyAgICBBU1NFUlRfVFJVRShldmVudC5pc011dGF0aW9uRXZlbnQoKSk7CisgICAg
RVhQRUNUX0VRKCJESVYiLCBldmVudC50YXJnZXQoKS5ub2RlTmFtZSgpKTsKKyAgICBFWFBFQ1Rf
RVEoInRvcERpdiIsIEdldE5vZGVJRChldmVudC50YXJnZXQoKSkpOworICAgIGV2ZW50TGlzdGVu
ZXIuY2xlYXJFdmVudHMoKTsKKworICAgIC8vIFRyaWdnZXIgZm9yIGJvdGggZXZlbnQgbGlzdGVu
ZXIgYnkgcmVtb3ZpbmcgdGhlIGRpdjEgbm9kZS4KKyAgICBleGVjdXRlU2NyaXB0KCJyZW1vdmVO
b2RlKCdkaXYxJykiKTsKKyAgICBBU1NFUlRfRVEoMlUsIGV2ZW50TGlzdGVuZXIuZXZlbnRDb3Vu
dCgpKTsKKyAgICAvLyBOb3Qgc3VyZSBpZiB0aGUgb3JkZXIgb2YgdGhlIGV2ZW50cyBpcyBpbXBv
cnRhbnQuIEFzc3VtaW5nIG5vIHNwZWNpZmljCisgICAgLy8gb3JkZXIuCisgICAgV2ViU3RyaW5n
IHR5cGUxID0gZXZlbnRMaXN0ZW5lci5ldmVudEF0KDApLnR5cGUoKTsKKyAgICBXZWJTdHJpbmcg
dHlwZTIgPSBldmVudExpc3RlbmVyLmV2ZW50QXQoMSkudHlwZSgpOworICAgIEVYUEVDVF9UUlVF
KHR5cGUxID09IGtET01TdWJ0cmVlTW9kaWZpZWRUeXBlIHx8IHR5cGUxID09IGtET01Ob2RlUmVt
b3ZlZFR5cGUpOworICAgIEVYUEVDVF9UUlVFKHR5cGUyID09IGtET01TdWJ0cmVlTW9kaWZpZWRU
eXBlIHx8IHR5cGUyID09IGtET01Ob2RlUmVtb3ZlZFR5cGUpOworICAgIEVYUEVDVF9UUlVFKHR5
cGUxICE9IHR5cGUyKTsKK30KKworLy8gVGVzdHMgcmVtb3ZpbmcgZXZlbnQgbGlzdGVuZXJzLgor
VEVTVF9GKFdlYkRPTUV2ZW50TGlzdGVuZXJUZXN0LCBSZW1vdmVFdmVudExpc3RlbmVyKQorewor
ICAgIFRlc3RXZWJET01FdmVudExpc3RlbmVyIGV2ZW50TGlzdGVuZXI7CisgICAgY29uc3QgV2Vi
U3RyaW5nIGtET01TdWJ0cmVlTW9kaWZpZWRUeXBlKCJET01TdWJ0cmVlTW9kaWZpZWQiKTsKKyAg
ICAvLyBBZGRpbmcgdHdpY2UgdGhlIHNhbWUgbGlzdGVuZXIgZm9yIHRoZSBzYW1lIGV2ZW50LCBz
aG91bGQgYmUgc3VwcG9ydGVkLgorICAgIGRvY3VtZW50KCkuYWRkRXZlbnRMaXN0ZW5lcihrRE9N
U3VidHJlZU1vZGlmaWVkVHlwZSwgJmV2ZW50TGlzdGVuZXIsIGZhbHNlKTsKKyAgICBkb2N1bWVu
dCgpLmFkZEV2ZW50TGlzdGVuZXIoa0RPTVN1YnRyZWVNb2RpZmllZFR5cGUsICZldmVudExpc3Rl
bmVyLCBmYWxzZSk7CisKKyAgICAvLyBBZGQgYSBub2RlLCB0aGF0IHNob3VsZCB0cmlnZ2VyIDIg
ZXZlbnRzLgorICAgIGV4ZWN1dGVTY3JpcHQoImFkZEVsZW1lbnQoJ25ld05vZGUnKSIpOworICAg
IEVYUEVDVF9FUSgyVSwgZXZlbnRMaXN0ZW5lci5ldmVudENvdW50KCkpOworICAgIGV2ZW50TGlz
dGVuZXIuY2xlYXJFdmVudHMoKTsKKworICAgIC8vIFJlbW92ZSBvbmUgbGlzdGVuZXIgYW5kIHRy
aWdnZXIgYW4gZXZlbnQgYWdhaW4uCisgICAgZG9jdW1lbnQoKS5yZW1vdmVFdmVudExpc3RlbmVy
KAorICAgICAgICBrRE9NU3VidHJlZU1vZGlmaWVkVHlwZSwgJmV2ZW50TGlzdGVuZXIsIGZhbHNl
KTsKKyAgICBleGVjdXRlU2NyaXB0KCJhZGRFbGVtZW50KCduZXdlck5vZGUnKSIpOworICAgIEVY
UEVDVF9FUSgxVSwgZXZlbnRMaXN0ZW5lci5ldmVudENvdW50KCkpOworICAgIGV2ZW50TGlzdGVu
ZXIuY2xlYXJFdmVudHMoKTsKKworICAgIC8vIFJlbW92ZSB0aGUgbGFzdCBsaXN0ZW5lciBhbmQg
dHJpZ2dlciB5ZXQgYW5vdGhlciBldmVudC4KKyAgICBkb2N1bWVudCgpLnJlbW92ZUV2ZW50TGlz
dGVuZXIoCisgICAgICAgIGtET01TdWJ0cmVlTW9kaWZpZWRUeXBlLCAmZXZlbnRMaXN0ZW5lciwg
ZmFsc2UpOworICAgIGV4ZWN1dGVTY3JpcHQoImFkZEVsZW1lbnQoJ25ld2VyZXJOb2RlJykiKTsK
KyAgICBFWFBFQ1RfRVEoMFUsIGV2ZW50TGlzdGVuZXIuZXZlbnRDb3VudCgpKTsKK30KKworfSAv
LyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0
YS9saXN0ZW5lci9tdXRhdGlvbl9ldmVudF9saXN0ZW5lci5odG1sIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9kYXRhL2xpc3RlbmVyL211dGF0aW9uX2V2ZW50X2xpc3RlbmVyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjMxYTRmMWU4M2ZjZTI1ODk5NjE2N2E0NWNlNTE1YzMzYmQ3ZTkwMAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9saXN0ZW5l
ci9tdXRhdGlvbl9ldmVudF9saXN0ZW5lci5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiByZW1vdmVOb2RlKGlk
KSB7CisgIHZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOworICBub2RlLnBh
cmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7CisgfQorCitmdW5jdGlvbiBhZGRFbGVtZW50KGlk
KSB7CisgIHZhciBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgIGVsZW0u
c2V0QXR0cmlidXRlKCJpZCIsIGlkKTsKKyAgdmFyIHRleHQgPSBkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSgiQWRkZWQgbm9kZSBpZD0iICsgaWQpOworICBlbGVtLmFwcGVuZENoaWxkKHRleHQpOwor
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9wRGl2IikuYXBwZW5kQ2hpbGQoZWxlbSk7Cisg
fQorCitmdW5jdGlvbiBjaGFuZ2VUZXh0KGlkLCBuZXdUZXh0KSB7CisgIHZhciBub2RlID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOworICBub2RlLmNoaWxkTm9kZXNbMF0ubm9kZVZhbHVl
ID0gbmV3VGV4dDsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKworPGRpdiBpZD0i
dG9wRGl2Ij4KKyAgIDxkaXYgaWQ9ImRpdjEiPkRpdiAjMTwvZGl2PgorICAgPGRpdiBpZD0iZGl2
MiI+RGl2ICMyPC9kaXY+CisgICA8ZGl2IGlkPSJkaXYzIj5EaXYgIzM8L2Rpdj4KKzwvZGl2Pgor
Cis8YnV0dG9uIG9uY2xpY2s9InJlbW92ZU5vZGUoJ2RpdjEnKSI+UmVtb3ZlIG5vZGU8L2J1dHRv
bj48YnI+Cis8YnV0dG9uIG9uY2xpY2s9ImFkZEVsZW1lbnQoJ2JpZHVsZScpIj5BZGQgbm9kZTwv
YnV0dG9uPjxicj4KKzxidXR0b24gb25jbGljaz0iY2hhbmdlVGV4dCgnZGl2MicsICdCaWpvdXIn
KSI+Q2hhbmdlIHRleHQ8L2J1dHRvbj48YnI+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>