<?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>29129</bug_id>
          
          <creation_ts>2009-09-10 10:16:24 -0700</creation_ts>
          <short_desc>REGRESSION(r48229): Failures in drag and drop tests on Windows</short_desc>
          <delta_ts>2009-09-11 16:40:33 -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 Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Weinstein">bweinstein</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>jens</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>146247</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-09-10 10:16:24 -0700</bug_when>
    <thetext>The fix for https://bugs.webkit.org/show_bug.cgi?id=26700 (http://trac.webkit.org/changeset/48229) causes layout tests regressions on Windows.

Build before this revision: http://build.webkit.org/builders/Windows%20Release%20%28Tests%29/builds/4108 (2 test cases (&lt;1%) had incorrect layout 14 test cases (&lt;1%) crashed)
Build after this revision: http://build.webkit.org/builders/Windows%20Release%20%28Tests%29/builds/4109 (22 test cases (&lt;1%) had incorrect layout 15 test cases (&lt;1%) crashed)

I noticed there was a mac specific fix to this bug, in WebKit/mac/WebView/WebFrame.mm, but no corresponding fix on the Windows side of things. I&apos;m not sure what the course of action should be, should this change be rolled out and tested more heavily on Windows? Should the corresponding fix be made on Windows? Should the test results be updated for this new behavior (doesn&apos;t look like the mac needed any updating).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146271</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-10 11:49:00 -0700</bug_when>
    <thetext>A direct link to the results:
http://build.webkit.org/results/Windows%20Release%20(Tests)/r48257%20(4134)/results.html
Unless Jens or a windows person has immediate insight, we can just roll this out for now.  No sense in leaving the bots red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146365</commentid>
    <comment_count>2</comment_count>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-09-10 15:20:24 -0700</bug_when>
    <thetext>Right -- one of the last pieces I added was to propagate the drag operation from the source to the receiver if it&apos;s an intra-page drag. Not doing this makes those drags always turn into copies, which breaks dragging text, of course.
I did this to the Mac code (WebFrame.mm) but forgot to make an equivalent change to Windows. 

It should be pretty trivial -- add the following second parameter to the dragSourceMovedTo() call at WebDropSource.cpp:116:
    page-&gt;dragController()-&gt;destinationDragOperation()
I&apos;ll upload a patch to this effect, but it&apos;s going to take me a while to get my Windows build up and running to try it out, so if someone else has convenient access to Windows and wants to try it, please do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146366</commentid>
    <comment_count>3</comment_count>
      <attachid>39386</attachid>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-09-10 15:20:48 -0700</bug_when>
    <thetext>Created attachment 39386
speculative fix (not tested yet)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146367</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-10 15:22:00 -0700</bug_when>
    <thetext>If you add a ChangeLog to your patch, we can commit a speculative fix. :)  You certainly wouldn&apos;t be the first person to use the windows buildbot your windows build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146372</commentid>
    <comment_count>5</comment_count>
      <attachid>39388</attachid>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-09-10 15:37:02 -0700</bug_when>
    <thetext>Created attachment 39388
speculative fix, with changelog entry

OK, here is the same fix with a changelog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146373</commentid>
    <comment_count>6</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-09-10 15:38:53 -0700</bug_when>
    <thetext>I&apos;m currently updating and building and will be able to test this fix, but if someone else can beat me to it, feel free (I should be able to test it in about 10 minutes).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146387</commentid>
    <comment_count>7</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-09-10 16:16:48 -0700</bug_when>
    <thetext>I applied this patch (it need to include WebCore/DragController.h btw), but it didn&apos;t fix any of the regressions caused by http://webkit.org/b/48229.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146388</commentid>
    <comment_count>8</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-09-10 16:17:38 -0700</bug_when>
    <thetext>http://webkit.org/b/48229 is gibberish, I meant http://trac.webkit.org/changeset/48229.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146396</commentid>
    <comment_count>9</comment_count>
    <who name="Jens Alfke">jens</who>
    <bug_when>2009-09-10 16:50:39 -0700</bug_when>
    <thetext>Well, I&apos;m confused then. The issue is that EventHandler::dragSourceMovedTo( ) now takes a second parameter that describes the drag operation (move/copy/link) being used by the receiver. This is needed so that the source can determine whether to delete the original, if it&apos;s a move.

The change to WebFrame.mm to pass this parameter value was the only platform-specific change in my original patch. The change here duplicates that one. If things still aren&apos;t working, it may be related to idiosyncrasies of the Windows platform drag-n-drop code. I have zero experience with Windows APIs, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146399</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-10 16:52:47 -0700</bug_when>
    <thetext>Describing drag and drop&apos;s test coverage as &quot;poor&quot; is probably even too generous.  :)  Your test is probably just revealing existing bugs in the windows drag and drop code.  That said, we can&apos;t leave test failures on the bots, so either we&apos;ll need to the bugs you&apos;ve revealed or roll out. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146556</commentid>
    <comment_count>11</comment_count>
      <attachid>39388</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-09-11 07:45:25 -0700</bug_when>
    <thetext>Comment on attachment 39388
speculative fix, with changelog entry

r- simply based on Brian Weinstein&apos;s comment that this didn&apos;t fix the regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146735</commentid>
    <comment_count>12</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-09-11 13:55:54 -0700</bug_when>
    <thetext>Any objections to me rolling this out for now and re-opening the original bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146757</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-09-11 15:11:27 -0700</bug_when>
    <thetext>Please roll it out.  We can&apos;t leave the build bot failing tests for days at a time like this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146758</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-11 15:15:44 -0700</bug_when>
    <thetext>I agree. Regressions should be rolled out.  I&apos;m happy to do so if you&apos;d like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146759</commentid>
    <comment_count>15</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-09-11 15:18:56 -0700</bug_when>
    <thetext>I tried using bugzilla-tool rollout, but I must have been doing it wrong and it didn&apos;t work for me, go ahead and roll it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146760</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-11 15:21:06 -0700</bug_when>
    <thetext>I&apos;ll take a look at bugzilla-tool.  bugzilla-tool rollout is still rather experimental.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146763</commentid>
    <comment_count>17</comment_count>
      <attachid>39480</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-11 15:24:33 -0700</bug_when>
    <thetext>Created attachment 39480
rollout patch

WebKitTools/Scripts/bugzilla-tool rollout 48229
worked as expected for me...

I did not try building the result.

Were you using SVN or git?  I&apos;d be interested in seeing your failure output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146764</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-11 15:25:54 -0700</bug_when>
    <thetext>Heck, we could even just r+/cq+ the rollout patch I attached and it should do the right thing. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146765</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-11 15:26:20 -0700</bug_when>
    <thetext>Ah, rollout threw and exception for me running under SVN.  Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146768</commentid>
    <comment_count>20</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-09-11 15:27:28 -0700</bug_when>
    <thetext>This looks related to my work to fix bug 24731.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146796</commentid>
    <comment_count>21</comment_count>
      <attachid>39480</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-11 16:40:22 -0700</bug_when>
    <thetext>Comment on attachment 39480
rollout patch

Rolled out using:
bugzilla-tool rollout 48229 --complete-rollout

See:
https://bugs.webkit.org/show_bug.cgi?id=26700#c22</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39386</attachid>
            <date>2009-09-10 15:20:48 -0700</date>
            <delta_ts>2009-09-10 15:37:02 -0700</delta_ts>
            <desc>speculative fix (not tested yet)</desc>
            <filename>windragfix.patch</filename>
            <type>text/plain</type>
            <size>811</size>
            <attacher name="Jens Alfke">jens</attacher>
            
              <data encoding="base64">SW5kZXg6IC9DaHJvbWl1bS9zcmMvdGhpcmRfcGFydHkvV2ViS2l0L1dlYktpdC93aW4vV2ViRHJv
cFNvdXJjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gL0Nocm9taXVtL3NyYy90aGlyZF9wYXJ0eS9XZWJL
aXQvV2ViS2l0L3dpbi9XZWJEcm9wU291cmNlLmNwcAkocmV2aXNpb24gNDgxOTMpCisrKyAvQ2hy
b21pdW0vc3JjL3RoaXJkX3BhcnR5L1dlYktpdC9XZWJLaXQvd2luL1dlYkRyb3BTb3VyY2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsNyArMTEzLDggQEAKICAgICAgICAgcmV0dXJuIGZFc2Nh
cGVQcmVzc2VkPyBEUkFHRFJPUF9TX0NBTkNFTCA6IERSQUdEUk9QX1NfRFJPUDsKICAgICB9IGVs
c2UgaWYgKFBhZ2UqIHBhZ2UgPSBtX3dlYlZpZXctPnBhZ2UoKSkKICAgICAgICAgaWYgKEZyYW1l
KiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpKSAKLSAgICAgICAgICAgIGZyYW1lLT5ldmVudEhh
bmRsZXIoKS0+ZHJhZ1NvdXJjZU1vdmVkVG8oZ2VuZXJhdGVNb3VzZUV2ZW50KG1fd2ViVmlldy5n
ZXQoKSwgdHJ1ZSkpOworICAgICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5kcmFnU291
cmNlTW92ZWRUbyhnZW5lcmF0ZU1vdXNlRXZlbnQobV93ZWJWaWV3LmdldCgpLCB0cnVlKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZS0+
ZHJhZ0NvbnRyb2xsZXIoKS0+ZGVzdGluYXRpb25EcmFnT3BlcmF0aW9uKCkpOwogCiAgICAgcmV0
dXJuIFNfT0s7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39388</attachid>
            <date>2009-09-10 15:37:02 -0700</date>
            <delta_ts>2009-09-11 07:45:24 -0700</delta_ts>
            <desc>speculative fix, with changelog entry</desc>
            <filename>windragfix.patch</filename>
            <type>text/plain</type>
            <size>1534</size>
            <attacher name="Jens Alfke">jens</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hh
bmdlTG9nCShyZXZpc2lvbiA0ODI2OSkKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDktMDktMTAgIEplbnMgQWxma2UgIDxzbmVqQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQYXNzIGRyYWcgb3BlcmF0aW9uIHRocm91Z2ggdG8gcmVjZWl2ZXIsIGluIGFuIGludHJh
LXBhZ2UgZHJhZy4gKFNhbWUgY2hhbmdlIHRoYXQgd2FzIG1hZGUKKyAgICAgICAgdG8gV2ViRnJh
bWUubW0gaW4gcjI4MjI5LikgVGhpcyBzaG91bGQgZml4IHRoZSBsYXlvdXQtdGVzdCByZWdyZXNz
aW9ucyBmcm9tIHRoZSBwcmlvciBjaGVja2luLgorICAgICAgICBTcGVjdWxhdGl2ZSBmaXggZm9y
IDxodHRwOi8vd2Via2l0Lm9yZy9iLzI5MTI5Pi4KKworICAgICAgICAqIFdlYkRyb3BTb3VyY2Uu
Y3BwOgorICAgICAgICAoV2ViRHJvcFNvdXJjZTo6UXVlcnlDb250aW51ZURyYWcpOiBHZXQgZHJh
ZyBvcGVyYXRpb24gZnJvbSBkcmFnQ29udHJvbGxlciBhbmQgcGFzcyBpdCBpbnRvIGRyYWdTb3Vy
Y2VNb3ZlZFRvLgorCiAyMDA5LTA5LTA3ICBEcmV3IFdpbHNvbiAgPGF0d2lsc29uQGdvb2dsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCkluZGV4OiBXZWJLaXQvd2lu
L1dlYkRyb3BTb3VyY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViRHJvcFNvdXJj
ZS5jcHAJKHJldmlzaW9uIDQ4MjY5KQorKysgV2ViS2l0L3dpbi9XZWJEcm9wU291cmNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTEzLDcgKzExMyw4IEBAIFNURE1FVEhPRElNUCBXZWJEcm9wU291
cmNlOjpRdWVyeUNvbnRpbnUKICAgICAgICAgcmV0dXJuIGZFc2NhcGVQcmVzc2VkPyBEUkFHRFJP
UF9TX0NBTkNFTCA6IERSQUdEUk9QX1NfRFJPUDsKICAgICB9IGVsc2UgaWYgKFBhZ2UqIHBhZ2Ug
PSBtX3dlYlZpZXctPnBhZ2UoKSkKICAgICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IHBhZ2UtPm1h
aW5GcmFtZSgpKSAKLSAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+ZHJhZ1NvdXJj
ZU1vdmVkVG8oZ2VuZXJhdGVNb3VzZUV2ZW50KG1fd2ViVmlldy5nZXQoKSwgdHJ1ZSkpOworICAg
ICAgICAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5kcmFnU291cmNlTW92ZWRUbyhnZW5lcmF0
ZU1vdXNlRXZlbnQobV93ZWJWaWV3LmdldCgpLCB0cnVlKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS0+
ZGVzdGluYXRpb25EcmFnT3BlcmF0aW9uKCkpOwogCiAgICAgcmV0dXJuIFNfT0s7CiB9Cg==
</data>
<flag name="review"
          id="20481"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39480</attachid>
            <date>2009-09-11 15:24:33 -0700</date>
            <delta_ts>2009-09-11 16:40:21 -0700</delta_ts>
            <desc>rollout patch</desc>
            <filename>test.patch</filename>
            <type>text/plain</type>
            <size>21083</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyNWQ1YzRiLi5mNjA0NTdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEgQEAKKzIwMDktMDkt
MTEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIE5vIHJldmlldywg
cm9sbGluZyBvdXQgcjQ4MjI5LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5n
ZXNldC80ODIyOQorCisgICAgICAgICogZmFzdC9ldmVudHMvZHJhZy1kcm9wZWZmZWN0LWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9kcmFnLWRyb3BlZmZlY3Qu
aHRtbDogUmVtb3ZlZC4KKwogMjAwOS0wOS0xMSAgTWljaGVsYW5nZWxvIERlIFNpbW9uZSAgPG1p
Y2Rlc2ltQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctZHJvcGVmZmVjdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWRyb3BlZmZlY3QtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MWZiYmMwLi4wMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctZHJvcGVmZmVjdC1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0KLVRoaXMgYXV0b21hdGVkIGxheW91dCB0
ZXN0IGNoZWNrcyB0aGF0IGVmZmVjdEFsbG93ZWQgYW5kIGRyb3BFZmZlY3QgYXJlIHNldCBwcm9w
ZXJseSBpbiBkcmFnIGNhbGxiYWNrcy4KLUlmIHlvdSdyZSBydW5uaW5nIHRoaXMgaW4gYSBicm93
c2VyLCB5b3UgY2FuIHNpbXVsYXRlIHBhcnQgb2YgaXQgYnkgZHJhZ2dpbmcgQWJlIG9udG8gdGhl
IGJveC4KLQotKioqIFRlc3RpbmcgYSBzdWNjZXNzZnVsIGRyYWcuLi4KLVBBU1MgZWZmZWN0QWxs
b3dlZCBpbiBkcmFnU3RhcnQgPSAndW5pbml0aWFsaXplZCcKLVBBU1MgZHJvcEVmZmVjdCBpbiBk
cmFnU3RhcnQgPSAnbm9uZScKLVBBU1MgZWZmZWN0QWxsb3dlZCBpbiBkcmFnRW50ZXIgPSAnY29w
eU1vdmUnCi1QQVNTIGRyb3BFZmZlY3QgaW4gZHJhZ0VudGVyID0gJ2NvcHknCi1QQVNTIGVmZmVj
dEFsbG93ZWQgaW4gZHJvcCA9ICdjb3B5TW92ZScKLVBBU1MgZHJvcEVmZmVjdCBpbiBkcm9wID0g
J21vdmUnCi1QQVNTIGVmZmVjdEFsbG93ZWQgaW4gZHJhZ0VuZCA9ICdjb3B5TW92ZScKLVBBU1Mg
ZHJvcEVmZmVjdCBpbiBkcmFnRW5kID0gJ21vdmUnCi1QQVNTIGNhbGxzIHRvIGRyYWdTdGFydCA9
ICcxJwotUEFTUyBjYWxscyB0byBkcmFnRW5kID0gJzEnCi1QQVNTIGNhbGxzIHRvIGRyYWdFbnRl
ciA9ICcxJwotUEFTUyBjYWxscyB0byBkcm9wID0gJzEnCi0qKiogVGVzdGluZyBhIGZhaWxlZCBk
cmFnLi4uCi1QQVNTIGVmZmVjdEFsbG93ZWQgaW4gZHJhZ1N0YXJ0ID0gJ3VuaW5pdGlhbGl6ZWQn
Ci1QQVNTIGRyb3BFZmZlY3QgaW4gZHJhZ1N0YXJ0ID0gJ25vbmUnCi1QQVNTIGVmZmVjdEFsbG93
ZWQgaW4gZHJhZ0VudGVyID0gJ2xpbmsnCi1QQVNTIGRyb3BFZmZlY3QgaW4gZHJhZ0VudGVyID0g
J2xpbmsnCi1QQVNTIGVmZmVjdEFsbG93ZWQgaW4gZHJhZ0xlYXZlID0gJ2xpbmsnCi1QQVNTIGRy
b3BFZmZlY3QgaW4gZHJhZ0xlYXZlID0gJ25vbmUnCi1QQVNTIGVmZmVjdEFsbG93ZWQgaW4gZHJh
Z0VuZCA9ICdsaW5rJwotUEFTUyBkcm9wRWZmZWN0IGluIGRyYWdFbmQgPSAnbm9uZScKLVBBU1Mg
Y2FsbHMgdG8gZHJhZ1N0YXJ0ID0gJzEnCi1QQVNTIGNhbGxzIHRvIGRyYWdFbmQgPSAnMScKLVBB
U1MgY2FsbHMgdG8gZHJhZ0VudGVyID0gJzEnCi1QQVNTIGNhbGxzIHRvIGRyb3AgPSAnMCcKLVBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWRyb3BlZmZlY3QuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctZHJvcGVmZmVjdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkNDg4ZGVkLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2RyYWctZHJvcGVmZmVjdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTg4ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci0gICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0g
IAotPGltYWdlIGlkPSJkcmFnU291cmNlIiBzcmM9InJlc291cmNlcy9hYmUucG5nIiB3aWR0aD0i
NzYiIGhlaWdodD0iMTAzIgotICAgICAgIG9uZHJhZ3N0YXJ0PSJkcmFnU3RhcnQoZXZlbnQpIiBv
bmRyYWc9ImRyYWcoZXZlbnQpIiBvbmRyYWdlbmQ9ImRyYWdFbmQoZXZlbnQpIj4KLTxkaXYgaWQ9
ImRyYWdUYXJnZXQiIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJvcmRlcjog
MXB4IHNvbGlkIGdyYXk7IgotICAgICAgICBvbmRyYWdlbnRlcj0iZHJhZ0VudGVyKGV2ZW50KSIg
b25kcmFnb3Zlcj0iZHJhZ092ZXIoZXZlbnQpIgotICAgICAgICBvbmRyYWdsZWF2ZT0iZHJhZ0xl
YXZlKGV2ZW50KSIgb25kcm9wPSJkcm9wKGV2ZW50KSI+Ci08L2Rpdj4KLQotPHA+VGhpcyBhdXRv
bWF0ZWQgbGF5b3V0IHRlc3QgY2hlY2tzIHRoYXQgZWZmZWN0QWxsb3dlZCBhbmQgZHJvcEVmZmVj
dCBhcmUgc2V0IHByb3Blcmx5IGluIGRyYWcKLSAgIGNhbGxiYWNrcy48YnI+Ci0gICBJZiB5b3Un
cmUgcnVubmluZyB0aGlzIGluIGEgYnJvd3NlciwgeW91IGNhbiBzaW11bGF0ZSBwYXJ0IG9mIGl0
IGJ5IGRyYWdnaW5nIEFiZSBvbnRvIHRoZSBib3guPC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci0KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGFzc2VydChyZXN1bHQsIHdoYXQpCi17Ci0gICAg
aWYgKCFyZXN1bHQpCi0gICAgICAgIHRlc3RGYWlsZWQoIkV4cGVjdGVkIHRoYXQgIiArIHdoYXQp
OwotICAgIGVsc2UKLSAgICAgICAgdGVzdFBhc3NlZCh3aGF0KTsKLX0KLQotZnVuY3Rpb24gYXNz
ZXJ0RXF1YWwodGVzdCwgZXhwZWN0ZWQsIHdoYXQsIHF1aWV0KQotewotICAgIGlmICh0ZXN0ICE9
PSBleHBlY3RlZCkKLSAgICAgICAgdGVzdEZhaWxlZCh3aGF0ICsgIiA9ICciICsgdGVzdCArICIn
IC4uLiBleHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIiciKTsKLSAgICBlbHNlIGlmICghcXVpZXQp
Ci0gICAgICAgICB0ZXN0UGFzc2VkKHdoYXQgKyAiID0gJyIgKyB0ZXN0ICsgIiciKTsKLX0KLQot
Ci12YXIgZHJhZ1N0YXJ0Q2FsbGVkID0gMCwgZHJhZ0NhbGxlZCA9IDAsIGRyYWdFbmRDYWxsZWQg
PSAwOwotdmFyIGRyYWdFbnRlckNhbGxlZCA9IDAsIGRyYWdPdmVyQ2FsbGVkID0gMCwgZHJhZ0xl
YXZlQ2FsbGVkID0gMCwgZHJvcENhbGxlZCA9IDA7Ci0KLXZhciBlZmZlY3RBbGxvd2VkVG9TZXQg
PSAiY29weU1vdmUiOwotdmFyIGRlZmF1bHREcm9wRWZmZWN0ID0gImNvcHkiOwotdmFyIGRyb3BF
ZmZlY3RUb1NldCA9ICJtb3ZlIjsKLXZhciBleHBlY3RlZERyb3BFZmZlY3QgPSAibW92ZSI7Ci0K
LQotLy8gRFJBRyBTT1VSQ0UgRVZFTlQgSEFORExFUlM6Ci1mdW5jdGlvbiBkcmFnU3RhcnQoZXZl
bnQpCi17Ci0gICAgZHJhZ1N0YXJ0Q2FsbGVkKys7Ci0gICAgYXNzZXJ0RXF1YWwoZXZlbnQuZGF0
YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQsICJ1bmluaXRpYWxpemVkIiwgImVmZmVjdEFsbG93ZWQg
aW4gZHJhZ1N0YXJ0Iik7Ci0gICAgYXNzZXJ0RXF1YWwoZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BF
ZmZlY3QsICJub25lIiwgImRyb3BFZmZlY3QgaW4gZHJhZ1N0YXJ0Iik7Ci0gICAgZXZlbnQuZGF0
YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgPSBlZmZlY3RBbGxvd2VkVG9TZXQ7Ci19Ci0KLWZ1bmN0
aW9uIGRyYWcoZXZlbnQpCi17Ci0gICAgZHJhZ0NhbGxlZCsrOwotICAgIGFzc2VydEVxdWFsKGV2
ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkLCBlZmZlY3RBbGxvd2VkVG9TZXQsICJlZmZl
Y3RBbGxvd2VkIGluIGRyYWciLCB0cnVlKTsKLSAgICBhc3NlcnRFcXVhbChldmVudC5kYXRhVHJh
bnNmZXIuZHJvcEVmZmVjdCwKLSAgICAgICAgICAgICAgICBkcmFnTGVhdmVDYWxsZWQgPCBkcmFn
RW50ZXJDYWxsZWQgP2V4cGVjdGVkRHJvcEVmZmVjdCA6Im5vbmUiLCAKLSAgICAgICAgICAgICAg
ICAiZHJvcEVmZmVjdCBpbiBkcmFnIiwKLSAgICAgICAgICAgICAgICB0cnVlKTsKLX0KLQotZnVu
Y3Rpb24gZHJhZ0VuZChldmVudCkKLXsKLSAgICBkcmFnRW5kQ2FsbGVkKys7Ci0gICAgYXNzZXJ0
RXF1YWwoZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQsIGVmZmVjdEFsbG93ZWRUb1Nl
dCwgImVmZmVjdEFsbG93ZWQgaW4gZHJhZ0VuZCIpOwotICAgIGFzc2VydEVxdWFsKGV2ZW50LmRh
dGFUcmFuc2Zlci5kcm9wRWZmZWN0LCAKLSAgICAgICAgICAgICAgICBkcmFnTGVhdmVDYWxsZWQg
PCBkcmFnRW50ZXJDYWxsZWQgPyBleHBlY3RlZERyb3BFZmZlY3QgOiAibm9uZSIsCi0gICAgICAg
ICAgICAgICAgImRyb3BFZmZlY3QgaW4gZHJhZ0VuZCIpOwotfQotCi0KLS8vIERSQUcgREVTVElO
QVRJT04gRVZFTlQgSEFORExFUlM6Ci1mdW5jdGlvbiBkcmFnRW50ZXIoZXZlbnQpCi17Ci0gICAg
ZHJhZ0VudGVyQ2FsbGVkKys7Ci0gICAgYXNzZXJ0RXF1YWwoZXZlbnQuZGF0YVRyYW5zZmVyLmVm
ZmVjdEFsbG93ZWQsIGVmZmVjdEFsbG93ZWRUb1NldCwgImVmZmVjdEFsbG93ZWQgaW4gZHJhZ0Vu
dGVyIik7Ci0gICAgYXNzZXJ0RXF1YWwoZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QsIGRl
ZmF1bHREcm9wRWZmZWN0LCAiZHJvcEVmZmVjdCBpbiBkcmFnRW50ZXIiKTsKLSAgICBldmVudC5k
YXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9IGRyb3BFZmZlY3RUb1NldDsKLSAgICBldmVudC5wcmV2
ZW50RGVmYXVsdCgpOwotfQotCi1mdW5jdGlvbiBkcmFnT3ZlcihldmVudCkKLXsKLSAgICBkcmFn
T3ZlckNhbGxlZCsrOwotICAgIGFzc2VydEVxdWFsKGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RB
bGxvd2VkLCBlZmZlY3RBbGxvd2VkVG9TZXQsICJlZmZlY3RBbGxvd2VkIGluIGRyYWdPdmVyIiwg
dHJ1ZSk7Ci0gICAgYXNzZXJ0RXF1YWwoZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QsIGRl
ZmF1bHREcm9wRWZmZWN0LCAiZHJvcEVmZmVjdCBpbiBkcmFnT3ZlciIsIHRydWUpOwotICAgIGV2
ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gZHJvcEVmZmVjdFRvU2V0OwotICAgIGV2ZW50
LnByZXZlbnREZWZhdWx0KCk7Ci19Ci0KLWZ1bmN0aW9uIGRyYWdMZWF2ZShldmVudCkKLXsKLSAg
ICBkcmFnTGVhdmVDYWxsZWQrKzsKLSAgICBhc3NlcnRFcXVhbChldmVudC5kYXRhVHJhbnNmZXIu
ZWZmZWN0QWxsb3dlZCwgZWZmZWN0QWxsb3dlZFRvU2V0LCAiZWZmZWN0QWxsb3dlZCBpbiBkcmFn
TGVhdmUiKTsKLSAgICBhc3NlcnRFcXVhbChldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCwg
Im5vbmUiLCAiZHJvcEVmZmVjdCBpbiBkcmFnTGVhdmUiKTsKLSAgICBldmVudC5wcmV2ZW50RGVm
YXVsdCgpOwotfQotCi1mdW5jdGlvbiBkcm9wKGV2ZW50KQotewotICAgIGRyb3BDYWxsZWQrKzsK
LSAgICBhc3NlcnRFcXVhbChldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCwgZWZmZWN0
QWxsb3dlZFRvU2V0LCAiZWZmZWN0QWxsb3dlZCBpbiBkcm9wIik7Ci0gICAgYXNzZXJ0RXF1YWwo
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QsIGV4cGVjdGVkRHJvcEVmZmVjdCwgImRyb3BF
ZmZlY3QgaW4gZHJvcCIpOwotICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Ci19Ci0KLQotZnVu
Y3Rpb24gcGVyZm9ybURyYWcoc3JjSWQsIGRzdElkKQotewotICAgIGZ1bmN0aW9uIG1vdmVNb3Vz
ZVRvQ2VudGVyT2YoaWQpCi0gICAgewotICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKGlkKTsKLSAgICAgICAgdmFyIHggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBl
bGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKLSAgICAgICAgdmFyIHkgPSBlbGVtZW50Lm9mZnNldFRv
cCArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKLSAgICAgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oeCwgeSk7Ci0gICAgfQotICAgIAotICAgIGRyYWdTdGFydENhbGxlZCA9IGRyYWdDYWxs
ZWQgPSBkcmFnRW5kQ2FsbGVkID0gMDsKLSAgICBkcmFnRW50ZXJDYWxsZWQgPSBkcmFnT3ZlckNh
bGxlZCA9IGRyYWdMZWF2ZUNhbGxlZCA9IGRyb3BDYWxsZWQgPSAwOwotICAgIAotICAgIG1vdmVN
b3VzZVRvQ2VudGVyT2Yoc3JjSWQpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAg
IG1vdmVNb3VzZVRvQ2VudGVyT2YoZHN0SWQpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsK
LX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgIHJldHVybjsKLSAgICB0cnkgewotICAgICAgCi0gICAgICBkZWJ1
ZygiKioqIFRlc3RpbmcgYSBzdWNjZXNzZnVsIGRyYWcuLi4iKTsKLSAgICAgIGVmZmVjdEFsbG93
ZWRUb1NldCA9ICJjb3B5TW92ZSI7Ci0gICAgICBkZWZhdWx0RHJvcEVmZmVjdCA9ICJjb3B5IjsK
LSAgICAgIGRyb3BFZmZlY3RUb1NldCA9ICJtb3ZlIjsKLSAgICAgIGV4cGVjdGVkRHJvcEVmZmVj
dCA9ICJtb3ZlIjsKLSAgICAgIHBlcmZvcm1EcmFnKCdkcmFnU291cmNlJywgJ2RyYWdUYXJnZXQn
KTsKLSAgICAgIAotICAgICAgYXNzZXJ0RXF1YWwoZHJhZ1N0YXJ0Q2FsbGVkLCAxLCAiY2FsbHMg
dG8gZHJhZ1N0YXJ0Iik7Ci0gICAgICAvLyBXaGV0aGVyIGRyYWcgaXMgY2FsbGVkIGRlcGVuZHMg
b24gdGltaW5nLiBJbiBhIHJlYWwtbGlmZSBkcmFnIGl0IHdpbGwgYmUgY2FsbGVkLCBidXQKLSAg
ICAgIC8vIHdpdGggdGhlIGFydGlmaWNpYWwgbW91c2UgZXZlbnRzIGdlbmVyYXRlZCBieSB0aGUg
dGVzdCBjb250cm9sbGVyLCBpdCBtYXkgbm90IGJlLgotICAgICAgLy8gU28gSSd2ZSByZW1vdmVk
IHRoZSBhc3NlcnRpb24gdGhhdCBkcmFnQ2FsbGVkID4gMC4KLSAgICAgIGFzc2VydEVxdWFsKGRy
YWdFbmRDYWxsZWQsIDEsICJjYWxscyB0byBkcmFnRW5kIik7Ci0gICAgICBhc3NlcnRFcXVhbChk
cmFnRW50ZXJDYWxsZWQsIDEsICJjYWxscyB0byBkcmFnRW50ZXIiKTsKLSAgICAgIC8vIGRyYWdP
dmVyIHdvbid0IG5lY2Vzc2FyaWx5IGJlIGNhbGxlZCBpZiB0aGVyZSB3YXMgb25seSBvbmUgbW91
c2UgZXZlbnQgb3ZlcgotICAgICAgLy8gdGhlIGRyb3AgdGFyZ2V0LCBhcyBpbiBwZXJmb3JtRHJh
Zy4KLSAgICAgIC8vIGRyYWdMZWF2ZSBpc24ndCBjYWxsZWQgYmVjYXVzZSB0aGUgZHJhZyBuZXZl
ciBleGl0cyB0aGUgZHJvcCB0YXJnZXQuCi0gICAgICBhc3NlcnRFcXVhbChkcm9wQ2FsbGVkLCAx
LCAiY2FsbHMgdG8gZHJvcCIpOwotCi0gICAgICBkZWJ1ZygiKioqIFRlc3RpbmcgYSBmYWlsZWQg
ZHJhZy4uLiIpOwotICAgICAgZWZmZWN0QWxsb3dlZFRvU2V0ID0gImxpbmsiOwotICAgICAgZGVm
YXVsdERyb3BFZmZlY3QgPSAibGluayI7Ci0gICAgICBkcm9wRWZmZWN0VG9TZXQgPSAibW92ZSI7
Ci0gICAgICBleHBlY3RlZERyb3BFZmZlY3QgPSAibm9uZSI7Ci0gICAgICBwZXJmb3JtRHJhZygn
ZHJhZ1NvdXJjZScsICdkcmFnVGFyZ2V0Jyk7Ci0gICAgICAKLSAgICAgIGFzc2VydEVxdWFsKGRy
YWdTdGFydENhbGxlZCwgMSwgImNhbGxzIHRvIGRyYWdTdGFydCIpOwotICAgICAgLy8gQXMgZGVz
Y3JpYmVkIGFib3ZlLCBkcmFnIG1pZ2h0IG5vdCBiZSBjYWxsZWQsIHVuZGVyIHRlc3QgY29uZGl0
aW9ucywgc28gZG9uJ3QgY2hlY2sgZHJhZ0NhbGxlZC4KLSAgICAgIGFzc2VydEVxdWFsKGRyYWdF
bmRDYWxsZWQsIDEsICJjYWxscyB0byBkcmFnRW5kIik7Ci0gICAgICBhc3NlcnRFcXVhbChkcmFn
RW50ZXJDYWxsZWQsIDEsICJjYWxscyB0byBkcmFnRW50ZXIiKTsKLSAgICAgIGFzc2VydEVxdWFs
KGRyb3BDYWxsZWQsIDAsICJjYWxscyB0byBkcm9wIik7Ci0gICAgICAKLSAgICAgIC8vIEZpbmFs
bHkgcnVuIHRoZSBwb3N0LXRlc3QgZnVuY3Rpb246Ci0gICAgICBpc1N1Y2Nlc3NmdWxseVBhcnNl
ZCgpOwotCi0gICAgfSBjYXRjaCAoeCkgewotICAgICAgZGVidWcoIkZBSUxFRCBieSB0aHJvd2lu
ZyAiICsgeCk7Ci0gICAgfQotICAgIC8vIE9LLCBub3cgRFJUIGNhbiBxdWl0LgotICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotLy8gVGVsbCBEUlQgbm90IHRvIHF1
aXQgaW1tZWRpYXRlbHksIGJlY2F1c2UgdGhlIGFjdHVhbCBydW5UZXN0KCkgZnVuY3Rpb24gd29u
J3QgYmUgY2FsbGVkCi0vLyB1bnRpbCB0aGUgb25sb2FkIGV2ZW50IGlzIHNlbnQgKG90aGVyd2lz
ZSB0aGUgZmFrZSBkcmFnIHN0dWZmIGNyYXNoZXM6IGJ1ZyAyOTEwMS4pCi1sYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LWZ1bmN0aW9uLmpzIj48L3NjcmlwdD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkNTNjODFhLi41YmVk
YTAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDA5LTA5LTExICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0
Lm9yZz4KKworICAgICAgICBObyByZXZpZXcsIHJvbGxpbmcgb3V0IHI0ODIyOS4KKyAgICAgICAg
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNDgyMjkKKworICAgICAgICAqIFdlYkNv
cmUuYmFzZS5leHA6CisgICAgICAgICogZG9tL0NsaXBib2FyZC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDbGlwYm9hcmQ6OkNsaXBib2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6
OnNvdXJjZU9wZXJhdGlvbik6CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6RHJhZ0NvbnRyb2xsZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmRyYWdFeGl0ZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6RHJhZ0NvbnRyb2xsZXI6OnBlcmZvcm1EcmFnKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdD
b250cm9sbGVyOjpkcmFnRW50ZXJlZE9yVXBkYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpEcmFn
Q29udHJvbGxlcjo6dHJ5REhUTUxEcmFnKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9s
bGVyOjpzdGFydERyYWcpOgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRs
ZXI6OnVwZGF0ZURyYWdBbmREcm9wKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6
ZHJhZ1NvdXJjZU1vdmVkVG8pOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5k
bGVEcmFnKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorCiAyMDA5LTA5LTExICBN
aWNoZWxhbmdlbG8gRGUgU2ltb25lICA8bWljZGVzaW1AZ21haWwuY29tPgogCiAgICAgICAgIEZp
eCB0aGUgYnVpbGQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAgYi9XZWJD
b3JlL1dlYkNvcmUuYmFzZS5leHAKaW5kZXggYTM0ZmZjMS4uNzRjZjMzNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cApA
QCAtMjI0LDcgKzIyNCw3IEBAIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTRjdXJyZW50TlNF
dmVudEV2CiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjE0c2Nyb2xsT3ZlcmZsb3dFTlNfMTVT
Y3JvbGxEaXJlY3Rpb25FTlNfMTdTY3JvbGxHcmFudWxhcml0eUUKIF9fWk43V2ViQ29yZTEyRXZl
bnRIYW5kbGVyMTVzZW5kU2Nyb2xsRXZlbnRFdgogX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIx
N2RyYWdTb3VyY2VFbmRlZEF0RVJLTlNfMThQbGF0Zm9ybU1vdXNlRXZlbnRFTlNfMTNEcmFnT3Bl
cmF0aW9uRQotX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIxN2RyYWdTb3VyY2VNb3ZlZFRvRVJL
TlNfMThQbGF0Zm9ybU1vdXNlRXZlbnRFTlNfMTNEcmFnT3BlcmF0aW9uRQorX19aTjdXZWJDb3Jl
MTJFdmVudEhhbmRsZXIxN2RyYWdTb3VyY2VNb3ZlZFRvRVJLTlNfMThQbGF0Zm9ybU1vdXNlRXZl
bnRFCiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjE3ZXZlbnRNYXlTdGFydERyYWdFUDdOU0V2
ZW50CiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjIwaGFuZGxlVGV4dElucHV0RXZlbnRFUktO
U182U3RyaW5nRVBOU181RXZlbnRFYmIKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMjBoaXRU
ZXN0UmVzdWx0QXRQb2ludEVSS05TXzhJbnRQb2ludEViYk5TXzE3SGl0VGVzdFNjcm9sbGJhcnNF
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9DbGlwYm9hcmQuY3BwIGIvV2ViQ29yZS9kb20vQ2xp
cGJvYXJkLmNwcAppbmRleCAyOGI2YjUxLi42ZDFiYzE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9DbGlwYm9hcmQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5jcHAKQEAgLTQwLDEw
ICs0MCw2IEBAIENsaXBib2FyZDo6Q2xpcGJvYXJkKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xp
Y3ksIGJvb2wgaXNGb3JEcmFnZ2luZykKICAgICAsIG1fZm9yRHJhZ2dpbmcoaXNGb3JEcmFnZ2lu
ZykKICAgICAsIG1fZHJhZ0ltYWdlKDApCiB7Ci0gICAgaWYgKGlzRm9yRHJhZ2dpbmcpIHsKLSAg
ICAgICAgLy8gcGVyIEhUTUw1IHNwZWMsIHNlYy4gNy45LjIKLSAgICAgICAgbV9lZmZlY3RBbGxv
d2VkID0gInVuaW5pdGlhbGl6ZWQiOwotICAgIH0KIH0KICAgICAKIHZvaWQgQ2xpcGJvYXJkOjpz
ZXRBY2Nlc3NQb2xpY3koQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSkKQEAgLTEwMiw3ICs5
OCw3IEBAIHN0YXRpYyBTdHJpbmcgSUVPcEZyb21EcmFnT3AoRHJhZ09wZXJhdGlvbiBvcCkKIAog
Ym9vbCBDbGlwYm9hcmQ6OnNvdXJjZU9wZXJhdGlvbihEcmFnT3BlcmF0aW9uJiBvcCkgY29uc3QK
IHsKLSAgICBpZiAobV9lZmZlY3RBbGxvd2VkLmlzTnVsbCgpIHx8IG1fZWZmZWN0QWxsb3dlZCA9
PSAidW5pbml0aWFsaXplZCIpCisgICAgaWYgKG1fZWZmZWN0QWxsb3dlZC5pc051bGwoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIG9wID0gZHJhZ09wRnJvbUlFT3AobV9lZmZlY3RBbGxv
d2VkKTsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9EcmFnQ29u
dHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4IDc1NTY0
NjIuLjk3ZjUzYTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAK
KysrIGIvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcApAQCAtODMsNyArODMsNiBAQCBE
cmFnQ29udHJvbGxlcjo6RHJhZ0NvbnRyb2xsZXIoUGFnZSogcGFnZSwgRHJhZ0NsaWVudCogY2xp
ZW50KQogICAgICwgbV9kaWRJbml0aWF0ZURyYWcoZmFsc2UpCiAgICAgLCBtX2lzSGFuZGxpbmdE
cmFnKGZhbHNlKQogICAgICwgbV9zb3VyY2VEcmFnT3BlcmF0aW9uKERyYWdPcGVyYXRpb25Ob25l
KQotICAgICwgbV9kZXN0aW5hdGlvbkRyYWdPcGVyYXRpb24oRHJhZ09wZXJhdGlvbk5vbmUpCiB7
CiB9CiAKQEAgLTE1OSw3ICsxNTgsNiBAQCB2b2lkIERyYWdDb250cm9sbGVyOjpkcmFnRXhpdGVk
KERyYWdEYXRhKiBkcmFnRGF0YSkKICAgICAgICAgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGlj
eSA9ICghbV9kb2N1bWVudFVuZGVyTW91c2UgfHwgbV9kb2N1bWVudFVuZGVyTW91c2UtPnNlY3Vy
aXR5T3JpZ2luKCktPmlzTG9jYWwoKSkgPyBDbGlwYm9hcmRSZWFkYWJsZSA6IENsaXBib2FyZFR5
cGVzUmVhZGFibGU7CiAgICAgICAgIFJlZlB0cjxDbGlwYm9hcmQ+IGNsaXBib2FyZCA9IGRyYWdE
YXRhLT5jcmVhdGVDbGlwYm9hcmQocG9saWN5KTsKICAgICAgICAgY2xpcGJvYXJkLT5zZXRTb3Vy
Y2VPcGVyYXRpb24oZHJhZ0RhdGEtPmRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaygpKTsKLSAg
ICAgICAgY2xpcGJvYXJkLT5zZXREZXN0aW5hdGlvbk9wZXJhdGlvbihEcmFnT3BlcmF0aW9uTm9u
ZSk7ICAvLyBIVE1MNSBzcGVjLCBzZWMuIDcuOS4zCiAgICAgICAgIG1haW5GcmFtZS0+ZXZlbnRI
YW5kbGVyKCktPmNhbmNlbERyYWdBbmREcm9wKGNyZWF0ZU1vdXNlRXZlbnQoZHJhZ0RhdGEpLCBj
bGlwYm9hcmQuZ2V0KCkpOwogICAgICAgICBjbGlwYm9hcmQtPnNldEFjY2Vzc1BvbGljeShDbGlw
Ym9hcmROdW1iKTsgICAgLy8gaW52YWxpZGF0ZSBjbGlwYm9hcmQgaGVyZSBmb3Igc2VjdXJpdHkK
ICAgICB9CkBAIC0xODMsNyArMTgxLDYgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6cGVyZm9ybURy
YWcoRHJhZ0RhdGEqIGRyYWdEYXRhKQogICAgICAgICAgICAgLy8gU2VuZGluZyBhbiBldmVudCBj
YW4gcmVzdWx0IGluIHRoZSBkZXN0cnVjdGlvbiBvZiB0aGUgdmlldyBhbmQgcGFydC4KICAgICAg
ICAgICAgIFJlZlB0cjxDbGlwYm9hcmQ+IGNsaXBib2FyZCA9IGRyYWdEYXRhLT5jcmVhdGVDbGlw
Ym9hcmQoQ2xpcGJvYXJkUmVhZGFibGUpOwogICAgICAgICAgICAgY2xpcGJvYXJkLT5zZXRTb3Vy
Y2VPcGVyYXRpb24oZHJhZ0RhdGEtPmRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaygpKTsKLSAg
ICAgICAgICAgIGNsaXBib2FyZC0+c2V0RGVzdGluYXRpb25PcGVyYXRpb24obV9kZXN0aW5hdGlv
bkRyYWdPcGVyYXRpb24pOyAgLy8gSFRNTDUgc3BlYywgc2VjLiA3LjkuMwogICAgICAgICAgICAg
bWFpbkZyYW1lLT5ldmVudEhhbmRsZXIoKS0+cGVyZm9ybURyYWdBbmREcm9wKGNyZWF0ZU1vdXNl
RXZlbnQoZHJhZ0RhdGEpLCBjbGlwYm9hcmQuZ2V0KCkpOwogICAgICAgICAgICAgY2xpcGJvYXJk
LT5zZXRBY2Nlc3NQb2xpY3koQ2xpcGJvYXJkTnVtYik7ICAgIC8vIGludmFsaWRhdGUgY2xpcGJv
YXJkIGhlcmUgZm9yIHNlY3VyaXR5CiAgICAgICAgIH0KQEAgLTIzMiwxMiArMjI5LDcgQEAgRHJh
Z09wZXJhdGlvbiBEcmFnQ29udHJvbGxlcjo6ZHJhZ0VudGVyZWRPclVwZGF0ZWQoRHJhZ0RhdGEq
IGRyYWdEYXRhKQogICAgIERyYWdPcGVyYXRpb24gb3BlcmF0aW9uID0gRHJhZ09wZXJhdGlvbk5v
bmU7CiAgICAgYm9vbCBoYW5kbGVkQnlEb2N1bWVudCA9IHRyeURvY3VtZW50RHJhZyhkcmFnRGF0
YSwgbV9kcmFnRGVzdGluYXRpb25BY3Rpb24sIG9wZXJhdGlvbik7CiAgICAgaWYgKCFoYW5kbGVk
QnlEb2N1bWVudCAmJiAobV9kcmFnRGVzdGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGluYXRpb25B
Y3Rpb25Mb2FkKSkKLSAgICAgICAgb3BlcmF0aW9uID0gb3BlcmF0aW9uRm9yTG9hZChkcmFnRGF0
YSk7Ci0gICAgCi0gICAgLy8gUmVzdHJpY3QgdGhlIG9wZXJhdGlvbiB0byB3aGF0IHRoZSBkcmFn
IHNvdXJjZSBhbGxvd3M6Ci0gICAgaWYgKChvcGVyYXRpb24gJiBkcmFnRGF0YS0+ZHJhZ2dpbmdT
b3VyY2VPcGVyYXRpb25NYXNrKCkpICE9IG9wZXJhdGlvbikKLSAgICAgICAgb3BlcmF0aW9uID0g
RHJhZ09wZXJhdGlvbk5vbmU7Ci0gICAgbV9kZXN0aW5hdGlvbkRyYWdPcGVyYXRpb24gPSBvcGVy
YXRpb247CisgICAgICAgIHJldHVybiBvcGVyYXRpb25Gb3JMb2FkKGRyYWdEYXRhKTsKICAgICBy
ZXR1cm4gb3BlcmF0aW9uOwogfQogCkBAIC00OTksOCArNDkxLDYgQEAgYm9vbCBEcmFnQ29udHJv
bGxlcjo6dHJ5REhUTUxEcmFnKERyYWdEYXRhKiBkcmFnRGF0YSwgRHJhZ09wZXJhdGlvbiYgb3Bl
cmF0aW9uKQogICAgIFJlZlB0cjxDbGlwYm9hcmQ+IGNsaXBib2FyZCA9IGRyYWdEYXRhLT5jcmVh
dGVDbGlwYm9hcmQocG9saWN5KTsKICAgICBEcmFnT3BlcmF0aW9uIHNyY09wTWFzayA9IGRyYWdE
YXRhLT5kcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2soKTsKICAgICBjbGlwYm9hcmQtPnNldFNv
dXJjZU9wZXJhdGlvbihzcmNPcE1hc2spOwotICAgIG1fZGVzdGluYXRpb25EcmFnT3BlcmF0aW9u
ID0gZGVmYXVsdE9wZXJhdGlvbkZvckRyYWcoc3JjT3BNYXNrKTsgICAgLy8gSFRNTDUgc3BlYywg
c2VjLiA3LjkuMwotICAgIGNsaXBib2FyZC0+c2V0RGVzdGluYXRpb25PcGVyYXRpb24obV9kZXN0
aW5hdGlvbkRyYWdPcGVyYXRpb24pOwogCiAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IGV2ZW50ID0g
Y3JlYXRlTW91c2VFdmVudChkcmFnRGF0YSk7CiAgICAgaWYgKCFtYWluRnJhbWUtPmV2ZW50SGFu
ZGxlcigpLT51cGRhdGVEcmFnQW5kRHJvcChldmVudCwgY2xpcGJvYXJkLmdldCgpKSkgewpAQCAt
NjMzLDcgKzYyMyw2IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSogc3Jj
LCBDbGlwYm9hcmQqIGNsaXBib2FyZCwgRHJhZ09wZXJhdGlvbiBzCiAKICAgICBtX2RyYWdnaW5n
SW1hZ2VVUkwgPSBLVVJMKCk7CiAgICAgbV9zb3VyY2VEcmFnT3BlcmF0aW9uID0gc3JjT3A7Ci0g
ICAgbV9kZXN0aW5hdGlvbkRyYWdPcGVyYXRpb24gPSBEcmFnT3BlcmF0aW9uTm9uZTsKIAogICAg
IERyYWdJbWFnZVJlZiBkcmFnSW1hZ2UgPSAwOwogICAgIEludFBvaW50IGRyYWdMb2MoMCwgMCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFn
ZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDEyMmRhOGEuLjk0NzI1ODkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJv
bGxlci5oCkBAIC02NSw3ICs2NSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9p
ZCBzZXRJc0hhbmRsaW5nRHJhZyhib29sIGhhbmRsaW5nKSB7IG1faXNIYW5kbGluZ0RyYWcgPSBo
YW5kbGluZzsgfQogICAgICAgICBib29sIGlzSGFuZGxpbmdEcmFnKCkgY29uc3QgeyByZXR1cm4g
bV9pc0hhbmRsaW5nRHJhZzsgfQogICAgICAgICBEcmFnT3BlcmF0aW9uIHNvdXJjZURyYWdPcGVy
YXRpb24oKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZURyYWdPcGVyYXRpb247IH0KLSAgICAgICAg
RHJhZ09wZXJhdGlvbiBkZXN0aW5hdGlvbkRyYWdPcGVyYXRpb24oKSBjb25zdCB7IHJldHVybiBt
X2Rlc3RpbmF0aW9uRHJhZ09wZXJhdGlvbjsgfQogICAgICAgICB2b2lkIHNldERyYWdnaW5nSW1h
Z2VVUkwoY29uc3QgS1VSTCYgdXJsKSB7IG1fZHJhZ2dpbmdJbWFnZVVSTCA9IHVybDsgfQogICAg
ICAgICBjb25zdCBLVVJMJiBkcmFnZ2luZ0ltYWdlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9kcmFn
Z2luZ0ltYWdlVVJMOyB9CiAgICAgICAgIHZvaWQgc2V0RHJhZ0luaXRpYXRvcihEb2N1bWVudCog
aW5pdGlhdG9yKSB7IG1fZHJhZ0luaXRpYXRvciA9IGluaXRpYXRvcjsgbV9kaWRJbml0aWF0ZURy
YWcgPSB0cnVlOyB9CkBAIC0xMjMsNyArMTIyLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBib29sIG1fZGlkSW5pdGlhdGVEcmFnOwogICAgICAgICBib29sIG1faXNIYW5kbGluZ0Ry
YWc7CiAgICAgICAgIERyYWdPcGVyYXRpb24gbV9zb3VyY2VEcmFnT3BlcmF0aW9uOyAvLyBTZXQg
aW4gc3RhcnREcmFnIHdoZW4gYSBkcmFnIHN0YXJ0cyBmcm9tIGEgbW91c2UgZG93biB3aXRoaW4g
V2ViS2l0Ci0gICAgICAgIERyYWdPcGVyYXRpb24gbV9kZXN0aW5hdGlvbkRyYWdPcGVyYXRpb247
IC8vIExhc3Qgb3BlcmF0aW9uIHNldCBieSBldmVudCBoYW5kbGVyCiAgICAgICAgIEludFBvaW50
IG1fZHJhZ09mZnNldDsKICAgICAgICAgS1VSTCBtX2RyYWdnaW5nSW1hZ2VVUkw7CiAgICAgfTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKaW5kZXggODUyNmMxMi4uZTlkZDNiZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKQEAgLTE1MDYsMTQgKzE1MDYsOCBAQCBib29sIEV2ZW50SGFuZGxlcjo6dXBkYXRlRHJh
Z0FuZERyb3AoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCwgQ2xpcGJvYXJkKgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgID8gc3RhdGljX2Nhc3Q8SFRNTEZyYW1lRWxlbWVudEJh
c2UqPihtX2RyYWdUYXJnZXQuZ2V0KCkpLT5jb250ZW50RnJhbWUoKSA6IDA7CiAgICAgICAgICAg
ICBpZiAoZnJhbWUpCiAgICAgICAgICAgICAgICAgYWNjZXB0ID0gZnJhbWUtPmV2ZW50SGFuZGxl
cigpLT51cGRhdGVEcmFnQW5kRHJvcChldmVudCwgY2xpcGJvYXJkKTsKLSAgICAgICAgICAgIGVs
c2UgewotICAgICAgICAgICAgICAgIC8vIFRlbXBvcmFyaWx5IHNldCBkcm9wRWZmZWN0IHRvICdu
b25lJyB3aGlsZSBjYWxsaW5nIGRyb3BsZWF2ZSBoYW5kbGVyIChhcyBwZXIgSFRNTDUgc3BlYykK
LSAgICAgICAgICAgICAgICBEcmFnT3BlcmF0aW9uIHNhdmVPcCA9IERyYWdPcGVyYXRpb25Ob25l
OwotICAgICAgICAgICAgICAgIGNsaXBib2FyZC0+ZGVzdGluYXRpb25PcGVyYXRpb24oc2F2ZU9w
KTsKLSAgICAgICAgICAgICAgICBjbGlwYm9hcmQtPnNldERlc3RpbmF0aW9uT3BlcmF0aW9uKERy
YWdPcGVyYXRpb25Ob25lKTsKKyAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBkaXNw
YXRjaERyYWdFdmVudChldmVudE5hbWVzKCkuZHJhZ2xlYXZlRXZlbnQsIG1fZHJhZ1RhcmdldC5n
ZXQoKSwgZXZlbnQsIGNsaXBib2FyZCk7Ci0gICAgICAgICAgICAgICAgY2xpcGJvYXJkLT5zZXRE
ZXN0aW5hdGlvbk9wZXJhdGlvbihzYXZlT3ApOwotICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgfSBlbHNlIHsKICAgICAgICAgaWYgKG5ld1RhcmdldCkgewpAQCAtMjEzNywxMyArMjEzMSwx
MSBAQCBib29sIEV2ZW50SGFuZGxlcjo6c2hvdWxkRHJhZ0F1dG9Ob2RlKE5vZGUqIG5vZGUsIGNv
bnN0IEludFBvaW50JiBwb2ludCkgY29uc3QKICAgICByZXR1cm4gcGFnZSAmJiBwYWdlLT5kcmFn
Q29udHJvbGxlcigpLT5tYXlTdGFydERyYWdBdEV2ZW50TG9jYXRpb24obV9mcmFtZSwgcG9pbnQp
OwogfQogICAgIAotdm9pZCBFdmVudEhhbmRsZXI6OmRyYWdTb3VyY2VNb3ZlZFRvKGNvbnN0IFBs
YXRmb3JtTW91c2VFdmVudCYgZXZlbnQsIERyYWdPcGVyYXRpb24gb3BlcmF0aW9uKQordm9pZCBF
dmVudEhhbmRsZXI6OmRyYWdTb3VyY2VNb3ZlZFRvKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYg
ZXZlbnQpCiB7Ci0gICAgaWYgKGRyYWdTdGF0ZSgpLm1fZHJhZ1NyYyAmJiBkcmFnU3RhdGUoKS5t
X2RyYWdTcmNNYXlCZURIVE1MKSB7Ci0gICAgICAgIGRyYWdTdGF0ZSgpLm1fZHJhZ0NsaXBib2Fy
ZC0+c2V0RGVzdGluYXRpb25PcGVyYXRpb24ob3BlcmF0aW9uKTsKKyAgICBpZiAoZHJhZ1N0YXRl
KCkubV9kcmFnU3JjICYmIGRyYWdTdGF0ZSgpLm1fZHJhZ1NyY01heUJlREhUTUwpCiAgICAgICAg
IC8vIGZvciBub3cgd2UgZG9uJ3QgY2FyZSBpZiBldmVudCBoYW5kbGVyIGNhbmNlbHMgZGVmYXVs
dCBiZWhhdmlvciwgc2luY2UgdGhlcmUgaXMgbm9uZQogICAgICAgICBkaXNwYXRjaERyYWdTcmNF
dmVudChldmVudE5hbWVzKCkuZHJhZ0V2ZW50LCBldmVudCk7Ci0gICAgfQogfQogICAgIAogdm9p
ZCBFdmVudEhhbmRsZXI6OmRyYWdTb3VyY2VFbmRlZEF0KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYgZXZlbnQsIERyYWdPcGVyYXRpb24gb3BlcmF0aW9uKQpAQCAtMjIzNyw3ICsyMjI5LDcgQEAg
Ym9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZURyYWcoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0
UmVzdWx0cyYgZXZlbnQpCiAgICAgLy8gT25jZSB3ZSdyZSBwYXN0IHRoZSBoeXN0ZXJlc2lzIHBv
aW50LCB3ZSBkb24ndCB3YW50IHRvIHRyZWF0IHRoaXMgZ2VzdHVyZSBhcyBhIGNsaWNrCiAgICAg
aW52YWxpZGF0ZUNsaWNrKCk7CiAgICAgCi0gICAgRHJhZ09wZXJhdGlvbiBzcmNPcCA9IERyYWdP
cGVyYXRpb25FdmVyeTsgICAgICAKKyAgICBEcmFnT3BlcmF0aW9uIHNyY09wID0gRHJhZ09wZXJh
dGlvbk5vbmU7ICAgICAgCiAgICAgCiAgICAgZnJlZUNsaXBib2FyZCgpOyAgICAvLyB3b3VsZCBv
bmx5IGhhcHBlbiBpZiB3ZSBtaXNzZWQgYSBkcmFnRW5kLiAgRG8gaXQgYW55d2F5LCBqdXN0CiAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyB0byBtYWtlIHN1cmUgaXQgZ2V0cyBudW1iaWZpZWQK
QEAgLTIyNjAsNyArMjI1Miw2IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVEcmFnKGNvbnN0
IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZW50KQogICAgICAgICAgICAgfQogICAg
ICAgICB9IAogICAgICAgICAKLSAgICAgICAgZHJhZ1N0YXRlKCkubV9kcmFnQ2xpcGJvYXJkLT5z
ZXREZXN0aW5hdGlvbk9wZXJhdGlvbihEcmFnT3BlcmF0aW9uTm9uZSk7IC8vIEhUTUw1IHNwZWMK
ICAgICAgICAgbV9tb3VzZURvd25NYXlTdGFydERyYWcgPSBkaXNwYXRjaERyYWdTcmNFdmVudChl
dmVudE5hbWVzKCkuZHJhZ3N0YXJ0RXZlbnQsIG1fbW91c2VEb3duKQogICAgICAgICAgICAgJiYg
IW1fZnJhbWUtPnNlbGVjdGlvbigpLT5pc0luUGFzc3dvcmRGaWVsZCgpOwogICAgICAgICAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuaAppbmRleCAyMjMyMjBmLi5iZDVjMzEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0x
NDYsNyArMTQ2LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBldmVudE1heVN0YXJ0RHJhZyhjb25z
dCBQbGF0Zm9ybU1vdXNlRXZlbnQmKSBjb25zdDsKICAgICAKLSAgICB2b2lkIGRyYWdTb3VyY2VN
b3ZlZFRvKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYsIERyYWdPcGVyYXRpb24gPSBEcmFnT3Bl
cmF0aW9uTm9uZSk7CisgICAgdm9pZCBkcmFnU291cmNlTW92ZWRUbyhjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmKTsKICAgICB2b2lkIGRyYWdTb3VyY2VFbmRlZEF0KGNvbnN0IFBsYXRmb3JtTW91
c2VFdmVudCYsIERyYWdPcGVyYXRpb24pOwogCiAgICAgdm9pZCBmb2N1c0RvY3VtZW50Vmlldygp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCAzY2ZjMzk4Li4wMDZlZjNkIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExIEBACisyMDA5LTA5LTEx
ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBObyByZXZpZXcsIHJv
bGxpbmcgb3V0IHI0ODIyOS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvNDgyMjkKKworICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAgICgtW1dl
YkZyYW1lIF9kcmFnU291cmNlTW92ZWRUbzpdKToKKwogMjAwOS0wOS0xMCAgTWFyayBSb3dlICA8
bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IFNhbSBXZWluaWcu
CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViRnJhbWUubW0KaW5kZXggNTMzYjI3OS4uYzAzZWY1OCAxMDA2NDQKLS0tIGEv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJGcmFtZS5tbQpAQCAtNTksNyArNTksNiBAQAogI2ltcG9ydCA8V2ViQ29yZS9ET01JbXBsZW1l
bnRhdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9Eb2NMb2FkZXIuaD4KICNpbXBvcnQgPFdlYkNv
cmUvRG9jdW1lbnRGcmFnbWVudC5oPgotI2ltcG9ydCA8V2ViQ29yZS9EcmFnQ29udHJvbGxlci5o
PgogI2ltcG9ydCA8V2ViQ29yZS9FdmVudEhhbmRsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvRXZl
bnROYW1lcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZS5oPgpAQCAtOTMzLDEzICs5MzIsNyBA
QCBzdGF0aWMgaW5saW5lIFdlYkRhdGFTb3VyY2UgKmRhdGFTb3VyY2UoRG9jdW1lbnRMb2FkZXIq
IGxvYWRlcikKICAgICAvLyBGSVhNRTogVGhlc2UgYXJlIGZha2UgbW9kaWZpZXIga2V5cyBoZXJl
LCBidXQgdGhleSBzaG91bGQgYmUgcmVhbCBvbmVzIGluc3RlYWQuCiAgICAgUGxhdGZvcm1Nb3Vz
ZUV2ZW50IGV2ZW50KEludFBvaW50KHdpbmRvd0xvYyksIGdsb2JhbFBvaW50KHdpbmRvd0xvYywg
W3ZpZXctPnBsYXRmb3JtV2lkZ2V0KCkgd2luZG93XSksCiAgICAgICAgIExlZnRCdXR0b24sIE1v
dXNlRXZlbnRNb3ZlZCwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGN1cnJlbnRUaW1l
KCkpOwotICAgIAotICAgIC8vIEdldCB0aGUgY3VycmVudCBkZXN0aW5hdGlvbiBkcmFnIG9wZXJh
dGlvbiwgaWYgdGhpcyBpcyBhbiBpbnRyYS1wYWdlIGRyYWc6Ci0gICAgRHJhZ09wZXJhdGlvbiBv
cGVyYXRpb24gPSBEcmFnT3BlcmF0aW9uTm9uZTsKLSAgICBpZiAoUGFnZSogcGFnZSA9IF9wcml2
YXRlLT5jb3JlRnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgb3BlcmF0aW9uID0gcGFnZS0+ZHJhZ0Nv
bnRyb2xsZXIoKS0+ZGVzdGluYXRpb25EcmFnT3BlcmF0aW9uKCk7Ci0KLSAgICBfcHJpdmF0ZS0+
Y29yZUZyYW1lLT5ldmVudEhhbmRsZXIoKS0+ZHJhZ1NvdXJjZU1vdmVkVG8oZXZlbnQsIG9wZXJh
dGlvbik7CisgICAgX3ByaXZhdGUtPmNvcmVGcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmRyYWdTb3Vy
Y2VNb3ZlZFRvKGV2ZW50KTsKIH0KIAogLSAodm9pZClfZHJhZ1NvdXJjZUVuZGVkQXQ6KE5TUG9p
bnQpd2luZG93TG9jIG9wZXJhdGlvbjooTlNEcmFnT3BlcmF0aW9uKW9wZXJhdGlvbgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>