<?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>83281</bug_id>
          
          <creation_ts>2012-04-05 07:50:26 -0700</creation_ts>
          <short_desc>[EFL] Add setting API to enable/disable XSSAuditor</short_desc>
          <delta_ts>2012-04-17 12:57:09 -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>WebKit EFL</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>83030</dependson>
    
    <dependson>84052</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Sudarsana Nagineni (babu)">naginenis</reporter>
          <assigned_to name="Sudarsana Nagineni (babu)">naginenis</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>596561</commentid>
    <comment_count>0</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-04-05 07:50:26 -0700</bug_when>
    <thetext>Add API to enable/disable XSSAuditor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596590</commentid>
    <comment_count>1</comment_count>
      <attachid>135831</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-04-05 08:32:10 -0700</bug_when>
    <thetext>Created attachment 135831
Patch

setting API to enable/disable XSSAuditor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596786</commentid>
    <comment_count>2</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-04-05 12:16:52 -0700</bug_when>
    <thetext>To summarize what we discussed on #webkit-efl: please implement the FrameLoaderClientEfl::didDetectXSS side by dispatching a signal and explaining this in the documentation, otherwise this feature is only half-implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597206</commentid>
    <comment_count>3</comment_count>
      <attachid>135831</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-04-05 22:13:34 -0700</bug_when>
    <thetext>Comment on attachment 135831
Patch

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

&gt; Source/WebKit/efl/ChangeLog:8
&gt; +

Nowadays, some patches have added public APIs for LTC. In my opinion, we should review whether this new APIs are needed surely. It looks this APIs is able to be landed.
If you write functionality of this API in ChangeLog as well as in API description, it is a little better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597278</commentid>
    <comment_count>4</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-04-06 03:53:35 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Nowadays, some patches have added public APIs for LTC. In my opinion, we should review whether this new APIs are needed surely. It looks this APIs is able to be landed.
&gt; If you write functionality of this API in ChangeLog as well as in API description, it is a little better.

Thanks for your review. I will update the changelog entry. 

As we discussed on #webkit-efl, the main purpose of adding these methods to enable/disable WebKit&apos;s XSSAuditor to protect from reflective cross-site scripting attacks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597279</commentid>
    <comment_count>5</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-04-06 03:57:03 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; To summarize what we discussed on #webkit-efl: please implement the FrameLoaderClientEfl::didDetectXSS side by dispatching a signal and explaining this in the documentation, otherwise this feature is only half-implemented.

Should I add this signal dispatching in the same patch or separate bug? Looked around the failing test due to this missing implementation and noticed that the test is also dependent on dumpFrameLoadCallbacks (bug 81891). So, fixing didDetectXSS doesn&apos;t fully fix the test.

I think better to create a separate bug for signal dispatching, catching it in DRT and unskipping the test and make the bug dependent on these two bugs.
test: http/tests/security/xssAuditor/script-tag-with-callbacks.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597287</commentid>
    <comment_count>6</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-04-06 04:30:29 -0700</bug_when>
    <thetext>To me, it looks like a single feature being implemented, so I&apos;d rather see it all in a single patch here (it also makes it easier to dig through the commit history later, and to roll back the patch in case it is needed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597289</commentid>
    <comment_count>7</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-04-06 04:36:44 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; To me, it looks like a single feature being implemented, so I&apos;d rather see it all in a single patch here (it also makes it easier to dig through the commit history later, and to roll back the patch in case it is needed).

Ok, I will update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599214</commentid>
    <comment_count>8</comment_count>
      <attachid>136444</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-04-10 06:23:26 -0700</bug_when>
    <thetext>Created attachment 136444
Patch

Added all changes in a single patch here.
1. Added setting API to enable/disable XSSAuditor
2. Emits signal &apos;xss,detected&apos; from FrameLoaderClientEfl::didDetectXSS 
3. Catch signal in DRT and print the expected output &apos;didDetectXSS&apos; for script-tag-with-callbacks.html test
4. Added missing implementation setXSSAuditorEnabled to EFL&apos;s LayoutTestController and unskiped tests in http/tests/security/xssAuditor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600032</commentid>
    <comment_count>9</comment_count>
      <attachid>136444</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-04-10 22:13:43 -0700</bug_when>
    <thetext>Comment on attachment 136444
Patch

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

Looks almost there to me. My main grip here is related to what additional information is emitted with the frame and view signals: right now I don&apos;t know the URL that caused the issue or whether the whole page was blocked, and in the case of the view signal I only know that &quot;something XSS-related happened&quot;, as I don&apos;t even know which frame it is related to.

&gt; Source/WebKit/efl/ewk/ewk_view.h:2386
&gt; + * The XSSAuditor (cross-site scripting protection) feature provides protection 
&gt; + * from reflected XSS attacks on vulnerable web sites. This feature is enabled 
&gt; + * by default.

It&apos;d be good to expand this by explaining how XSS attacks are presented. There&apos;s no need for a detailed explanation, but from only looking at this paragraph I can&apos;t tell if requests are blocked, if the whole page is not loaded etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600352</commentid>
    <comment_count>10</comment_count>
      <attachid>136686</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-04-11 10:12:22 -0700</bug_when>
    <thetext>Created attachment 136686
Patch

As discussed in #webkit-efl, providing additional information with the frame signal when XSSAutior notifies that XSS is encountered in the page.

This patch is dependent on 83030, so not requesting r/cq flags now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600371</commentid>
    <comment_count>11</comment_count>
      <attachid>136686</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-04-11 10:29:29 -0700</bug_when>
    <thetext>Comment on attachment 136686
Patch

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

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1787
&gt; +void ewk_frame_xss_detected(Evas_Object* ewkFrame, const Ewk_Frame_Xss_Notification *xssInfo)

Style nit: inconsistent positioning of the asterisks.

&gt; Source/WebKit/efl/ewk/ewk_view.h:2388
&gt; + * from reflected XSS attacks on vulnerable web sites. It notifies FrameLoaderClient 
&gt; + * with didDetectXSS when XSS is encountered in the page and provides additional 
&gt; + * information on whether the entire page was blocked or only injected scripts were 
&gt; + * removed. This feature is enabled by default.

Thanks for rephrasing this. Mentioning FLC and the method name is not necessary; when writing these documentation bits, try to think from the user&apos;s point of view: they are using webkit-efl in their program, but probably have no idea of how it works and have never heard of FrameLoaderClient and friends.

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:108
&gt; +    evas_object_smart_callback_add(mainFrame, &quot;xss,detected&quot;, onDidDetectXSS, 0);

Don&apos;t you need to listen for this in all frames?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600397</commentid>
    <comment_count>12</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-04-11 10:42:08 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:108
&gt; &gt; +    evas_object_smart_callback_add(mainFrame, &quot;xss,detected&quot;, onDidDetectXSS, 0);
&gt; 
&gt; Don&apos;t you need to listen for this in all frames?
Already listing for all frames in onFrameCreated.
evas_object_smart_callback_add(frame, &quot;xss,detected&quot;, onDidDetectXSS, 0);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600449</commentid>
    <comment_count>13</comment_count>
      <attachid>136713</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-04-11 11:39:54 -0700</bug_when>
    <thetext>Created attachment 136713
Patch

Fixed review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600453</commentid>
    <comment_count>14</comment_count>
      <attachid>136713</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-04-11 11:43:41 -0700</bug_when>
    <thetext>Comment on attachment 136713
Patch

Informal r+ from my side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604088</commentid>
    <comment_count>15</comment_count>
      <attachid>137550</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-04-17 09:45:25 -0700</bug_when>
    <thetext>Created attachment 137550
Patch

rebased after r114386</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604193</commentid>
    <comment_count>16</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-04-17 11:47:22 -0700</bug_when>
    <thetext>*** Bug 83163 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604261</commentid>
    <comment_count>17</comment_count>
      <attachid>137550</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-17 12:57:03 -0700</bug_when>
    <thetext>Comment on attachment 137550
Patch

Clearing flags on attachment: 137550

Committed r114419: &lt;http://trac.webkit.org/changeset/114419&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604262</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-17 12:57:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135831</attachid>
            <date>2012-04-05 08:32:10 -0700</date>
            <delta_ts>2012-04-10 06:23:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>XSSAuditor.patch</filename>
            <type>text/plain</type>
            <size>4680</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCBjOWZlZWNhLi5kZWZmMmU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTItMDQtMDUgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2Fu
YS5uYWdpbmVuaUBsaW51eC5pbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF0gQWRkIHNldHRpbmcg
QVBJIHRvIGVuYWJsZS9kaXNhYmxlIFhTU0F1ZGl0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMjgxCisKKyAgICAgICAgQWRkIGV3a192aWV3X3Nl
dHRpbmdfZW5hYmxlX3hzc19hdWRpdG9yX3tnZXQsc2V0fSBtZXRob2RzLCB3aGljaCAKKyAgICAg
ICAgYXJlIHVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgWFNTQXVkaXRvci4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGV3ay9ld2tfdmlldy5jcHA6
CisgICAgICAgIChfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKF9ld2tfdmlld19w
cml2X25ldyk6CisgICAgICAgIChld2tfdmlld19zZXR0aW5nX2VuYWJsZV94c3NfYXVkaXRvcl9n
ZXQpOgorICAgICAgICAoZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfeHNzX2F1ZGl0b3Jfc2V0KToK
KyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwogMjAxMi0wNC0wNCAgUmFwaGFlbCBLdWJvIGRh
IENvc3RhICA8cmFrdWNvQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQW5vdGhlciB1bnJldmlld2Vk
IGF0dGVtcHQgYXQgZ2V0dGluZyB0aGUgRUZMIGJ1aWxkIGJvdCB0byBhCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a192aWV3LmNwcAppbmRleCAyZDQyYTMyLi4yOWZlODhmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5jcHAKQEAgLTIwNyw2ICsyMDcsNyBAQCBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVf
RGF0YSB7CiAgICAgICAgIGJvb2wgbG9jYWxTdG9yYWdlIDogMTsKICAgICAgICAgYm9vbCBvZmZs
aW5lQXBwQ2FjaGUgOiAxOwogICAgICAgICBib29sIHBhZ2VDYWNoZSA6IDE7CisgICAgICAgIGJv
b2wgZW5hYmxlWFNTQXVkaXRvciA6IDE7CiAgICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgICBm
bG9hdCBtaW5TY2FsZTsKICAgICAgICAgICAgIGZsb2F0IG1heFNjYWxlOwpAQCAtNjY1LDYgKzY2
Niw3IEBAIHN0YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19wcml2X25ldyhF
d2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAgICAgcHJpdi0+cGFnZVNldHRpbmdzLT5z
ZXRVc2VzUGFnZUNhY2hlKHRydWUpOwogICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0VXNlc0Vu
Y29kaW5nRGV0ZWN0b3IoZmFsc2UpOwogICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0V2ViR0xF
bmFibGVkKHRydWUpOworICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJs
ZWQodHJ1ZSk7CiAKICAgICB1cmwgPSBwcml2LT5wYWdlU2V0dGluZ3MtPnVzZXJTdHlsZVNoZWV0
TG9jYXRpb24oKTsKICAgICBwcml2LT5zZXR0aW5ncy51c2VyU3R5bGVzaGVldCA9IGVpbmFfc3Ry
aW5nc2hhcmVfYWRkKHVybC5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKQEAgLTcwMSw2ICs3MDMs
NyBAQCBzdGF0aWMgRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBfZXdrX3ZpZXdfcHJpdl9uZXcoRXdr
X1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQogICAgIHByaXYtPnNldHRpbmdzLmVuYWJsZVNj
cmlwdHMgPSBwcml2LT5wYWdlU2V0dGluZ3MtPmlzU2NyaXB0RW5hYmxlZCgpOwogICAgIHByaXYt
PnNldHRpbmdzLmVuYWJsZVBsdWdpbnMgPSBwcml2LT5wYWdlU2V0dGluZ3MtPmFyZVBsdWdpbnNF
bmFibGVkKCk7CiAgICAgcHJpdi0+c2V0dGluZ3MuZW5hYmxlRnJhbWVGbGF0dGVuaW5nID0gcHJp
di0+cGFnZVNldHRpbmdzLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCk7CisgICAgcHJpdi0+c2V0
dGluZ3MuZW5hYmxlWFNTQXVkaXRvciA9IHByaXYtPnBhZ2VTZXR0aW5ncy0+eHNzQXVkaXRvckVu
YWJsZWQoKTsKICAgICBwcml2LT5zZXR0aW5ncy5zY3JpcHRzQ2FuT3BlbldpbmRvd3MgPSBwcml2
LT5wYWdlU2V0dGluZ3MtPmphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkoKTsK
ICAgICBwcml2LT5zZXR0aW5ncy5zY3JpcHRzQ2FuQ2xvc2VXaW5kb3dzID0gcHJpdi0+cGFnZVNl
dHRpbmdzLT5hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cygpOwogICAgIHByaXYtPnNldHRpbmdz
LnJlc2l6YWJsZVRleHRhcmVhcyA9IHByaXYtPnBhZ2VTZXR0aW5ncy0+dGV4dEFyZWFzQXJlUmVz
aXphYmxlKCk7CkBAIC0zOTQwLDYgKzM5NDMsMjQgQEAgdm9pZCBld2tfdmlld19zb3VwX3Nlc3Np
b25fc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBTb3VwU2Vzc2lvbiogc2Vzc2lvbikKICAgICBw
cml2LT5zb3VwU2Vzc2lvbiA9IHNlc3Npb247CiB9CiAKK0VpbmFfQm9vbCBld2tfdmlld19zZXR0
aW5nX2VuYWJsZV94c3NfYXVkaXRvcl9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7
CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIEVJTkFf
RkFMU0UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYs
IEVJTkFfRkFMU0UpOworICAgIHJldHVybiBwcml2LT5zZXR0aW5ncy5lbmFibGVYU1NBdWRpdG9y
OworfQorCit2b2lkIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX3hzc19hdWRpdG9yX3NldChFdmFz
X09iamVjdCogZXdrVmlldywgRWluYV9Cb29sIGVuYWJsZSkKK3sKKyAgICBFV0tfVklFV19TRF9H
RVQoZXdrVmlldywgc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVChzbWFydERhdGEs
IHByaXYpOworICAgIGVuYWJsZSA9ICEhZW5hYmxlOworICAgIGlmIChwcml2LT5zZXR0aW5ncy5l
bmFibGVYU1NBdWRpdG9yICE9IGVuYWJsZSkgeworICAgICAgICBwcml2LT5wYWdlU2V0dGluZ3Mt
PnNldFhTU0F1ZGl0b3JFbmFibGVkKGVuYWJsZSk7CisgICAgICAgIHByaXYtPnNldHRpbmdzLmVu
YWJsZVhTU0F1ZGl0b3IgPSBlbmFibGU7CisgICAgfQorfQorCiAjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogYm9vbCBld2tfdmlld19hY2NlbGVyYXRlZF9jb21wb3NpdGluZ19vYmpl
Y3RfY3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX05hdGl2ZV9TdXJmYWNlKiBuYXRp
dmVTdXJmYWNlLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuaAppbmRleCBmYTM4MmE5Li4yM2MyODc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuaApAQCAtMjM2Nyw2ICsyMzY3LDI5IEBAIEVBUEkgU291cFNlc3Npb24qIGV3a192aWV3X3Nv
dXBfc2Vzc2lvbl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICovCiBFQVBJIHZvaWQgZXdr
X3ZpZXdfc291cF9zZXNzaW9uX3NldChFdmFzX09iamVjdCAqbywgU291cFNlc3Npb24gKnNlc3Np
b24pOwogCisvKioKKyAqIFJldHVybnMgd2hldGhlciBYU1NBdWRpdG9yIGZlYXR1cmUgaXMgZW5h
YmxlZC4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBxdWVyeSB3aGV0aGVyIFhTU0F1
ZGl0b3IgZmVhdHVyZSBpcyBlbmFibGVkLgorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIGlm
IHRoZSBYU1NBdWRpdG9yIGZlYXR1cmUgaXMgZW5hYmxlZCwKKyAqICAgICAgICAgQGMgRUlOQV9G
QUxTRSBpZiBub3Qgb3Igb24gZmFpbHVyZS4KKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdf
c2V0dGluZ19lbmFibGVfeHNzX2F1ZGl0b3JfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKKwor
LyoqCisgKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBYU1NBdWRpdG9yIGZlYXR1cmUuCisgKiAKKyAq
IFRoZSBYU1NBdWRpdG9yIChjcm9zcy1zaXRlIHNjcmlwdGluZyBwcm90ZWN0aW9uKSBmZWF0dXJl
IHByb3ZpZGVzIHByb3RlY3Rpb24gCisgKiBmcm9tIHJlZmxlY3RlZCBYU1MgYXR0YWNrcyBvbiB2
dWxuZXJhYmxlIHdlYiBzaXRlcy4gVGhpcyBmZWF0dXJlIGlzIGVuYWJsZWQgCisgKiBieSBkZWZh
dWx0LgorICoKKyAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIHNldCB0aGUgWFNTQXVkaXRvciBm
ZWF0dXJlLgorICogQHBhcmFtIGVuYWJsZSBAYyBFSU5BX1RSVUUgdG8gZW5hYmxlIHRoZSBYU1NB
dWRpdG9yIGZlYXR1cmUsCisgKiAgICAgICAgQGMgRUlOQV9GQUxTRSB0byBkaXNhYmxlLgorICov
CitFQVBJIHZvaWQgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfeHNzX2F1ZGl0b3Jfc2V0KEV2YXNf
T2JqZWN0ICpvLCBFaW5hX0Jvb2wgZW5hYmxlKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAj
ZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136444</attachid>
            <date>2012-04-10 06:23:26 -0700</date>
            <delta_ts>2012-04-11 10:12:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>XSSAuditor.patch</filename>
            <type>text/plain</type>
            <size>15023</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhZGJjYzBkLi5iNmI3YTI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDQt
MTAgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBsaW51eC5pbnRlbC5j
b20+CisKKyAgICAgICAgW0VGTF0gQWRkIHNldHRpbmcgQVBJIHRvIGVuYWJsZS9kaXNhYmxlIFhT
U0F1ZGl0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzMjgxCisKKyAgICAgICAgVW5za2lwIHRlc3RzIGluIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNz
QXVkaXRvciBhbmQgYWRkCisgICAgICAgIGV4cGVjdGF0aW9uIEJVR1dLODMwMzAgZm9yIHNjcmlw
dC10YWctd2l0aC1jYWxsYmFja3MuaHRtbCB0ZXN0LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL1NraXBwZWQ6CisgICAgICAg
ICogcGxhdGZvcm0vZWZsL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKwogMjAxMi0wNC0xMCAgQmFs
YXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtXSzJdIFRl
c3ROZXRzY2FwZVBsdWdpbiBpcyBicm9rZW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXgg
ZTE3YjQ5ZC4uZTY4NzY1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTQ0MCw5ICs0
NDAsNiBAQCBwbHVnaW5zL25ldHNjYXBlLXBsdWdpbi1zZXR3aW5kb3ctc2l6ZS0yLmh0bWwKICMg
RUZMJ3MgTGF5b3V0VGVzdENvbnRyb2xsZXIgZG9lcyBub3QgaW1wbGVtZW50IHNldEphdmFTY3Jp
cHRDYW5BY2Nlc3NDbGlwYm9hcmQKIGVkaXRpbmcvZXhlY0NvbW1hbmQvY2xpcGJvYXJkLWFjY2Vz
cy5odG1sCiAKLSMgRUZMJ3MgTGF5b3V0VGVzdENvbnRyb2xsZXIgZG9lcyBub3QgaW1wbGVtZW50
IHNldFhTU0F1ZGl0b3JFbmFibGVkCi1odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IKLQog
IyBFRkwncyBMYXlvdXRUZXN0Q29udHJvbGxlciBkb2VzIG5vdCBpbXBsZW1lbnQgc2V0QWxsb3dV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMKICMgRUZMJ3MgTGF5b3V0VGVzdENvbnRyb2xsZXIg
ZG9lcyBub3QgaW1wbGVtZW50IHNldEFsbG93QWNjZXNzRnJvbUZpbGVVUkxzCiBmYXN0L2ZpbGVz
L3dvcmtlcnMvaW5saW5lLXdvcmtlci12aWEtYmxvYi11cmwuaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZWZsL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2VmbC90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggYzQwNzNhYi4uZjdiNjI5
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL3Rlc3RfZXhwZWN0YXRpb25z
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvdGVzdF9leHBlY3RhdGlvbnMudHh0
CkBAIC0yMTYsMyArMjE2LDYgQEAgQlVHV0s4MzI3NSA6IGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFs
L3RleHQtc3BsaWNlZC1mb250Lmh0bWwgPSBGQUlMIE1JU1NJTkcKIEJVR1dLODMyNzcgOiBlZGl0
aW5nL2lucHV0L2NhcmV0LWF0LXRoZS1lZGdlLW9mLWNvbnRlbnRlZGl0YWJsZS5odG1sID0gRkFJ
TCBNSVNTSU5HCiBCVUdXSzgzMjc3IDogZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtbXVs
dGlsaW5lLWNvbnRlbnRlZGl0YWJsZS5odG1sID0gRkFJTCBNSVNTSU5HCiBCVUdXSzgzMjc3IDog
ZWRpdGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtbXVsdGlsaW5lLWlucHV0Lmh0bWwgPSBGQUlM
IE1JU1NJTkcKKworLy8gRHVtcFJlbmRlclRyZWUgbmVlZHMgdG8gc3VwcG9ydCBMYXlvdXRUZXN0
Q29udHJvbGxlcidzIGR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKS4KK0JVR1dLODMwMzAgOiBodHRw
L3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3Ivc2NyaXB0LXRhZy13aXRoLWNhbGxiYWNrcy5odG1s
ID0gVEVYVApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IGM5ZmVlY2EuLjA3ZjM0MjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxMi0wNC0xMCAgU3VkYXJzYW5hIE5hZ2luZW5pICA8
c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNvbT4KKworICAgICAgICBbRUZMXSBBZGQg
c2V0dGluZyBBUEkgdG8gZW5hYmxlL2Rpc2FibGUgWFNTQXVkaXRvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMyODEKKworICAgICAgICBBZGQgc2V0
dGluZyBBUEkgdG8gZW5hYmxlIG9yIGRpc2FibGUgV2ViS2l0J3MgWFNTQXVkaXRvciB0byBwcm90
ZWN0IAorICAgICAgICBmcm9tIHJlZmxlY3RpdmUgY3Jvc3Mtc2l0ZSBzY3JpcHRpbmcgYXR0YWNr
cy4gQWxzbywgZW1pdCB0aGUgc2lnbmFsIAorICAgICAgICAneHNzLGRldGVjdGVkJyB0byBub3Rp
Znkgd2hlbiByZWZsZWN0ZWQgWFNTIHdhcyBlbmNvdW50ZXJlZCBpbiB0aGUgCisgICAgICAgIHBh
Z2UgYW5kIHN1cHByZXNzZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlkRGV0ZWN0WFNTKToKKyAg
ICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3a19mcmFtZV94c3NfZGV0ZWN0
ZWQpOgorICAgICAgICAqIGV3ay9ld2tfZnJhbWUuaDoKKyAgICAgICAgKiBld2svZXdrX3ByaXZh
dGUuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoX0V3a19WaWV3X1By
aXZhdGVfRGF0YSk6CisgICAgICAgIChfZXdrX3ZpZXdfcHJpdl9uZXcpOgorICAgICAgICAoZXdr
X3ZpZXdfeHNzX2RldGVjdGVkKToKKyAgICAgICAgKGV3a192aWV3X3NldHRpbmdfZW5hYmxlX3hz
c19hdWRpdG9yX2dldCk6CisgICAgICAgIChld2tfdmlld19zZXR0aW5nX2VuYWJsZV94c3NfYXVk
aXRvcl9zZXQpOgorICAgICAgICAqIGV3ay9ld2tfdmlldy5oOgorCiAyMDEyLTA0LTA0ICBSYXBo
YWVsIEt1Ym8gZGEgQ29zdGEgIDxyYWt1Y29Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBbm90aGVy
IHVucmV2aWV3ZWQgYXR0ZW1wdCBhdCBnZXR0aW5nIHRoZSBFRkwgYnVpbGQgYm90IHRvIGEKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50RWZsLmNwcAppbmRleCA5MzUxODI5Li45YjIyZjliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3Bw
CkBAIC01MDUsOSArNTA1LDkgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlkUnVuSW5z
ZWN1cmVDb250ZW50KFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgS1VSTCYpCiAgICAgZXdrX2ZyYW1l
X21peGVkX2NvbnRlbnRfcnVuX3NldChtX2ZyYW1lLCB0cnVlKTsKIH0KIAotdm9pZCBGcmFtZUxv
YWRlckNsaWVudEVmbDo6ZGlkRGV0ZWN0WFNTKGNvbnN0IEtVUkwmLCBib29sKQordm9pZCBGcmFt
ZUxvYWRlckNsaWVudEVmbDo6ZGlkRGV0ZWN0WFNTKGNvbnN0IEtVUkwmLCBib29sIGRpZEJsb2Nr
RW50aXJlUGFnZSkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19mcmFtZV94c3Nf
ZGV0ZWN0ZWQobV9mcmFtZSwgZGlkQmxvY2tFbnRpcmVQYWdlKTsKIH0KIAogdm9pZCBGcmFtZUxv
YWRlckNsaWVudEVmbDo6bWFrZVJlcHJlc2VudGF0aW9uKERvY3VtZW50TG9hZGVyKikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKaW5kZXggZWZjYTg2Yy4uNGQ2OGUwZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKQEAgLTE3NjQsNiArMTc2NCwyMiBAQCB2b2lkIGV3a19m
cmFtZV9taXhlZF9jb250ZW50X3J1bl9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBib29sIGhh
c1J1bikKICAgICB9CiB9CiAKKy8qKgorICogQGludGVybmFsCisgKiBSZXBvcnRzIHRoYXQgcmVm
bGVjdGVkIFhTUyB3YXMgZW5jb3VudGVyZWQgaW4gdGhlIHBhZ2UgYW5kIHN1cHByZXNzZWQuCisg
KgorICogQHBhcmFtIGRpZEJsb2NrRW50aXJlUGFnZSBpbmRpY2F0ZXMgd2hldGhlciBlbnRpcmUg
cGFnZSB3YXMgYmxvY2tlZCByYXRoZXIgdGhhbiAKKyAqIGp1c3QgaW5qZWN0ZWQgc2NyaXB0cyBy
ZW1vdmVkIGZyb20gdGhlIHBhZ2UuCisgKgorICogRW1pdHMgc2lnbmFsOiAieHNzLGRldGVjdGVk
IiB3aXRoIG5vIHBhcmFtZXRlcnMuCisgKi8KK3ZvaWQgZXdrX2ZyYW1lX3hzc19kZXRlY3RlZChF
dmFzX09iamVjdCogZXdrRnJhbWUsIGJvb2wgZGlkQmxvY2tFbnRpcmVQYWdlKQoreworICAgIGV2
YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrRnJhbWUsICJ4c3MsZGV0ZWN0ZWQiLCAw
KTsKKyAgICBFV0tfRlJBTUVfU0RfR0VUKGV3a0ZyYW1lLCBzbWFydERhdGEpOworICAgIGV3a192
aWV3X3hzc19kZXRlY3RlZChzbWFydERhdGEtPnZpZXcsIGRpZEJsb2NrRW50aXJlUGFnZSk7Cit9
CisKIG5hbWVzcGFjZSBFV0tQcml2YXRlIHsKIAogV2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZShj
b25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKaW5k
ZXggOTQyNDI4Yy4uNDU0Njc3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaApAQCAtNjIs
NiArNjIsNyBAQAogICogIC0gInN0YXRlLHNhdmUiLCB2b2lkOiBmcmFtZSdzIHN0YXRlIHdpbGwg
YmUgc2F2ZWQgYXMgYSBoaXN0b3J5IGl0ZW0uCiAgKiAgLSAidGl0bGUsY2hhbmdlZCIsIGNvbnN0
IGNoYXIqOiB0aXRsZSBvZiB0aGUgbWFpbiBmcmFtZSB3YXMgY2hhbmdlZC4KICAqICAtICJ1cmks
Y2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB1cmkgb2YgdGhlIG1haW4gZnJhbWUgd2FzIGNoYW5nZWQu
CisgKiAgLSAieHNzLGRldGVjdGVkIiwgdm9pZDogcmVmbGVjdGVkIFhTUyB3YXMgZW5jb3VudGVy
ZWQgaW4gdGhlIHBhZ2UgYW5kIHN1cHByZXNzZWQuCiAgKi8KIAogI2lmbmRlZiBld2tfZnJhbWVf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAppbmRleCA5NmU0Nzk1Li4zZjA0Y2I5ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTI0MSw2ICsyNDEsOCBAQCB2b2lk
IGV3a19mcmFtZV9taXhlZF9jb250ZW50X2Rpc3BsYXllZF9zZXQoRXZhc19PYmplY3QqIGV3a0Zy
YW1lLCBib29sIGhhc0Rpc3BsYQogdm9pZCBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9ydW5fc2V0
KEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgYm9vbCBoYXNSdW4pOwogdm9pZCBld2tfdmlld19taXhl
ZF9jb250ZW50X2Rpc3BsYXllZF9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgaGFzRGlz
cGxheWVkKTsKIHZvaWQgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9ydW5fc2V0KEV2YXNfT2JqZWN0
KiBld2tWaWV3LCBib29sIGhhc1J1bik7Cit2b2lkIGV3a19mcmFtZV94c3NfZGV0ZWN0ZWQoRXZh
c19PYmplY3QqIGV3a0ZyYW1lLCBib29sIGRpZEJsb2NrRW50aXJlUGFnZSk7Cit2b2lkIGV3a192
aWV3X3hzc19kZXRlY3RlZChFdmFzX09iamVjdCogZXdrVmlldywgYm9vbCBkaWRCbG9ja0VudGly
ZVBhZ2UpOwogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogYm9vbCBld2tfdmll
d19hY2NlbGVyYXRlZF9jb21wb3NpdGluZ19vYmplY3RfY3JlYXRlKEV2YXNfT2JqZWN0KiBld2tW
aWV3LCBFdmFzX05hdGl2ZV9TdXJmYWNlKiBuYXRpdmVTdXJmYWNlLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiByZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmll
dy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDJkNDJhMzIu
LjUxM2NiZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApAQCAtMjA3LDYgKzIwNyw3
IEBAIHN0cnVjdCBfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhIHsKICAgICAgICAgYm9vbCBsb2NhbFN0
b3JhZ2UgOiAxOwogICAgICAgICBib29sIG9mZmxpbmVBcHBDYWNoZSA6IDE7CiAgICAgICAgIGJv
b2wgcGFnZUNhY2hlIDogMTsKKyAgICAgICAgYm9vbCBlbmFibGVYU1NBdWRpdG9yIDogMTsKICAg
ICAgICAgc3RydWN0IHsKICAgICAgICAgICAgIGZsb2F0IG1pblNjYWxlOwogICAgICAgICAgICAg
ZmxvYXQgbWF4U2NhbGU7CkBAIC02NjUsNiArNjY2LDcgQEAgc3RhdGljIEV3a19WaWV3X1ByaXZh
dGVfRGF0YSogX2V3a192aWV3X3ByaXZfbmV3KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0
YSkKICAgICBwcml2LT5wYWdlU2V0dGluZ3MtPnNldFVzZXNQYWdlQ2FjaGUodHJ1ZSk7CiAgICAg
cHJpdi0+cGFnZVNldHRpbmdzLT5zZXRVc2VzRW5jb2RpbmdEZXRlY3RvcihmYWxzZSk7CiAgICAg
cHJpdi0+cGFnZVNldHRpbmdzLT5zZXRXZWJHTEVuYWJsZWQodHJ1ZSk7CisgICAgcHJpdi0+cGFn
ZVNldHRpbmdzLT5zZXRYU1NBdWRpdG9yRW5hYmxlZCh0cnVlKTsKIAogICAgIHVybCA9IHByaXYt
PnBhZ2VTZXR0aW5ncy0+dXNlclN0eWxlU2hlZXRMb2NhdGlvbigpOwogICAgIHByaXYtPnNldHRp
bmdzLnVzZXJTdHlsZXNoZWV0ID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodXJsLnN0cmluZygpLnV0
ZjgoKS5kYXRhKCkpOwpAQCAtNzAxLDYgKzcwMyw3IEBAIHN0YXRpYyBFd2tfVmlld19Qcml2YXRl
X0RhdGEqIF9ld2tfdmlld19wcml2X25ldyhFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEp
CiAgICAgcHJpdi0+c2V0dGluZ3MuZW5hYmxlU2NyaXB0cyA9IHByaXYtPnBhZ2VTZXR0aW5ncy0+
aXNTY3JpcHRFbmFibGVkKCk7CiAgICAgcHJpdi0+c2V0dGluZ3MuZW5hYmxlUGx1Z2lucyA9IHBy
aXYtPnBhZ2VTZXR0aW5ncy0+YXJlUGx1Z2luc0VuYWJsZWQoKTsKICAgICBwcml2LT5zZXR0aW5n
cy5lbmFibGVGcmFtZUZsYXR0ZW5pbmcgPSBwcml2LT5wYWdlU2V0dGluZ3MtPmZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQoKTsKKyAgICBwcml2LT5zZXR0aW5ncy5lbmFibGVYU1NBdWRpdG9yID0gcHJp
di0+cGFnZVNldHRpbmdzLT54c3NBdWRpdG9yRW5hYmxlZCgpOwogICAgIHByaXYtPnNldHRpbmdz
LnNjcmlwdHNDYW5PcGVuV2luZG93cyA9IHByaXYtPnBhZ2VTZXR0aW5ncy0+amF2YVNjcmlwdENh
bk9wZW5XaW5kb3dzQXV0b21hdGljYWxseSgpOwogICAgIHByaXYtPnNldHRpbmdzLnNjcmlwdHND
YW5DbG9zZVdpbmRvd3MgPSBwcml2LT5wYWdlU2V0dGluZ3MtPmFsbG93U2NyaXB0c1RvQ2xvc2VX
aW5kb3dzKCk7CiAgICAgcHJpdi0+c2V0dGluZ3MucmVzaXphYmxlVGV4dGFyZWFzID0gcHJpdi0+
cGFnZVNldHRpbmdzLT50ZXh0QXJlYXNBcmVSZXNpemFibGUoKTsKQEAgLTM4OTMsNiArMzg5Niwy
MCBAQCB2b2lkIGV3a192aWV3X21peGVkX2NvbnRlbnRfcnVuX3NldChFdmFzX09iamVjdCogZXdr
VmlldywgYm9vbCBoYXNSdW4pCiAgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2Nh
bGwoZXdrVmlldywgIm1peGVkY29udGVudCxydW4iLCAwKTsKIH0KIAorLyoqCisgKiBAaW50ZXJu
YWwKKyAqIFJlcG9ydHMgdGhhdCByZWZsZWN0ZWQgWFNTIHdhcyBlbmNvdW50ZXJlZCBpbiB0aGUg
cGFnZSBhbmQgc3VwcHJlc3NlZC4KKyAqCisgKiBAcGFyYW0gZGlkQmxvY2tFbnRpcmVQYWdlIGlu
ZGljYXRlcyB3aGV0aGVyIGVudGlyZSBwYWdlIHdhcyBibG9ja2VkIHJhdGhlciB0aGFuIAorICog
anVzdCBpbmplY3RlZCBzY3JpcHRzIHJlbW92ZWQgZnJvbSB0aGUgcGFnZS4KKyAqCisgKiBFbWl0
cyBzaWduYWw6ICJ4c3MsZGV0ZWN0ZWQiIHdpdGggbm8gcGFyYW1ldGVycy4KKyAqLwordm9pZCBl
d2tfdmlld194c3NfZGV0ZWN0ZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgZGlkQmxvY2tF
bnRpcmVQYWdlKQoreworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrVmll
dywgInhzcyxkZXRlY3RlZCIsIDApOworfQorCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfdmlzaWJpbGl0
eV9zdGF0ZV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV3a19QYWdlX1Zpc2liaWxpdHlfU3Rh
dGUgcGFnZVZpc2liaWxpdHlTdGF0ZSwgRWluYV9Cb29sIGluaXRpYWxTdGF0ZSkKIHsKICNpZiBF
TkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKQEAgLTM5NDAsNiArMzk1NywyNCBAQCB2b2lkIGV3
a192aWV3X3NvdXBfc2Vzc2lvbl9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIFNvdXBTZXNzaW9u
KiBzZXNzaW9uKQogICAgIHByaXYtPnNvdXBTZXNzaW9uID0gc2Vzc2lvbjsKIH0KIAorRWluYV9C
b29sIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX3hzc19hdWRpdG9yX2dldChjb25zdCBFdmFzX09i
amVjdCogZXdrVmlldykKK3sKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcs
IHNtYXJ0RGF0YSwgRUlOQV9GQUxTRSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJO
KHNtYXJ0RGF0YSwgcHJpdiwgRUlOQV9GQUxTRSk7CisgICAgcmV0dXJuIHByaXYtPnNldHRpbmdz
LmVuYWJsZVhTU0F1ZGl0b3I7Cit9CisKK3ZvaWQgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfeHNz
X2F1ZGl0b3Jfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFaW5hX0Jvb2wgZW5hYmxlKQorewor
ICAgIEVXS19WSUVXX1NEX0dFVChld2tWaWV3LCBzbWFydERhdGEpOworICAgIEVXS19WSUVXX1BS
SVZfR0VUKHNtYXJ0RGF0YSwgcHJpdik7CisgICAgZW5hYmxlID0gISFlbmFibGU7CisgICAgaWYg
KHByaXYtPnNldHRpbmdzLmVuYWJsZVhTU0F1ZGl0b3IgIT0gZW5hYmxlKSB7CisgICAgICAgIHBy
aXYtPnBhZ2VTZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZW5hYmxlKTsKKyAgICAgICAg
cHJpdi0+c2V0dGluZ3MuZW5hYmxlWFNTQXVkaXRvciA9IGVuYWJsZTsKKyAgICB9Cit9CisKICNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiBib29sIGV3a192aWV3X2FjY2VsZXJhdGVk
X2NvbXBvc2l0aW5nX29iamVjdF9jcmVhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfTmF0
aXZlX1N1cmZhY2UqIG5hdGl2ZVN1cmZhY2UsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3Qp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IGZhMzgyYTkuLjZkZTdlODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC04Myw2ICs4Myw3IEBACiAgKiAgLSAidXJpLGNoYW5n
ZWQiLCBjb25zdCBjaGFyKjogdXJpIG9mIHRoZSBtYWluIGZyYW1lIHdhcyBjaGFuZ2VkLgogICog
IC0gInZpZXcscmVzaXplZCIsIHZvaWQ6IHZpZXcgb2JqZWN0J3Mgc2l6ZSB3YXMgY2hhbmdlZC4K
ICAqICAtICJ2aWV3cG9ydCxjaGFuZ2VkIiwgdm9pZDogcmVwb3J0cyB0aGF0IHZpZXdwb3J0IHdh
cyBjaGFuZ2VkLgorICogIC0gInhzcyxkZXRlY3RlZCIsIHZvaWQ6IHJlZmxlY3RlZCBYU1Mgd2Fz
IGVuY291bnRlcmVkIGluIHRoZSBwYWdlIGFuZCBzdXBwcmVzc2VkLgogICogIC0gInpvb20sYW5p
bWF0ZWQsZW5kIiwgdm9pZDogcmVxdWVzdGVkIGFuaW1hdGVkIHpvb20gaXMgZmluaXNoZWQuCiAg
Ki8KIApAQCAtMjM2Nyw2ICsyMzY4LDI5IEBAIEVBUEkgU291cFNlc3Npb24qIGV3a192aWV3X3Nv
dXBfc2Vzc2lvbl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICovCiBFQVBJIHZvaWQgZXdr
X3ZpZXdfc291cF9zZXNzaW9uX3NldChFdmFzX09iamVjdCAqbywgU291cFNlc3Npb24gKnNlc3Np
b24pOwogCisvKioKKyAqIFJldHVybnMgd2hldGhlciBYU1NBdWRpdG9yIGZlYXR1cmUgaXMgZW5h
YmxlZC4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBxdWVyeSB3aGV0aGVyIFhTU0F1
ZGl0b3IgZmVhdHVyZSBpcyBlbmFibGVkLgorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIGlm
IHRoZSBYU1NBdWRpdG9yIGZlYXR1cmUgaXMgZW5hYmxlZCwKKyAqICAgICAgICAgQGMgRUlOQV9G
QUxTRSBpZiBub3Qgb3Igb24gZmFpbHVyZS4KKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdf
c2V0dGluZ19lbmFibGVfeHNzX2F1ZGl0b3JfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKKwor
LyoqCisgKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBYU1NBdWRpdG9yIGZlYXR1cmUuCisgKiAKKyAq
IFRoZSBYU1NBdWRpdG9yIChjcm9zcy1zaXRlIHNjcmlwdGluZyBwcm90ZWN0aW9uKSBmZWF0dXJl
IHByb3ZpZGVzIHByb3RlY3Rpb24gCisgKiBmcm9tIHJlZmxlY3RlZCBYU1MgYXR0YWNrcyBvbiB2
dWxuZXJhYmxlIHdlYiBzaXRlcy4gVGhpcyBmZWF0dXJlIGlzIGVuYWJsZWQgCisgKiBieSBkZWZh
dWx0LgorICoKKyAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIHNldCB0aGUgWFNTQXVkaXRvciBm
ZWF0dXJlLgorICogQHBhcmFtIGVuYWJsZSBAYyBFSU5BX1RSVUUgdG8gZW5hYmxlIHRoZSBYU1NB
dWRpdG9yIGZlYXR1cmUsCisgKiAgICAgICAgQGMgRUlOQV9GQUxTRSB0byBkaXNhYmxlLgorICov
CitFQVBJIHZvaWQgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfeHNzX2F1ZGl0b3Jfc2V0KEV2YXNf
T2JqZWN0ICpvLCBFaW5hX0Jvb2wgZW5hYmxlKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCBmMDBkN2Q4Li5kODM0MGFiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDQtMTAgIFN1ZGFyc2FuYSBOYWdp
bmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBsaW51eC5pbnRlbC5jb20+CisKKyAgICAgICAgW0VG
TF0gQWRkIHNldHRpbmcgQVBJIHRvIGVuYWJsZS9kaXNhYmxlIFhTU0F1ZGl0b3IKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzMjgxCisKKyAgICAgICAg
QWRkIG1pc3NpbmcgaW1wbGVtZW50YXRpb24gc2V0WFNTQXVkaXRvckVuYWJsZWQgdG8gRUZMJ3Mg
TGF5b3V0VGVzdENvbnRyb2xsZXIKKyAgICAgICAgaW4gb3JkZXIgdG8gdW5za2lwIHRlc3RzIGlu
IGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci4gQWxzbywgY2F0Y2ggdGhlIHNpZ25hbCAK
KyAgICAgICAgJ3hzcyxkZXRlY3RlZCcgaW4gRFJUIHRvIGVuYWJsZSBhIHRlc3QsIHdoaWNoIGlz
IGV4cGVjdGluZyBhIGxpbmUgY29udGFpbmluZworICAgICAgICAnZGlkRGV0ZWN0WFNTJyBpbiB0
aGUgb3V0cHV0IHdoZW4gcmVmbGVjdGVkIFhTUyB3YXMgZW5jb3VudGVyZWQgaW4gdGhlIHBhZ2Uu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwOgorICAgICAgICAoRHVtcFJl
bmRlclRyZWVDaHJvbWU6OmNyZWF0ZVZpZXcpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJv
bWU6Om9uRGlkRGV0ZWN0WFNTKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJl
bmRlclRyZWVDaHJvbWUuaDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lKToKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwOgorICAg
ICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKToKKwogMjAx
Mi0wNC0xMCAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
W1F0XVtXSzJdIFRlc3ROZXRzY2FwZVBsdWdpbiBpcyBicm9rZW4KZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCmluZGV4IGE1MzQzZTkuLmIy
ZWRkNzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJl
ZUNocm9tZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVl
Q2hyb21lLmNwcApAQCAtOTYsNiArOTYsNyBAQCBFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVD
aHJvbWU6OmNyZWF0ZVZpZXcoKSBjb25zdAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNr
X2FkZCh2aWV3LCAic3RhdHVzYmFyLHRleHQsc2V0Iiwgb25TdGF0dXNiYXJUZXh0U2V0LCAwKTsK
ICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQodmlldywgImxvYWQsZG9jdW1lbnQs
ZmluaXNoZWQiLCBvbkRvY3VtZW50TG9hZEZpbmlzaGVkLCAwKTsKICAgICBldmFzX29iamVjdF9z
bWFydF9jYWxsYmFja19hZGQodmlldywgInJlc291cmNlLHJlcXVlc3Qsd2lsbHNlbmQiLCBvbldp
bGxTZW5kUmVxdWVzdCwgMCk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZp
ZXcsICJ4c3MsZGV0ZWN0ZWQiLCBvbkRpZERldGVjdFhTUywgMCk7CiAKICAgICByZXR1cm4gdmll
dzsKIH0KQEAgLTIzMSw2ICsyMzIsMTIgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25M
b2FkU3RhcnRlZCh2b2lkKiwgRXZhc19PYmplY3QqIHZpZXcsIHZvaWQqKQogICAgICAgICB0b3BM
b2FkaW5nRnJhbWUgPSBmcmFtZTsKIH0KIAordm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25E
aWREZXRlY3RYU1Modm9pZCosIEV2YXNfT2JqZWN0KiB2aWV3LCB2b2lkKikKK3sKKyAgICBpZiAo
IWRvbmUgJiYgZ0xheW91dFRlc3RDb250cm9sbGVyLT5kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCkp
CisgICAgICAgIHByaW50ZigiZGlkRGV0ZWN0WFNTXG4iKTsKK30KKwogRWluYV9Cb29sIER1bXBS
ZW5kZXJUcmVlQ2hyb21lOjpwcm9jZXNzV29yayh2b2lkKiBkYXRhKQogewogICAgIEV2YXNfT2Jq
ZWN0KiBmcmFtZSA9IHN0YXRpY19jYXN0PEV2YXNfT2JqZWN0Kj4oZGF0YSk7CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCmluZGV4IGUxNTZiNGQu
Ljc1MDg2NTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVy
VHJlZUNocm9tZS5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJl
ZUNocm9tZS5oCkBAIC03Nyw2ICs3Nyw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgb25E
b2N1bWVudExvYWRGaW5pc2hlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CiAKICAgICBz
dGF0aWMgdm9pZCBvbldpbGxTZW5kUmVxdWVzdCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7
CisgICAgc3RhdGljIHZvaWQgb25EaWREZXRlY3RYU1Modm9pZCosIEV2YXNfT2JqZWN0KiB2aWV3
LCB2b2lkKik7CiB9OwogCiAjZW5kaWYgLy8gRHVtcFJlbmRlclRyZWVDaHJvbWVfaApkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAK
aW5kZXggN2FhNTI3Yy4uN2RiZTc2OSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
ZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCkBAIC0zMjUsOSArMzI1LDkgQEAgdm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChi
b29sKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wpCit2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGZsYWcpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICBld2tfdmlld19zZXR0aW5nX2VuYWJsZV94c3NfYXVkaXRvcl9zZXQoYnJvd3Nlci0+
bWFpblZpZXcoKSwgZmxhZyk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBmbGFnKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136686</attachid>
            <date>2012-04-11 10:12:22 -0700</date>
            <delta_ts>2012-04-11 11:39:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>XSSAuditor.patch</filename>
            <type>text/plain</type>
            <size>14808</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZGZkODcxLi4xYmVlZDBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDQt
MTEgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBsaW51eC5pbnRlbC5j
b20+CisKKyAgICAgICAgW0VGTF0gQWRkIHNldHRpbmcgQVBJIHRvIGVuYWJsZS9kaXNhYmxlIFhT
U0F1ZGl0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzMjgxCisKKyAgICAgICAgVW5za2lwIHRlc3RzIGluIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNz
QXVkaXRvcgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGxhdGZvcm0vZWZsL1NraXBwZWQ6CisKIDIwMTItMDQtMTAgIENocmlzdG9waGUgRHVtZXog
IDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBEUlQgc2hvdWxk
IHN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIncyBkdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXggYzIyZjdlYS4uZjYzYTMzZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsL1NraXBwZWQKQEAgLTQwOCw5ICs0MDgsNiBAQCBwbHVnaW5zL25ldHNjYXBlLXBs
dWdpbi1zZXR3aW5kb3ctc2l6ZS0yLmh0bWwKICMgRUZMJ3MgTGF5b3V0VGVzdENvbnRyb2xsZXIg
ZG9lcyBub3QgaW1wbGVtZW50IHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQKIGVkaXRp
bmcvZXhlY0NvbW1hbmQvY2xpcGJvYXJkLWFjY2Vzcy5odG1sCiAKLSMgRUZMJ3MgTGF5b3V0VGVz
dENvbnRyb2xsZXIgZG9lcyBub3QgaW1wbGVtZW50IHNldFhTU0F1ZGl0b3JFbmFibGVkCi1odHRw
L3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IKLQogIyBFRkwncyBMYXlvdXRUZXN0Q29udHJvbGxl
ciBkb2VzIG5vdCBpbXBsZW1lbnQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMK
ICMgRUZMJ3MgTGF5b3V0VGVzdENvbnRyb2xsZXIgZG9lcyBub3QgaW1wbGVtZW50IHNldEFsbG93
QWNjZXNzRnJvbUZpbGVVUkxzCiBmYXN0L2ZpbGVzL3dvcmtlcnMvaW5saW5lLXdvcmtlci12aWEt
YmxvYi11cmwuaHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDQzZGUwNjUuLmQ2MzFiODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMi0wNC0xMSAgU3VkYXJzYW5hIE5hZ2lu
ZW5pICA8c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNvbT4KKworICAgICAgICBbRUZM
XSBBZGQgc2V0dGluZyBBUEkgdG8gZW5hYmxlL2Rpc2FibGUgWFNTQXVkaXRvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMyODEKKworICAgICAgICBB
ZGQgc2V0dGluZyBBUEkgdG8gZW5hYmxlIG9yIGRpc2FibGUgV2ViS2l0J3MgWFNTQXVkaXRvciB0
byBwcm90ZWN0IAorICAgICAgICBmcm9tIHJlZmxlY3RpdmUgY3Jvc3Mtc2l0ZSBzY3JpcHRpbmcg
YXR0YWNrcy4gQWxzbywgZW1pdCB0aGUgc2lnbmFsIAorICAgICAgICAneHNzLGRldGVjdGVkJyBh
bmQgcHJvdmlkZSBhZGRpdGlvbiBpbmZvcm1hdGlvbiByZWNlaXZlZCBmcm9tIAorICAgICAgICBY
U1NBdWRpdG9yIHdoZW4gcmVmbGVjdGVkIFhTUyBpcyBlbmNvdW50ZXJlZCBpbiB0aGUgcGFnZS4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpkaWREZXRlY3RYU1MpOgorICAgICAgICAqIGV3ay9ld2tfZnJh
bWUuY3BwOgorICAgICAgICAoZXdrX2ZyYW1lX3hzc19kZXRlY3RlZCk6CisgICAgICAgICogZXdr
L2V3a19mcmFtZS5oOgorICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgorICAgICAgICAqIGV3
ay9ld2tfdmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKToKKyAgICAg
ICAgKF9ld2tfdmlld19wcml2X25ldyk6CisgICAgICAgIChld2tfdmlld19zZXR0aW5nX2VuYWJs
ZV94c3NfYXVkaXRvcl9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfeHNz
X2F1ZGl0b3Jfc2V0KToKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwogMjAxMi0wNC0xMCAg
U3VkYXJzYW5hIE5hZ2luZW5pICA8c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNvbT4K
IAogICAgICAgICBbRUZMXSBMYXlvdXRUZXN0Q29udHJvbGxlciBuZWVkcyBpbXBsZW1lbnRhdGlv
biBvZiBhZGRVc2VyU3R5bGVTaGVldApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IDE2OTkxOWEuLjFi
MDM3YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTQ5Niw5ICs0OTYsMTIgQEAgdm9pZCBGcmFt
ZUxvYWRlckNsaWVudEVmbDo6ZGlkUnVuSW5zZWN1cmVDb250ZW50KFNlY3VyaXR5T3JpZ2luKiwg
Y29uc3QgS1VSTCYpCiAgICAgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVuX3NldChtX2ZyYW1l
LCB0cnVlKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlkRGV0ZWN0WFNTKGNv
bnN0IEtVUkwmLCBib29sKQordm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlkRGV0ZWN0WFNT
KGNvbnN0IEtVUkwmIGluc2VjdXJlVVJMLCBib29sIGRpZEJsb2NrRW50aXJlUGFnZSkKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIENTdHJpbmcgY3MgPSBpbnNlY3VyZVVSTC5zdHJpbmco
KS51dGY4KCk7CisgICAgRXdrX0ZyYW1lX1hzc19Ob3RpZmljYXRpb24geHNzSW5mbyA9IHsgY3Mu
ZGF0YSgpLCBkaWRCbG9ja0VudGlyZVBhZ2UgfTsKKworICAgIGV3a19mcmFtZV94c3NfZGV0ZWN0
ZWQobV9mcmFtZSwgJnhzc0luZm8pOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpt
YWtlUmVwcmVzZW50YXRpb24oRG9jdW1lbnRMb2FkZXIqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2Zy
YW1lLmNwcAppbmRleCA1YzlmNzEzLi4zYmU0ZmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX2ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2Zy
YW1lLmNwcApAQCAtMTc3NSw2ICsxNzc1LDIwIEBAIHZvaWQgZXdrX2ZyYW1lX21peGVkX2NvbnRl
bnRfcnVuX3NldChFdmFzX09iamVjdCogZXdrRnJhbWUsIGJvb2wgaGFzUnVuKQogICAgIH0KIH0K
IAorLyoqCisgKiBAaW50ZXJuYWwKKyAqIFJlcG9ydHMgdGhhdCByZWZsZWN0ZWQgWFNTIGlzIGVu
Y291bnRlcmVkIGluIHRoZSBwYWdlIGFuZCBzdXBwcmVzc2VkLgorICoKKyAqIEBwYXJhbSB4c3NJ
bmZvIEluZm9ybWF0aW9uIHJlY2VpdmVkIGZyb20gdGhlIFhTU0F1ZGl0b3Igd2hlbiBYU1MgaXMg
CisgKiBlbmNvdW50ZXJlZCBpbiB0aGUgcGFnZS4gCisgKgorICogRW1pdHMgc2lnbmFsOiAieHNz
LGRldGVjdGVkIiB3aXRoIHBvaW50ZXIgdG8gRXdrX0ZyYW1lX1hzc19Ob3RpZmljYXRpb24uCisg
Ki8KK3ZvaWQgZXdrX2ZyYW1lX3hzc19kZXRlY3RlZChFdmFzX09iamVjdCogZXdrRnJhbWUsIGNv
bnN0IEV3a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9uICp4c3NJbmZvKQoreworICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrRnJhbWUsICJ4c3MsZGV0ZWN0ZWQiLCAodm9pZCop
eHNzSW5mbyk7Cit9CisKIG5hbWVzcGFjZSBFV0tQcml2YXRlIHsKIAogV2ViQ29yZTo6RnJhbWUq
IGNvcmVGcmFtZShjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2ZyYW1lLmgKaW5kZXggZGQzYThkMy4uZGFjY2ZjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJh
bWUuaApAQCAtNjMsNiArNjMsNyBAQAogICogIC0gInN0YXRlLHNhdmUiLCB2b2lkOiBmcmFtZSdz
IHN0YXRlIHdpbGwgYmUgc2F2ZWQgYXMgYSBoaXN0b3J5IGl0ZW0uCiAgKiAgLSAidGl0bGUsY2hh
bmdlZCIsIGNvbnN0IGNoYXIqOiB0aXRsZSBvZiB0aGUgbWFpbiBmcmFtZSB3YXMgY2hhbmdlZC4K
ICAqICAtICJ1cmksY2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB1cmkgb2YgdGhlIG1haW4gZnJhbWUg
d2FzIGNoYW5nZWQuCisgKiAgLSAieHNzLGRldGVjdGVkIiwgRXdrX0ZyYW1lX1hzc19Ob3RpZmlj
YXRpb24qOiByZWZsZWN0ZWQgWFNTIGlzIGVuY291bnRlcmVkIGluIHRoZSBwYWdlIGFuZCBzdXBw
cmVzc2VkLgogICovCiAKICNpZm5kZWYgZXdrX2ZyYW1lX2gKQEAgLTExMSw2ICsxMTIsMjEgQEAg
c3RydWN0IF9Fd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCB7CiAgICAgRWluYV9Cb29sIGlzX21h
aW5fZnJhbWVfcmVxdWVzdDsgLyoqIDwgaW5kaWNhdGVzIGlmIHRoZSByZXF1ZXN0IGlzIGZvciB0
aGUgbWFpbiBmcmFtZSAqLwogfTsKIAorLy8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEV3a19G
cmFtZV9Yc3NfTm90aWZpY2F0aW9uLgordHlwZWRlZiBzdHJ1Y3QgX0V3a19GcmFtZV9Yc3NfTm90
aWZpY2F0aW9uIEV3a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9uOworCisvKioKKyAqIEBicmllZiAg
IFN0cnVjdHVyZSB1c2VkIHRvIHJlcG9ydCByZWZsZWN0ZWQgWFNTIGlzIGVuY291bnRlcmVkIGlu
IHRoZSBwYWdlLgorICoKKyAqIFRoaXMgc3RydWN0dXJlIGNvbnRhaW5zIGluZm9ybWF0aW9uIHJl
Y2VpdmVkIGZyb20gdGhlIFhTU0F1ZGl0b3Igd2hlbiByZWZsZWN0ZWQgWFNTIAorICogaXMgZW5j
b3VudGVyZWQgaW4gdGhlIHBhZ2UuIFRoZSBzdHJpbmcgaXMgdGVtcG9yYXJ5IHJlZmVyZW5jZSBh
bmQgc2hvdWxkIEBiIG5vdCAKKyAqIGJlIHVzZWQgYWZ0ZXIgdGhlIHNpZ25hbCBjYWxsYmFjayBy
ZXR1cm5zLiBJZiBpdCdzIHJlcXVpcmVkLCBtYWtlIGEgY29weSBvZiBpdC4KKyAqLworc3RydWN0
IF9Fd2tfRnJhbWVfWHNzX05vdGlmaWNhdGlvbiB7CisgICAgY29uc3QgY2hhciAqaW5zZWN1cmVf
dXJsOyAvKio8IGluc2VjdXJlIHVybCBvZiB0aGUgZG9jdW1lbnQgKi8KKyAgICBFaW5hX0Jvb2wg
aXNfZW50aXJlX3BhZ2VfYmxvY2tlZDsgLyoqIDwgaW5kaWNhdGVzIGlmIHRoZSBlbnRpcmUgcGFn
ZSB3YXMgYmxvY2tlZCBieSBYU1NBdWRpdG9yICovCit9OworCiAvLy8gRW51bSBjb250YWluaW5n
IGhpdCB0ZXN0IGRhdGEgdHlwZXMKIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0hJVF9URVNUX1JF
U1VMVF9DT05URVhUX0RPQ1VNRU5UID0gMSA8PCAxLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZh
dGUuaAppbmRleCA5ZWVhMjJkLi44MzRhZGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZh
dGUuaApAQCAtMjQzLDYgKzI0Myw3IEBAIHZvaWQgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfZGlz
cGxheWVkX3NldChFdmFzX09iamVjdCogZXdrRnJhbWUsIGJvb2wgaGFzRGlzcGxhCiB2b2lkIGV3
a19mcmFtZV9taXhlZF9jb250ZW50X3J1bl9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBib29s
IGhhc1J1bik7CiB2b2lkIGV3a192aWV3X21peGVkX2NvbnRlbnRfZGlzcGxheWVkX3NldChFdmFz
X09iamVjdCogZXdrVmlldywgYm9vbCBoYXNEaXNwbGF5ZWQpOwogdm9pZCBld2tfdmlld19taXhl
ZF9jb250ZW50X3J1bl9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgaGFzUnVuKTsKK3Zv
aWQgZXdrX2ZyYW1lX3hzc19kZXRlY3RlZChFdmFzX09iamVjdCogZXdrRnJhbWUsIGNvbnN0IEV3
a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9uKiB4c3NJbmZvKTsKIAogI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKIGJvb2wgZXdrX3ZpZXdfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdfb2Jq
ZWN0X2NyZWF0ZShFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19OYXRpdmVfU3VyZmFjZSogbmF0
aXZlU3VyZmFjZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a192aWV3LmNwcAppbmRleCA3YTVjZTE4Li45ODE4YzkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5jcHAKQEAgLTIwNyw2ICsyMDcsNyBAQCBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVf
RGF0YSB7CiAgICAgICAgIGJvb2wgbG9jYWxTdG9yYWdlIDogMTsKICAgICAgICAgYm9vbCBvZmZs
aW5lQXBwQ2FjaGUgOiAxOwogICAgICAgICBib29sIHBhZ2VDYWNoZSA6IDE7CisgICAgICAgIGJv
b2wgZW5hYmxlWFNTQXVkaXRvciA6IDE7CiAgICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgICBm
bG9hdCBtaW5TY2FsZTsKICAgICAgICAgICAgIGZsb2F0IG1heFNjYWxlOwpAQCAtNjY1LDYgKzY2
Niw3IEBAIHN0YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19wcml2X25ldyhF
d2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAgICAgcHJpdi0+cGFnZVNldHRpbmdzLT5z
ZXRVc2VzUGFnZUNhY2hlKHRydWUpOwogICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0VXNlc0Vu
Y29kaW5nRGV0ZWN0b3IoZmFsc2UpOwogICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0V2ViR0xF
bmFibGVkKHRydWUpOworICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJs
ZWQodHJ1ZSk7CiAKICAgICB1cmwgPSBwcml2LT5wYWdlU2V0dGluZ3MtPnVzZXJTdHlsZVNoZWV0
TG9jYXRpb24oKTsKICAgICBwcml2LT5zZXR0aW5ncy51c2VyU3R5bGVzaGVldCA9IGVpbmFfc3Ry
aW5nc2hhcmVfYWRkKHVybC5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKQEAgLTcwMSw2ICs3MDMs
NyBAQCBzdGF0aWMgRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBfZXdrX3ZpZXdfcHJpdl9uZXcoRXdr
X1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQogICAgIHByaXYtPnNldHRpbmdzLmVuYWJsZVNj
cmlwdHMgPSBwcml2LT5wYWdlU2V0dGluZ3MtPmlzU2NyaXB0RW5hYmxlZCgpOwogICAgIHByaXYt
PnNldHRpbmdzLmVuYWJsZVBsdWdpbnMgPSBwcml2LT5wYWdlU2V0dGluZ3MtPmFyZVBsdWdpbnNF
bmFibGVkKCk7CiAgICAgcHJpdi0+c2V0dGluZ3MuZW5hYmxlRnJhbWVGbGF0dGVuaW5nID0gcHJp
di0+cGFnZVNldHRpbmdzLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCk7CisgICAgcHJpdi0+c2V0
dGluZ3MuZW5hYmxlWFNTQXVkaXRvciA9IHByaXYtPnBhZ2VTZXR0aW5ncy0+eHNzQXVkaXRvckVu
YWJsZWQoKTsKICAgICBwcml2LT5zZXR0aW5ncy5zY3JpcHRzQ2FuT3BlbldpbmRvd3MgPSBwcml2
LT5wYWdlU2V0dGluZ3MtPmphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkoKTsK
ICAgICBwcml2LT5zZXR0aW5ncy5zY3JpcHRzQ2FuQ2xvc2VXaW5kb3dzID0gcHJpdi0+cGFnZVNl
dHRpbmdzLT5hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cygpOwogICAgIHByaXYtPnNldHRpbmdz
LnJlc2l6YWJsZVRleHRhcmVhcyA9IHByaXYtPnBhZ2VTZXR0aW5ncy0+dGV4dEFyZWFzQXJlUmVz
aXphYmxlKCk7CkBAIC0zOTUzLDYgKzM5NTYsMjQgQEAgdm9pZCBld2tfdmlld19zb3VwX3Nlc3Np
b25fc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBTb3VwU2Vzc2lvbiogc2Vzc2lvbikKICAgICBw
cml2LT5zb3VwU2Vzc2lvbiA9IHNlc3Npb247CiB9CiAKK0VpbmFfQm9vbCBld2tfdmlld19zZXR0
aW5nX2VuYWJsZV94c3NfYXVkaXRvcl9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7
CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIEVJTkFf
RkFMU0UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYs
IEVJTkFfRkFMU0UpOworICAgIHJldHVybiBwcml2LT5zZXR0aW5ncy5lbmFibGVYU1NBdWRpdG9y
OworfQorCit2b2lkIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX3hzc19hdWRpdG9yX3NldChFdmFz
X09iamVjdCogZXdrVmlldywgRWluYV9Cb29sIGVuYWJsZSkKK3sKKyAgICBFV0tfVklFV19TRF9H
RVQoZXdrVmlldywgc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVChzbWFydERhdGEs
IHByaXYpOworICAgIGVuYWJsZSA9ICEhZW5hYmxlOworICAgIGlmIChwcml2LT5zZXR0aW5ncy5l
bmFibGVYU1NBdWRpdG9yICE9IGVuYWJsZSkgeworICAgICAgICBwcml2LT5wYWdlU2V0dGluZ3Mt
PnNldFhTU0F1ZGl0b3JFbmFibGVkKGVuYWJsZSk7CisgICAgICAgIHByaXYtPnNldHRpbmdzLmVu
YWJsZVhTU0F1ZGl0b3IgPSBlbmFibGU7CisgICAgfQorfQorCiAjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogYm9vbCBld2tfdmlld19hY2NlbGVyYXRlZF9jb21wb3NpdGluZ19vYmpl
Y3RfY3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX05hdGl2ZV9TdXJmYWNlKiBuYXRp
dmVTdXJmYWNlLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuaAppbmRleCA3YTczMzkwLi5lZWNiOGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuaApAQCAtMjM2OCw2ICsyMzY4LDMxIEBAIEVBUEkgU291cFNlc3Npb24qIGV3a192aWV3X3Nv
dXBfc2Vzc2lvbl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICovCiBFQVBJIHZvaWQgZXdr
X3ZpZXdfc291cF9zZXNzaW9uX3NldChFdmFzX09iamVjdCAqbywgU291cFNlc3Npb24gKnNlc3Np
b24pOwogCisvKioKKyAqIFJldHVybnMgd2hldGhlciBYU1NBdWRpdG9yIGZlYXR1cmUgaXMgZW5h
YmxlZC4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBxdWVyeSB3aGV0aGVyIFhTU0F1
ZGl0b3IgZmVhdHVyZSBpcyBlbmFibGVkLgorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIGlm
IHRoZSBYU1NBdWRpdG9yIGZlYXR1cmUgaXMgZW5hYmxlZCwKKyAqICAgICAgICAgQGMgRUlOQV9G
QUxTRSBpZiBub3Qgb3Igb24gZmFpbHVyZS4KKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdf
c2V0dGluZ19lbmFibGVfeHNzX2F1ZGl0b3JfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKKwor
LyoqCisgKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBYU1NBdWRpdG9yIGZlYXR1cmUuCisgKiAKKyAq
IFRoZSBYU1NBdWRpdG9yIChjcm9zcy1zaXRlIHNjcmlwdGluZyBwcm90ZWN0aW9uKSBmZWF0dXJl
IHByb3ZpZGVzIHByb3RlY3Rpb24gCisgKiBmcm9tIHJlZmxlY3RlZCBYU1MgYXR0YWNrcyBvbiB2
dWxuZXJhYmxlIHdlYiBzaXRlcy4gSXQgbm90aWZpZXMgRnJhbWVMb2FkZXJDbGllbnQgCisgKiB3
aXRoIGRpZERldGVjdFhTUyB3aGVuIFhTUyBpcyBlbmNvdW50ZXJlZCBpbiB0aGUgcGFnZSBhbmQg
cHJvdmlkZXMgYWRkaXRpb25hbCAKKyAqIGluZm9ybWF0aW9uIG9uIHdoZXRoZXIgdGhlIGVudGly
ZSBwYWdlIHdhcyBibG9ja2VkIG9yIG9ubHkgaW5qZWN0ZWQgc2NyaXB0cyB3ZXJlIAorICogcmVt
b3ZlZC4gVGhpcyBmZWF0dXJlIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KKyAqCisgKiBAcGFyYW0g
byB2aWV3IG9iamVjdCB0byBzZXQgdGhlIFhTU0F1ZGl0b3IgZmVhdHVyZS4KKyAqIEBwYXJhbSBl
bmFibGUgQGMgRUlOQV9UUlVFIHRvIGVuYWJsZSB0aGUgWFNTQXVkaXRvciBmZWF0dXJlLAorICog
ICAgICAgIEBjIEVJTkFfRkFMU0UgdG8gZGlzYWJsZS4KKyAqLworRUFQSSB2b2lkIGV3a192aWV3
X3NldHRpbmdfZW5hYmxlX3hzc19hdWRpdG9yX3NldChFdmFzX09iamVjdCAqbywgRWluYV9Cb29s
IGVuYWJsZSk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmMxMjI5Yi4uNTMzZDU5NyAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI0IEBACisyMDEyLTA0LTExICBTdWRhcnNhbmEgTmFnaW5lbmkgIDxzdWRhcnNhbmEubmFn
aW5lbmlAbGludXguaW50ZWwuY29tPgorCisgICAgICAgIFtFRkxdIEFkZCBzZXR0aW5nIEFQSSB0
byBlbmFibGUvZGlzYWJsZSBYU1NBdWRpdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MzI4MQorCisgICAgICAgIEFkZCBtaXNzaW5nIGltcGxlbWVu
dGF0aW9uIHNldFhTU0F1ZGl0b3JFbmFibGVkIHRvIEVGTCdzIExheW91dFRlc3RDb250cm9sbGVy
CisgICAgICAgIGluIG9yZGVyIHRvIHVuc2tpcCB0ZXN0cyBpbiBodHRwL3Rlc3RzL3NlY3VyaXR5
L3hzc0F1ZGl0b3IuIEFsc28sIGNhdGNoIHRoZSBzaWduYWwgCisgICAgICAgICd4c3MsZGV0ZWN0
ZWQnIGluIERSVCB0byBlbmFibGUgYSB0ZXN0LCB3aGljaCBpcyBleHBlY3RpbmcgYSBsaW5lIGNv
bnRhaW5pbmcKKyAgICAgICAgJ2RpZERldGVjdFhTUycgaW4gdGhlIG91dHB1dCB3aGVuIHJlZmxl
Y3RlZCBYU1MgaXMgZW5jb3VudGVyZWQgaW4gdGhlIHBhZ2UuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJl
bmRlclRyZWVDaHJvbWUuY3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNyZWF0
ZVZpZXcpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uRGlkRGV0ZWN0WFNTKToK
KyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkZyYW1lQ3JlYXRlZCk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmg6CisgICAgICAgIChE
dW1wUmVuZGVyVHJlZUNocm9tZSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0xheW91
dFRlc3RDb250cm9sbGVyRWZsLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXRYU1NBdWRpdG9yRW5hYmxlZCk6CisKIDIwMTItMDQtMTAgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVzaW5nIHRrZW50K3drYXBpQCBm
b3IgQ2hyb21pdW1QdWJsaWNBcGkgbm90aWZpY2F0aW9ucy4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCmluZGV4IGZjN2JiN2QuLjFlYmJm
MTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNo
cm9tZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hy
b21lLmNwcApAQCAtMTA1LDYgKzEwNSw3IEBAIEV2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNo
cm9tZTo6Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tf
YWRkKG1haW5GcmFtZSwgImxvYWQsY29tbWl0dGVkIiwgb25GcmFtZUxvYWRDb21taXR0ZWQsIDAp
OwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChtYWluRnJhbWUsICJsb2FkLGZp
bmlzaGVkIiwgb25GcmFtZUxvYWRGaW5pc2hlZCwgMCk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRf
Y2FsbGJhY2tfYWRkKG1haW5GcmFtZSwgImxvYWQsZXJyb3IiLCBvbkZyYW1lTG9hZEVycm9yLCAw
KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQobWFpbkZyYW1lLCAieHNzLGRl
dGVjdGVkIiwgb25EaWREZXRlY3RYU1MsIDApOwogCiAgICAgcmV0dXJuIHZpZXc7CiB9CkBAIC0y
NDAsNiArMjQxLDEyIEBAIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uTG9hZFN0YXJ0ZWQo
dm9pZCosIEV2YXNfT2JqZWN0KiB2aWV3LCB2b2lkKikKICAgICAgICAgdG9wTG9hZGluZ0ZyYW1l
ID0gZnJhbWU7CiB9CiAKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uRGlkRGV0ZWN0WFNT
KHZvaWQqLCBFdmFzX09iamVjdCogdmlldywgdm9pZCopCit7CisgICAgaWYgKCFkb25lICYmIGdM
YXlvdXRUZXN0Q29udHJvbGxlci0+ZHVtcEZyYW1lTG9hZENhbGxiYWNrcygpKQorICAgICAgICBw
cmludGYoImRpZERldGVjdFhTU1xuIik7Cit9CisKIEVpbmFfQm9vbCBEdW1wUmVuZGVyVHJlZUNo
cm9tZTo6cHJvY2Vzc1dvcmsodm9pZCogZGF0YSkKIHsKICAgICBpZiAoV29ya1F1ZXVlOjpzaGFy
ZWQoKS0+cHJvY2Vzc1dvcmsoKSAmJiAhZ0xheW91dFRlc3RDb250cm9sbGVyLT53YWl0VG9EdW1w
KCkpCkBAIC0zNDYsNiArMzUzLDcgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25GcmFt
ZUNyZWF0ZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCogZXZlbnRJbmZvKQogICAgIGV2YXNf
b2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChmcmFtZSwgImxvYWQsY29tbWl0dGVkIiwgb25GcmFt
ZUxvYWRDb21taXR0ZWQsIDApOwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChm
cmFtZSwgImxvYWQsZmluaXNoZWQiLCBvbkZyYW1lTG9hZEZpbmlzaGVkLCAwKTsKICAgICBldmFz
X29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoZnJhbWUsICJsb2FkLGVycm9yIiwgb25GcmFtZUxv
YWRFcnJvciwgMCk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKGZyYW1lLCAi
eHNzLGRldGVjdGVkIiwgb25EaWREZXRlY3RYU1MsIDApOwogfQogCiB2b2lkIER1bXBSZW5kZXJU
cmVlQ2hyb21lOjpvbkZyYW1lUHJvdmlzaW9uYWxMb2FkKHZvaWQqLCBFdmFzX09iamVjdCogZnJh
bWUsIHZvaWQqKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5k
ZXJUcmVlQ2hyb21lLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuaAppbmRleCBhNTExMmNhLi5iYjkwNmQ3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaApAQCAtOTMsNiArOTMsNyBAQCBwcml2YXRl
OgogICAgIHN0YXRpYyB2b2lkIG9uRnJhbWVMb2FkRmluaXNoZWQodm9pZCosIEV2YXNfT2JqZWN0
Kiwgdm9pZCopOwogCiAgICAgc3RhdGljIHZvaWQgb25GcmFtZUxvYWRFcnJvcih2b2lkKiwgRXZh
c19PYmplY3QqLCB2b2lkKik7CisgICAgc3RhdGljIHZvaWQgb25EaWREZXRlY3RYU1Modm9pZCos
IEV2YXNfT2JqZWN0Kiwgdm9pZCopOwogfTsKIAogI2VuZGlmIC8vIER1bXBSZW5kZXJUcmVlQ2hy
b21lX2gKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29u
dHJvbGxlckVmbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRy
b2xsZXJFZmwuY3BwCmluZGV4IDg3M2FjYmEuLjZlYTFkOTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcApAQCAtMzI1LDkg
KzMyNSw5IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEphdmFTY3JpcHRDYW5BY2Nl
c3NDbGlwYm9hcmQoYm9vbCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sKQordm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQogewotICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfeHNzX2F1ZGl0b3Jf
c2V0KGJyb3dzZXItPm1haW5WaWV3KCksIGZsYWcpOwogfQogCiB2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136713</attachid>
            <date>2012-04-11 11:39:54 -0700</date>
            <delta_ts>2012-04-17 09:45:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>XSSAuditor.patch</filename>
            <type>text/plain</type>
            <size>14788</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZGZkODcxLi4xYmVlZDBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDQt
MTEgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBsaW51eC5pbnRlbC5j
b20+CisKKyAgICAgICAgW0VGTF0gQWRkIHNldHRpbmcgQVBJIHRvIGVuYWJsZS9kaXNhYmxlIFhT
U0F1ZGl0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzMjgxCisKKyAgICAgICAgVW5za2lwIHRlc3RzIGluIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNz
QXVkaXRvcgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGxhdGZvcm0vZWZsL1NraXBwZWQ6CisKIDIwMTItMDQtMTAgIENocmlzdG9waGUgRHVtZXog
IDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBEUlQgc2hvdWxk
IHN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIncyBkdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXggYzIyZjdlYS4uZjYzYTMzZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsL1NraXBwZWQKQEAgLTQwOCw5ICs0MDgsNiBAQCBwbHVnaW5zL25ldHNjYXBlLXBs
dWdpbi1zZXR3aW5kb3ctc2l6ZS0yLmh0bWwKICMgRUZMJ3MgTGF5b3V0VGVzdENvbnRyb2xsZXIg
ZG9lcyBub3QgaW1wbGVtZW50IHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQKIGVkaXRp
bmcvZXhlY0NvbW1hbmQvY2xpcGJvYXJkLWFjY2Vzcy5odG1sCiAKLSMgRUZMJ3MgTGF5b3V0VGVz
dENvbnRyb2xsZXIgZG9lcyBub3QgaW1wbGVtZW50IHNldFhTU0F1ZGl0b3JFbmFibGVkCi1odHRw
L3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IKLQogIyBFRkwncyBMYXlvdXRUZXN0Q29udHJvbGxl
ciBkb2VzIG5vdCBpbXBsZW1lbnQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMK
ICMgRUZMJ3MgTGF5b3V0VGVzdENvbnRyb2xsZXIgZG9lcyBub3QgaW1wbGVtZW50IHNldEFsbG93
QWNjZXNzRnJvbUZpbGVVUkxzCiBmYXN0L2ZpbGVzL3dvcmtlcnMvaW5saW5lLXdvcmtlci12aWEt
YmxvYi11cmwuaHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDQzZGUwNjUuLmQ2MzFiODcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMi0wNC0xMSAgU3VkYXJzYW5hIE5hZ2lu
ZW5pICA8c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNvbT4KKworICAgICAgICBbRUZM
XSBBZGQgc2V0dGluZyBBUEkgdG8gZW5hYmxlL2Rpc2FibGUgWFNTQXVkaXRvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMyODEKKworICAgICAgICBB
ZGQgc2V0dGluZyBBUEkgdG8gZW5hYmxlIG9yIGRpc2FibGUgV2ViS2l0J3MgWFNTQXVkaXRvciB0
byBwcm90ZWN0IAorICAgICAgICBmcm9tIHJlZmxlY3RpdmUgY3Jvc3Mtc2l0ZSBzY3JpcHRpbmcg
YXR0YWNrcy4gQWxzbywgZW1pdCB0aGUgc2lnbmFsIAorICAgICAgICAneHNzLGRldGVjdGVkJyBh
bmQgcHJvdmlkZSBhZGRpdGlvbiBpbmZvcm1hdGlvbiByZWNlaXZlZCBmcm9tIAorICAgICAgICBY
U1NBdWRpdG9yIHdoZW4gcmVmbGVjdGVkIFhTUyBpcyBlbmNvdW50ZXJlZCBpbiB0aGUgcGFnZS4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpkaWREZXRlY3RYU1MpOgorICAgICAgICAqIGV3ay9ld2tfZnJh
bWUuY3BwOgorICAgICAgICAoZXdrX2ZyYW1lX3hzc19kZXRlY3RlZCk6CisgICAgICAgICogZXdr
L2V3a19mcmFtZS5oOgorICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgorICAgICAgICAqIGV3
ay9ld2tfdmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKToKKyAgICAg
ICAgKF9ld2tfdmlld19wcml2X25ldyk6CisgICAgICAgIChld2tfdmlld19zZXR0aW5nX2VuYWJs
ZV94c3NfYXVkaXRvcl9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfeHNz
X2F1ZGl0b3Jfc2V0KToKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwogMjAxMi0wNC0xMCAg
U3VkYXJzYW5hIE5hZ2luZW5pICA8c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNvbT4K
IAogICAgICAgICBbRUZMXSBMYXlvdXRUZXN0Q29udHJvbGxlciBuZWVkcyBpbXBsZW1lbnRhdGlv
biBvZiBhZGRVc2VyU3R5bGVTaGVldApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IDE2OTkxOWEuLjFi
MDM3YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTQ5Niw5ICs0OTYsMTIgQEAgdm9pZCBGcmFt
ZUxvYWRlckNsaWVudEVmbDo6ZGlkUnVuSW5zZWN1cmVDb250ZW50KFNlY3VyaXR5T3JpZ2luKiwg
Y29uc3QgS1VSTCYpCiAgICAgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVuX3NldChtX2ZyYW1l
LCB0cnVlKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlkRGV0ZWN0WFNTKGNv
bnN0IEtVUkwmLCBib29sKQordm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlkRGV0ZWN0WFNT
KGNvbnN0IEtVUkwmIGluc2VjdXJlVVJMLCBib29sIGRpZEJsb2NrRW50aXJlUGFnZSkKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIENTdHJpbmcgY3MgPSBpbnNlY3VyZVVSTC5zdHJpbmco
KS51dGY4KCk7CisgICAgRXdrX0ZyYW1lX1hzc19Ob3RpZmljYXRpb24geHNzSW5mbyA9IHsgY3Mu
ZGF0YSgpLCBkaWRCbG9ja0VudGlyZVBhZ2UgfTsKKworICAgIGV3a19mcmFtZV94c3NfZGV0ZWN0
ZWQobV9mcmFtZSwgJnhzc0luZm8pOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpt
YWtlUmVwcmVzZW50YXRpb24oRG9jdW1lbnRMb2FkZXIqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2Zy
YW1lLmNwcAppbmRleCA1YzlmNzEzLi43ZTYxNThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX2ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2Zy
YW1lLmNwcApAQCAtMTc3NSw2ICsxNzc1LDIwIEBAIHZvaWQgZXdrX2ZyYW1lX21peGVkX2NvbnRl
bnRfcnVuX3NldChFdmFzX09iamVjdCogZXdrRnJhbWUsIGJvb2wgaGFzUnVuKQogICAgIH0KIH0K
IAorLyoqCisgKiBAaW50ZXJuYWwKKyAqIFJlcG9ydHMgdGhhdCByZWZsZWN0ZWQgWFNTIGlzIGVu
Y291bnRlcmVkIGluIHRoZSBwYWdlIGFuZCBzdXBwcmVzc2VkLgorICoKKyAqIEBwYXJhbSB4c3NJ
bmZvIEluZm9ybWF0aW9uIHJlY2VpdmVkIGZyb20gdGhlIFhTU0F1ZGl0b3Igd2hlbiBYU1MgaXMg
CisgKiBlbmNvdW50ZXJlZCBpbiB0aGUgcGFnZS4gCisgKgorICogRW1pdHMgc2lnbmFsOiAieHNz
LGRldGVjdGVkIiB3aXRoIHBvaW50ZXIgdG8gRXdrX0ZyYW1lX1hzc19Ob3RpZmljYXRpb24uCisg
Ki8KK3ZvaWQgZXdrX2ZyYW1lX3hzc19kZXRlY3RlZChFdmFzX09iamVjdCogZXdrRnJhbWUsIGNv
bnN0IEV3a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9uKiB4c3NJbmZvKQoreworICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrRnJhbWUsICJ4c3MsZGV0ZWN0ZWQiLCAodm9pZCop
eHNzSW5mbyk7Cit9CisKIG5hbWVzcGFjZSBFV0tQcml2YXRlIHsKIAogV2ViQ29yZTo6RnJhbWUq
IGNvcmVGcmFtZShjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2ZyYW1lLmgKaW5kZXggZGQzYThkMy4uZGFjY2ZjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJh
bWUuaApAQCAtNjMsNiArNjMsNyBAQAogICogIC0gInN0YXRlLHNhdmUiLCB2b2lkOiBmcmFtZSdz
IHN0YXRlIHdpbGwgYmUgc2F2ZWQgYXMgYSBoaXN0b3J5IGl0ZW0uCiAgKiAgLSAidGl0bGUsY2hh
bmdlZCIsIGNvbnN0IGNoYXIqOiB0aXRsZSBvZiB0aGUgbWFpbiBmcmFtZSB3YXMgY2hhbmdlZC4K
ICAqICAtICJ1cmksY2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB1cmkgb2YgdGhlIG1haW4gZnJhbWUg
d2FzIGNoYW5nZWQuCisgKiAgLSAieHNzLGRldGVjdGVkIiwgRXdrX0ZyYW1lX1hzc19Ob3RpZmlj
YXRpb24qOiByZWZsZWN0ZWQgWFNTIGlzIGVuY291bnRlcmVkIGluIHRoZSBwYWdlIGFuZCBzdXBw
cmVzc2VkLgogICovCiAKICNpZm5kZWYgZXdrX2ZyYW1lX2gKQEAgLTExMSw2ICsxMTIsMjEgQEAg
c3RydWN0IF9Fd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCB7CiAgICAgRWluYV9Cb29sIGlzX21h
aW5fZnJhbWVfcmVxdWVzdDsgLyoqIDwgaW5kaWNhdGVzIGlmIHRoZSByZXF1ZXN0IGlzIGZvciB0
aGUgbWFpbiBmcmFtZSAqLwogfTsKIAorLy8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEV3a19G
cmFtZV9Yc3NfTm90aWZpY2F0aW9uLgordHlwZWRlZiBzdHJ1Y3QgX0V3a19GcmFtZV9Yc3NfTm90
aWZpY2F0aW9uIEV3a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9uOworCisvKioKKyAqIEBicmllZiAg
IFN0cnVjdHVyZSB1c2VkIHRvIHJlcG9ydCByZWZsZWN0ZWQgWFNTIGlzIGVuY291bnRlcmVkIGlu
IHRoZSBwYWdlLgorICoKKyAqIFRoaXMgc3RydWN0dXJlIGNvbnRhaW5zIGluZm9ybWF0aW9uIHJl
Y2VpdmVkIGZyb20gdGhlIFhTU0F1ZGl0b3Igd2hlbiByZWZsZWN0ZWQgWFNTIAorICogaXMgZW5j
b3VudGVyZWQgaW4gdGhlIHBhZ2UuIFRoZSBzdHJpbmcgaXMgdGVtcG9yYXJ5IHJlZmVyZW5jZSBh
bmQgc2hvdWxkIEBiIG5vdCAKKyAqIGJlIHVzZWQgYWZ0ZXIgdGhlIHNpZ25hbCBjYWxsYmFjayBy
ZXR1cm5zLiBJZiBpdCdzIHJlcXVpcmVkLCBtYWtlIGEgY29weSBvZiBpdC4KKyAqLworc3RydWN0
IF9Fd2tfRnJhbWVfWHNzX05vdGlmaWNhdGlvbiB7CisgICAgY29uc3QgY2hhciAqaW5zZWN1cmVf
dXJsOyAvKio8IGluc2VjdXJlIHVybCBvZiB0aGUgZG9jdW1lbnQgKi8KKyAgICBFaW5hX0Jvb2wg
aXNfZW50aXJlX3BhZ2VfYmxvY2tlZDsgLyoqIDwgaW5kaWNhdGVzIGlmIHRoZSBlbnRpcmUgcGFn
ZSB3YXMgYmxvY2tlZCBieSBYU1NBdWRpdG9yICovCit9OworCiAvLy8gRW51bSBjb250YWluaW5n
IGhpdCB0ZXN0IGRhdGEgdHlwZXMKIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0hJVF9URVNUX1JF
U1VMVF9DT05URVhUX0RPQ1VNRU5UID0gMSA8PCAxLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZh
dGUuaAppbmRleCA5ZWVhMjJkLi44MzRhZGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZh
dGUuaApAQCAtMjQzLDYgKzI0Myw3IEBAIHZvaWQgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfZGlz
cGxheWVkX3NldChFdmFzX09iamVjdCogZXdrRnJhbWUsIGJvb2wgaGFzRGlzcGxhCiB2b2lkIGV3
a19mcmFtZV9taXhlZF9jb250ZW50X3J1bl9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBib29s
IGhhc1J1bik7CiB2b2lkIGV3a192aWV3X21peGVkX2NvbnRlbnRfZGlzcGxheWVkX3NldChFdmFz
X09iamVjdCogZXdrVmlldywgYm9vbCBoYXNEaXNwbGF5ZWQpOwogdm9pZCBld2tfdmlld19taXhl
ZF9jb250ZW50X3J1bl9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgaGFzUnVuKTsKK3Zv
aWQgZXdrX2ZyYW1lX3hzc19kZXRlY3RlZChFdmFzX09iamVjdCogZXdrRnJhbWUsIGNvbnN0IEV3
a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9uKiB4c3NJbmZvKTsKIAogI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKIGJvb2wgZXdrX3ZpZXdfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdfb2Jq
ZWN0X2NyZWF0ZShFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19OYXRpdmVfU3VyZmFjZSogbmF0
aXZlU3VyZmFjZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a192aWV3LmNwcAppbmRleCA3YTVjZTE4Li45ODE4YzkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5jcHAKQEAgLTIwNyw2ICsyMDcsNyBAQCBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVf
RGF0YSB7CiAgICAgICAgIGJvb2wgbG9jYWxTdG9yYWdlIDogMTsKICAgICAgICAgYm9vbCBvZmZs
aW5lQXBwQ2FjaGUgOiAxOwogICAgICAgICBib29sIHBhZ2VDYWNoZSA6IDE7CisgICAgICAgIGJv
b2wgZW5hYmxlWFNTQXVkaXRvciA6IDE7CiAgICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgICBm
bG9hdCBtaW5TY2FsZTsKICAgICAgICAgICAgIGZsb2F0IG1heFNjYWxlOwpAQCAtNjY1LDYgKzY2
Niw3IEBAIHN0YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19wcml2X25ldyhF
d2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAgICAgcHJpdi0+cGFnZVNldHRpbmdzLT5z
ZXRVc2VzUGFnZUNhY2hlKHRydWUpOwogICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0VXNlc0Vu
Y29kaW5nRGV0ZWN0b3IoZmFsc2UpOwogICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0V2ViR0xF
bmFibGVkKHRydWUpOworICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJs
ZWQodHJ1ZSk7CiAKICAgICB1cmwgPSBwcml2LT5wYWdlU2V0dGluZ3MtPnVzZXJTdHlsZVNoZWV0
TG9jYXRpb24oKTsKICAgICBwcml2LT5zZXR0aW5ncy51c2VyU3R5bGVzaGVldCA9IGVpbmFfc3Ry
aW5nc2hhcmVfYWRkKHVybC5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKQEAgLTcwMSw2ICs3MDMs
NyBAQCBzdGF0aWMgRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBfZXdrX3ZpZXdfcHJpdl9uZXcoRXdr
X1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQogICAgIHByaXYtPnNldHRpbmdzLmVuYWJsZVNj
cmlwdHMgPSBwcml2LT5wYWdlU2V0dGluZ3MtPmlzU2NyaXB0RW5hYmxlZCgpOwogICAgIHByaXYt
PnNldHRpbmdzLmVuYWJsZVBsdWdpbnMgPSBwcml2LT5wYWdlU2V0dGluZ3MtPmFyZVBsdWdpbnNF
bmFibGVkKCk7CiAgICAgcHJpdi0+c2V0dGluZ3MuZW5hYmxlRnJhbWVGbGF0dGVuaW5nID0gcHJp
di0+cGFnZVNldHRpbmdzLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCk7CisgICAgcHJpdi0+c2V0
dGluZ3MuZW5hYmxlWFNTQXVkaXRvciA9IHByaXYtPnBhZ2VTZXR0aW5ncy0+eHNzQXVkaXRvckVu
YWJsZWQoKTsKICAgICBwcml2LT5zZXR0aW5ncy5zY3JpcHRzQ2FuT3BlbldpbmRvd3MgPSBwcml2
LT5wYWdlU2V0dGluZ3MtPmphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkoKTsK
ICAgICBwcml2LT5zZXR0aW5ncy5zY3JpcHRzQ2FuQ2xvc2VXaW5kb3dzID0gcHJpdi0+cGFnZVNl
dHRpbmdzLT5hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cygpOwogICAgIHByaXYtPnNldHRpbmdz
LnJlc2l6YWJsZVRleHRhcmVhcyA9IHByaXYtPnBhZ2VTZXR0aW5ncy0+dGV4dEFyZWFzQXJlUmVz
aXphYmxlKCk7CkBAIC0zOTUzLDYgKzM5NTYsMjQgQEAgdm9pZCBld2tfdmlld19zb3VwX3Nlc3Np
b25fc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBTb3VwU2Vzc2lvbiogc2Vzc2lvbikKICAgICBw
cml2LT5zb3VwU2Vzc2lvbiA9IHNlc3Npb247CiB9CiAKK0VpbmFfQm9vbCBld2tfdmlld19zZXR0
aW5nX2VuYWJsZV94c3NfYXVkaXRvcl9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7
CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIEVJTkFf
RkFMU0UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYs
IEVJTkFfRkFMU0UpOworICAgIHJldHVybiBwcml2LT5zZXR0aW5ncy5lbmFibGVYU1NBdWRpdG9y
OworfQorCit2b2lkIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX3hzc19hdWRpdG9yX3NldChFdmFz
X09iamVjdCogZXdrVmlldywgRWluYV9Cb29sIGVuYWJsZSkKK3sKKyAgICBFV0tfVklFV19TRF9H
RVQoZXdrVmlldywgc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVChzbWFydERhdGEs
IHByaXYpOworICAgIGVuYWJsZSA9ICEhZW5hYmxlOworICAgIGlmIChwcml2LT5zZXR0aW5ncy5l
bmFibGVYU1NBdWRpdG9yICE9IGVuYWJsZSkgeworICAgICAgICBwcml2LT5wYWdlU2V0dGluZ3Mt
PnNldFhTU0F1ZGl0b3JFbmFibGVkKGVuYWJsZSk7CisgICAgICAgIHByaXYtPnNldHRpbmdzLmVu
YWJsZVhTU0F1ZGl0b3IgPSBlbmFibGU7CisgICAgfQorfQorCiAjaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogYm9vbCBld2tfdmlld19hY2NlbGVyYXRlZF9jb21wb3NpdGluZ19vYmpl
Y3RfY3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX05hdGl2ZV9TdXJmYWNlKiBuYXRp
dmVTdXJmYWNlLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuaAppbmRleCA3YTczMzkwLi44ZDFhNzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuaApAQCAtMjM2OCw2ICsyMzY4LDMxIEBAIEVBUEkgU291cFNlc3Npb24qIGV3a192aWV3X3Nv
dXBfc2Vzc2lvbl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICovCiBFQVBJIHZvaWQgZXdr
X3ZpZXdfc291cF9zZXNzaW9uX3NldChFdmFzX09iamVjdCAqbywgU291cFNlc3Npb24gKnNlc3Np
b24pOwogCisvKioKKyAqIFJldHVybnMgd2hldGhlciBYU1NBdWRpdG9yIGZlYXR1cmUgaXMgZW5h
YmxlZC4KKyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBxdWVyeSB3aGV0aGVyIFhTU0F1
ZGl0b3IgZmVhdHVyZSBpcyBlbmFibGVkLgorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIGlm
IHRoZSBYU1NBdWRpdG9yIGZlYXR1cmUgaXMgZW5hYmxlZCwKKyAqICAgICAgICAgQGMgRUlOQV9G
QUxTRSBpZiBub3Qgb3Igb24gZmFpbHVyZS4KKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdf
c2V0dGluZ19lbmFibGVfeHNzX2F1ZGl0b3JfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKKwor
LyoqCisgKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBYU1NBdWRpdG9yIGZlYXR1cmUuCisgKiAKKyAq
IFRoZSBYU1NBdWRpdG9yIChjcm9zcy1zaXRlIHNjcmlwdGluZyBwcm90ZWN0aW9uKSBmZWF0dXJl
IHByb3ZpZGVzIHByb3RlY3Rpb24gCisgKiBmcm9tIHJlZmxlY3RlZCBYU1MgYXR0YWNrcyBvbiB2
dWxuZXJhYmxlIHdlYiBzaXRlcy4gV2hlbiBYU1MgaXMgZW5jb3VudGVyZWQKKyAqIGluIHRoZSBw
YWdlLCBmcmFtZSBzZW5kcyBhIHNpZ25hbCAieHNzLGRldGVjdGVkIiB3aXRoIGFkZGl0aW9uYWwg
aW5mb3JtYXRpb24gCisgKiBvbiB3aGV0aGVyIHRoZSBlbnRpcmUgcGFnZSB3YXMgYmxvY2tlZCBv
ciBvbmx5IGluamVjdGVkIHNjcmlwdHMgd2VyZSByZW1vdmVkLiAKKyAqIFRoaXMgZmVhdHVyZSBp
cyBlbmFibGVkIGJ5IGRlZmF1bHQuCisgKgorICogQHBhcmFtIG8gdmlldyBvYmplY3QgdG8gc2V0
IHRoZSBYU1NBdWRpdG9yIGZlYXR1cmUuCisgKiBAcGFyYW0gZW5hYmxlIEBjIEVJTkFfVFJVRSB0
byBlbmFibGUgdGhlIFhTU0F1ZGl0b3IgZmVhdHVyZSwKKyAqICAgICAgICBAYyBFSU5BX0ZBTFNF
IHRvIGRpc2FibGUuCisgKi8KK0VBUEkgdm9pZCBld2tfdmlld19zZXR0aW5nX2VuYWJsZV94c3Nf
YXVkaXRvcl9zZXQoRXZhc19PYmplY3QgKm8sIEVpbmFfQm9vbCBlbmFibGUpOworCiAjaWZkZWYg
X19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IGJjMTIyOWIuLjllNTM4MTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0wNC0x
MSAgU3VkYXJzYW5hIE5hZ2luZW5pICA8c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNv
bT4KKworICAgICAgICBbRUZMXSBBZGQgc2V0dGluZyBBUEkgdG8gZW5hYmxlL2Rpc2FibGUgWFNT
QXVkaXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODMyODEKKworICAgICAgICBBZGQgbWlzc2luZyBpbXBsZW1lbnRhdGlvbiBzZXRYU1NBdWRpdG9y
RW5hYmxlZCB0byBFRkwncyBMYXlvdXRUZXN0Q29udHJvbGxlcgorICAgICAgICBpbiBvcmRlciB0
byB1bnNraXAgdGVzdHMgaW4gaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yLiBBbHNvLCBj
YXRjaCB0aGUgc2lnbmFsIAorICAgICAgICAneHNzLGRldGVjdGVkJyBpbiBEUlQgdG8gZW5hYmxl
IGEgdGVzdCwgd2hpY2ggaXMgZXhwZWN0aW5nIGEgbGluZSBjb250YWluaW5nCisgICAgICAgICdk
aWREZXRlY3RYU1MnIGluIHRoZSBvdXRwdXQgd2hlbiByZWZsZWN0ZWQgWFNTIGlzIGVuY291bnRl
cmVkIGluIHRoZSBwYWdlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcDoK
KyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KToKKyAgICAgICAgKER1
bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkRpZERldGVjdFhTUyk6CisgICAgICAgIChEdW1wUmVuZGVy
VHJlZUNocm9tZTo6b25GcmFtZUNyZWF0ZWQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Vm
bC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWUp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5j
cHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQp
OgorCiAyMDEyLTA0LTEwICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLiBVc2luZyB0a2VudCt3a2FwaUAgZm9yIENocm9taXVtUHVibGljQXBp
IG5vdGlmaWNhdGlvbnMuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5k
ZXJUcmVlQ2hyb21lLmNwcAppbmRleCBmYzdiYjdkLi4xZWJiZjE0IDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKQEAgLTEwNSw2ICsx
MDUsNyBAQCBFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNyZWF0ZVZpZXcoKSBj
b25zdAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChtYWluRnJhbWUsICJsb2Fk
LGNvbW1pdHRlZCIsIG9uRnJhbWVMb2FkQ29tbWl0dGVkLCAwKTsKICAgICBldmFzX29iamVjdF9z
bWFydF9jYWxsYmFja19hZGQobWFpbkZyYW1lLCAibG9hZCxmaW5pc2hlZCIsIG9uRnJhbWVMb2Fk
RmluaXNoZWQsIDApOwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChtYWluRnJh
bWUsICJsb2FkLGVycm9yIiwgb25GcmFtZUxvYWRFcnJvciwgMCk7CisgICAgZXZhc19vYmplY3Rf
c21hcnRfY2FsbGJhY2tfYWRkKG1haW5GcmFtZSwgInhzcyxkZXRlY3RlZCIsIG9uRGlkRGV0ZWN0
WFNTLCAwKTsKIAogICAgIHJldHVybiB2aWV3OwogfQpAQCAtMjQwLDYgKzI0MSwxMiBAQCB2b2lk
IER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkxvYWRTdGFydGVkKHZvaWQqLCBFdmFzX09iamVjdCog
dmlldywgdm9pZCopCiAgICAgICAgIHRvcExvYWRpbmdGcmFtZSA9IGZyYW1lOwogfQogCit2b2lk
IER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkRpZERldGVjdFhTUyh2b2lkKiwgRXZhc19PYmplY3Qq
IHZpZXcsIHZvaWQqKQoreworICAgIGlmICghZG9uZSAmJiBnTGF5b3V0VGVzdENvbnRyb2xsZXIt
PmR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKSkKKyAgICAgICAgcHJpbnRmKCJkaWREZXRlY3RYU1Nc
biIpOworfQorCiBFaW5hX0Jvb2wgRHVtcFJlbmRlclRyZWVDaHJvbWU6OnByb2Nlc3NXb3JrKHZv
aWQqIGRhdGEpCiB7CiAgICAgaWYgKFdvcmtRdWV1ZTo6c2hhcmVkKCktPnByb2Nlc3NXb3JrKCkg
JiYgIWdMYXlvdXRUZXN0Q29udHJvbGxlci0+d2FpdFRvRHVtcCgpKQpAQCAtMzQ2LDYgKzM1Myw3
IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uRnJhbWVDcmVhdGVkKHZvaWQqLCBFdmFz
X09iamVjdCosIHZvaWQqIGV2ZW50SW5mbykKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFj
a19hZGQoZnJhbWUsICJsb2FkLGNvbW1pdHRlZCIsIG9uRnJhbWVMb2FkQ29tbWl0dGVkLCAwKTsK
ICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoZnJhbWUsICJsb2FkLGZpbmlzaGVk
Iiwgb25GcmFtZUxvYWRGaW5pc2hlZCwgMCk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJh
Y2tfYWRkKGZyYW1lLCAibG9hZCxlcnJvciIsIG9uRnJhbWVMb2FkRXJyb3IsIDApOworICAgIGV2
YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChmcmFtZSwgInhzcyxkZXRlY3RlZCIsIG9uRGlk
RGV0ZWN0WFNTLCAwKTsKIH0KIAogdm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25GcmFtZVBy
b3Zpc2lvbmFsTG9hZCh2b2lkKiwgRXZhc19PYmplY3QqIGZyYW1lLCB2b2lkKikKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgKaW5kZXggYTUxMTJj
YS4uYmI5MDZkNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5k
ZXJUcmVlQ2hyb21lLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJU
cmVlQ2hyb21lLmgKQEAgLTkzLDYgKzkzLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBv
bkZyYW1lTG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKIAogICAgIHN0
YXRpYyB2b2lkIG9uRnJhbWVMb2FkRXJyb3Iodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwor
ICAgIHN0YXRpYyB2b2lkIG9uRGlkRGV0ZWN0WFNTKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQq
KTsKIH07CiAKICNlbmRpZiAvLyBEdW1wUmVuZGVyVHJlZUNocm9tZV9oCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAppbmRleCA4
NzNhY2JhLi42ZWExZDk3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5
b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9M
YXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKQEAgLTMyNSw5ICszMjUsOSBAQCB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKGJvb2wpCiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0
WFNTQXVkaXRvckVuYWJsZWQoYm9vbCkKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhT
U0F1ZGl0b3JFbmFibGVkKGJvb2wgZmxhZykKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IGV3a192aWV3X3NldHRpbmdfZW5hYmxlX3hzc19hdWRpdG9yX3NldChicm93c2VyLT5tYWluVmll
dygpLCBmbGFnKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZChib29sIGZsYWcpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137550</attachid>
            <date>2012-04-17 09:45:25 -0700</date>
            <delta_ts>2012-04-17 12:57:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>XSSAuditor.patch</filename>
            <type>text/plain</type>
            <size>14697</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwODBhNGUwLi40ZjM0YjU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDQt
MTcgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBsaW51eC5pbnRlbC5j
b20+CisKKyAgICAgICAgW0VGTF0gQWRkIHNldHRpbmcgQVBJIHRvIGVuYWJsZS9kaXNhYmxlIFhT
U0F1ZGl0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzMjgxCisKKyAgICAgICAgVW5za2lwIHRlc3RzIGluIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNz
QXVkaXRvcgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGxhdGZvcm0vZWZsL1NraXBwZWQ6CisKIDIwMTItMDQtMTcgIENocmlzdG9waGUgRHVtZXog
IDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBEUlQgc2hvdWxk
IHN1cHBvcnQgTGF5b3V0VGVzdENvbnRyb2xsZXIncyBkdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXggYmY4NTk5MS4uMmJhZWRiOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsL1NraXBwZWQKQEAgLTQwMyw5ICs0MDMsNiBAQCBwbHVnaW5zL25ldHNjYXBlLXBs
dWdpbi1zZXR3aW5kb3ctc2l6ZS0yLmh0bWwKICMgRUZMJ3MgTGF5b3V0VGVzdENvbnRyb2xsZXIg
ZG9lcyBub3QgaW1wbGVtZW50IHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQKIGVkaXRp
bmcvZXhlY0NvbW1hbmQvY2xpcGJvYXJkLWFjY2Vzcy5odG1sCiAKLSMgRUZMJ3MgTGF5b3V0VGVz
dENvbnRyb2xsZXIgZG9lcyBub3QgaW1wbGVtZW50IHNldFhTU0F1ZGl0b3JFbmFibGVkCi1odHRw
L3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IKLQogIyBFRkwncyBMYXlvdXRUZXN0Q29udHJvbGxl
ciBkb2VzIG5vdCBpbXBsZW1lbnQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMK
ICMgRUZMJ3MgTGF5b3V0VGVzdENvbnRyb2xsZXIgZG9lcyBub3QgaW1wbGVtZW50IHNldEFsbG93
QWNjZXNzRnJvbUZpbGVVUkxzCiBmYXN0L2ZpbGVzL3dvcmtlcnMvaW5saW5lLXdvcmtlci12aWEt
YmxvYi11cmwuaHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IGI3ZWQzOWYuLjc2MmU5Y2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMi0wNC0xNyAgU3VkYXJzYW5hIE5hZ2lu
ZW5pICA8c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNvbT4KKworICAgICAgICBbRUZM
XSBBZGQgc2V0dGluZyBBUEkgdG8gZW5hYmxlL2Rpc2FibGUgWFNTQXVkaXRvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMyODEKKworICAgICAgICBB
ZGQgc2V0dGluZyBBUEkgdG8gZW5hYmxlIG9yIGRpc2FibGUgV2ViS2l0J3MgWFNTQXVkaXRvciB0
byBwcm90ZWN0IAorICAgICAgICBmcm9tIHJlZmxlY3RpdmUgY3Jvc3Mtc2l0ZSBzY3JpcHRpbmcg
YXR0YWNrcy4gQWxzbywgZW1pdCB0aGUgc2lnbmFsIAorICAgICAgICAneHNzLGRldGVjdGVkJyBh
bmQgcHJvdmlkZSBhZGRpdGlvbiBpbmZvcm1hdGlvbiByZWNlaXZlZCBmcm9tIAorICAgICAgICBY
U1NBdWRpdG9yIHdoZW4gcmVmbGVjdGVkIFhTUyBpcyBlbmNvdW50ZXJlZCBpbiB0aGUgcGFnZS4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lTG9hZGVyQ2xpZW50RWZsOjpkaWREZXRlY3RYU1MpOgorICAgICAgICAqIGV3ay9ld2tfZnJh
bWUuY3BwOgorICAgICAgICAoZXdrX2ZyYW1lX3hzc19kZXRlY3RlZCk6CisgICAgICAgICogZXdr
L2V3a19mcmFtZS5oOgorICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgorICAgICAgICAqIGV3
ay9ld2tfdmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKToKKyAgICAg
ICAgKF9ld2tfdmlld19wcml2X25ldyk6CisgICAgICAgIChld2tfdmlld19zZXR0aW5nX2VuYWJs
ZV94c3NfYXVkaXRvcl9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfeHNz
X2F1ZGl0b3Jfc2V0KToKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwogMjAxMi0wNC0xNyAg
Q2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAg
IFtFRkxdIERSVCBzaG91bGQgc3VwcG9ydCBMYXlvdXRUZXN0Q29udHJvbGxlcidzIGR1bXBGcmFt
ZUxvYWRDYWxsYmFja3MoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IDY3OGNkYTUuLjE5NjEwNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTUwNSw5ICs1MDUsMTIgQEAgdm9pZCBGcmFtZUxvYWRl
ckNsaWVudEVmbDo6ZGlkUnVuSW5zZWN1cmVDb250ZW50KFNlY3VyaXR5T3JpZ2luKiwgY29uc3Qg
S1VSTCYpCiAgICAgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVuX3NldChtX2ZyYW1lLCB0cnVl
KTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlkRGV0ZWN0WFNTKGNvbnN0IEtV
UkwmLCBib29sKQordm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlkRGV0ZWN0WFNTKGNvbnN0
IEtVUkwmIGluc2VjdXJlVVJMLCBib29sIGRpZEJsb2NrRW50aXJlUGFnZSkKIHsKLSAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIENTdHJpbmcgY3MgPSBpbnNlY3VyZVVSTC5zdHJpbmcoKS51dGY4
KCk7CisgICAgRXdrX0ZyYW1lX1hzc19Ob3RpZmljYXRpb24geHNzSW5mbyA9IHsgY3MuZGF0YSgp
LCBkaWRCbG9ja0VudGlyZVBhZ2UgfTsKKworICAgIGV3a19mcmFtZV94c3NfZGV0ZWN0ZWQobV9m
cmFtZSwgJnhzc0luZm8pOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjptYWtlUmVw
cmVzZW50YXRpb24oRG9jdW1lbnRMb2FkZXIqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19mcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNw
cAppbmRleCA4ZTA3NzkyLi4wZDM1YjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX2ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNw
cApAQCAtMTc3NSw2ICsxNzc1LDIwIEBAIHZvaWQgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVu
X3NldChFdmFzX09iamVjdCogZXdrRnJhbWUsIGJvb2wgaGFzUnVuKQogICAgIH0KIH0KIAorLyoq
CisgKiBAaW50ZXJuYWwKKyAqIFJlcG9ydHMgdGhhdCByZWZsZWN0ZWQgWFNTIGlzIGVuY291bnRl
cmVkIGluIHRoZSBwYWdlIGFuZCBzdXBwcmVzc2VkLgorICoKKyAqIEBwYXJhbSB4c3NJbmZvIElu
Zm9ybWF0aW9uIHJlY2VpdmVkIGZyb20gdGhlIFhTU0F1ZGl0b3Igd2hlbiBYU1MgaXMgCisgKiBl
bmNvdW50ZXJlZCBpbiB0aGUgcGFnZS4gCisgKgorICogRW1pdHMgc2lnbmFsOiAieHNzLGRldGVj
dGVkIiB3aXRoIHBvaW50ZXIgdG8gRXdrX0ZyYW1lX1hzc19Ob3RpZmljYXRpb24uCisgKi8KK3Zv
aWQgZXdrX2ZyYW1lX3hzc19kZXRlY3RlZChFdmFzX09iamVjdCogZXdrRnJhbWUsIGNvbnN0IEV3
a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9uKiB4c3NJbmZvKQoreworICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2NhbGwoZXdrRnJhbWUsICJ4c3MsZGV0ZWN0ZWQiLCAodm9pZCopeHNzSW5m
byk7Cit9CisKIG5hbWVzcGFjZSBFV0tQcml2YXRlIHsKIAogV2ViQ29yZTo6RnJhbWUqIGNvcmVG
cmFtZShjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1l
LmgKaW5kZXggZGQzYThkMy4uZGFjY2ZjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaApA
QCAtNjMsNiArNjMsNyBAQAogICogIC0gInN0YXRlLHNhdmUiLCB2b2lkOiBmcmFtZSdzIHN0YXRl
IHdpbGwgYmUgc2F2ZWQgYXMgYSBoaXN0b3J5IGl0ZW0uCiAgKiAgLSAidGl0bGUsY2hhbmdlZCIs
IGNvbnN0IGNoYXIqOiB0aXRsZSBvZiB0aGUgbWFpbiBmcmFtZSB3YXMgY2hhbmdlZC4KICAqICAt
ICJ1cmksY2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB1cmkgb2YgdGhlIG1haW4gZnJhbWUgd2FzIGNo
YW5nZWQuCisgKiAgLSAieHNzLGRldGVjdGVkIiwgRXdrX0ZyYW1lX1hzc19Ob3RpZmljYXRpb24q
OiByZWZsZWN0ZWQgWFNTIGlzIGVuY291bnRlcmVkIGluIHRoZSBwYWdlIGFuZCBzdXBwcmVzc2Vk
LgogICovCiAKICNpZm5kZWYgZXdrX2ZyYW1lX2gKQEAgLTExMSw2ICsxMTIsMjEgQEAgc3RydWN0
IF9Fd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCB7CiAgICAgRWluYV9Cb29sIGlzX21haW5fZnJh
bWVfcmVxdWVzdDsgLyoqIDwgaW5kaWNhdGVzIGlmIHRoZSByZXF1ZXN0IGlzIGZvciB0aGUgbWFp
biBmcmFtZSAqLwogfTsKIAorLy8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEV3a19GcmFtZV9Y
c3NfTm90aWZpY2F0aW9uLgordHlwZWRlZiBzdHJ1Y3QgX0V3a19GcmFtZV9Yc3NfTm90aWZpY2F0
aW9uIEV3a19GcmFtZV9Yc3NfTm90aWZpY2F0aW9uOworCisvKioKKyAqIEBicmllZiAgIFN0cnVj
dHVyZSB1c2VkIHRvIHJlcG9ydCByZWZsZWN0ZWQgWFNTIGlzIGVuY291bnRlcmVkIGluIHRoZSBw
YWdlLgorICoKKyAqIFRoaXMgc3RydWN0dXJlIGNvbnRhaW5zIGluZm9ybWF0aW9uIHJlY2VpdmVk
IGZyb20gdGhlIFhTU0F1ZGl0b3Igd2hlbiByZWZsZWN0ZWQgWFNTIAorICogaXMgZW5jb3VudGVy
ZWQgaW4gdGhlIHBhZ2UuIFRoZSBzdHJpbmcgaXMgdGVtcG9yYXJ5IHJlZmVyZW5jZSBhbmQgc2hv
dWxkIEBiIG5vdCAKKyAqIGJlIHVzZWQgYWZ0ZXIgdGhlIHNpZ25hbCBjYWxsYmFjayByZXR1cm5z
LiBJZiBpdCdzIHJlcXVpcmVkLCBtYWtlIGEgY29weSBvZiBpdC4KKyAqLworc3RydWN0IF9Fd2tf
RnJhbWVfWHNzX05vdGlmaWNhdGlvbiB7CisgICAgY29uc3QgY2hhciAqaW5zZWN1cmVfdXJsOyAv
Kio8IGluc2VjdXJlIHVybCBvZiB0aGUgZG9jdW1lbnQgKi8KKyAgICBFaW5hX0Jvb2wgaXNfZW50
aXJlX3BhZ2VfYmxvY2tlZDsgLyoqIDwgaW5kaWNhdGVzIGlmIHRoZSBlbnRpcmUgcGFnZSB3YXMg
YmxvY2tlZCBieSBYU1NBdWRpdG9yICovCit9OworCiAvLy8gRW51bSBjb250YWluaW5nIGhpdCB0
ZXN0IGRhdGEgdHlwZXMKIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0hJVF9URVNUX1JFU1VMVF9D
T05URVhUX0RPQ1VNRU5UID0gMSA8PCAxLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaApp
bmRleCAyNGFmZmUzLi5iYmYzMTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaApA
QCAtMjUyLDYgKzI1Miw3IEBAIHZvaWQgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfZGlzcGxheWVk
X3NldChFdmFzX09iamVjdCogZXdrRnJhbWUsIGJvb2wgaGFzRGlzcGxhCiB2b2lkIGV3a19mcmFt
ZV9taXhlZF9jb250ZW50X3J1bl9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBib29sIGhhc1J1
bik7CiB2b2lkIGV3a192aWV3X21peGVkX2NvbnRlbnRfZGlzcGxheWVkX3NldChFdmFzX09iamVj
dCogZXdrVmlldywgYm9vbCBoYXNEaXNwbGF5ZWQpOwogdm9pZCBld2tfdmlld19taXhlZF9jb250
ZW50X3J1bl9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgaGFzUnVuKTsKK3ZvaWQgZXdr
X2ZyYW1lX3hzc19kZXRlY3RlZChFdmFzX09iamVjdCogZXdrRnJhbWUsIGNvbnN0IEV3a19GcmFt
ZV9Yc3NfTm90aWZpY2F0aW9uKiB4c3NJbmZvKTsKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKIGJvb2wgZXdrX3ZpZXdfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdfb2JqZWN0X2Ny
ZWF0ZShFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19OYXRpdmVfU3VyZmFjZSogbmF0aXZlU3Vy
ZmFjZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcmVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192
aWV3LmNwcAppbmRleCA2YjE4MTBmLi5mN2Y5M2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmll
dy5jcHAKQEAgLTIxOCw2ICsyMTgsNyBAQCBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7
CiAgICAgICAgIGJvb2wgbG9jYWxTdG9yYWdlIDogMTsKICAgICAgICAgYm9vbCBvZmZsaW5lQXBw
Q2FjaGUgOiAxOwogICAgICAgICBib29sIHBhZ2VDYWNoZSA6IDE7CisgICAgICAgIGJvb2wgZW5h
YmxlWFNTQXVkaXRvciA6IDE7CiAgICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgICBmbG9hdCBt
aW5TY2FsZTsKICAgICAgICAgICAgIGZsb2F0IG1heFNjYWxlOwpAQCAtNjc2LDYgKzY3Nyw3IEBA
IHN0YXRpYyBFd2tfVmlld19Qcml2YXRlX0RhdGEqIF9ld2tfdmlld19wcml2X25ldyhFd2tfVmll
d19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAgICAgcHJpdi0+cGFnZVNldHRpbmdzLT5zZXRVc2Vz
UGFnZUNhY2hlKHRydWUpOwogICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0VXNlc0VuY29kaW5n
RGV0ZWN0b3IoZmFsc2UpOwogICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0V2ViR0xFbmFibGVk
KHRydWUpOworICAgIHByaXYtPnBhZ2VTZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJsZWQodHJ1
ZSk7CiAKICAgICB1cmwgPSBwcml2LT5wYWdlU2V0dGluZ3MtPnVzZXJTdHlsZVNoZWV0TG9jYXRp
b24oKTsKICAgICBwcml2LT5zZXR0aW5ncy51c2VyU3R5bGVzaGVldCA9IGVpbmFfc3RyaW5nc2hh
cmVfYWRkKHVybC5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKQEAgLTcxMiw2ICs3MTQsNyBAQCBz
dGF0aWMgRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBfZXdrX3ZpZXdfcHJpdl9uZXcoRXdrX1ZpZXdf
U21hcnRfRGF0YSogc21hcnREYXRhKQogICAgIHByaXYtPnNldHRpbmdzLmVuYWJsZVNjcmlwdHMg
PSBwcml2LT5wYWdlU2V0dGluZ3MtPmlzU2NyaXB0RW5hYmxlZCgpOwogICAgIHByaXYtPnNldHRp
bmdzLmVuYWJsZVBsdWdpbnMgPSBwcml2LT5wYWdlU2V0dGluZ3MtPmFyZVBsdWdpbnNFbmFibGVk
KCk7CiAgICAgcHJpdi0+c2V0dGluZ3MuZW5hYmxlRnJhbWVGbGF0dGVuaW5nID0gcHJpdi0+cGFn
ZVNldHRpbmdzLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCk7CisgICAgcHJpdi0+c2V0dGluZ3Mu
ZW5hYmxlWFNTQXVkaXRvciA9IHByaXYtPnBhZ2VTZXR0aW5ncy0+eHNzQXVkaXRvckVuYWJsZWQo
KTsKICAgICBwcml2LT5zZXR0aW5ncy5zY3JpcHRzQ2FuT3BlbldpbmRvd3MgPSBwcml2LT5wYWdl
U2V0dGluZ3MtPmphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkoKTsKICAgICBw
cml2LT5zZXR0aW5ncy5zY3JpcHRzQ2FuQ2xvc2VXaW5kb3dzID0gcHJpdi0+cGFnZVNldHRpbmdz
LT5hbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cygpOwogICAgIHByaXYtPnNldHRpbmdzLnJlc2l6
YWJsZVRleHRhcmVhcyA9IHByaXYtPnBhZ2VTZXR0aW5ncy0+dGV4dEFyZWFzQXJlUmVzaXphYmxl
KCk7CkBAIC00MDQ3LDYgKzQwNTAsMjQgQEAgdm9pZCBld2tfdmlld19zb3VwX3Nlc3Npb25fc2V0
KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBTb3VwU2Vzc2lvbiogc2Vzc2lvbikKICAgICBwcml2LT5z
b3VwU2Vzc2lvbiA9IHNlc3Npb247CiB9CiAKK0VpbmFfQm9vbCBld2tfdmlld19zZXR0aW5nX2Vu
YWJsZV94c3NfYXVkaXRvcl9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisgICAg
RVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIEVJTkFfRkFMU0Up
OworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIEVJTkFf
RkFMU0UpOworICAgIHJldHVybiBwcml2LT5zZXR0aW5ncy5lbmFibGVYU1NBdWRpdG9yOworfQor
Cit2b2lkIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX3hzc19hdWRpdG9yX3NldChFdmFzX09iamVj
dCogZXdrVmlldywgRWluYV9Cb29sIGVuYWJsZSkKK3sKKyAgICBFV0tfVklFV19TRF9HRVQoZXdr
Vmlldywgc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVChzbWFydERhdGEsIHByaXYp
OworICAgIGVuYWJsZSA9ICEhZW5hYmxlOworICAgIGlmIChwcml2LT5zZXR0aW5ncy5lbmFibGVY
U1NBdWRpdG9yICE9IGVuYWJsZSkgeworICAgICAgICBwcml2LT5wYWdlU2V0dGluZ3MtPnNldFhT
U0F1ZGl0b3JFbmFibGVkKGVuYWJsZSk7CisgICAgICAgIHByaXYtPnNldHRpbmdzLmVuYWJsZVhT
U0F1ZGl0b3IgPSBlbmFibGU7CisgICAgfQorfQorCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogYm9vbCBld2tfdmlld19hY2NlbGVyYXRlZF9jb21wb3NpdGluZ19vYmplY3RfY3Jl
YXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX05hdGl2ZV9TdXJmYWNlKiBuYXRpdmVTdXJm
YWNlLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuaAppbmRleCA4MjNhOGQwLi5mMmYwYmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApA
QCAtMjQxMyw2ICsyNDEzLDMxIEBAIEVBUEkgU291cFNlc3Npb24qIGV3a192aWV3X3NvdXBfc2Vz
c2lvbl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICovCiBFQVBJIHZvaWQgZXdrX3ZpZXdf
c291cF9zZXNzaW9uX3NldChFdmFzX09iamVjdCAqbywgU291cFNlc3Npb24gKnNlc3Npb24pOwog
CisvKioKKyAqIFJldHVybnMgd2hldGhlciBYU1NBdWRpdG9yIGZlYXR1cmUgaXMgZW5hYmxlZC4K
KyAqCisgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBxdWVyeSB3aGV0aGVyIFhTU0F1ZGl0b3Ig
ZmVhdHVyZSBpcyBlbmFibGVkLgorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIGlmIHRoZSBY
U1NBdWRpdG9yIGZlYXR1cmUgaXMgZW5hYmxlZCwKKyAqICAgICAgICAgQGMgRUlOQV9GQUxTRSBp
ZiBub3Qgb3Igb24gZmFpbHVyZS4KKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfc2V0dGlu
Z19lbmFibGVfeHNzX2F1ZGl0b3JfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKKworLyoqCisg
KiBFbmFibGVzL2Rpc2FibGVzIHRoZSBYU1NBdWRpdG9yIGZlYXR1cmUuCisgKiAKKyAqIFRoZSBY
U1NBdWRpdG9yIChjcm9zcy1zaXRlIHNjcmlwdGluZyBwcm90ZWN0aW9uKSBmZWF0dXJlIHByb3Zp
ZGVzIHByb3RlY3Rpb24gCisgKiBmcm9tIHJlZmxlY3RlZCBYU1MgYXR0YWNrcyBvbiB2dWxuZXJh
YmxlIHdlYiBzaXRlcy4gV2hlbiBYU1MgaXMgZW5jb3VudGVyZWQKKyAqIGluIHRoZSBwYWdlLCBm
cmFtZSBzZW5kcyBhIHNpZ25hbCAieHNzLGRldGVjdGVkIiB3aXRoIGFkZGl0aW9uYWwgaW5mb3Jt
YXRpb24gCisgKiBvbiB3aGV0aGVyIHRoZSBlbnRpcmUgcGFnZSB3YXMgYmxvY2tlZCBvciBvbmx5
IGluamVjdGVkIHNjcmlwdHMgd2VyZSByZW1vdmVkLiAKKyAqIFRoaXMgZmVhdHVyZSBpcyBlbmFi
bGVkIGJ5IGRlZmF1bHQuCisgKgorICogQHBhcmFtIG8gdmlldyBvYmplY3QgdG8gc2V0IHRoZSBY
U1NBdWRpdG9yIGZlYXR1cmUuCisgKiBAcGFyYW0gZW5hYmxlIEBjIEVJTkFfVFJVRSB0byBlbmFi
bGUgdGhlIFhTU0F1ZGl0b3IgZmVhdHVyZSwKKyAqICAgICAgICBAYyBFSU5BX0ZBTFNFIHRvIGRp
c2FibGUuCisgKi8KK0VBUEkgdm9pZCBld2tfdmlld19zZXR0aW5nX2VuYWJsZV94c3NfYXVkaXRv
cl9zZXQoRXZhc19PYmplY3QgKm8sIEVpbmFfQm9vbCBlbmFibGUpOworCiAjaWZkZWYgX19jcGx1
c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IGMwYjliYmUuLmI0YmJhYWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0wNC0xNyAgU3Vk
YXJzYW5hIE5hZ2luZW5pICA8c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNvbT4KKwor
ICAgICAgICBbRUZMXSBBZGQgc2V0dGluZyBBUEkgdG8gZW5hYmxlL2Rpc2FibGUgWFNTQXVkaXRv
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMyODEK
KworICAgICAgICBBZGQgbWlzc2luZyBpbXBsZW1lbnRhdGlvbiBzZXRYU1NBdWRpdG9yRW5hYmxl
ZCB0byBFRkwncyBMYXlvdXRUZXN0Q29udHJvbGxlcgorICAgICAgICBpbiBvcmRlciB0byB1bnNr
aXAgdGVzdHMgaW4gaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yLiBBbHNvLCBjYXRjaCB0
aGUgc2lnbmFsIAorICAgICAgICAneHNzLGRldGVjdGVkJyBpbiBEUlQgdG8gZW5hYmxlIGEgdGVz
dCwgd2hpY2ggaXMgZXhwZWN0aW5nIGEgbGluZSBjb250YWluaW5nCisgICAgICAgICdkaWREZXRl
Y3RYU1MnIGluIHRoZSBvdXRwdXQgd2hlbiByZWZsZWN0ZWQgWFNTIGlzIGVuY291bnRlcmVkIGlu
IHRoZSBwYWdlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcDoKKyAgICAg
ICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KToKKyAgICAgICAgKER1bXBSZW5k
ZXJUcmVlQ2hyb21lOjpvbkZyYW1lQ3JlYXRlZCk6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZUNo
cm9tZTo6b25EaWREZXRlY3RYU1MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9EdW1w
UmVuZGVyVHJlZUNocm9tZS5oOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWUpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHA6Cisg
ICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQpOgorCiAy
MDEyLTA0LTE3ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+
CiAKICAgICAgICAgW0VGTF0gRFJUIHNob3VsZCBzdXBwb3J0IExheW91dFRlc3RDb250cm9sbGVy
J3MgZHVtcEZyYW1lTG9hZENhbGxiYWNrcygpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
ZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAppbmRleCA3YmEzYjhiLi5mNjY3MTQzIDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3Bw
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAK
QEAgLTEwNSw2ICsxMDUsNyBAQCBFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNy
ZWF0ZVZpZXcoKSBjb25zdAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChtYWlu
RnJhbWUsICJsb2FkLGNvbW1pdHRlZCIsIG9uRnJhbWVMb2FkQ29tbWl0dGVkLCAwKTsKICAgICBl
dmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQobWFpbkZyYW1lLCAibG9hZCxmaW5pc2hlZCIs
IG9uRnJhbWVMb2FkRmluaXNoZWQsIDApOwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNr
X2FkZChtYWluRnJhbWUsICJsb2FkLGVycm9yIiwgb25GcmFtZUxvYWRFcnJvciwgMCk7CisgICAg
ZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKG1haW5GcmFtZSwgInhzcyxkZXRlY3RlZCIs
IG9uRGlkRGV0ZWN0WFNTLCAwKTsKIAogICAgIHJldHVybiB2aWV3OwogfQpAQCAtMzQ1LDYgKzM0
Niw3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uRnJhbWVDcmVhdGVkKHZvaWQqLCBF
dmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5mbykKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19hZGQoZnJhbWUsICJsb2FkLGNvbW1pdHRlZCIsIG9uRnJhbWVMb2FkQ29tbWl0dGVkLCAw
KTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoZnJhbWUsICJsb2FkLGZpbmlz
aGVkIiwgb25GcmFtZUxvYWRGaW5pc2hlZCwgMCk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2Fs
bGJhY2tfYWRkKGZyYW1lLCAibG9hZCxlcnJvciIsIG9uRnJhbWVMb2FkRXJyb3IsIDApOworICAg
IGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChmcmFtZSwgInhzcyxkZXRlY3RlZCIsIG9u
RGlkRGV0ZWN0WFNTLCAwKTsKIH0KIAogdm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25GcmFt
ZVByb3Zpc2lvbmFsTG9hZCh2b2lkKiwgRXZhc19PYmplY3QqIGZyYW1lLCB2b2lkKikKQEAgLTM5
MiwzICszOTQsOSBAQCB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkZyYW1lTG9hZEVycm9y
KHZvaWQqLCBFdmFzX09iamVjdCogZnJhbWUsIHZvaWQqKQogICAgIGlmIChmcmFtZSA9PSB0b3BM
b2FkaW5nRnJhbWUpCiAgICAgICAgIHRvcExvYWRpbmdGcmFtZUxvYWRGaW5pc2hlZCgpOwogfQor
Cit2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkRpZERldGVjdFhTUyh2b2lkKiwgRXZhc19P
YmplY3QqIHZpZXcsIHZvaWQqKQoreworICAgIGlmICghZG9uZSAmJiBnTGF5b3V0VGVzdENvbnRy
b2xsZXItPmR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKSkKKyAgICAgICAgcHJpbnRmKCJkaWREZXRl
Y3RYU1NcbiIpOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBS
ZW5kZXJUcmVlQ2hyb21lLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRy
ZWVDaHJvbWUuaAppbmRleCBhNTExMmNhLi5iYjkwNmQ3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaApAQCAtOTMsNiArOTMsNyBAQCBwcml2
YXRlOgogICAgIHN0YXRpYyB2b2lkIG9uRnJhbWVMb2FkRmluaXNoZWQodm9pZCosIEV2YXNfT2Jq
ZWN0Kiwgdm9pZCopOwogCiAgICAgc3RhdGljIHZvaWQgb25GcmFtZUxvYWRFcnJvcih2b2lkKiwg
RXZhc19PYmplY3QqLCB2b2lkKik7CisgICAgc3RhdGljIHZvaWQgb25EaWREZXRlY3RYU1Modm9p
ZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwogfTsKIAogI2VuZGlmIC8vIER1bXBSZW5kZXJUcmVl
Q2hyb21lX2gKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0
Q29udHJvbGxlckVmbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENv
bnRyb2xsZXJFZmwuY3BwCmluZGV4IDg4YjJhZWYuLjA2Nzg5MzAgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcApAQCAtMzI5
LDkgKzMyOSw5IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEphdmFTY3JpcHRDYW5B
Y2Nlc3NDbGlwYm9hcmQoYm9vbCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sKQordm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQogewotICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfeHNzX2F1ZGl0
b3Jfc2V0KGJyb3dzZXItPm1haW5WaWV3KCksIGZsYWcpOwogfQogCiB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykK
</data>

          </attachment>
      

    </bug>

</bugzilla>