<?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>180955</bug_id>
          
          <creation_ts>2017-12-18 15:59:24 -0800</creation_ts>
          <short_desc>Add WKUIDelegatePrivate equivalent of WKPageContextMenuClient getContextMenuFromProposedMenuAsync</short_desc>
          <delta_ts>2018-04-30 15:21:49 -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 API</component>
          <version>WebKit 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="Jeff Miller">jeffm</reporter>
          <assigned_to name="Jeff Miller">jeffm</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jeffm</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1382946</commentid>
    <comment_count>0</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2017-12-18 15:59:24 -0800</bug_when>
    <thetext>Add WKUIDelegatePrivate equivalent of WKPageContextMenuClient getContextMenuFromProposedMenuAsync on macOS. The equivalent C SPI was tracked by &lt;https://bugs.webkit.org/show_bug.cgi?id=163292&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382948</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-18 16:01:57 -0800</bug_when>
    <thetext>&lt;rdar://problem/36118898&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415751</commentid>
    <comment_count>2</comment_count>
      <attachid>338269</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2018-04-18 15:25:30 -0700</bug_when>
    <thetext>Created attachment 338269
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415755</commentid>
    <comment_count>3</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2018-04-18 15:33:29 -0700</bug_when>
    <thetext>Looks like this broke non-Mac builds, I&apos;ll upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415757</commentid>
    <comment_count>4</comment_count>
      <attachid>338270</attachid>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2018-04-18 15:38:16 -0700</bug_when>
    <thetext>Created attachment 338270
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415759</commentid>
    <comment_count>5</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2018-04-18 15:51:18 -0700</bug_when>
    <thetext>Now it seems like the builders are failing for other reasons unrelated to this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417177</commentid>
    <comment_count>6</comment_count>
      <attachid>338270</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-04-24 09:56:48 -0700</bug_when>
    <thetext>Comment on attachment 338270
Patch

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

&gt; Source/WebKit/UIProcess/API/APIContextMenuClient.h:61
&gt; -    virtual RetainPtr&lt;NSMenu&gt; menuFromProposedMenu(WebKit::WebPageProxy&amp;, NSMenu *menu, const WebKit::WebHitTestResultData&amp;, API::Object*) { return menu; }
&gt; +    virtual bool useGetContextMenuFromProposedNSMenu() { return false; }
&gt; +    virtual void getContextMenuFromProposedNSMenu(WebKit::WebPageProxy&amp;, NSMenu *proposedMenu, WebKit::WebContextMenuListenerProxy&amp; listener, API::Object* /* userData */) { listener.useContextMenuNSMenu(proposedMenu); }

This feels like the wrong approach.  I think the right approach would make menuFromProposedMenu return void and have it have a CompletionHandler&lt;void(RetainPtr&lt;NSMenu&gt;)&gt;&amp;&amp; as its last parameter.

&gt; Source/WebKit/UIProcess/WebContextMenuListenerProxy.cpp:58
&gt; +void WebContextMenuListenerProxy::useContextMenuNSMenu(NSMenu *menu)

The Linux build was indeed failing because it was trying to compile this.

&gt; Source/WebKit/UIProcess/WebContextMenuListenerProxy.h:50
&gt;      void useContextMenuItems(Vector&lt;Ref&lt;WebContextMenuItem&gt;&gt;&amp;&amp;);
&gt; +    void useContextMenuNSMenu(NSMenu *);

It seems like we should package things so we don&apos;t need to add another function here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417352</commentid>
    <comment_count>7</comment_count>
      <attachid>338688</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-04-24 17:09:18 -0700</bug_when>
    <thetext>Created attachment 338688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419142</commentid>
    <comment_count>8</comment_count>
      <attachid>338688</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-30 15:21:48 -0700</bug_when>
    <thetext>Comment on attachment 338688
Patch

Clearing flags on attachment: 338688

Committed r231174: &lt;https://trac.webkit.org/changeset/231174&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1419143</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-30 15:21:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338269</attachid>
            <date>2018-04-18 15:25:30 -0700</date>
            <delta_ts>2018-04-18 15:38:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180955-20180418152529.patch</filename>
            <type>text/plain</type>
            <size>17136</size>
            <attacher name="Jeff Miller">jeffm</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMyOTAwMTgyYzgzNjUxMzM5
ZjQzODc5ZDYwYzdhYjM0ZWYwMzkxYTguLmFjYTVmZWQ5N2IyMGE5MzUzMTkxZmJiOWVmYTQxMWJh
MzY5MzNhZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzggQEAKKzIwMTgtMDQtMTggIEplZmYgTWls
bGVyICA8amVmZm1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBXS1VJRGVsZWdhdGVQcml2YXRl
IGVxdWl2YWxlbnQgb2YgV0tQYWdlQ29udGV4dE1lbnVDbGllbnQgZ2V0Q29udGV4dE1lbnVGcm9t
UHJvcG9zZWRNZW51QXN5bmMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MDk1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
ICAgICAgICAKKyAgICAgICAgQWRkIGEgbmV3IHByaXZhdGUgV0tVSURlbGVnYXRlIG1ldGhvZDoK
KyAgICAgICAgCisgICAgICAgIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
Z2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51OihOU01lbnUgKiltZW51IGZvckVsZW1lbnQ6
KF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8gKillbGVtZW50IHVzZXJJbmZvOihpZCA8TlNTZWN1
cmVDb2Rpbmc+KXVzZXJJbmZvIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU01lbnUgKm1l
bnUpKWNvbXBsZXRpb25IYW5kbGVyOworICAgICAgICAKKyAgICAgICAgYW5kIHVwZGF0ZSBvdXIg
aW50ZXJuYWwgY29udGV4dCBtZW51IGhhbmRsaW5nIHRvIHN1cHBvcnQgaXQuCisgICAgICAgIAor
ICAgICAgICBTcGVjaWZpY2FsbHksIFdlYkNvbnRleHRNZW51UHJveHlNYWM6OnNob3dDb250ZXh0
TWVudSgpIG5vdyBpbW1lZGlhdGVseSBjb252ZXJ0cyB0aGUgcHJvcG9zZWQKKyAgICAgICAgV2Vi
Q29udGV4dE1lbnVJdGVtcyB0byBhbiBOU01lbnUgd2hlbiB1c2luZyBhIFdLVUlEZWxlZ2F0ZSBh
cyB0aGUgY29udGV4dCBtZW51IGNsaWVudCB0byBhbGxvdyB0aGUKKyAgICAgICAgbmV3IGRlbGVn
YXRlIG1ldGhvZCB0byBwcm9jZXNzIGl0LiBUaGlzIGVsaW1pbmF0ZXMgdGhlIG5lZWQgZm9yIFVJ
RGVsZWdhdGU6Om1lbnVGcm9tUHJvcG9zZWRNZW51KCksCisgICAgICAgIHdoaWNoIHdhcyBhIHN5
bmNocm9ub3VzIGZ1bmN0aW9uLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElDb250ZXh0
TWVudUNsaWVudC5oOgorICAgICAgICAoQVBJOjpDb250ZXh0TWVudUNsaWVudDo6dXNlR2V0Q29u
dGV4dE1lbnVGcm9tUHJvcG9zZWROU01lbnUpOgorICAgICAgICBBZGRlZC4gVUlEZWxlZ2F0ZSBv
dmVycmlkZXMgdGhpcyB0byByZXR1cm4gdHJ1ZS4KKworICAgICAgICAoQVBJOjpDb250ZXh0TWVu
dUNsaWVudDo6Z2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWROU01lbnUpOgorICAgICAgICBBZGRl
ZC4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gY2FsbHMgdGhlIGxpc3RlbmVyIHdpdGggdGhl
IG1lbnUgdGhhdCB3YXMgcGFzc2VkIGluLgorICAgICAgICAKKyAgICAgICAgKEFQSTo6Q29udGV4
dE1lbnVDbGllbnQ6Om1lbnVGcm9tUHJvcG9zZWRNZW51KToKKyAgICAgICAgRGVsZXRlZC4KKyAg
ICAgICAgCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRl
Lmg6CisgICAgICAgIEFkZGVkIG5ldyBkZWxlZ2F0ZSBtZXRob2QgY29ycmVzcG9uZGluZyB0byBn
ZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnVBc3luYygpIGluIHRoZSBvbGQgV0tQYWdlQ29u
dGV4dE1lbnVDbGllbnQgQyBTUEkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5oOgorICAgICAgICBSZW1vdmVkIG1lbnVGcm9tUHJvcG9zZWRNZW51KCkgYW5kIGFkZGVk
IHVzZUdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTlNNZW51KCkgYW5kIGdldENvbnRleHRNZW51
RnJvbVByb3Bvc2VkTlNNZW51KCkuCisgICAgICAgIEFkZGVkIHdlYlZpZXdHZXRDb250ZXh0TWVu
dUZyb21Qcm9wb3NlZE1lbnUgYml0ZmllbGQgdG8gdHJhY2sgd2hldGhlciB0aGUgbmV3IFdLVUlE
ZWxlZ2F0ZSBtZXRob2QgaXMgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6c2V0RGVsZWdh
dGUpOgorICAgICAgICBJbml0aWFsaXplIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdHZXRDb250
ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUuCisgICAgICAgIAorICAgICAgICAoV2ViS2l0OjpVSURl
bGVnYXRlOjpDb250ZXh0TWVudUNsaWVudDo6dXNlR2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRO
U01lbnUpOgorICAgICAgICBBZGRlZC4gUmV0dXJucyB0cnVlIGlmIHRoZSBXS1VJRGVsZWdhdGUg
aW1wbGVtZW50cyBhbnkgb2YgdGhlIDMgY29udGV4dCBtZW51LXJlbGF0ZWQgbWV0aG9kcy4KKwor
ICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpDb250ZXh0TWVudUNsaWVudDo6Z2V0Q29udGV4
dE1lbnVGcm9tUHJvcG9zZWROU01lbnUpOgorICAgICAgICBBZGRlZC4gQXR0ZW1wdHMgdG8gdXNl
IHRoZSBhc3luY2hyb25vdXMgZGVsZWdhdGUgbWV0aG9kIGZpcnN0LCBmYWxsaW5nIGJhY2sgdG8g
dGhlIHR3byBleGlzdGluZworICAgICAgICBzeW5jaHJvbm91cyBkZWxlZ2F0ZSBtZXRob2RzIG90
aGVyd2lzZS4gVXNlcyBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyIHRvIHRocm93IGFuIGV4
Y2VwdGlvbiBpZgorICAgICAgICB0aGUgY2xpZW50IHZpb2xhdGVzIHRoZSBBUEkgY29udHJhY3Qg
YnkgbmV2ZXIgY2FsbGluZyB0aGUgY29tcGxldGlvbiBoYW5kbGVyIGluIHRoZSBhc3luY2hyb25v
dXMKKyAgICAgICAgY2FzZS4KKworICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpDb250ZXh0
TWVudUNsaWVudDo6bWVudUZyb21Qcm9wb3NlZE1lbnUpOgorICAgICAgICBEZWxldGVkLgorCisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eTo6dXNlQ29udGV4dE1lbnVO
U01lbnUpOgorICAgICAgICBBZGRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0
TWVudUxpc3RlbmVyUHJveHkuaDoKKyAgICAgICAgQWRkZWQgdXNlQ29udGV4dE1lbnVOU01lbnUo
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0TWVudVByb3h5Lmg6CisgICAgICAg
IEFkZGVkIHNob3dDb250ZXh0TWVudVdpdGhOU01lbnUoKS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5oOgorICAgICAgICBPdmVycmlkZSBzaG93Q29u
dGV4dE1lbnVXaXRoTlNNZW51KCkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkNvbnRl
eHRNZW51UHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlN
YWM6OnNob3dDb250ZXh0TWVudVdpdGhJdGVtcyk6CisgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMg
bm93IG9ubHkgdXNlZCB3aXRoIHRoZSBjb250ZXh0IG1lbnUgY2xpZW50IGlzIGFuIG9sZCBXS1Bh
Z2VDb250ZXh0TWVudUNsaWVudC4gQ2FsbHMgc2hvd0NvbnRleHRNZW51V2l0aE5TTWVudSgpIGFm
dGVyIGNvbnZlcnRpbmcgdGhlCisgICAgICAgIFdlYkNvbnRleHRNZW51SXRlbXMgdG8gYW4gTlNN
ZW51LgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlNYWM6OnNob3dDb250
ZXh0TWVudVdpdGhOU01lbnUpOgorICAgICAgICBBZGRlZC4KKworICAgICAgICAoV2ViS2l0OjpX
ZWJDb250ZXh0TWVudVByb3h5TWFjOjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICBXaGVuIHVz
aW5nIGEgbW9kZXJuIGNvbnRleHQgbWVudSBjbGllbnQsIGNvbnZlcnQgdGhlIFdlYkNvbnRleHRN
ZW51SXRlbXMgdG8gYW4gTlNNZW51IGNhbiBjYWxsIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2Vk
TlNNZW51KCkuCisKIDIwMTgtMDQtMTggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0ZSBPcHRpb25zR1RLLmNtYWtl
IGFuZCBORVdTIGZvciAyLjIxLjEgcmVsZWFzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElDb250ZXh0TWVudUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0FQSUNvbnRleHRNZW51Q2xpZW50LmgKaW5kZXggMmZlMjQ5NGEyY2M2MTliMWNm
NWQ5OWVkNWIyYzBlNDMwMTc0MzZmYS4uYWJiYmM0MjI3YmY4NmFjOGVlNTdlZGRkMTllMThhYWYz
NmJhYzM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUNvbnRl
eHRNZW51Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUNvbnRl
eHRNZW51Q2xpZW50LmgKQEAgLTU3LDcgKzU3LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBoaWRlQ29udGV4dE1lbnUoV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBmYWxzZTsg
fQogCiAjaWYgUExBVEZPUk0oTUFDKQotICAgIHZpcnR1YWwgUmV0YWluUHRyPE5TTWVudT4gbWVu
dUZyb21Qcm9wb3NlZE1lbnUoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBOU01lbnUgKm1lbnUsIGNv
bnN0IFdlYktpdDo6V2ViSGl0VGVzdFJlc3VsdERhdGEmLCBBUEk6Ok9iamVjdCopIHsgcmV0dXJu
IG1lbnU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgdXNlR2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRO
U01lbnUoKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBnZXRDb250ZXh0TWVu
dUZyb21Qcm9wb3NlZE5TTWVudShXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIE5TTWVudSAqcHJvcG9z
ZWRNZW51LCBXZWJLaXQ6OldlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eSYgbGlzdGVuZXIsIEFQ
STo6T2JqZWN0KiAvKiB1c2VyRGF0YSAqLykgeyBsaXN0ZW5lci51c2VDb250ZXh0TWVudU5TTWVu
dShwcm9wb3NlZE1lbnUpOyB9CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IGY3YjVl
ZmQxYTg5N2M0OTNlOTUyOWVlMzE2NDQzM2RlMzk0YTM5ZmMuLjJlZTI5YjkyN2IxMjI0NGRiYWU5
Y2Q1YTExMGM0MjM0NDk0ZGRiYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtMTgzLDYgKzE4Myw3IEBA
IHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IHVuYXZhaWxhYmxlUGx1Z0luQnV0dG9uQ2xpY2tlZFdpdGhSZWFzb246KF9XS1BsdWdJblVu
YXZhaWxhYmlsaXR5UmVhc29uKXJlYXNvbiBwbHVnSW5JbmZvOihOU0RpY3Rpb25hcnkgKilwbHVn
SW5JbmZvOwogLSAoTlNNZW51ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY29udGV4
dE1lbnU6KE5TTWVudSAqKW1lbnUgZm9yRWxlbWVudDooX1dLQ29udGV4dE1lbnVFbGVtZW50SW5m
byAqKWVsZW1lbnQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpKTsKIC0gKE5TTWVudSAq
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNvbnRleHRNZW51OihOU01lbnUgKiltZW51
IGZvckVsZW1lbnQ6KF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8gKillbGVtZW50IHVzZXJJbmZv
OihpZCA8TlNTZWN1cmVDb2Rpbmc+KXVzZXJJbmZvIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEyKSk7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGdldENvbnRleHRN
ZW51RnJvbVByb3Bvc2VkTWVudTooTlNNZW51ICopbWVudSBmb3JFbGVtZW50OihfV0tDb250ZXh0
TWVudUVsZW1lbnRJbmZvICopZWxlbWVudCB1c2VySW5mbzooaWQgPE5TU2VjdXJlQ29kaW5nPil1
c2VySW5mbyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNNZW51ICptZW51KSljb21wbGV0
aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiAjZW5kaWYg
Ly8gVEFSR0VUX09TX0lQSE9ORQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLmgKaW5kZXggMjg5OTBlZDIwNzViYjg2ZmE3ODU1NmIwMWIyM2RjYWNhNzJi
OGRkMC4uM2RjNzgzMGQ5MTI5MzY4NzIyMGYyOTY3YWE0NWIwMmQzNjRkM2VjNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaApAQCAtNjcsNyArNjcsOCBAQCBw
cml2YXRlOgogCiAgICAgcHJpdmF0ZToKICAgICAgICAgLy8gQVBJOjpDb250ZXh0TWVudUNsaWVu
dAotICAgICAgICBSZXRhaW5QdHI8TlNNZW51PiBtZW51RnJvbVByb3Bvc2VkTWVudShXZWJQYWdl
UHJveHkmLCBOU01lbnUgKiwgY29uc3QgV2ViSGl0VGVzdFJlc3VsdERhdGEmLCBBUEk6Ok9iamVj
dCopIG92ZXJyaWRlOworICAgICAgICBib29sIHVzZUdldENvbnRleHRNZW51RnJvbVByb3Bvc2Vk
TlNNZW51KCkgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9z
ZWROU01lbnUoV2ViUGFnZVByb3h5JiwgTlNNZW51ICosIFdlYkNvbnRleHRNZW51TGlzdGVuZXJQ
cm94eSYsIEFQSTo6T2JqZWN0KiAvKiB1c2VyRGF0YSAqLykgb3ZlcnJpZGU7CiAKICAgICAgICAg
VUlEZWxlZ2F0ZSYgbV91aURlbGVnYXRlOwogICAgIH07CkBAIC0yMTAsNiArMjExLDcgQEAgcHJp
dmF0ZToKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICAgICAgYm9vbCB3ZWJWaWV3Q29u
dGV4dE1lbnVGb3JFbGVtZW50IDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3Q29udGV4dE1lbnVG
b3JFbGVtZW50VXNlckluZm8gOiAxOworICAgICAgICBib29sIHdlYlZpZXdHZXRDb250ZXh0TWVu
dUZyb21Qcm9wb3NlZE1lbnUgOiAxOwogI2VuZGlmCiAgICAgICAgIGJvb2wgd2ViVmlld0hhc1Zp
ZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlIDogMTsKICAgICB9IG1fZGVsZWdhdGVNZXRo
b2RzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0
ZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5kZXgg
NGM4NjUyZjI5MDM5YWU3NjdkYjlmNmNjNzk4OWYyZjhlMjdkODdmOC4uYWZlODNjZmRmMmUwYTU3
NzE5MDMzMTM5MzkyODkyZDIzM2M4Mjg4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLm1tCkBAIC0xNTksNiArMTU5LDcgQEAgdm9pZCBVSURlbGVnYXRlOjpz
ZXREZWxlZ2F0ZShpZCA8V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVt
ZW50ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Y29u
dGV4dE1lbnU6Zm9yRWxlbWVudDopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q29u
dGV4dE1lbnVGb3JFbGVtZW50VXNlckluZm8gPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcihfd2ViVmlldzpjb250ZXh0TWVudTpmb3JFbGVtZW50OnVzZXJJbmZvOildOwor
ICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdHZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1l
bnUgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpnZXRD
b250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnU6Zm9yRWxlbWVudDp1c2VySW5mbzpjb21wbGV0aW9u
SGFuZGxlcjopXTsKICNlbmRpZgogICAgIAogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdI
YXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3Omhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlk
Q2hhbmdlOildOwpAQCAtMTc0LDIxICsxNzUsNDMgQEAgVUlEZWxlZ2F0ZTo6Q29udGV4dE1lbnVD
bGllbnQ6On5Db250ZXh0TWVudUNsaWVudCgpCiB7CiB9CiAKLVJldGFpblB0cjxOU01lbnU+IFVJ
RGVsZWdhdGU6OkNvbnRleHRNZW51Q2xpZW50OjptZW51RnJvbVByb3Bvc2VkTWVudShXZWJQYWdl
UHJveHkmLCBOU01lbnUgKm1lbnUsIGNvbnN0IFdlYkhpdFRlc3RSZXN1bHREYXRhJiwgQVBJOjpP
YmplY3QqIHVzZXJJbmZvKQorYm9vbCBVSURlbGVnYXRlOjpDb250ZXh0TWVudUNsaWVudDo6dXNl
R2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWROU01lbnUoKQogewotICAgIGlmICghbV91aURlbGVn
YXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdDb250ZXh0TWVudUZvckVsZW1lbnQgJiYgIW1f
dWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50
VXNlckluZm8pCi0gICAgICAgIHJldHVybiBtZW51OworICAgIHJldHVybiBtX3VpRGVsZWdhdGUu
bV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudCB8fCBtX3VpRGVs
ZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudFVzZXJJ
bmZvIHx8IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3R2V0Q29udGV4dE1l
bnVGcm9tUHJvcG9zZWRNZW51OworfQorCit2b2lkIFVJRGVsZWdhdGU6OkNvbnRleHRNZW51Q2xp
ZW50OjpnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE5TTWVudShXZWJQYWdlUHJveHkmIHBhZ2Us
IE5TTWVudSAqcHJvcG9zZWRNZW51LCBXZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHkmIGNvbnRl
eHRNZW51TGlzdGVuZXIsIEFQSTo6T2JqZWN0KiB1c2VySW5mbykKK3sKKyAgICBpZiAoIW1fdWlE
ZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50ICYm
ICFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRNZW51Rm9yRWxl
bWVudFVzZXJJbmZvICYmICFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0dl
dENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudSkgeworICAgICAgICBjb250ZXh0TWVudUxpc3Rl
bmVyLnVzZUNvbnRleHRNZW51TlNNZW51KHByb3Bvc2VkTWVudSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CiAKICAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0
KCk7Ci0gICAgaWYgKCFkZWxlZ2F0ZSkKLSAgICAgICAgcmV0dXJuIG1lbnU7CisgICAgaWYgKCFk
ZWxlZ2F0ZSkgeworICAgICAgICBjb250ZXh0TWVudUxpc3RlbmVyLnVzZUNvbnRleHRNZW51TlNN
ZW51KHByb3Bvc2VkTWVudSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBhdXRvIGNv
bnRleHRNZW51RWxlbWVudEluZm8gPSBhZG9wdE5TKFtbX1dLQ29udGV4dE1lbnVFbGVtZW50SW5m
byBhbGxvY10gaW5pdF0pOwogCi0gICAgaWYgKG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9k
cy53ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50KQotICAgICAgICByZXR1cm4gWyhpZCA8V0tV
SURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX3dlYlZpZXc6bV91aURlbGVnYXRlLm1fd2ViVmll
dyBjb250ZXh0TWVudTptZW51IGZvckVsZW1lbnQ6Y29udGV4dE1lbnVFbGVtZW50SW5mby5nZXQo
KV07CisgICAgaWYgKG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3R2V0Q29u
dGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51KSB7CisgICAgICAgIFJlZjxDb21wbGV0aW9uSGFuZGxl
ckNhbGxDaGVja2VyPiBjaGVja2VyID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3Jl
YXRlKGRlbGVnYXRlLmdldCgpLCBAc2VsZWN0b3IoX3dlYlZpZXc6Z2V0Q29udGV4dE1lbnVGcm9t
UHJvcG9zZWRNZW51OmZvckVsZW1lbnQ6dXNlckluZm86Y29tcGxldGlvbkhhbmRsZXI6KSk7Cisg
ICAgICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlE
ZWxlZ2F0ZS5tX3dlYlZpZXcgZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51OnByb3Bvc2Vk
TWVudSBmb3JFbGVtZW50OmNvbnRleHRNZW51RWxlbWVudEluZm8uZ2V0KCkgdXNlckluZm86dXNl
ckluZm8gPyBzdGF0aWNfY2FzdDxpZCA8TlNTZWN1cmVDb2Rpbmc+Pih1c2VySW5mby0+d3JhcHBl
cigpKSA6IG5pbCBjb21wbGV0aW9uSGFuZGxlcjpCbG9ja1B0cjx2b2lkIChOU01lbnUgKik+Ojpm
cm9tQ2FsbGFibGUoW2NvbnRleHRNZW51TGlzdGVuZXIgPSBtYWtlUmVmKGNvbnRleHRNZW51TGlz
dGVuZXIpLCBjaGVja2VyID0gV1RGTW92ZShjaGVja2VyKV0gKE5TTWVudSAqbWVudSkgeworICAg
ICAgICAgICAgaWYgKGNoZWNrZXItPmNvbXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQor
ICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGNvbnRleHRNZW51TGlzdGVuZXIt
PnVzZUNvbnRleHRNZW51TlNNZW51KG1lbnUpOworICAgICAgICAgICAgY2hlY2tlci0+ZGlkQ2Fs
bENvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIH0pLmdldCgpXTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmll
d0NvbnRleHRNZW51Rm9yRWxlbWVudCkgeworICAgICAgICBjb250ZXh0TWVudUxpc3RlbmVyLnVz
ZUNvbnRleHRNZW51TlNNZW51KFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93
ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgY29udGV4dE1lbnU6cHJvcG9zZWRNZW51IGZv
ckVsZW1lbnQ6Y29udGV4dE1lbnVFbGVtZW50SW5mby5nZXQoKV0pOworICAgICAgICByZXR1cm47
CisgICAgfQogCi0gICAgcmV0dXJuIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRl
IF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgY29udGV4dE1lbnU6bWVudSBmb3JFbGVt
ZW50OmNvbnRleHRNZW51RWxlbWVudEluZm8uZ2V0KCkgdXNlckluZm86dXNlckluZm8gPyBzdGF0
aWNfY2FzdDxpZCA8TlNTZWN1cmVDb2Rpbmc+Pih1c2VySW5mby0+d3JhcHBlcigpKSA6IG5pbF07
CisgICAgY29udGV4dE1lbnVMaXN0ZW5lci51c2VDb250ZXh0TWVudU5TTWVudShbKGlkIDxXS1VJ
RGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3
IGNvbnRleHRNZW51OnByb3Bvc2VkTWVudSBmb3JFbGVtZW50OmNvbnRleHRNZW51RWxlbWVudElu
Zm8uZ2V0KCkgdXNlckluZm86dXNlckluZm8gPyBzdGF0aWNfY2FzdDxpZCA8TlNTZWN1cmVDb2Rp
bmc+Pih1c2VySW5mby0+d3JhcHBlcigpKSA6IG5pbF0pOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHku
Y3BwCmluZGV4IGE4MGMyNjIyNThiOGNjMzMzZTAyMGYyMDAyNGY1NjcxNWZhYzVhMmUuLjllMDhl
MTBlNzA0ZjA1MGEwYjJiY2IzMTIxODIxMTBjZTEyM2RiZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVMaXN0ZW5lclByb3h5LmNwcApAQCAt
NTUsNiArNTUsMTQgQEAgdm9pZCBXZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHk6OnVzZUNvbnRl
eHRNZW51SXRlbXMoVmVjdG9yPFJlZjxXZWJDb250ZXh0TWVudUkKICAgICBtX2NvbnRleHRNZW51
TWFjLT5zaG93Q29udGV4dE1lbnVXaXRoSXRlbXMoV1RGTW92ZShpdGVtcykpOwogfQogCit2b2lk
IFdlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eTo6dXNlQ29udGV4dE1lbnVOU01lbnUoTlNNZW51
ICptZW51KQoreworICAgIGlmICghbV9jb250ZXh0TWVudU1hYykKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9jb250ZXh0TWVudU1hYy0+c2hvd0NvbnRleHRNZW51V2l0aE5TTWVudShtZW51KTsK
K30KKwogdm9pZCBXZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHk6OmludmFsaWRhdGUoKQogewog
ICAgIG1fY29udGV4dE1lbnVNYWMgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVMaXN0ZW5lclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHkuaAppbmRleCA3ZmQzNDA2MzVm
YTM4NjhjZWQwN2EwYjQxYTUxMDliMTQ3ZjMxODhmLi40ZGIyM2JkNzU5ZWY3YjFkOTM2ZGMyZDVk
YjZiMDRmNDhiNzkzY2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJD
b250ZXh0TWVudUxpc3RlbmVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHkuaApAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUg
IldlYkNvbnRleHRNZW51UHJveHkuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKK09CSkNf
Q0xBU1MgTlNNZW51OworCiBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkNvbnRleHRNZW51
UHJveHlNYWM7CiAKQEAgLTQ1LDYgKzQ3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfldlYkNv
bnRleHRNZW51TGlzdGVuZXJQcm94eSgpOwogCiAgICAgdm9pZCB1c2VDb250ZXh0TWVudUl0ZW1z
KFZlY3RvcjxSZWY8V2ViQ29udGV4dE1lbnVJdGVtPj4mJik7CisgICAgdm9pZCB1c2VDb250ZXh0
TWVudU5TTWVudShOU01lbnUgKik7CiAKICAgICB2b2lkIGludmFsaWRhdGUoKTsKIHByaXZhdGU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudVByb3h5LmgKaW5kZXgg
M2YwNWY0Mzk1YzA4NjU2ZWU2MGMxYTQ2N2M2ZmU4MDkxMTVhMDIxMC4uZGViMjM0MDcxNWVkNTAz
ZmIxZTE1Njc4MWViMzc4OGE2NTdiZjc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkNvbnRleHRNZW51UHJveHkuaApAQCAtMzEsNiArMzEsOCBAQAogI2luY2x1ZGUgIlVzZXJE
YXRhLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAorT0JKQ19DTEFTUyBOU01lbnU7
CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDb250ZXh0TWVudUl0ZW07CkBAIC00
Miw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2hvdygpID0gMDsKIAogICAg
IHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnVXaXRoSXRlbXMoVmVjdG9yPFJlZjxXZWJDb250
ZXh0TWVudUl0ZW0+PiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudVdp
dGhOU01lbnUoTlNNZW51ICopID0gMDsKIAogcHJvdGVjdGVkOgogICAgIFdlYkNvbnRleHRNZW51
UHJveHkoQ29udGV4dE1lbnVDb250ZXh0RGF0YSYmLCBjb25zdCBVc2VyRGF0YSYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLmgK
aW5kZXggM2ZhNjA2YjIwOTY1MTZjZDMxNTU1ZWQ1YWVmMzhlZjYzYjMyZjQ1Ny4uNzFiYTk1ZTFh
YWM0MDE4YzE5NjdjZjY5YjJiOWFiY2ZlZDdkNTQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5oCkBAIC01NSw2ICs1NSw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2Vi
Q29udGV4dE1lbnVJdGVtRGF0YSYpOwogICAgIHZvaWQgc2hvd0NvbnRleHRNZW51V2l0aEl0ZW1z
KFZlY3RvcjxSZWY8V2ViQ29udGV4dE1lbnVJdGVtPj4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBz
aG93Q29udGV4dE1lbnVXaXRoTlNNZW51KE5TTWVudSAqKSBvdmVycmlkZTsKIAogI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQogICAgIHZvaWQgY2xlYXJTZXJ2aWNlc01lbnUoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFj
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMu
bW0KaW5kZXggOTc4MTU3NDliZGRjYjA5Mzg4MWU4OGJlNzE3NjcwNzRhZTZmOGM3My4uMTA4MjM4
NmEzNTM4ZmVhMDEwZTdjMDkxODUyOGIxMGNmY2ZhMTM3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KQEAgLTQ2NSw4
ICs0NjUsMTYgQEAgdm9pZCBXZWJDb250ZXh0TWVudVByb3h5TWFjOjpzaG93Q29udGV4dE1lbnVX
aXRoSXRlbXMoVmVjdG9yPFJlZjxXZWJDb250ZXh0TWVudUkKICAgICAgICAgZGF0YS51bmNoZWNr
ZWRBcHBlbmQoaXRlbS0+ZGF0YSgpKTsKICAgICAKICAgICBhdXRvIG1lbnUgPSBjcmVhdGVDb250
ZXh0TWVudUZyb21JdGVtcyhkYXRhKTsKKyAgICBzaG93Q29udGV4dE1lbnVXaXRoTlNNZW51KG1l
bnUuZ2V0KCkpOworfQorCit2b2lkIFdlYkNvbnRleHRNZW51UHJveHlNYWM6OnNob3dDb250ZXh0
TWVudVdpdGhOU01lbnUoTlNNZW51ICptZW51KQoreworICAgIGlmICghbWVudS5pdGVtQXJyYXku
Y291bnQpCisgICAgICAgIHJldHVybjsKKworICAgIG1fbWVudSA9IG1lbnU7CiAgICAgW1tXS01l
bnVUYXJnZXQgc2hhcmVkTWVudVRhcmdldF0gc2V0TWVudVByb3h5OnRoaXNdOwotICAgIG1fbWVu
dSA9IG1fcGFnZS5jb250ZXh0TWVudUNsaWVudCgpLm1lbnVGcm9tUHJvcG9zZWRNZW51KG1fcGFn
ZSwgbWVudS5nZXQoKSwgbV9jb250ZXh0LndlYkhpdFRlc3RSZXN1bHREYXRhKCksIG1fdXNlckRh
dGEub2JqZWN0KCkpOwogCiAgICAgTlNQb2ludCBtZW51TG9jYXRpb24gPSBbbV93ZWJWaWV3IGNv
bnZlcnRQb2ludDptX2NvbnRleHQubWVudUxvY2F0aW9uKCkgdG9WaWV3Om5pbF07CiAgICAgTlNF
dmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNFdmVudFR5cGVSaWdo
dE1vdXNlVXAgbG9jYXRpb246bWVudUxvY2F0aW9uIG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6
MCB3aW5kb3dOdW1iZXI6bV93ZWJWaWV3LndpbmRvdy53aW5kb3dOdW1iZXIgY29udGV4dDpuaWwg
ZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjAgcHJlc3N1cmU6MF07CkBAIC00OTEsNyArNDk5LDE2
IEBAIHZvaWQgV2ViQ29udGV4dE1lbnVQcm94eU1hYzo6c2hvd0NvbnRleHRNZW51KCkKIAogICAg
IG1fY29udGV4dE1lbnVMaXN0ZW5lciA9IFdlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eTo6Y3Jl
YXRlKHRoaXMpOwogCi0gICAgbV9wYWdlLmNvbnRleHRNZW51Q2xpZW50KCkuZ2V0Q29udGV4dE1l
bnVGcm9tUHJvcG9zZWRNZW51KG1fcGFnZSwgV1RGTW92ZShwcm9wb3NlZEFQSUl0ZW1zKSwgKm1f
Y29udGV4dE1lbnVMaXN0ZW5lciwgbV9jb250ZXh0LndlYkhpdFRlc3RSZXN1bHREYXRhKCksIG1f
cGFnZS5wcm9jZXNzKCkudHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyhtX3VzZXJEYXRhLm9iamVj
dCgpKS5nZXQoKSk7CisgICAgaWYgKG1fcGFnZS5jb250ZXh0TWVudUNsaWVudCgpLnVzZUdldENv
bnRleHRNZW51RnJvbVByb3Bvc2VkTlNNZW51KCkpIHsKKyAgICAgICAgVmVjdG9yPFdlYkNvbnRl
eHRNZW51SXRlbURhdGE+IGRhdGE7CisgICAgICAgIGRhdGEucmVzZXJ2ZUluaXRpYWxDYXBhY2l0
eShwcm9wb3NlZEFQSUl0ZW1zLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgaXRlbSA6IHBy
b3Bvc2VkQVBJSXRlbXMpCisgICAgICAgICAgICBkYXRhLnVuY2hlY2tlZEFwcGVuZChpdGVtLT5k
YXRhKCkpOworCisgICAgICAgIGF1dG8gbWVudSA9IGNyZWF0ZUNvbnRleHRNZW51RnJvbUl0ZW1z
KGRhdGEpOworICAgICAgICBtX3BhZ2UuY29udGV4dE1lbnVDbGllbnQoKS5nZXRDb250ZXh0TWVu
dUZyb21Qcm9wb3NlZE5TTWVudShtX3BhZ2UsIG1lbnUuZ2V0KCksICptX2NvbnRleHRNZW51TGlz
dGVuZXIsIG1fcGFnZS5wcm9jZXNzKCkudHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyhtX3VzZXJE
YXRhLm9iamVjdCgpKS5nZXQoKSk7CisgICAgfSBlbHNlCisgICAgICAgIG1fcGFnZS5jb250ZXh0
TWVudUNsaWVudCgpLmdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudShtX3BhZ2UsIFdURk1v
dmUocHJvcG9zZWRBUElJdGVtcyksICptX2NvbnRleHRNZW51TGlzdGVuZXIsIG1fY29udGV4dC53
ZWJIaXRUZXN0UmVzdWx0RGF0YSgpLCBtX3BhZ2UucHJvY2VzcygpLnRyYW5zZm9ybUhhbmRsZXNU
b09iamVjdHMobV91c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpOwogfQogCiBOU1dpbmRvdyAqV2Vi
Q29udGV4dE1lbnVQcm94eU1hYzo6d2luZG93KCkgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338270</attachid>
            <date>2018-04-18 15:38:16 -0700</date>
            <delta_ts>2018-04-24 17:09:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180955-20180418153815.patch</filename>
            <type>text/plain</type>
            <size>17191</size>
            <attacher name="Jeff Miller">jeffm</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwNzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMyOTAwMTgyYzgzNjUxMzM5
ZjQzODc5ZDYwYzdhYjM0ZWYwMzkxYTguLmFjYTVmZWQ5N2IyMGE5MzUzMTkxZmJiOWVmYTQxMWJh
MzY5MzNhZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzggQEAKKzIwMTgtMDQtMTggIEplZmYgTWls
bGVyICA8amVmZm1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBXS1VJRGVsZWdhdGVQcml2YXRl
IGVxdWl2YWxlbnQgb2YgV0tQYWdlQ29udGV4dE1lbnVDbGllbnQgZ2V0Q29udGV4dE1lbnVGcm9t
UHJvcG9zZWRNZW51QXN5bmMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MDk1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
ICAgICAgICAKKyAgICAgICAgQWRkIGEgbmV3IHByaXZhdGUgV0tVSURlbGVnYXRlIG1ldGhvZDoK
KyAgICAgICAgCisgICAgICAgIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
Z2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51OihOU01lbnUgKiltZW51IGZvckVsZW1lbnQ6
KF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8gKillbGVtZW50IHVzZXJJbmZvOihpZCA8TlNTZWN1
cmVDb2Rpbmc+KXVzZXJJbmZvIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU01lbnUgKm1l
bnUpKWNvbXBsZXRpb25IYW5kbGVyOworICAgICAgICAKKyAgICAgICAgYW5kIHVwZGF0ZSBvdXIg
aW50ZXJuYWwgY29udGV4dCBtZW51IGhhbmRsaW5nIHRvIHN1cHBvcnQgaXQuCisgICAgICAgIAor
ICAgICAgICBTcGVjaWZpY2FsbHksIFdlYkNvbnRleHRNZW51UHJveHlNYWM6OnNob3dDb250ZXh0
TWVudSgpIG5vdyBpbW1lZGlhdGVseSBjb252ZXJ0cyB0aGUgcHJvcG9zZWQKKyAgICAgICAgV2Vi
Q29udGV4dE1lbnVJdGVtcyB0byBhbiBOU01lbnUgd2hlbiB1c2luZyBhIFdLVUlEZWxlZ2F0ZSBh
cyB0aGUgY29udGV4dCBtZW51IGNsaWVudCB0byBhbGxvdyB0aGUKKyAgICAgICAgbmV3IGRlbGVn
YXRlIG1ldGhvZCB0byBwcm9jZXNzIGl0LiBUaGlzIGVsaW1pbmF0ZXMgdGhlIG5lZWQgZm9yIFVJ
RGVsZWdhdGU6Om1lbnVGcm9tUHJvcG9zZWRNZW51KCksCisgICAgICAgIHdoaWNoIHdhcyBhIHN5
bmNocm9ub3VzIGZ1bmN0aW9uLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElDb250ZXh0
TWVudUNsaWVudC5oOgorICAgICAgICAoQVBJOjpDb250ZXh0TWVudUNsaWVudDo6dXNlR2V0Q29u
dGV4dE1lbnVGcm9tUHJvcG9zZWROU01lbnUpOgorICAgICAgICBBZGRlZC4gVUlEZWxlZ2F0ZSBv
dmVycmlkZXMgdGhpcyB0byByZXR1cm4gdHJ1ZS4KKworICAgICAgICAoQVBJOjpDb250ZXh0TWVu
dUNsaWVudDo6Z2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWROU01lbnUpOgorICAgICAgICBBZGRl
ZC4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gY2FsbHMgdGhlIGxpc3RlbmVyIHdpdGggdGhl
IG1lbnUgdGhhdCB3YXMgcGFzc2VkIGluLgorICAgICAgICAKKyAgICAgICAgKEFQSTo6Q29udGV4
dE1lbnVDbGllbnQ6Om1lbnVGcm9tUHJvcG9zZWRNZW51KToKKyAgICAgICAgRGVsZXRlZC4KKyAg
ICAgICAgCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRl
Lmg6CisgICAgICAgIEFkZGVkIG5ldyBkZWxlZ2F0ZSBtZXRob2QgY29ycmVzcG9uZGluZyB0byBn
ZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnVBc3luYygpIGluIHRoZSBvbGQgV0tQYWdlQ29u
dGV4dE1lbnVDbGllbnQgQyBTUEkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxl
Z2F0ZS5oOgorICAgICAgICBSZW1vdmVkIG1lbnVGcm9tUHJvcG9zZWRNZW51KCkgYW5kIGFkZGVk
IHVzZUdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTlNNZW51KCkgYW5kIGdldENvbnRleHRNZW51
RnJvbVByb3Bvc2VkTlNNZW51KCkuCisgICAgICAgIEFkZGVkIHdlYlZpZXdHZXRDb250ZXh0TWVu
dUZyb21Qcm9wb3NlZE1lbnUgYml0ZmllbGQgdG8gdHJhY2sgd2hldGhlciB0aGUgbmV3IFdLVUlE
ZWxlZ2F0ZSBtZXRob2QgaXMgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6c2V0RGVsZWdh
dGUpOgorICAgICAgICBJbml0aWFsaXplIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdHZXRDb250
ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUuCisgICAgICAgIAorICAgICAgICAoV2ViS2l0OjpVSURl
bGVnYXRlOjpDb250ZXh0TWVudUNsaWVudDo6dXNlR2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRO
U01lbnUpOgorICAgICAgICBBZGRlZC4gUmV0dXJucyB0cnVlIGlmIHRoZSBXS1VJRGVsZWdhdGUg
aW1wbGVtZW50cyBhbnkgb2YgdGhlIDMgY29udGV4dCBtZW51LXJlbGF0ZWQgbWV0aG9kcy4KKwor
ICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpDb250ZXh0TWVudUNsaWVudDo6Z2V0Q29udGV4
dE1lbnVGcm9tUHJvcG9zZWROU01lbnUpOgorICAgICAgICBBZGRlZC4gQXR0ZW1wdHMgdG8gdXNl
IHRoZSBhc3luY2hyb25vdXMgZGVsZWdhdGUgbWV0aG9kIGZpcnN0LCBmYWxsaW5nIGJhY2sgdG8g
dGhlIHR3byBleGlzdGluZworICAgICAgICBzeW5jaHJvbm91cyBkZWxlZ2F0ZSBtZXRob2RzIG90
aGVyd2lzZS4gVXNlcyBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyIHRvIHRocm93IGFuIGV4
Y2VwdGlvbiBpZgorICAgICAgICB0aGUgY2xpZW50IHZpb2xhdGVzIHRoZSBBUEkgY29udHJhY3Qg
YnkgbmV2ZXIgY2FsbGluZyB0aGUgY29tcGxldGlvbiBoYW5kbGVyIGluIHRoZSBhc3luY2hyb25v
dXMKKyAgICAgICAgY2FzZS4KKworICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpDb250ZXh0
TWVudUNsaWVudDo6bWVudUZyb21Qcm9wb3NlZE1lbnUpOgorICAgICAgICBEZWxldGVkLgorCisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eTo6dXNlQ29udGV4dE1lbnVO
U01lbnUpOgorICAgICAgICBBZGRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0
TWVudUxpc3RlbmVyUHJveHkuaDoKKyAgICAgICAgQWRkZWQgdXNlQ29udGV4dE1lbnVOU01lbnUo
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0TWVudVByb3h5Lmg6CisgICAgICAg
IEFkZGVkIHNob3dDb250ZXh0TWVudVdpdGhOU01lbnUoKS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5oOgorICAgICAgICBPdmVycmlkZSBzaG93Q29u
dGV4dE1lbnVXaXRoTlNNZW51KCkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkNvbnRl
eHRNZW51UHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlN
YWM6OnNob3dDb250ZXh0TWVudVdpdGhJdGVtcyk6CisgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMg
bm93IG9ubHkgdXNlZCB3aXRoIHRoZSBjb250ZXh0IG1lbnUgY2xpZW50IGlzIGFuIG9sZCBXS1Bh
Z2VDb250ZXh0TWVudUNsaWVudC4gQ2FsbHMgc2hvd0NvbnRleHRNZW51V2l0aE5TTWVudSgpIGFm
dGVyIGNvbnZlcnRpbmcgdGhlCisgICAgICAgIFdlYkNvbnRleHRNZW51SXRlbXMgdG8gYW4gTlNN
ZW51LgorCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlNYWM6OnNob3dDb250
ZXh0TWVudVdpdGhOU01lbnUpOgorICAgICAgICBBZGRlZC4KKworICAgICAgICAoV2ViS2l0OjpX
ZWJDb250ZXh0TWVudVByb3h5TWFjOjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICBXaGVuIHVz
aW5nIGEgbW9kZXJuIGNvbnRleHQgbWVudSBjbGllbnQsIGNvbnZlcnQgdGhlIFdlYkNvbnRleHRN
ZW51SXRlbXMgdG8gYW4gTlNNZW51IGNhbiBjYWxsIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2Vk
TlNNZW51KCkuCisKIDIwMTgtMDQtMTggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0ZSBPcHRpb25zR1RLLmNtYWtl
IGFuZCBORVdTIGZvciAyLjIxLjEgcmVsZWFzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElDb250ZXh0TWVudUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0FQSUNvbnRleHRNZW51Q2xpZW50LmgKaW5kZXggMmZlMjQ5NGEyY2M2MTliMWNm
NWQ5OWVkNWIyYzBlNDMwMTc0MzZmYS4uYWJiYmM0MjI3YmY4NmFjOGVlNTdlZGRkMTllMThhYWYz
NmJhYzM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUNvbnRl
eHRNZW51Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUNvbnRl
eHRNZW51Q2xpZW50LmgKQEAgLTU3LDcgKzU3LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBoaWRlQ29udGV4dE1lbnUoV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IHJldHVybiBmYWxzZTsg
fQogCiAjaWYgUExBVEZPUk0oTUFDKQotICAgIHZpcnR1YWwgUmV0YWluUHRyPE5TTWVudT4gbWVu
dUZyb21Qcm9wb3NlZE1lbnUoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBOU01lbnUgKm1lbnUsIGNv
bnN0IFdlYktpdDo6V2ViSGl0VGVzdFJlc3VsdERhdGEmLCBBUEk6Ok9iamVjdCopIHsgcmV0dXJu
IG1lbnU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgdXNlR2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRO
U01lbnUoKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgdm9pZCBnZXRDb250ZXh0TWVu
dUZyb21Qcm9wb3NlZE5TTWVudShXZWJLaXQ6OldlYlBhZ2VQcm94eSYsIE5TTWVudSAqcHJvcG9z
ZWRNZW51LCBXZWJLaXQ6OldlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eSYgbGlzdGVuZXIsIEFQ
STo6T2JqZWN0KiAvKiB1c2VyRGF0YSAqLykgeyBsaXN0ZW5lci51c2VDb250ZXh0TWVudU5TTWVu
dShwcm9wb3NlZE1lbnUpOyB9CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IGY3YjVl
ZmQxYTg5N2M0OTNlOTUyOWVlMzE2NDQzM2RlMzk0YTM5ZmMuLjJlZTI5YjkyN2IxMjI0NGRiYWU5
Y2Q1YTExMGM0MjM0NDk0ZGRiYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtMTgzLDYgKzE4Myw3IEBA
IHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IHVuYXZhaWxhYmxlUGx1Z0luQnV0dG9uQ2xpY2tlZFdpdGhSZWFzb246KF9XS1BsdWdJblVu
YXZhaWxhYmlsaXR5UmVhc29uKXJlYXNvbiBwbHVnSW5JbmZvOihOU0RpY3Rpb25hcnkgKilwbHVn
SW5JbmZvOwogLSAoTlNNZW51ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY29udGV4
dE1lbnU6KE5TTWVudSAqKW1lbnUgZm9yRWxlbWVudDooX1dLQ29udGV4dE1lbnVFbGVtZW50SW5m
byAqKWVsZW1lbnQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpKTsKIC0gKE5TTWVudSAq
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNvbnRleHRNZW51OihOU01lbnUgKiltZW51
IGZvckVsZW1lbnQ6KF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8gKillbGVtZW50IHVzZXJJbmZv
OihpZCA8TlNTZWN1cmVDb2Rpbmc+KXVzZXJJbmZvIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEw
LjEyKSk7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGdldENvbnRleHRN
ZW51RnJvbVByb3Bvc2VkTWVudTooTlNNZW51ICopbWVudSBmb3JFbGVtZW50OihfV0tDb250ZXh0
TWVudUVsZW1lbnRJbmZvICopZWxlbWVudCB1c2VySW5mbzooaWQgPE5TU2VjdXJlQ29kaW5nPil1
c2VySW5mbyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNNZW51ICptZW51KSljb21wbGV0
aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiAjZW5kaWYg
Ly8gVEFSR0VUX09TX0lQSE9ORQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLmgKaW5kZXggMjg5OTBlZDIwNzViYjg2ZmE3ODU1NmIwMWIyM2RjYWNhNzJi
OGRkMC4uM2RjNzgzMGQ5MTI5MzY4NzIyMGYyOTY3YWE0NWIwMmQzNjRkM2VjNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaApAQCAtNjcsNyArNjcsOCBAQCBw
cml2YXRlOgogCiAgICAgcHJpdmF0ZToKICAgICAgICAgLy8gQVBJOjpDb250ZXh0TWVudUNsaWVu
dAotICAgICAgICBSZXRhaW5QdHI8TlNNZW51PiBtZW51RnJvbVByb3Bvc2VkTWVudShXZWJQYWdl
UHJveHkmLCBOU01lbnUgKiwgY29uc3QgV2ViSGl0VGVzdFJlc3VsdERhdGEmLCBBUEk6Ok9iamVj
dCopIG92ZXJyaWRlOworICAgICAgICBib29sIHVzZUdldENvbnRleHRNZW51RnJvbVByb3Bvc2Vk
TlNNZW51KCkgb3ZlcnJpZGU7CisgICAgICAgIHZvaWQgZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9z
ZWROU01lbnUoV2ViUGFnZVByb3h5JiwgTlNNZW51ICosIFdlYkNvbnRleHRNZW51TGlzdGVuZXJQ
cm94eSYsIEFQSTo6T2JqZWN0KiAvKiB1c2VyRGF0YSAqLykgb3ZlcnJpZGU7CiAKICAgICAgICAg
VUlEZWxlZ2F0ZSYgbV91aURlbGVnYXRlOwogICAgIH07CkBAIC0yMTAsNiArMjExLDcgQEAgcHJp
dmF0ZToKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICAgICAgYm9vbCB3ZWJWaWV3Q29u
dGV4dE1lbnVGb3JFbGVtZW50IDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3Q29udGV4dE1lbnVG
b3JFbGVtZW50VXNlckluZm8gOiAxOworICAgICAgICBib29sIHdlYlZpZXdHZXRDb250ZXh0TWVu
dUZyb21Qcm9wb3NlZE1lbnUgOiAxOwogI2VuZGlmCiAgICAgICAgIGJvb2wgd2ViVmlld0hhc1Zp
ZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlIDogMTsKICAgICB9IG1fZGVsZWdhdGVNZXRo
b2RzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0
ZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5kZXgg
NGM4NjUyZjI5MDM5YWU3NjdkYjlmNmNjNzk4OWYyZjhlMjdkODdmOC4uYWZlODNjZmRmMmUwYTU3
NzE5MDMzMTM5MzkyODkyZDIzM2M4Mjg4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLm1tCkBAIC0xNTksNiArMTU5LDcgQEAgdm9pZCBVSURlbGVnYXRlOjpz
ZXREZWxlZ2F0ZShpZCA8V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVt
ZW50ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Y29u
dGV4dE1lbnU6Zm9yRWxlbWVudDopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q29u
dGV4dE1lbnVGb3JFbGVtZW50VXNlckluZm8gPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcihfd2ViVmlldzpjb250ZXh0TWVudTpmb3JFbGVtZW50OnVzZXJJbmZvOildOwor
ICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdHZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1l
bnUgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpnZXRD
b250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnU6Zm9yRWxlbWVudDp1c2VySW5mbzpjb21wbGV0aW9u
SGFuZGxlcjopXTsKICNlbmRpZgogICAgIAogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdI
YXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3Omhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlk
Q2hhbmdlOildOwpAQCAtMTc0LDIxICsxNzUsNDMgQEAgVUlEZWxlZ2F0ZTo6Q29udGV4dE1lbnVD
bGllbnQ6On5Db250ZXh0TWVudUNsaWVudCgpCiB7CiB9CiAKLVJldGFpblB0cjxOU01lbnU+IFVJ
RGVsZWdhdGU6OkNvbnRleHRNZW51Q2xpZW50OjptZW51RnJvbVByb3Bvc2VkTWVudShXZWJQYWdl
UHJveHkmLCBOU01lbnUgKm1lbnUsIGNvbnN0IFdlYkhpdFRlc3RSZXN1bHREYXRhJiwgQVBJOjpP
YmplY3QqIHVzZXJJbmZvKQorYm9vbCBVSURlbGVnYXRlOjpDb250ZXh0TWVudUNsaWVudDo6dXNl
R2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWROU01lbnUoKQogewotICAgIGlmICghbV91aURlbGVn
YXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdDb250ZXh0TWVudUZvckVsZW1lbnQgJiYgIW1f
dWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50
VXNlckluZm8pCi0gICAgICAgIHJldHVybiBtZW51OworICAgIHJldHVybiBtX3VpRGVsZWdhdGUu
bV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudCB8fCBtX3VpRGVs
ZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudFVzZXJJ
bmZvIHx8IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3R2V0Q29udGV4dE1l
bnVGcm9tUHJvcG9zZWRNZW51OworfQorCit2b2lkIFVJRGVsZWdhdGU6OkNvbnRleHRNZW51Q2xp
ZW50OjpnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE5TTWVudShXZWJQYWdlUHJveHkmIHBhZ2Us
IE5TTWVudSAqcHJvcG9zZWRNZW51LCBXZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHkmIGNvbnRl
eHRNZW51TGlzdGVuZXIsIEFQSTo6T2JqZWN0KiB1c2VySW5mbykKK3sKKyAgICBpZiAoIW1fdWlE
ZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50ICYm
ICFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRNZW51Rm9yRWxl
bWVudFVzZXJJbmZvICYmICFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0dl
dENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudSkgeworICAgICAgICBjb250ZXh0TWVudUxpc3Rl
bmVyLnVzZUNvbnRleHRNZW51TlNNZW51KHByb3Bvc2VkTWVudSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CiAKICAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0
KCk7Ci0gICAgaWYgKCFkZWxlZ2F0ZSkKLSAgICAgICAgcmV0dXJuIG1lbnU7CisgICAgaWYgKCFk
ZWxlZ2F0ZSkgeworICAgICAgICBjb250ZXh0TWVudUxpc3RlbmVyLnVzZUNvbnRleHRNZW51TlNN
ZW51KHByb3Bvc2VkTWVudSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBhdXRvIGNv
bnRleHRNZW51RWxlbWVudEluZm8gPSBhZG9wdE5TKFtbX1dLQ29udGV4dE1lbnVFbGVtZW50SW5m
byBhbGxvY10gaW5pdF0pOwogCi0gICAgaWYgKG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9k
cy53ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50KQotICAgICAgICByZXR1cm4gWyhpZCA8V0tV
SURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX3dlYlZpZXc6bV91aURlbGVnYXRlLm1fd2ViVmll
dyBjb250ZXh0TWVudTptZW51IGZvckVsZW1lbnQ6Y29udGV4dE1lbnVFbGVtZW50SW5mby5nZXQo
KV07CisgICAgaWYgKG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3R2V0Q29u
dGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51KSB7CisgICAgICAgIFJlZjxDb21wbGV0aW9uSGFuZGxl
ckNhbGxDaGVja2VyPiBjaGVja2VyID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3Jl
YXRlKGRlbGVnYXRlLmdldCgpLCBAc2VsZWN0b3IoX3dlYlZpZXc6Z2V0Q29udGV4dE1lbnVGcm9t
UHJvcG9zZWRNZW51OmZvckVsZW1lbnQ6dXNlckluZm86Y29tcGxldGlvbkhhbmRsZXI6KSk7Cisg
ICAgICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlE
ZWxlZ2F0ZS5tX3dlYlZpZXcgZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51OnByb3Bvc2Vk
TWVudSBmb3JFbGVtZW50OmNvbnRleHRNZW51RWxlbWVudEluZm8uZ2V0KCkgdXNlckluZm86dXNl
ckluZm8gPyBzdGF0aWNfY2FzdDxpZCA8TlNTZWN1cmVDb2Rpbmc+Pih1c2VySW5mby0+d3JhcHBl
cigpKSA6IG5pbCBjb21wbGV0aW9uSGFuZGxlcjpCbG9ja1B0cjx2b2lkIChOU01lbnUgKik+Ojpm
cm9tQ2FsbGFibGUoW2NvbnRleHRNZW51TGlzdGVuZXIgPSBtYWtlUmVmKGNvbnRleHRNZW51TGlz
dGVuZXIpLCBjaGVja2VyID0gV1RGTW92ZShjaGVja2VyKV0gKE5TTWVudSAqbWVudSkgeworICAg
ICAgICAgICAgaWYgKGNoZWNrZXItPmNvbXBsZXRpb25IYW5kbGVySGFzQmVlbkNhbGxlZCgpKQor
ICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGNvbnRleHRNZW51TGlzdGVuZXIt
PnVzZUNvbnRleHRNZW51TlNNZW51KG1lbnUpOworICAgICAgICAgICAgY2hlY2tlci0+ZGlkQ2Fs
bENvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIH0pLmdldCgpXTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmll
d0NvbnRleHRNZW51Rm9yRWxlbWVudCkgeworICAgICAgICBjb250ZXh0TWVudUxpc3RlbmVyLnVz
ZUNvbnRleHRNZW51TlNNZW51KFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93
ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgY29udGV4dE1lbnU6cHJvcG9zZWRNZW51IGZv
ckVsZW1lbnQ6Y29udGV4dE1lbnVFbGVtZW50SW5mby5nZXQoKV0pOworICAgICAgICByZXR1cm47
CisgICAgfQogCi0gICAgcmV0dXJuIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRl
IF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgY29udGV4dE1lbnU6bWVudSBmb3JFbGVt
ZW50OmNvbnRleHRNZW51RWxlbWVudEluZm8uZ2V0KCkgdXNlckluZm86dXNlckluZm8gPyBzdGF0
aWNfY2FzdDxpZCA8TlNTZWN1cmVDb2Rpbmc+Pih1c2VySW5mby0+d3JhcHBlcigpKSA6IG5pbF07
CisgICAgY29udGV4dE1lbnVMaXN0ZW5lci51c2VDb250ZXh0TWVudU5TTWVudShbKGlkIDxXS1VJ
RGVsZWdhdGVQcml2YXRlPilkZWxlZ2F0ZSBfd2ViVmlldzptX3VpRGVsZWdhdGUubV93ZWJWaWV3
IGNvbnRleHRNZW51OnByb3Bvc2VkTWVudSBmb3JFbGVtZW50OmNvbnRleHRNZW51RWxlbWVudElu
Zm8uZ2V0KCkgdXNlckluZm86dXNlckluZm8gPyBzdGF0aWNfY2FzdDxpZCA8TlNTZWN1cmVDb2Rp
bmc+Pih1c2VySW5mby0+d3JhcHBlcigpKSA6IG5pbF0pOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHku
Y3BwCmluZGV4IGE4MGMyNjIyNThiOGNjMzMzZTAyMGYyMDAyNGY1NjcxNWZhYzVhMmUuLjllMDhl
MTBlNzA0ZjA1MGEwYjJiY2IzMTIxODIxMTBjZTEyM2RiZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVMaXN0ZW5lclByb3h5LmNwcApAQCAt
NTUsNiArNTUsMTQgQEAgdm9pZCBXZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHk6OnVzZUNvbnRl
eHRNZW51SXRlbXMoVmVjdG9yPFJlZjxXZWJDb250ZXh0TWVudUkKICAgICBtX2NvbnRleHRNZW51
TWFjLT5zaG93Q29udGV4dE1lbnVXaXRoSXRlbXMoV1RGTW92ZShpdGVtcykpOwogfQogCit2b2lk
IFdlYkNvbnRleHRNZW51TGlzdGVuZXJQcm94eTo6dXNlQ29udGV4dE1lbnVOU01lbnUoTlNNZW51
ICptZW51KQoreworICAgIGlmICghbV9jb250ZXh0TWVudU1hYykKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9jb250ZXh0TWVudU1hYy0+c2hvd0NvbnRleHRNZW51V2l0aE5TTWVudShtZW51KTsK
K30KKwogdm9pZCBXZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHk6OmludmFsaWRhdGUoKQogewog
ICAgIG1fY29udGV4dE1lbnVNYWMgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVMaXN0ZW5lclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHkuaAppbmRleCA3ZmQzNDA2MzVm
YTM4NjhjZWQwN2EwYjQxYTUxMDliMTQ3ZjMxODhmLi40ZGIyM2JkNzU5ZWY3YjFkOTM2ZGMyZDVk
YjZiMDRmNDhiNzkzY2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJD
b250ZXh0TWVudUxpc3RlbmVyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHkuaApAQCAtMzIsNiArMzIsOCBAQAogI2luY2x1ZGUg
IldlYkNvbnRleHRNZW51UHJveHkuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKK09CSkNf
Q0xBU1MgTlNNZW51OworCiBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkNvbnRleHRNZW51
UHJveHlNYWM7CiAKQEAgLTQ1LDYgKzQ3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfldlYkNv
bnRleHRNZW51TGlzdGVuZXJQcm94eSgpOwogCiAgICAgdm9pZCB1c2VDb250ZXh0TWVudUl0ZW1z
KFZlY3RvcjxSZWY8V2ViQ29udGV4dE1lbnVJdGVtPj4mJik7CisgICAgdm9pZCB1c2VDb250ZXh0
TWVudU5TTWVudShOU01lbnUgKik7CiAKICAgICB2b2lkIGludmFsaWRhdGUoKTsKIHByaXZhdGU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudVByb3h5LmgKaW5kZXgg
M2YwNWY0Mzk1YzA4NjU2ZWU2MGMxYTQ2N2M2ZmU4MDkxMTVhMDIxMC4uN2U4NGRhZmVmMjhlMzRh
M2QwMDM4MWQ5OGUzYjEyNjM5YWI2M2NjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkNvbnRleHRNZW51UHJveHkuaApAQCAtMzEsNiArMzEsMTAgQEAKICNpbmNsdWRlICJVc2Vy
RGF0YS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKKyNpZiBQTEFURk9STShNQUMp
CitPQkpDX0NMQVNTIE5TTWVudTsKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xh
c3MgV2ViQ29udGV4dE1lbnVJdGVtOwpAQCAtNDIsNiArNDYsOSBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIHNob3coKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51
V2l0aEl0ZW1zKFZlY3RvcjxSZWY8V2ViQ29udGV4dE1lbnVJdGVtPj4mJikgPSAwOworI2lmIFBM
QVRGT1JNKE1BQykKKyAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51V2l0aE5TTWVudShO
U01lbnUgKikgPSAwOworI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBXZWJDb250ZXh0TWVudVBy
b3h5KENvbnRleHRNZW51Q29udGV4dERhdGEmJiwgY29uc3QgVXNlckRhdGEmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5oCmlu
ZGV4IDNmYTYwNmIyMDk2NTE2Y2QzMTU1NWVkNWFlZjM4ZWY2M2IzMmY0NTcuLjcxYmE5NWUxYWFj
NDAxOGMxOTY3Y2Y2OWIyYjlhYmNmZWQ3ZDU0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMuaApAQCAtNTUsNiArNTUsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNv
bnRleHRNZW51SXRlbURhdGEmKTsKICAgICB2b2lkIHNob3dDb250ZXh0TWVudVdpdGhJdGVtcyhW
ZWN0b3I8UmVmPFdlYkNvbnRleHRNZW51SXRlbT4+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgc2hv
d0NvbnRleHRNZW51V2l0aE5TTWVudShOU01lbnUgKikgb3ZlcnJpZGU7CiAKICNpZiBFTkFCTEUo
U0VSVklDRV9DT05UUk9MUykKICAgICB2b2lkIGNsZWFyU2VydmljZXNNZW51KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1t
CmluZGV4IDk3ODE1NzQ5YmRkY2IwOTM4ODFlODhiZTcxNzY3MDc0YWU2ZjhjNzMuLjEwODIzODZh
MzUzOGZlYTAxMGU3YzA5MTg1MjhiMTBjZmNmYTEzNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tCkBAIC00NjUsOCAr
NDY1LDE2IEBAIHZvaWQgV2ViQ29udGV4dE1lbnVQcm94eU1hYzo6c2hvd0NvbnRleHRNZW51V2l0
aEl0ZW1zKFZlY3RvcjxSZWY8V2ViQ29udGV4dE1lbnVJCiAgICAgICAgIGRhdGEudW5jaGVja2Vk
QXBwZW5kKGl0ZW0tPmRhdGEoKSk7CiAgICAgCiAgICAgYXV0byBtZW51ID0gY3JlYXRlQ29udGV4
dE1lbnVGcm9tSXRlbXMoZGF0YSk7CisgICAgc2hvd0NvbnRleHRNZW51V2l0aE5TTWVudShtZW51
LmdldCgpKTsKK30KKwordm9pZCBXZWJDb250ZXh0TWVudVByb3h5TWFjOjpzaG93Q29udGV4dE1l
bnVXaXRoTlNNZW51KE5TTWVudSAqbWVudSkKK3sKKyAgICBpZiAoIW1lbnUuaXRlbUFycmF5LmNv
dW50KQorICAgICAgICByZXR1cm47CisKKyAgICBtX21lbnUgPSBtZW51OwogICAgIFtbV0tNZW51
VGFyZ2V0IHNoYXJlZE1lbnVUYXJnZXRdIHNldE1lbnVQcm94eTp0aGlzXTsKLSAgICBtX21lbnUg
PSBtX3BhZ2UuY29udGV4dE1lbnVDbGllbnQoKS5tZW51RnJvbVByb3Bvc2VkTWVudShtX3BhZ2Us
IG1lbnUuZ2V0KCksIG1fY29udGV4dC53ZWJIaXRUZXN0UmVzdWx0RGF0YSgpLCBtX3VzZXJEYXRh
Lm9iamVjdCgpKTsKIAogICAgIE5TUG9pbnQgbWVudUxvY2F0aW9uID0gW21fd2ViVmlldyBjb252
ZXJ0UG9pbnQ6bV9jb250ZXh0Lm1lbnVMb2NhdGlvbigpIHRvVmlldzpuaWxdOwogICAgIE5TRXZl
bnQgKmV2ZW50ID0gW05TRXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5TRXZlbnRUeXBlUmlnaHRN
b3VzZVVwIGxvY2F0aW9uOm1lbnVMb2NhdGlvbiBtb2RpZmllckZsYWdzOjAgdGltZXN0YW1wOjAg
d2luZG93TnVtYmVyOm1fd2ViVmlldy53aW5kb3cud2luZG93TnVtYmVyIGNvbnRleHQ6bmlsIGV2
ZW50TnVtYmVyOjAgY2xpY2tDb3VudDowIHByZXNzdXJlOjBdOwpAQCAtNDkxLDcgKzQ5OSwxNiBA
QCB2b2lkIFdlYkNvbnRleHRNZW51UHJveHlNYWM6OnNob3dDb250ZXh0TWVudSgpCiAKICAgICBt
X2NvbnRleHRNZW51TGlzdGVuZXIgPSBXZWJDb250ZXh0TWVudUxpc3RlbmVyUHJveHk6OmNyZWF0
ZSh0aGlzKTsKIAotICAgIG1fcGFnZS5jb250ZXh0TWVudUNsaWVudCgpLmdldENvbnRleHRNZW51
RnJvbVByb3Bvc2VkTWVudShtX3BhZ2UsIFdURk1vdmUocHJvcG9zZWRBUElJdGVtcyksICptX2Nv
bnRleHRNZW51TGlzdGVuZXIsIG1fY29udGV4dC53ZWJIaXRUZXN0UmVzdWx0RGF0YSgpLCBtX3Bh
Z2UucHJvY2VzcygpLnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHMobV91c2VyRGF0YS5vYmplY3Qo
KSkuZ2V0KCkpOworICAgIGlmIChtX3BhZ2UuY29udGV4dE1lbnVDbGllbnQoKS51c2VHZXRDb250
ZXh0TWVudUZyb21Qcm9wb3NlZE5TTWVudSgpKSB7CisgICAgICAgIFZlY3RvcjxXZWJDb250ZXh0
TWVudUl0ZW1EYXRhPiBkYXRhOworICAgICAgICBkYXRhLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
cHJvcG9zZWRBUElJdGVtcy5zaXplKCkpOworICAgICAgICBmb3IgKGF1dG8mIGl0ZW0gOiBwcm9w
b3NlZEFQSUl0ZW1zKQorICAgICAgICAgICAgZGF0YS51bmNoZWNrZWRBcHBlbmQoaXRlbS0+ZGF0
YSgpKTsKKworICAgICAgICBhdXRvIG1lbnUgPSBjcmVhdGVDb250ZXh0TWVudUZyb21JdGVtcyhk
YXRhKTsKKyAgICAgICAgbV9wYWdlLmNvbnRleHRNZW51Q2xpZW50KCkuZ2V0Q29udGV4dE1lbnVG
cm9tUHJvcG9zZWROU01lbnUobV9wYWdlLCBtZW51LmdldCgpLCAqbV9jb250ZXh0TWVudUxpc3Rl
bmVyLCBtX3BhZ2UucHJvY2VzcygpLnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHMobV91c2VyRGF0
YS5vYmplY3QoKSkuZ2V0KCkpOworICAgIH0gZWxzZQorICAgICAgICBtX3BhZ2UuY29udGV4dE1l
bnVDbGllbnQoKS5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUobV9wYWdlLCBXVEZNb3Zl
KHByb3Bvc2VkQVBJSXRlbXMpLCAqbV9jb250ZXh0TWVudUxpc3RlbmVyLCBtX2NvbnRleHQud2Vi
SGl0VGVzdFJlc3VsdERhdGEoKSwgbV9wYWdlLnByb2Nlc3MoKS50cmFuc2Zvcm1IYW5kbGVzVG9P
YmplY3RzKG1fdXNlckRhdGEub2JqZWN0KCkpLmdldCgpKTsKIH0KIAogTlNXaW5kb3cgKldlYkNv
bnRleHRNZW51UHJveHlNYWM6OndpbmRvdygpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338688</attachid>
            <date>2018-04-24 17:09:18 -0700</date>
            <delta_ts>2018-04-30 15:21:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180955-20180424170917.patch</filename>
            <type>text/plain</type>
            <size>11763</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzA5NzYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE4LTA0LTI0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdLVUlEZWxl
Z2F0ZVByaXZhdGUgZXF1aXZhbGVudCBvZiBXS1BhZ2VDb250ZXh0TWVudUNsaWVudCBnZXRDb250
ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnVBc3luYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwOTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUNvbnRleHRNZW51Q2xpZW50
Lmg6CisgICAgICAgIChBUEk6OkNvbnRleHRNZW51Q2xpZW50OjptZW51RnJvbVByb3Bvc2VkTWVu
dSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6
c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpDb250ZXh0TWVudUNs
aWVudDo6bWVudUZyb21Qcm9wb3NlZE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2Vi
Q29udGV4dE1lbnVQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnVQ
cm94eU1hYzo6c2hvd0NvbnRleHRNZW51V2l0aEl0ZW1zKToKKwogMjAxOC0wNC0yNCAgQ29tbWl0
IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjIzMDk3MS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElDb250ZXh0TWVudUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElDb250ZXh0TWVudUNsaWVudC5oCShyZXZpc2lvbiAyMzA5NzYpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGV4dE1lbnVDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51TGlzdGVuZXJQ
cm94eS5oIgogI2luY2x1ZGUgIldlYkhpdFRlc3RSZXN1bHREYXRhLmgiCiAjaW5jbHVkZSA8V2Vi
S2l0L1dLQmFzZS5oPgorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC01Nyw3ICs1
OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaGlkZUNvbnRleHRNZW51KFdlYktpdDo6
V2ViUGFnZVByb3h5JikgeyByZXR1cm4gZmFsc2U7IH0KIAogI2lmIFBMQVRGT1JNKE1BQykKLSAg
ICB2aXJ0dWFsIFJldGFpblB0cjxOU01lbnU+IG1lbnVGcm9tUHJvcG9zZWRNZW51KFdlYktpdDo6
V2ViUGFnZVByb3h5JiwgTlNNZW51ICptZW51LCBjb25zdCBXZWJLaXQ6OldlYkhpdFRlc3RSZXN1
bHREYXRhJiwgQVBJOjpPYmplY3QqKSB7IHJldHVybiBtZW51OyB9CisgICAgdmlydHVhbCB2b2lk
IG1lbnVGcm9tUHJvcG9zZWRNZW51KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgTlNNZW51ICptZW51
LCBjb25zdCBXZWJLaXQ6OldlYkhpdFRlc3RSZXN1bHREYXRhJiwgQVBJOjpPYmplY3QqLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFJldGFpblB0cjxOU01lbnU+JiYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKG1lbnUpOyB9CiAjZW5kaWYKIH07CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0
ZVByaXZhdGUuaAkocmV2aXNpb24gMjMwOTc2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTg1LDYg
KzE4NSw3IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IHVuYXZhaWxhYmxlUGx1Z0luQnV0dG9uQ2xpY2tlZFdpdGhSZWFzb246KF9X
S1BsdWdJblVuYXZhaWxhYmlsaXR5UmVhc29uKXJlYXNvbiBwbHVnSW5JbmZvOihOU0RpY3Rpb25h
cnkgKilwbHVnSW5JbmZvOwogLSAoTlNNZW51ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZp
ZXcgY29udGV4dE1lbnU6KE5TTWVudSAqKW1lbnUgZm9yRWxlbWVudDooX1dLQ29udGV4dE1lbnVF
bGVtZW50SW5mbyAqKWVsZW1lbnQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpKTsKIC0g
KE5TTWVudSAqKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNvbnRleHRNZW51OihOU01l
bnUgKiltZW51IGZvckVsZW1lbnQ6KF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8gKillbGVtZW50
IHVzZXJJbmZvOihpZCA8TlNTZWN1cmVDb2Rpbmc+KXVzZXJJbmZvIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEyKSk7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGdl
dENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudTooTlNNZW51ICopbWVudSBmb3JFbGVtZW50Oihf
V0tDb250ZXh0TWVudUVsZW1lbnRJbmZvICopZWxlbWVudCB1c2VySW5mbzooaWQgPE5TU2VjdXJl
Q29kaW5nPil1c2VySW5mbyBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNNZW51ICopKWNv
bXBsZXRpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKICNl
bmRpZiAvLyBUQVJHRVRfT1NfSVBIT05FCiAKIEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgJKHJldmlzaW9uIDIzMDk3NikKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjcs
NyArNjcsNyBAQCBwcml2YXRlOgogCiAgICAgcHJpdmF0ZToKICAgICAgICAgLy8gQVBJOjpDb250
ZXh0TWVudUNsaWVudAotICAgICAgICBSZXRhaW5QdHI8TlNNZW51PiBtZW51RnJvbVByb3Bvc2Vk
TWVudShXZWJQYWdlUHJveHkmLCBOU01lbnUgKiwgY29uc3QgV2ViSGl0VGVzdFJlc3VsdERhdGEm
LCBBUEk6Ok9iamVjdCopIG92ZXJyaWRlOworICAgICAgICB2b2lkIG1lbnVGcm9tUHJvcG9zZWRN
ZW51KFdlYlBhZ2VQcm94eSYsIE5TTWVudSAqLCBjb25zdCBXZWJIaXRUZXN0UmVzdWx0RGF0YSYs
IEFQSTo6T2JqZWN0KiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXRhaW5QdHI8TlNNZW51PiYm
KT4mJikgb3ZlcnJpZGU7CiAKICAgICAgICAgVUlEZWxlZ2F0ZSYgbV91aURlbGVnYXRlOwogICAg
IH07CkBAIC0yMTIsNiArMjEyLDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKICAgICAgICAgYm9vbCB3ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50IDogMTsKICAgICAg
ICAgYm9vbCB3ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50VXNlckluZm8gOiAxOworICAgICAg
ICBib29sIHdlYlZpZXdHZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnVGb3JFbGVtZW50VXNl
ckluZm9Db21wbGV0aW9uSGFuZGxlciA6IDE7CiAjZW5kaWYKICAgICAgICAgYm9vbCB3ZWJWaWV3
SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2UgOiAxOwogICAgIH0gbV9kZWxlZ2F0
ZU1ldGhvZHM7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdh
dGUubW0JKHJldmlzaW9uIDIzMDk3NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2MCw2ICsxNjAsNyBAQCB2b2lkIFVJ
RGVsZWdhdGU6OnNldERlbGVnYXRlKGlkIDxXS1VJRGVsCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVO
VVMpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudCA9
IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmNvbnRleHRN
ZW51OmZvckVsZW1lbnQ6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRN
ZW51Rm9yRWxlbWVudFVzZXJJbmZvID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoX3dlYlZpZXc6Y29udGV4dE1lbnU6Zm9yRWxlbWVudDp1c2VySW5mbzopXTsKKyAgICBt
X2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3R2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51Rm9y
RWxlbWVudFVzZXJJbmZvQ29tcGxldGlvbkhhbmRsZXIgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnU6
Zm9yRWxlbWVudDp1c2VySW5mbzpjb21wbGV0aW9uSGFuZGxlcjopXTsKICNlbmRpZgogICAgIAog
ICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURp
ZENoYW5nZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3
Omhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlOildOwpAQCAtMTc1LDIxICsxNzYs
MzQgQEAgVUlEZWxlZ2F0ZTo6Q29udGV4dE1lbnVDbGllbnQ6On5Db250ZXh0TQogewogfQogCi1S
ZXRhaW5QdHI8TlNNZW51PiBVSURlbGVnYXRlOjpDb250ZXh0TWVudUNsaWVudDo6bWVudUZyb21Q
cm9wb3NlZE1lbnUoV2ViUGFnZVByb3h5JiwgTlNNZW51ICptZW51LCBjb25zdCBXZWJIaXRUZXN0
UmVzdWx0RGF0YSYsIEFQSTo6T2JqZWN0KiB1c2VySW5mbykKK3ZvaWQgVUlEZWxlZ2F0ZTo6Q29u
dGV4dE1lbnVDbGllbnQ6Om1lbnVGcm9tUHJvcG9zZWRNZW51KFdlYlBhZ2VQcm94eSYsIE5TTWVu
dSAqbWVudSwgY29uc3QgV2ViSGl0VGVzdFJlc3VsdERhdGEmLCBBUEk6Ok9iamVjdCogdXNlcklu
Zm8sIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmV0YWluUHRyPE5TTWVudT4mJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7Ci0gICAgaWYgKCFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudCAmJiAhbV91aURlbGVnYXRlLm1fZGVsZWdhdGVN
ZXRob2RzLndlYlZpZXdDb250ZXh0TWVudUZvckVsZW1lbnRVc2VySW5mbykKLSAgICAgICAgcmV0
dXJuIG1lbnU7CisgICAgaWYgKCFtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmll
d0NvbnRleHRNZW51Rm9yRWxlbWVudAorICAgICAgICAmJiAhbV91aURlbGVnYXRlLm1fZGVsZWdh
dGVNZXRob2RzLndlYlZpZXdDb250ZXh0TWVudUZvckVsZW1lbnRVc2VySW5mbworICAgICAgICAm
JiAhbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdHZXRDb250ZXh0TWVudUZy
b21Qcm9wb3NlZE1lbnVGb3JFbGVtZW50VXNlckluZm9Db21wbGV0aW9uSGFuZGxlcikKKyAgICAg
ICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKG1lbnUpOwogCiAgICAgYXV0byBkZWxlZ2F0ZSA9
IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOwogICAgIGlmICghZGVsZWdhdGUpCi0gICAg
ICAgIHJldHVybiBtZW51OworICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIobWVudSk7
CiAKICAgICBhdXRvIGNvbnRleHRNZW51RWxlbWVudEluZm8gPSBhZG9wdE5TKFtbX1dLQ29udGV4
dE1lbnVFbGVtZW50SW5mbyBhbGxvY10gaW5pdF0pOwogCisgICAgaWYgKG1fdWlEZWxlZ2F0ZS5t
X2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3R2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51Rm9y
RWxlbWVudFVzZXJJbmZvQ29tcGxldGlvbkhhbmRsZXIpIHsKKyAgICAgICAgYXV0byBjaGVja2Vy
ID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKGRlbGVnYXRlLmdldCgpLCBA
c2VsZWN0b3IoX3dlYlZpZXc6Z2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51OmZvckVsZW1l
bnQ6dXNlckluZm86Y29tcGxldGlvbkhhbmRsZXI6KSk7CisgICAgICAgIFsoaWQgPFdLVUlEZWxl
Z2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgZ2V0
Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51Om1lbnUgZm9yRWxlbWVudDpjb250ZXh0TWVudUVs
ZW1lbnRJbmZvLmdldCgpIHVzZXJJbmZvOnVzZXJJbmZvID8gc3RhdGljX2Nhc3Q8aWQgPE5TU2Vj
dXJlQ29kaW5nPj4odXNlckluZm8tPndyYXBwZXIoKSkgOiBuaWwgY29tcGxldGlvbkhhbmRsZXI6
QmxvY2tQdHI8dm9pZChOU01lbnUgKik+Ojpmcm9tQ2FsbGFibGUoW2NvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGNoZWNrZXIgPSBXVEZNb3ZlKGNoZWNrZXIp
XSAoTlNNZW51ICptZW51KSB7CisgICAgICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhh
bmRsZXJIYXNCZWVuQ2FsbGVkKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgY2hlY2tlci0+ZGlkQ2FsbENvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihtZW51KTsKKyAgICAgICAgfSkuZ2V0KCldOworICAgICAgICByZXR1cm47
CisgICAgfQorICAgIAogICAgIGlmIChtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZU1ldGhvZHMud2Vi
Vmlld0NvbnRleHRNZW51Rm9yRWxlbWVudCkKLSAgICAgICAgcmV0dXJuIFsoaWQgPFdLVUlEZWxl
Z2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgY29u
dGV4dE1lbnU6bWVudSBmb3JFbGVtZW50OmNvbnRleHRNZW51RWxlbWVudEluZm8uZ2V0KCldOwor
ICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIoWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0
ZT4pZGVsZWdhdGUgX3dlYlZpZXc6bV91aURlbGVnYXRlLm1fd2ViVmlldyBjb250ZXh0TWVudTpt
ZW51IGZvckVsZW1lbnQ6Y29udGV4dE1lbnVFbGVtZW50SW5mby5nZXQoKV0pOwogCi0gICAgcmV0
dXJuIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVnYXRlIF93ZWJWaWV3Om1fdWlEZWxl
Z2F0ZS5tX3dlYlZpZXcgY29udGV4dE1lbnU6bWVudSBmb3JFbGVtZW50OmNvbnRleHRNZW51RWxl
bWVudEluZm8uZ2V0KCkgdXNlckluZm86dXNlckluZm8gPyBzdGF0aWNfY2FzdDxpZCA8TlNTZWN1
cmVDb2Rpbmc+Pih1c2VySW5mby0+d3JhcHBlcigpKSA6IG5pbF07CisgICAgY29tcGxldGlvbkhh
bmRsZXIoWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVsZWdhdGUgX3dlYlZpZXc6bV91aURl
bGVnYXRlLm1fd2ViVmlldyBjb250ZXh0TWVudTptZW51IGZvckVsZW1lbnQ6Y29udGV4dE1lbnVF
bGVtZW50SW5mby5nZXQoKSB1c2VySW5mbzp1c2VySW5mbyA/IHN0YXRpY19jYXN0PGlkIDxOU1Nl
Y3VyZUNvZGluZz4+KHVzZXJJbmZvLT53cmFwcGVyKCkpIDogbmlsXSk7CiB9CiAjZW5kaWYKIApJ
bmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRN
ZW51UHJveHlNYWMubW0JKHJldmlzaW9uIDIzMDk3NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NjYs
MTYgKzQ2NiwxNyBAQCB2b2lkIFdlYkNvbnRleHRNZW51UHJveHlNYWM6OnNob3dDb250ZXh0CiAg
ICAgCiAgICAgYXV0byBtZW51ID0gY3JlYXRlQ29udGV4dE1lbnVGcm9tSXRlbXMoZGF0YSk7CiAg
ICAgW1tXS01lbnVUYXJnZXQgc2hhcmVkTWVudVRhcmdldF0gc2V0TWVudVByb3h5OnRoaXNdOwot
ICAgIG1fbWVudSA9IG1fcGFnZS5jb250ZXh0TWVudUNsaWVudCgpLm1lbnVGcm9tUHJvcG9zZWRN
ZW51KG1fcGFnZSwgbWVudS5nZXQoKSwgbV9jb250ZXh0LndlYkhpdFRlc3RSZXN1bHREYXRhKCks
IG1fdXNlckRhdGEub2JqZWN0KCkpOwotCi0gICAgTlNQb2ludCBtZW51TG9jYXRpb24gPSBbbV93
ZWJWaWV3IGNvbnZlcnRQb2ludDptX2NvbnRleHQubWVudUxvY2F0aW9uKCkgdG9WaWV3Om5pbF07
Ci0gICAgTlNFdmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNFdmVu
dFR5cGVSaWdodE1vdXNlVXAgbG9jYXRpb246bWVudUxvY2F0aW9uIG1vZGlmaWVyRmxhZ3M6MCB0
aW1lc3RhbXA6MCB3aW5kb3dOdW1iZXI6bV93ZWJWaWV3LndpbmRvdy53aW5kb3dOdW1iZXIgY29u
dGV4dDpuaWwgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjAgcHJlc3N1cmU6MF07Ci0gICAgW05T
TWVudSBwb3BVcENvbnRleHRNZW51Om1fbWVudS5nZXQoKSB3aXRoRXZlbnQ6ZXZlbnQgZm9yVmll
dzptX3dlYlZpZXddOwotCi0gICAgaWYgKG1fY29udGV4dE1lbnVMaXN0ZW5lcikgewotICAgICAg
ICBtX2NvbnRleHRNZW51TGlzdGVuZXItPmludmFsaWRhdGUoKTsKLSAgICAgICAgbV9jb250ZXh0
TWVudUxpc3RlbmVyID0gbnVsbHB0cjsKLSAgICB9CisgICAgbV9wYWdlLmNvbnRleHRNZW51Q2xp
ZW50KCkubWVudUZyb21Qcm9wb3NlZE1lbnUobV9wYWdlLCBtZW51LmdldCgpLCBtX2NvbnRleHQu
d2ViSGl0VGVzdFJlc3VsdERhdGEoKSwgbV91c2VyRGF0YS5vYmplY3QoKSwgW3RoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKFJldGFpblB0cjxOU01lbnU+JiYgbWVudSkgewor
ICAgICAgICBtX21lbnUgPSBXVEZNb3ZlKG1lbnUpOworICAgICAgICBOU1BvaW50IG1lbnVMb2Nh
dGlvbiA9IFttX3dlYlZpZXcgY29udmVydFBvaW50Om1fY29udGV4dC5tZW51TG9jYXRpb24oKSB0
b1ZpZXc6bmlsXTsKKyAgICAgICAgTlNFdmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50
V2l0aFR5cGU6TlNFdmVudFR5cGVSaWdodE1vdXNlVXAgbG9jYXRpb246bWVudUxvY2F0aW9uIG1v
ZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6MCB3aW5kb3dOdW1iZXI6bV93ZWJWaWV3LndpbmRvdy53
aW5kb3dOdW1iZXIgY29udGV4dDpuaWwgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjAgcHJlc3N1
cmU6MF07CisgICAgICAgIFtOU01lbnUgcG9wVXBDb250ZXh0TWVudTptX21lbnUuZ2V0KCkgd2l0
aEV2ZW50OmV2ZW50IGZvclZpZXc6bV93ZWJWaWV3XTsKKyAgICAgICAgCisgICAgICAgIGlmICht
X2NvbnRleHRNZW51TGlzdGVuZXIpIHsKKyAgICAgICAgICAgIG1fY29udGV4dE1lbnVMaXN0ZW5l
ci0+aW52YWxpZGF0ZSgpOworICAgICAgICAgICAgbV9jb250ZXh0TWVudUxpc3RlbmVyID0gbnVs
bHB0cjsKKyAgICAgICAgfQorICAgIH0pOwogfQogCiB2b2lkIFdlYkNvbnRleHRNZW51UHJveHlN
YWM6OnNob3dDb250ZXh0TWVudSgpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzA5NzcpCisrKyBUb29scy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0wNC0yNCAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBXS1VJRGVsZWdh
dGVQcml2YXRlIGVxdWl2YWxlbnQgb2YgV0tQYWdlQ29udGV4dE1lbnVDbGllbnQgZ2V0Q29udGV4
dE1lbnVGcm9tUHJvcG9zZWRNZW51QXN5bmMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4MDk1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvbWFjL0NvbnRl
eHRNZW51SW1nV2l0aFZpZGVvLm1tOgorICAgICAgICAoLVtDb250ZXh0TWVudUltZ1dpdGhWaWRl
b0RlbGVnYXRlIF93ZWJWaWV3OmNvbnRleHRNZW51OmZvckVsZW1lbnQ6XSk6CisgICAgICAgICgt
W0NvbnRleHRNZW51SW1nV2l0aFZpZGVvRGVsZWdhdGUgX3dlYlZpZXc6Z2V0Q29udGV4dE1lbnVG
cm9tUHJvcG9zZWRNZW51OmZvckVsZW1lbnQ6dXNlckluZm86Y29tcGxldGlvbkhhbmRsZXI6XSk6
CisKIDIwMTgtMDQtMjQgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAg
ICAgS2VlcCBhcm91bmQgYSBwcmUtd2FybWVkIHByb2Nlc3Mgd2hlbiBkb2luZyBwcm9jZXNzIHN3
YXAgb24gbmF2aWdhdGlvbgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
bWFjL0NvbnRleHRNZW51SW1nV2l0aFZpZGVvLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L21hYy9Db250ZXh0TWVudUltZ1dpdGhWaWRlby5tbQkocmV2
aXNpb24gMjMwOTc2KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvbWFjL0Nv
bnRleHRNZW51SW1nV2l0aFZpZGVvLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Miw5ICs0MiwxNSBA
QCBAaW50ZXJmYWNlIENvbnRleHRNZW51SW1nV2l0aFZpZGVvRGVsZWdhCiBAaW1wbGVtZW50YXRp
b24gQ29udGV4dE1lbnVJbWdXaXRoVmlkZW9EZWxlZ2F0ZQogLSAoTlNNZW51Kilfd2ViVmlldzoo
V0tXZWJWaWV3Kil3ZWJWaWV3IGNvbnRleHRNZW51OihOU01lbnUqKW1lbnUgZm9yRWxlbWVudDoo
X1dLQ29udGV4dE1lbnVFbGVtZW50SW5mbyopZWxlbWVudAogewotICAgIGNvbnRleHRNZW51U2hv
d24gPSB0cnVlOwogICAgIHJldHVybiBuaWw7CiB9CisKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2Vi
VmlldyAqKXdlYlZpZXcgZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51OihOU01lbnUgKilt
ZW51IGZvckVsZW1lbnQ6KF9XS0NvbnRleHRNZW51RWxlbWVudEluZm8gKillbGVtZW50IHVzZXJJ
bmZvOihpZCA8TlNTZWN1cmVDb2Rpbmc+KXVzZXJJbmZvIGNvbXBsZXRpb25IYW5kbGVyOih2b2lk
ICheKShOU01lbnUgKikpY29tcGxldGlvbkhhbmRsZXIKK3sKKyAgICBjb250ZXh0TWVudVNob3du
ID0gdHJ1ZTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihuaWwpOworfQorCiBAZW5kCiAKIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>