<?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>68208</bug_id>
          
          <creation_ts>2011-09-15 19:10:18 -0700</creation_ts>
          <short_desc>Sites that use history pushState or replaceState are recorded in history in Private Browsing mode</short_desc>
          <delta_ts>2011-09-19 11:00:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jessie Berlin">jberlin</reporter>
          <assigned_to name="Jessie Berlin">jberlin</assigned_to>
          <cc>aestes</cc>
    
    <cc>beidson</cc>
    
    <cc>dglazkov</cc>
    
    <cc>jberlin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>468237</commentid>
    <comment_count>0</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-09-15 19:10:18 -0700</bug_when>
    <thetext>Neither HistoryController::pushState nor HistoryController::replaceState check if private browsing is enabled before adding visited links and calling FrameLoaderClient::updateGlobalHistory.

&lt;rdar://problem/9945573&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468245</commentid>
    <comment_count>1</comment_count>
      <attachid>107585</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-09-15 19:21:36 -0700</bug_when>
    <thetext>Created attachment 107585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468274</commentid>
    <comment_count>2</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2011-09-15 20:47:19 -0700</bug_when>
    <thetext>Can a test not be written for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468287</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2011-09-15 21:34:41 -0700</bug_when>
    <thetext>I&apos;m not convinced this is actually a WebKit bug.  Shouldn&apos;t this be a client app policy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468478</commentid>
    <comment_count>4</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-09-16 07:52:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Can a test not be written for this?

I was trying to come up with ways to test this. I thought about a TestWebKitAPI test, but realized that I would be trying to assert that the WKContextDidNavigateWithNavigationDataCallback did not happen when Private Browsing is enabled - but there would be no way to determine when it was done “not happening”.

Do you have any suggestions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468479</commentid>
    <comment_count>5</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-09-16 07:53:47 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I&apos;m not convinced this is actually a WebKit bug.  Shouldn&apos;t this be a client app policy?

This checking for privateBrowsingEnabled before calling addVisitedLink and updateGlobalHistory is done throughout HistoryController. I don’t see why these should be the exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468492</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2011-09-16 08:16:11 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #3)
&gt; &gt; I&apos;m not convinced this is actually a WebKit bug.  Shouldn&apos;t this be a client app policy?
&gt; 
&gt; This checking for privateBrowsingEnabled before calling addVisitedLink and updateGlobalHistory is done throughout HistoryController. I don’t see why these should be the exception.

I guess it shouldn&apos;t be.  But I think those were a bad call.  They&apos;re leftover from when WebKit did history itself.  oh well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468511</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2011-09-16 08:51:35 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Do you have any suggestions?

You could write a layout test that asserts that links aren&apos;t considered visited after a pushState with private browsing enabled. I believe there is a special LTC method to get the visited state of a link.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468525</commentid>
    <comment_count>8</comment_count>
      <attachid>107585</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-09-16 09:16:16 -0700</bug_when>
    <thetext>Comment on attachment 107585
Patch

I am going to try out Andy&apos;s suggestion for a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468957</commentid>
    <comment_count>9</comment_count>
      <attachid>107759</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-09-16 18:11:36 -0700</bug_when>
    <thetext>Created attachment 107759
Patch (take 2 - with API test)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469115</commentid>
    <comment_count>10</comment_count>
      <attachid>107759</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-17 16:53:30 -0700</bug_when>
    <thetext>Comment on attachment 107759
Patch (take 2 - with API test)

Attachment 107759 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9725662

New failing tests:
svg/W3C-SVG-1.1/animate-elem-12-t.svg
svg/W3C-SVG-1.1/animate-elem-04-t.svg
svg/W3C-SVG-1.1/animate-elem-07-t.svg
platform/chromium/fast/text/text-stroke-with-border.html
svg/W3C-SVG-1.1/animate-elem-08-t.svg
svg/W3C-SVG-1.1/animate-elem-09-t.svg
printing/return-from-printing-mode.html
platform/mac-snowleopard/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
svg/W3C-SVG-1.1/animate-elem-11-t.svg
svg/W3C-SVG-1.1/animate-elem-05-t.svg
svg/W3C-SVG-1.1/animate-elem-02-t.svg
svg/W3C-SVG-1.1/animate-elem-03-t.svg
svg/W3C-SVG-1.1/animate-elem-06-t.svg
svg/W3C-SVG-1.1/animate-elem-13-t.svg
svg/W3C-SVG-1.1/animate-elem-10-t.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469467</commentid>
    <comment_count>11</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-09-19 10:02:43 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 107759 [details])
&gt; Attachment 107759 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/9725662
&gt; 
&gt; New failing tests:
&gt; svg/W3C-SVG-1.1/animate-elem-12-t.svg
&gt; svg/W3C-SVG-1.1/animate-elem-04-t.svg
&gt; svg/W3C-SVG-1.1/animate-elem-07-t.svg
&gt; platform/chromium/fast/text/text-stroke-with-border.html
&gt; svg/W3C-SVG-1.1/animate-elem-08-t.svg
&gt; svg/W3C-SVG-1.1/animate-elem-09-t.svg
&gt; printing/return-from-printing-mode.html
&gt; platform/mac-snowleopard/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
&gt; svg/W3C-SVG-1.1/animate-elem-11-t.svg
&gt; svg/W3C-SVG-1.1/animate-elem-05-t.svg
&gt; svg/W3C-SVG-1.1/animate-elem-02-t.svg
&gt; svg/W3C-SVG-1.1/animate-elem-03-t.svg
&gt; svg/W3C-SVG-1.1/animate-elem-06-t.svg
&gt; svg/W3C-SVG-1.1/animate-elem-13-t.svg
&gt; svg/W3C-SVG-1.1/animate-elem-10-t.svg

Not sure why these tests would be failing after my change - they don’t appear to deal with private browsing or visited links. Notably, they also didn’t fail on the chromium-mac ews ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469469</commentid>
    <comment_count>12</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-09-19 10:03:54 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (From update of attachment 107759 [details] [details])
&gt; &gt; Attachment 107759 [details] [details] did not pass chromium-ews (chromium-xvfb):
&gt; &gt; Output: http://queues.webkit.org/results/9725662
&gt; &gt; 
&gt; &gt; New failing tests:
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-12-t.svg
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-04-t.svg
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-07-t.svg
&gt; &gt; platform/chromium/fast/text/text-stroke-with-border.html
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-08-t.svg
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-09-t.svg
&gt; &gt; printing/return-from-printing-mode.html
&gt; &gt; platform/mac-snowleopard/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-11-t.svg
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-05-t.svg
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-02-t.svg
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-03-t.svg
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-06-t.svg
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-13-t.svg
&gt; &gt; svg/W3C-SVG-1.1/animate-elem-10-t.svg
&gt; 
&gt; Not sure why these tests would be failing after my change - they don’t appear to deal with private browsing or visited links. Notably, they also didn’t fail on the chromium-mac ews ...

AND they didn’t fail with the first version of this patch. The only difference between the first and second version is that the second version has a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469531</commentid>
    <comment_count>13</comment_count>
      <attachid>107759</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-09-19 11:00:16 -0700</bug_when>
    <thetext>Comment on attachment 107759
Patch (take 2 - with API test)

Thanks Brady! Committed in http://trac.webkit.org/changeset/95440</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107585</attachid>
            <date>2011-09-15 19:21:36 -0700</date>
            <delta_ts>2011-09-16 18:11:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>checkForPrivateBrowsing.patch</filename>
            <type>text/plain</type>
            <size>2030</size>
            <attacher name="Jessie Berlin">jberlin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzMDEzODM3Li4yZmM5NGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDktMTUgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KKworICAg
ICAgICBTaXRlcyB0aGF0IHVzZSBoaXN0b3J5IHB1c2hTdGF0ZSBvciByZXBsYWNlU3RhdGUgYXJl
IHJlY29yZGVkIGluIGhpc3RvcnkgaW4gUHJpdmF0ZSBCcm93c2luZworICAgICAgICBtb2RlLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIHBy
aXZhdGVCcm93c2luZ0VuYWJsZWQgY2hlY2sgdGhhdCBpcyB1c2VkIGluIG90aGVyIHBsYWNlcyBp
biBIaXN0b3J5Q29udHJvbGxlcgorICAgICAgICBiZWZvcmUgY2FsbGluZyBhZGRWaXNpdGVkTGlu
ayBhbmQgRnJhbWVMb2FkZXJDbGllbnQ6OnVwZGF0ZUdsb2JhbEhpc3RvcnkuCisKKyAgICAgICAg
KiBsb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9y
eUNvbnRyb2xsZXI6OnB1c2hTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5Q29udHJv
bGxlcjo6cmVwbGFjZVN0YXRlKToKKwogMjAxMS0wOS0xMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxk
bWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpmcmFtZURlc3Ryb3llZCBpcyBjYWxsZWQgYWZ0ZXIgbV9wYWdlIGhhcyBiZWVu
IHJlc2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9s
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKaW5k
ZXggMTYzNWI0NS4uYzlhNDdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hp
c3RvcnlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuY3BwCkBAIC04MjUsNiArODI1LDEwIEBAIHZvaWQgSGlzdG9yeUNvbnRyb2xsZXI6
OnB1c2hTdGF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc3RhdGVPYmplY3Qs
CiAKICAgICBwYWdlLT5iYWNrRm9yd2FyZCgpLT5hZGRJdGVtKHRvcEl0ZW0ucmVsZWFzZSgpKTsK
IAorICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZnJhbWUtPnNldHRpbmdzKCk7CisgICAgaWYg
KCFzZXR0aW5ncyB8fCBzZXR0aW5ncy0+cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpKQorICAgICAg
ICByZXR1cm47CisKICAgICBhZGRWaXNpdGVkTGluayhwYWdlLCBLVVJMKFBhcnNlZFVSTFN0cmlu
ZywgdXJsU3RyaW5nKSk7CiAgICAgbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpLT51cGRhdGVH
bG9iYWxIaXN0b3J5KCk7CiAKQEAgLTg0MCw2ICs4NDQsMTAgQEAgdm9pZCBIaXN0b3J5Q29udHJv
bGxlcjo6cmVwbGFjZVN0YXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzdGF0
ZU9iamUKICAgICBtX2N1cnJlbnRJdGVtLT5zZXRUaXRsZSh0aXRsZSk7CiAgICAgbV9jdXJyZW50
SXRlbS0+c2V0U3RhdGVPYmplY3Qoc3RhdGVPYmplY3QpOwogCisgICAgU2V0dGluZ3MqIHNldHRp
bmdzID0gbV9mcmFtZS0+c2V0dGluZ3MoKTsKKyAgICBpZiAoIXNldHRpbmdzIHx8IHNldHRpbmdz
LT5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIEFTU0VS
VChtX2ZyYW1lLT5wYWdlKCkpOwogICAgIGFkZFZpc2l0ZWRMaW5rKG1fZnJhbWUtPnBhZ2UoKSwg
S1VSTChQYXJzZWRVUkxTdHJpbmcsIHVybFN0cmluZykpOwogICAgIG1fZnJhbWUtPmxvYWRlcigp
LT5jbGllbnQoKS0+dXBkYXRlR2xvYmFsSGlzdG9yeSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107759</attachid>
            <date>2011-09-16 18:11:36 -0700</date>
            <delta_ts>2011-09-19 11:00:16 -0700</delta_ts>
            <desc>Patch (take 2 - with API test)</desc>
            <filename>checkForPrivateBrowsingTake2.patch</filename>
            <type>text/plain</type>
            <size>13164</size>
            <attacher name="Jessie Berlin">jberlin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1OTAwMmE0Li5iNjgxM2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTEtMDktMTYgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KKworICAg
ICAgICBTaXRlcyB0aGF0IHVzZSBoaXN0b3J5IHB1c2hTdGF0ZSBvciByZXBsYWNlU3RhdGUgYXJl
IHJlY29yZGVkIGluIGhpc3RvcnkgaW4gUHJpdmF0ZSBCcm93c2luZworICAgICAgICBtb2RlLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMDgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5
Q2FsbGJhY2suCisKKyAgICAgICAgQWRkIHRoZSBwcml2YXRlQnJvd3NpbmdFbmFibGVkIGNoZWNr
IHRoYXQgaXMgdXNlZCBpbiBvdGhlciBwbGFjZXMgaW4gSGlzdG9yeUNvbnRyb2xsZXIKKyAgICAg
ICAgYmVmb3JlIGNhbGxpbmcgYWRkVmlzaXRlZExpbmsgYW5kIEZyYW1lTG9hZGVyQ2xpZW50Ojp1
cGRhdGVHbG9iYWxIaXN0b3J5LgorCisgICAgICAgICogbG9hZGVyL0hpc3RvcnlDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlDb250cm9sbGVyOjpwdXNoU3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUNvbnRyb2xsZXI6OnJlcGxhY2VTdGF0ZSk6CisKIDIw
MTEtMDktMTYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRh
dGUgSlNDIHJlc3VsdHMgdG8gYWNjb3VudCBmb3IgaW50cmluc2ljcyBjaGFuZ2UuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcAppbmRleCAyZTQ2ODRkLi4zYzM0
ZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5jcHAKQEAg
LTgzMCw2ICs4MzAsMTAgQEAgdm9pZCBIaXN0b3J5Q29udHJvbGxlcjo6cHVzaFN0YXRlKFBhc3NS
ZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzdGF0ZU9iamVjdCwKIAogICAgIHBhZ2UtPmJh
Y2tGb3J3YXJkKCktPmFkZEl0ZW0odG9wSXRlbS5yZWxlYXNlKCkpOwogCisgICAgU2V0dGluZ3Mq
IHNldHRpbmdzID0gbV9mcmFtZS0+c2V0dGluZ3MoKTsKKyAgICBpZiAoIXNldHRpbmdzIHx8IHNl
dHRpbmdzLT5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKwogICAg
IGFkZFZpc2l0ZWRMaW5rKHBhZ2UsIEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1cmxTdHJpbmcpKTsK
ICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPnVwZGF0ZUdsb2JhbEhpc3RvcnkoKTsK
IApAQCAtODQ1LDYgKzg0OSwxMCBAQCB2b2lkIEhpc3RvcnlDb250cm9sbGVyOjpyZXBsYWNlU3Rh
dGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHN0YXRlT2JqZQogICAgIG1fY3Vy
cmVudEl0ZW0tPnNldFRpdGxlKHRpdGxlKTsKICAgICBtX2N1cnJlbnRJdGVtLT5zZXRTdGF0ZU9i
amVjdChzdGF0ZU9iamVjdCk7CiAKKyAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2ZyYW1lLT5z
ZXR0aW5ncygpOworICAgIGlmICghc2V0dGluZ3MgfHwgc2V0dGluZ3MtPnByaXZhdGVCcm93c2lu
Z0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgQVNTRVJUKG1fZnJhbWUtPnBhZ2Uo
KSk7CiAgICAgYWRkVmlzaXRlZExpbmsobV9mcmFtZS0+cGFnZSgpLCBLVVJMKFBhcnNlZFVSTFN0
cmluZywgdXJsU3RyaW5nKSk7CiAgICAgbV9mcmFtZS0+bG9hZGVyKCktPmNsaWVudCgpLT51cGRh
dGVHbG9iYWxIaXN0b3J5KCk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggM2RjOTAxYi4uMzVlZGIwNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDExLTA5LTE2ICBK
ZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2l0ZXMgdGhhdCB1
c2UgaGlzdG9yeSBwdXNoU3RhdGUgb3IgcmVwbGFjZVN0YXRlIGFyZSByZWNvcmRlZCBpbiBoaXN0
b3J5IGluIFByaXZhdGUgQnJvd3NpbmcKKyAgICAgICAgbW9kZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjA4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IHRoZSBXS0NvbnRl
eHREaWROYXZpZ2F0ZVdpdGhOYXZpZ2F0aW9uRGF0YUNhbGxiYWNrICh3aGljaCBpcyBpbnZva2Vk
IGJ5CisgICAgICAgIHVwZGF0ZUdsb2JhbEhpc3RvcnkpIGlzIG5vdCBjYWxsZWQgaW4gUHJpdmF0
ZSBCcm93c2luZyB3aGVuIHRoZSBwYWdlIGRvZXMgaGlzdG9yeS5wdXNoU3RhdGUuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRl
Tm9IaXN0b3J5Q2FsbGJhY2suY3BwOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRp
ZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKToKKyAgICAgICAgVGhpcyBpcyBhIGNvbnRleHQg
aGlzdG9yeSBjbGllbnQgY2FsbGJhY2ssIHNvIGl0IHNob3VsZCBub3QgYmUgY2FsbGVkIHdoZW4g
aW4gUHJpdmF0ZQorICAgICAgICBCcm93c2luZy4gQWRkIGEgY2FsbCB0byBGQUlMKCkuCisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUpOgor
ICAgICAgICBUaGlzIGlzIGEgcGFnZSBsb2FkIGNsaWVudCBjYWxsYmFjayB0aGF0IGhhcHBlbnMg
YWZ0ZXIgdGhlIGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhCisgICAgICAgIGNhbGxiYWNr
LiBFbmQgdGhlIHRlc3QuCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAg
RW5hYmxlIFByaXZhdGUgQnJvd3NpbmcgYW5kIGxvYWQgYSBwYWdlIHRoYXQgdXNlcyBoaXN0b3J5
LnB1c2hTdGF0ZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgUHJpdmF0ZUJyb3dzaW5nUHVzaFN0
YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwIGFuZCBwdXNoLXN0YXRlLmh0bWwuCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL3B1c2gtc3RhdGUuaHRtbDogQWRkZWQuCisgICAg
ICAgIERpdHRvLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvd2luL1Rlc3RXZWJLaXRBUEkudmNw
cm9qOgorICAgICAgICBEaXR0by4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL3dpbi9jb3B5LXJl
c291cmNlcy5jbWQ6CisgICAgICAgIERpdHRvLgorCiAyMDExLTA5LTE2ICBBbmRlcnMgQ2FybHNz
b24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGJhY2sgdGhlIFdLSGl0VGVz
dFJlc3VsdFJlZiBwYXJhbWV0ZXIgdG8gbW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQgaW4gYW4gQUJJ
IHByZXNlcnZpbmcgd2F5CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDRiYThiNWEuLmE3NGVk
MWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04Nyw2ICs4Nyw4IEBACiAJCUMwQkQ2NjlG
MTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1
bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
MEJENjY5RTEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVF
YXJseV9CdW5kbGUuY3BwICovOyB9OwogCQlGM0ZDM0VFMzEzNjc4QjczMDAxMjZBNjUgLyogbGli
Z3Rlc3QuYSBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEYzRkMzRUUyMTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hICovOyB9OwogCQlGNkYzRjI5
MTEzMzQyRkVCMDBBNkJGMTkgLyogQ29va2llTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNkYzRjI5MDEzMzQyRkVCMDBBNkJGMTkgLyog
Q29va2llTWFuYWdlci5jcHAgKi87IH07CisJCUY2RkREREQzMTQyNDFBRDQwMDRGMTcyOSAvKiBQ
cml2YXRlQnJvd3NpbmdQdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNkZEREREMjE0MjQxQUQ0MDA0RjE3
MjkgLyogUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwICovOyB9
OworCQlGNkZERERENjE0MjQxQzZGMDA0RjE3MjkgLyogcHVzaC1zdGF0ZS5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2RkREREQ1MTQy
NDFDNDgwMDRGMTcyOSAvKiBwdXNoLXN0YXRlLmh0bWwgKi87IH07CiAvKiBFbmQgUEJYQnVpbGRG
aWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24g
Ki8KQEAgLTExOSw2ICsxMjEsNyBAQAogCQkJCTFBOUU1MkM5MTNFNjVFRjQwMDY5MTdGNSAvKiAx
OC1jaGFyYWN0ZXJzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQzA3RTZDQjIxM0ZE
NzM5MzAwMzhCMjJCIC8qIGRldmljZVBpeGVsUmF0aW8uaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LywKIAkJCQkzM0U3OUUwNjEzN0I1RkQ5MDBFMzJEOTkgLyogbW91c2UtbW92ZS1saXN0ZW5lci5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJCUY2RkREREQ2MTQyNDFDNkYwMDRGMTcyOSAv
KiBwdXNoLXN0YXRlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJQkNCRDM3MzcxMjVB
QkJFQjAwRDJDMjlGIC8qIGljb24ucG5nIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTFBMDJD
ODcwMTI1RDRDRkQwMEUzRjRCRCAvKiBmaW5kLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJ
CQkJQkM5MDk3ODQxMjU1NzFDRjAwMDgzNzU2IC8qIHNpbXBsZS5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLApAQCAtMjI4LDYgKzIzMSw4IEBACiAJCUMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYyQSAv
KiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250Rmly
ZUVhcmx5X0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzRkMzRUUy
MTM2NzhCNzMwMDEyNkE2NSAvKiBsaWJndGVzdC5hICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgcGF0aCA9IGxpYmd0ZXN0LmE7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCUY2RjNGMjkwMTMzNDJGRUIwMEE2
QkYxOSAvKiBDb29raWVNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENvb2tpZU1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
NkZEREREMjE0MjQxQUQ0MDA0RjE3MjkgLyogUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0
b3J5Q2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJp
dmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGNkZERERENTE0MjQxQzQ4MDA0RjE3MjkgLyogcHVzaC1zdGF0ZS5o
dG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gInB1c2gtc3RhdGUuaHRtbCI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICov
CiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAgLTM2MSw2
ICszNjYsNyBAQAogCQkJCUJDOTA5Nzc5MTI1NTcxQUIwMDA4Mzc1NiAvKiBQYWdlTG9hZEJhc2lj
LmNwcCAqLywKIAkJCQlCQzJEMDA0ODEyQTlGREZBMDBFNzMyQTMgLyogUGFnZUxvYWREaWRDaGFu
Z2VMb2NhdGlvbldpdGhpblBhZ2VGb3JGcmFtZS5jcHAgKi8sCiAJCQkJMzMzQjlDRTExMjc3RjIz
MTAwRkVGQ0UzIC8qIFByZXZlbnRFbXB0eVVzZXJBZ2VudC5jcHAgKi8sCisJCQkJRjZGRERERDIx
NDI0MUFENDAwNEYxNzI5IC8qIFByaXZhdGVCcm93c2luZ1B1c2hTdGF0ZU5vSGlzdG9yeUNhbGxi
YWNrLmNwcCAqLywKIAkJCQlDMEJENjY5QzEzMUQzQ0Y3MDBFMThGMkEgLyogUmVzcG9uc2l2ZW5l
c3NUaW1lckRvZXNudEZpcmVFYXJseS5jcHAgKi8sCiAJCQkJQzBCRDY2OUUxMzFEM0NGRjAwRTE4
RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHlfQnVuZGxlLmNwcCAqLywK
IAkJCQlDMEFEQkU4MjEyRkNBNkFBMDBEMkMxMjkgLyogUmVzdG9yZVNlc3Npb25TdGF0ZUNvbnRh
aW5pbmdGb3JtRGF0YS5jcHAgKi8sCkBAIC0zOTUsNiArNDAxLDcgQEAKIAkJCQkxQTAyQzg0QjEy
NUQ0QTVFMDBFM0Y0QkQgLyogZmluZC5odG1sICovLAogCQkJCUJDQkQzNzJFMTI1QUJCRTYwMEQy
QzI5RiAvKiBpY29uLnBuZyAqLywKIAkJCQkzM0U3OUUwNTEzN0I1RkNFMDBFMzJEOTkgLyogbW91
c2UtbW92ZS1saXN0ZW5lci5odG1sICovLAorCQkJCUY2RkREREQ1MTQyNDFDNDgwMDRGMTcyOSAv
KiBwdXNoLXN0YXRlLmh0bWwgKi8sCiAJCQkJMUFEQkVGQkMxMzBDNkEwMTAwRDYxRDE5IC8qIHNp
bXBsZS1hY2NlbGVyYXRlZC1jb21wb3NpdGluZy5odG1sICovLAogCQkJCUMwQURCRTg0MTJGQ0E2
QjYwMEQyQzEyOSAvKiBzaW1wbGUtZm9ybS5odG1sICovLAogCQkJCTMzREM4OTBFMTQxOTUzOTMw
MDc0N0VGNyAvKiBzaW1wbGUtaWZyYW1lLmh0bWwgKi8sCkBAIC01OTYsNiArNjAzLDcgQEAKIAkJ
CQkzNzk5QUQzQTE0MTIwQTQzMDA1RUIwQzYgLyogU3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlw
dEZyb21TdHJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQkzM0RDODkxMTE0MTk1M0EzMDA3NDdF
RjcgLyogTG9hZENhbmNlbGVkTm9TZXJ2ZXJSZWRpcmVjdENhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUyMEJDRjREMTQxRUIwOUUwMDkzN0VBOCAvKiBXZWJBcmNoaXZlLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUY2RkREREQzMTQyNDFBRDQwMDRGMTcyOSAvKiBQcml2YXRlQnJvd3Np
bmdQdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9Qcml2YXRlQnJvd3NpbmdQdXNo
U3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2NDQ2NmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUHJpdmF0ZUJyb3dzaW5nUHVzaFN0
YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbmNs
dWRlICJQbGF0Zm9ybVdlYlZpZXcuaCIKKyNpbmNsdWRlICJUZXN0LmgiCisjaW5jbHVkZSA8V2Vi
S2l0Mi9XS1JldGFpblB0ci5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK3N0YXRp
YyBib29sIHRlc3REb25lOworCitzdGF0aWMgdm9pZCBkaWROYXZpZ2F0ZVdpdGhOYXZpZ2F0aW9u
RGF0YShXS0NvbnRleHRSZWYgY29udGV4dCwgV0tQYWdlUmVmIHBhZ2UsIFdLTmF2aWdhdGlvbkRh
dGFSZWYgbmF2aWdhdGlvbkRhdGEsIFdLRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pCit7CisgICAgLy8gVGhpcyBzaG91bGQgbmV2ZXIgYmUgY2FsbGVkIHdoZW4gbmF2aWdh
dGluZyBpbiBQcml2YXRlIEJyb3dzaW5nLgorICAgIEZBSUwoKTsKK30KKworc3RhdGljIHZvaWQg
ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1l
UmVmIGZyYW1lLCBXS1NhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlIHR5cGUsIFdLVHlwZVJlZiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKK3sKKyAgICB0ZXN0RG9uZSA9IHRydWU7
Cit9CisKK1RFU1QoV2ViS2l0MiwgUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2Fs
bGJhY2spCit7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ss
IFdLQ29udGV4dENyZWF0ZSgpKTsKKworICAgIFdLQ29udGV4dEhpc3RvcnlDbGllbnQgaGlzdG9y
eUNsaWVudDsKKyAgICBtZW1zZXQoJmhpc3RvcnlDbGllbnQsIDAsIHNpemVvZihoaXN0b3J5Q2xp
ZW50KSk7CisKKyAgICBoaXN0b3J5Q2xpZW50LnZlcnNpb24gPSAwOworICAgIGhpc3RvcnlDbGll
bnQuY2xpZW50SW5mbyA9IDA7CisgICAgaGlzdG9yeUNsaWVudC5kaWROYXZpZ2F0ZVdpdGhOYXZp
Z2F0aW9uRGF0YSA9IGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhOworICAgIFdLQ29udGV4
dFNldEhpc3RvcnlDbGllbnQoY29udGV4dC5nZXQoKSwgJmhpc3RvcnlDbGllbnQpOworCisgICAg
UGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CisKKyAgICBXS1BhZ2VMb2Fk
ZXJDbGllbnQgcGFnZUxvYWRlckNsaWVudDsKKyAgICBtZW1zZXQoJnBhZ2VMb2FkZXJDbGllbnQs
IDAsIHNpemVvZihwYWdlTG9hZGVyQ2xpZW50KSk7CisKKyAgICBwYWdlTG9hZGVyQ2xpZW50LnZl
cnNpb24gPSAwOworICAgIHBhZ2VMb2FkZXJDbGllbnQuY2xpZW50SW5mbyA9IDA7CisgICAgcGFn
ZUxvYWRlckNsaWVudC5kaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUgPSBkaWRTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWU7CisgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVu
dCh3ZWJWaWV3LnBhZ2UoKSwgJnBhZ2VMb2FkZXJDbGllbnQpOworCisgICAgV0tSZXRhaW5QdHI8
V0tQcmVmZXJlbmNlc1JlZj4gcHJlZmVyZW5jZXMoQWRvcHRXSywgV0tQcmVmZXJlbmNlc0NyZWF0
ZSgpKTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChwcmVmZXJl
bmNlcy5nZXQoKSwgdHJ1ZSk7CisKKyAgICBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXAgPSBXS1Bh
Z2VHZXRQYWdlR3JvdXAod2ViVmlldy5wYWdlKCkpOworICAgIFdLUGFnZUdyb3VwU2V0UHJlZmVy
ZW5jZXMocGFnZUdyb3VwLCBwcmVmZXJlbmNlcy5nZXQoKSk7CisKKyAgICBXS1JldGFpblB0cjxX
S1VSTFJlZj4gdXJsKEFkb3B0V0ssIFV0aWw6OmNyZWF0ZVVSTEZvclJlc291cmNlKCJwdXNoLXN0
YXRlIiwgImh0bWwiKSk7CisgICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgdXJsLmdl
dCgpKTsKKworICAgIFV0aWw6OnJ1bigmdGVzdERvbmUpOworfQorCit9IC8vIG5hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDIvcHVzaC1zdGF0ZS5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL3B1
c2gtc3RhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2EwNGE2
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL3B1
c2gtc3RhdGUuaHRtbApAQCAtMCwwICsxLDMgQEAKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KK2hpc3RvcnkucHVzaFN0YXRlKCduZXdTdGF0ZScsIDAsICc/bmV3U3RhdGUnKTsKKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS93aW4vVGVzdFdlYktpdEFQ
SS52Y3Byb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL3dpbi9UZXN0V2ViS2l0QVBJLnZjcHJvagpp
bmRleCBlMWViOWM1Li4yOGNkZjQ2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL3dp
bi9UZXN0V2ViS2l0QVBJLnZjcHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL3dpbi9UZXN0
V2ViS2l0QVBJLnZjcHJvagpAQCAtNTA4LDYgKzUwOCwxNCBAQAogCQkJCQk+CiAJCQkJPC9GaWxl
PgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVGVzdHNcV2ViS2l0MlxQcml2YXRl
QnJvd3NpbmdQdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAiCisJCQkJCT4KKwkJCQk8L0Zp
bGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxUZXN0c1xXZWJLaXQyXHB1c2gt
c3RhdGUuaHRtbCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXFRlc3RzXFdlYktpdDJcUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJs
eS5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL3dpbi9jb3B5LXJlc291cmNlcy5jbWQgYi9Ub29scy9UZXN0V2ViS2l0QVBJL3dpbi9jb3B5
LXJlc291cmNlcy5jbWQKaW5kZXggN2NhMWFiMi4uZGVhZjc0NCAxMDA3NTUKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS93aW4vY29weS1yZXNvdXJjZXMuY21kCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvd2luL2NvcHktcmVzb3VyY2VzLmNtZApAQCAtMTMsNiArMTMsNyBAQCBmb3IgJSVmIGlu
ICgKICAgICAuLlxUZXN0c1xXZWJLaXQyXGZpbmQuaHRtbAogICAgIC4uXFRlc3RzXFdlYktpdDJc
aWNvbi5wbmcKICAgICAuLlxUZXN0c1xXZWJLaXQyXG1vdXNlLW1vdmUtbGlzdGVuZXIuaHRtbAor
ICAgIC4uXFRlc3RzXFdlYktpdDJccHVzaC1zdGF0ZS5odG1sCiAgICAgLi5cVGVzdHNcV2ViS2l0
MlxzaW1wbGUuaHRtbAogICAgIC4uXFRlc3RzXFdlYktpdDJcc2ltcGxlLWFjY2VsZXJhdGVkLWNv
bXBvc2l0aW5nLmh0bWwKICAgICAuLlxUZXN0c1xXZWJLaXQyXHNpbXBsZS1mb3JtLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>