<?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>224204</bug_id>
          
          <creation_ts>2021-04-05 14:25:12 -0700</creation_ts>
          <short_desc>[iOS] contextmenu hints can be clipped by the WKWebView</short_desc>
          <delta_ts>2021-05-20 16:55:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226055</see_also>
          <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>
          <dependson>225002</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1747107</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-04-05 14:25:12 -0700</bug_when>
    <thetext>if an app has a `WKWebView` that is smaller than the entire screen, contextmenu previews can be clipped if they try to display towards the edge of the `WKWebView`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747108</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-04-05 14:25:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/75504620&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747114</commentid>
    <comment_count>2</comment_count>
      <attachid>425208</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-04-05 14:33:40 -0700</bug_when>
    <thetext>Created attachment 425208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747124</commentid>
    <comment_count>3</comment_count>
      <attachid>425211</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-04-05 14:55:21 -0700</bug_when>
    <thetext>Created attachment 425211
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747132</commentid>
    <comment_count>4</comment_count>
      <attachid>425211</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-05 15:33:21 -0700</bug_when>
    <thetext>Comment on attachment 425211
Patch

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

Does not seem outrageous (though it sure would be nice if the UIKit SPI worked).

&gt; Source/WebKit/ChangeLog:3
&gt; +        [iOS] contextmenu previews can be clipped by the WKWebView

please use the word &quot;hint&quot; everywhere you use &quot;preview&quot;... &quot;preview&quot; is the VC that comes up adjacent to the context menu actions with a web view in it previewing the link destination

&gt; Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:57
&gt;  UIScrollView *RemoteScrollingCoordinatorProxy::scrollViewForScrollingNodeID(ScrollingNodeID nodeID) const

I wonder what other things call this that will now suddenly work in iframes? Need smfr&apos;s input.

&gt; Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeFrameScrollingNodeRemoteIOS.h:41
&gt; +    UIScrollView* scrollView() const;

Star&apos;s on the wrong side for all of your UIScrollViews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747136</commentid>
    <comment_count>5</comment_count>
      <attachid>425215</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-04-05 15:39:57 -0700</bug_when>
    <thetext>Created attachment 425215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747240</commentid>
    <comment_count>6</comment_count>
      <attachid>425211</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-05 19:33:46 -0700</bug_when>
    <thetext>Comment on attachment 425211
Patch

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

&gt;&gt; Source/WebKit/UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm:57
&gt;&gt;  UIScrollView *RemoteScrollingCoordinatorProxy::scrollViewForScrollingNodeID(ScrollingNodeID nodeID) const
&gt; 
&gt; I wonder what other things call this that will now suddenly work in iframes? Need smfr&apos;s input.

From glancing through the code, it seems this is only used in this one place (i.e. to find the right scroll view to use as the position tracking view in `-overridePositionTrackingViewForTargetedPreviewIfNecessary:containerScrollingNodeID:`).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747242</commentid>
    <comment_count>7</comment_count>
      <attachid>425215</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-05 19:34:17 -0700</bug_when>
    <thetext>Comment on attachment 425215
Patch

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

r=mews

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:7567
&gt; +        [self.textEffectsWindow addSubview:_targetedPreviewViewsContainerView.get()];

This /might/ be fine as-is...but since we&apos;re now inserting `_targetedPreviewViewsContainerView` in a window that we don&apos;t own, it would probably be a good idea to ensure that we remove it if the web view is removed from the view hierarchy (and more generally, when we don&apos;t require it anymore).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747250</commentid>
    <comment_count>8</comment_count>
      <attachid>425215</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-04-05 20:06:28 -0700</bug_when>
    <thetext>Comment on attachment 425215
Patch

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

&gt;&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:7567
&gt;&gt; +        [self.textEffectsWindow addSubview:_targetedPreviewViewsContainerView.get()];
&gt; 
&gt; This /might/ be fine as-is...but since we&apos;re now inserting `_targetedPreviewViewsContainerView` in a window that we don&apos;t own, it would probably be a good idea to ensure that we remove it if the web view is removed from the view hierarchy (and more generally, when we don&apos;t require it anymore).

Good call.  Would this involve adding something to `-dealloc` or somewhere else?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747252</commentid>
    <comment_count>9</comment_count>
      <attachid>425215</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-05 20:09:10 -0700</bug_when>
    <thetext>Comment on attachment 425215
Patch

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

&gt;&gt;&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:7567
&gt;&gt;&gt; +        [self.textEffectsWindow addSubview:_targetedPreviewViewsContainerView.get()];
&gt;&gt; 
&gt;&gt; This /might/ be fine as-is...but since we&apos;re now inserting `_targetedPreviewViewsContainerView` in a window that we don&apos;t own, it would probably be a good idea to ensure that we remove it if the web view is removed from the view hierarchy (and more generally, when we don&apos;t require it anymore).
&gt; 
&gt; Good call.  Would this involve adding something to `-dealloc` or somewhere else?

I was thinking along the lines of `-didMoveToWindow`, with a nil `self.window` (i.e. the content view is being unparented).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747625</commentid>
    <comment_count>10</comment_count>
      <attachid>425323</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-04-06 13:59:59 -0700</bug_when>
    <thetext>Created attachment 425323
Patch

remove `_targetedPreviewViewsContainerView` when removed from a window and make `_scrollViewForTargetedPreview` into a weak pointer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747674</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-06 15:29:21 -0700</bug_when>
    <thetext>Committed r275562: &lt;https://commits.webkit.org/r275562&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425323.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753752</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-04-23 15:01:49 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 225002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759886</commentid>
    <comment_count>13</comment_count>
      <attachid>428572</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-13 16:26:49 -0700</bug_when>
    <thetext>Created attachment 428572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759889</commentid>
    <comment_count>14</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-13 16:27:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/77089174&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759894</commentid>
    <comment_count>15</comment_count>
      <attachid>428575</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-13 16:34:11 -0700</bug_when>
    <thetext>Created attachment 428575
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759963</commentid>
    <comment_count>16</comment_count>
      <attachid>428575</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-13 18:52:29 -0700</bug_when>
    <thetext>Comment on attachment 428575
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:1133
&gt; +- (void)cleanUpRelatedViews

Nit - &quot;Related views&quot; sounds a bit vague. What about something like `-cleanUpPreviewContainers`?

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:7668
&gt; +    if (!_dropPreviewContainerView)
&gt; +        return;

Nit - I think you can remove this early return.

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:7687
&gt; +    if (!_dragPreviewContainerView)
&gt; +        return;

(Ditto)

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:7717
&gt; +    if (!_contextMenuHintContainerView)
&gt; +        return;

(Ditto)

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:375
&gt; +TEST(ContextMenu, DISABLED_HintPreviewContainer)

We should really investigate these at some point :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759965</commentid>
    <comment_count>17</comment_count>
      <attachid>428575</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-13 18:57:08 -0700</bug_when>
    <thetext>Comment on attachment 428575
Patch

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

&gt;&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:1133
&gt;&gt; +- (void)cleanUpRelatedViews
&gt; 
&gt; Nit - &quot;Related views&quot; sounds a bit vague. What about something like `-cleanUpPreviewContainers`?

I think `cleanUpInteractionPreviewContainers` is a bit more specific so I&apos;m going to go with that.

&gt;&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:7668
&gt;&gt; +        return;
&gt; 
&gt; Nit - I think you can remove this early return.

I have some logic I&apos;m currently planning on adding in a followup to this that I don&apos;t want to do if this isn&apos;t set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759966</commentid>
    <comment_count>18</comment_count>
      <attachid>428593</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-13 18:58:35 -0700</bug_when>
    <thetext>Created attachment 428593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760161</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-14 11:56:43 -0700</bug_when>
    <thetext>Committed r277501 (237733@main): &lt;https://commits.webkit.org/237733@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428593.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425208</attachid>
            <date>2021-04-05 14:33:40 -0700</date>
            <delta_ts>2021-04-05 14:55:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224204-20210405153339.patch</filename>
            <type>text/plain</type>
            <size>16809</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNmZmYTEyM2JhZDc5YmMyNzFiYTYxMDE1ZDIwMjE0ZTY5MzExYTkxZi4uNzBm
YmJhYTAyMzM3ZWEzOTYzMDAyMGM0Mjk3OTlmNzBiNGFjMGRjYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw0NSBAQAorMjAyMS0wNC0wNSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU10gY29udGV4dG1lbnUgcHJldmlld3MgY2FuIGJlIGNsaXBwZWQgYnkgdGhl
IFdLV2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI0MjA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTUwNDYyMD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RpZFNjcm9s
bF0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9jcmVhdGVQcmV2aWV3Q29udGFpbmVyV2l0
aExheWVyTmFtZTpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjb250YWluZXJGb3JEcm9w
UHJldmlld3NdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjb250YWluZXJGb3JEcmFnUHJl
dmlld3NdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjb250YWluZXJGb3JDb250ZXh0TWVu
dUhpbnRQcmV2aWV3c10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9oaWRlVGFyZ2V0ZWRQ
cmV2aWV3Q29udGFpbmVyVmlld3NdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfdXBkYXRl
VGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3RnJhbWVJZk5lZWRlZF0pOiBBZGRlZC4K
KyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcmVtb3ZlVGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250
YWluZXJWaWV3SWZQb3NzaWJsZV0pOiBBZGRlZC4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBf
dXBkYXRlVGFyZ2V0ZWRQcmV2aWV3U2Nyb2xsVmlld1VzaW5nQ29udGFpbmVyU2Nyb2xsaW5nTm9k
ZUlEOl0pOiBBZGRlZC4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjbGVhblVwRHJhZ1NvdXJj
ZVNlc3Npb25TdGF0ZV0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9jcmVhdGVUYXJnZXRl
ZENvbnRleHRNZW51SGludFByZXZpZXdGb3JGb2N1c2VkRWxlbWVudF0pOgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IF9jcmVhdGVUYXJnZXRlZENvbnRleHRNZW51SGludFByZXZpZXdJZlBvc3Np
YmxlXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3JlbW92ZUNvbnRleHRNZW51Vmlld0lm
UG9zc2libGVdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBkcm9wSW50ZXJhY3Rpb246Y29u
Y2x1ZGVEcm9wOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IG92ZXJyaWRlUG9zaXRpb25U
cmFja2luZ1ZpZXdGb3JUYXJnZXRlZFByZXZpZXdJZk5lY2Vzc2FyeTpjb250YWluZXJTY3JvbGxp
bmdOb2RlSUQ6XSk6IERlbGV0ZWQuCisgICAgICAgIEluc3RlYWQgb2YgYXR0YWNoaW5nIHRoZSBj
b250ZXh0bWVudSBwcmV2aWV3IGNvbnRhaW5lciAoYF9jb250ZXh0TWVudUhpbnRDb250YWluZXJW
aWV3YCkgdG8KKyAgICAgICAgdGhlIGBXS1dlYlZpZXdgICh2aWEgdGhlIGBfaW50ZXJhY3Rpb25W
aWV3c0NvbnRhaW5lclZpZXdgKSwgYXR0YWNoIGl0IHRvIGEgbmV3IGNvbnRhaW5lcgorICAgICAg
ICAoYF90YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdgKSB1bmRlciB0aGUgYFVJVGV4
dEVmZmVjdHNXaW5kb3dgIHNvIHRoYXQgaWYgdGhlCisgICAgICAgIGNvbnRleHRtZW51IHRhcmdl
dCBpcyBuZWFyIHRoZSBlZGdlIG9mIHRoZSBgV0tXZWJWaWV3YCB0aGVuIHRoZSBzaGFkb3cgb2Yg
dGhlIGNvbnRleHRtZW51CisgICAgICAgIHByZXZpZXcgd2lsbCBub3QgYmUgY2xpcHBlZCBieSB0
aGUgYFdLV2ViVmlld2AuIFdoZW5ldmVyIGFueSB2aWV3IGlzIHNjcm9sbGVkLCBhZGp1c3QgdGhl
CisgICAgICAgIGBmcmFtZWAgb2YgdGhlIGBfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJW
aWV3YCBzbyB0aGF0IHRoZSBjb250ZXh0bWVudSBwcmV2aWV3IG1vdmVzLgorCisgICAgICAgICog
VUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQ
cm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQ
cm94eTo6c2Nyb2xsVmlld0ZvclNjcm9sbGluZ05vZGVJRCBjb25zdCk6CisgICAgICAgICogVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZVJlbW90ZUlPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MubW06CisgICAgICAgIChXZWJL
aXQ6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1M6OnNjcm9sbFZpZXcg
Y29uc3QpOiBBZGRlZC4KKyAgICAgICAgYFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVS
ZW1vdGVJT1NgIGFsc28gaGFzIGEgY29ycmVzcG9uZGluZyBgVUlTY3JvbGxWaWV3YC4KKworICAg
ICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaDoKKyAgICAgICAgUmVtb3ZlIG5vIGxv
bmdlciBuZWVkZWQgU1BJIG5vdyB0aGF0IFdlYktpdCBtYW5hZ2VzIHRoZSBwb3NpdGlvbiBvZiB0
aGUgY29udGV4dG1lbnUgcHJldmlldy4KKwogMjAyMS0wNC0wMiAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ugc3VyZSB3ZSBhcmUgbm8gbG9uZ2VyIHNob3cg
dGhlIHByZXZpb3VzIHBhZ2Ugd2hlbiBydW5uaW5nIGEgSlMgcHJvbXB0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCmluZGV4IDg5OTY3ZWRmZDQ2YzExNzgyOTc0ODU2
N2NjYzllZDMyZDU1YzVkOTkuLjNjMjYwMjE1MGVmNWYzNDBmNDlmZDE4YTg3ZDVmNDhjMjk5Yzhm
YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCkBAIC0xMjE3
LDEwICsxMjE3LDYgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVnZXIsIF9VSUNvbnRleHRNZW51
TGF5b3V0KSB7CiBAZW5kCiAKICNpZiBVU0UoVUlDT05URVhUTUVOVSkKLUBpbnRlcmZhY2UgVUlU
YXJnZXRlZFByZXZpZXcgKCkKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcsIHNldHRlcj1f
c2V0T3ZlcnJpZGVQb3NpdGlvblRyYWNraW5nVmlldzopIFVJVmlldyAqb3ZlcnJpZGVQb3NpdGlv
blRyYWNraW5nVmlldzsKLUBlbmQKLQogQGludGVyZmFjZSBVSUNvbnRleHRNZW51SW50ZXJhY3Rp
b24gKCkKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlHZXN0dXJlUmVjb2duaXpl
ciAqZ2VzdHVyZVJlY29nbml6ZXJGb3JGYWlsdXJlUmVsYXRpb25zaGlwczsKIC0gKHZvaWQpX3By
ZXNlbnRNZW51QXRMb2NhdGlvbjooQ0dQb2ludClsb2NhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbQppbmRleCAxMTY3
NWYzMjQ1YmExMWFjMzk4ZmRiYTJmY2UzNjNiYWJmMGFhNDU0Li4zYWJhMzBkNTdlY2Y4NTNjMDc5
ZjljOWJiMzkwM2U4NmYxZjI0NDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1tCkBAIC0zMSw2ICszMSw3IEBACiAKICNp
bXBvcnQgIlJlbW90ZUxheWVyVHJlZUhvc3QuaCIKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZU5v
ZGUuaCIKKyNpbXBvcnQgIlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1Mu
aCIKICNpbXBvcnQgIlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MuaCIKICNp
bXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCA8VUlLaXQvVUlWaWV3Lmg+CkBAIC01Niwx
MiArNTcsMjIgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBVSVNjcm9sbFZpZXcgKlJlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6OnNjcm9sbFZpZXdGb3JTY3JvbGxpbmdOb2RlSUQo
U2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkgY29uc3QKIHsKICAgICBhdXRvKiB0cmVlTm9kZSA9IG1f
c2Nyb2xsaW5nVHJlZS0+bm9kZUZvcklEKG5vZGVJRCk7Ci0gICAgaWYgKCFpczxTY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPih0cmVlTm9kZSkpCi0gICAgICAgIHJldHVybiBuaWw7
CiAKLSAgICBhdXRvKiBzY3JvbGxpbmdOb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nVHJlZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZT4odHJlZU5vZGUpOwotICAgIC8vIEFsbCBTY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlcyBhcmUgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZUlPUyBvbiBpT1MuCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFNjcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbGluZ05vZGVJT1MqPihzY3JvbGxpbmdOb2RlKS0+c2Nyb2xsVmlldygpOworICAgIGlm
IChpczxTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPih0cmVlTm9kZSkpIHsKKyAg
ICAgICAgYXV0byogb3ZlcmZsb3dTY3JvbGxpbmdOb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4odHJlZU5vZGUpOworCisgICAgICAgIC8vIEFsbCBTY3Jv
bGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlcyBhcmUgU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZUlPUyBvbiBpT1MuCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTY3Jv
bGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TKj4ob3ZlcmZsb3dTY3JvbGxpbmdOb2Rl
KS0+c2Nyb2xsVmlldygpOworICAgIH0KKworICAgIGlmIChpczxTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlPih0cmVlTm9kZSkpIHsKKyAgICAgICAgYXV0byogZnJhbWVTY3JvbGxpbmdO
b2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZT4odHJlZU5vZGUp
OworCisgICAgICAgIC8vIEFsbCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlcyBhcmUg
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUyBvbiBpT1MuCisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3Rl
SU9TKj4oZnJhbWVTY3JvbGxpbmdOb2RlKS0+c2Nyb2xsVmlldygpOworICAgIH0KKworICAgIHJl
dHVybiBuaWw7CiB9CiAKIHZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6Y29u
bmVjdFN0YXRlTm9kZUxheWVycyhTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgY29uc3Qg
UmVtb3RlTGF5ZXJUcmVlSG9zdCYgbGF5ZXJUcmVlSG9zdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZVJlbW90ZUlPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLmgKaW5k
ZXggNTVjMGFhNDk5MmMzODEyYzUzZTAzNTE0YmVmOWZlMzZhOWIwNjE4NS4uODBkYzYyYjM1NGVi
ODJhMjNhZDkzYWI2ZjU5NWI1ODk2ZTI1OTMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlUmVtb3RlSU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJU
cmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLmgKQEAgLTM4
LDYgKzM4LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8U2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZVJlbW90ZUlPUz4gY3JlYXRlKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWUmLCBXZWJD
b3JlOjpTY3JvbGxpbmdOb2RlVHlwZSwgV2ViQ29yZTo6U2Nyb2xsaW5nTm9kZUlEKTsKICAgICB2
aXJ0dWFsIH5TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TKCk7CiAKKyAg
ICBVSVNjcm9sbFZpZXcqIHNjcm9sbFZpZXcoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBTY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TKFdlYkNvcmU6OlNjcm9sbGluZ1Ry
ZWUmLCBXZWJDb3JlOjpTY3JvbGxpbmdOb2RlVHlwZSwgV2ViQ29yZTo6U2Nyb2xsaW5nTm9kZUlE
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tCmluZGV4IGU1NTNhOTQwNGIxMjc4MTg4ZDY2ZDljNmRm
YmFiMTFhNjUwZTY4ZDYuLjE3MzkxN2ZkZGUzOGE3ODA3MzhhNDk1NzVjY2Y3MGYzNGYzZGVjNTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3Mv
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVSZW1vdGVJT1MubW0KQEAgLTUxLDYgKzUxLDExIEBAIFNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1M6On5TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlUmVtb3RlCiB7CiB9CiAKK1VJU2Nyb2xsVmlldyogU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZVJlbW90ZUlPUzo6c2Nyb2xsVmlldygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Ny
b2xsaW5nTm9kZURlbGVnYXRlID8gbV9zY3JvbGxpbmdOb2RlRGVsZWdhdGUtPnNjcm9sbFZpZXco
KSA6IG5pbDsKK30KKwogdm9pZCBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3Rl
SU9TOjpjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYg
c3RhdGVOb2RlKQogewogICAgIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU6OmNvbW1p
dFN0YXRlQmVmb3JlQ2hpbGRyZW4oc3RhdGVOb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCAxNjEzNTM1
OWQyZTY5YTBjNjI0N2YzMDBlYTgyZjdjZTM5Mzk3OGM1Li4xMDJiOTc1OTc4OGUwOTAzZmY3MjQ1
MjhjMDFiM2UwZjMwYjg0Njg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0yOTgsNiArMjk4LDggQEAgZW51
bSBjbGFzcyBQcm9jZWVkV2l0aEltYWdlRXh0cmFjdGlvbiA6IGJvb2wgewogICAgIFJldGFpblB0
cjxVSVdlYkZvcm1BY2Nlc3Nvcnk+IF9mb3JtQWNjZXNzb3J5VmlldzsKICAgICBSZXRhaW5QdHI8
X1VJSGlnaGxpZ2h0Vmlldz4gX2hpZ2hsaWdodFZpZXc7CiAgICAgUmV0YWluUHRyPFVJVmlldz4g
X2ludGVyYWN0aW9uVmlld3NDb250YWluZXJWaWV3OworICAgIFJldGFpblB0cjxVSVZpZXc+IF90
YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXc7CisgICAgUmV0YWluUHRyPFVJU2Nyb2xs
Vmlldz4gX3Njcm9sbFZpZXdGb3JUYXJnZXRlZFByZXZpZXc7CiAgICAgUmV0YWluUHRyPFVJVmll
dz4gX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXc7CiAgICAgUmV0YWluUHRyPFVJVmlldz4g
X2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldzsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBfZHJvcFBy
ZXZpZXdDb250YWluZXJWaWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggNjRiZTdmOWI2ZGI3ZDc1ODBk
MmE3MThiYTk1Y2JmMzc1OTIwYzliZC4uZDM3ZDcyZDI4NDlkM2Y5ZTQ4NGE5N2M5YjI4ZDFjMmI1
NGZkZGIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC0yMDIyLDYgKzIwMjIsOCBAQCAtICh2b2lkKV9j
YW5jZWxUb3VjaEV2ZW50R2VzdHVyZVJlY29nbml6ZXIKIAogLSAodm9pZClfZGlkU2Nyb2xsCiB7
CisgICAgW3NlbGYgX3VwZGF0ZVRhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlld0ZyYW1l
SWZOZWVkZWRdOworCiAgICAgW3NlbGYgX2NhbmNlbExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVy
XTsKICAgICBbc2VsZiBfY2FuY2VsSW50ZXJhY3Rpb25dOwogfQpAQCAtNzU1MiwxMCArNzU1NCwx
OCBAQCAtIChXZWJDb3JlOjpEYXRhT3duZXJUeXBlKV9kYXRhT3duZXJGb3JQYXN0ZWJvYXJkOihX
ZWJLaXQ6OlBhc3RlYm9hcmRBY2Nlc3NJbnRlbgogCiAtIChSZXRhaW5QdHI8VUlWaWV3PilfY3Jl
YXRlUHJldmlld0NvbnRhaW5lcldpdGhMYXllck5hbWU6KE5TU3RyaW5nICopbGF5ZXJOYW1lCiB7
CisgICAgaWYgKCFfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3KSB7CisgICAgICAg
IF90YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgPSBhZG9wdE5TKFtbVUlWaWV3IGFs
bG9jXSBpbml0XSk7CisgICAgICAgIFtfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3
IGxheWVyXS5uYW1lID0gQCJQcmV2aWV3IFZpZXdzIENvbnRhaW5lciI7CisgICAgICAgIFtfdGFy
Z2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IGxheWVyXS5hbmNob3JQb2ludCA9IENHUG9p
bnRaZXJvOworICAgICAgICBbc2VsZiBfdXBkYXRlVGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWlu
ZXJWaWV3RnJhbWVJZk5lZWRlZF07CisgICAgICAgIFtzZWxmLnRleHRFZmZlY3RzV2luZG93IGFk
ZFN1YnZpZXc6X3RhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldy5nZXQoKV07CisgICAg
fQorCiAgICAgYXV0byBjb250YWluZXIgPSBhZG9wdE5TKFtbVUlWaWV3IGFsbG9jXSBpbml0XSk7
CiAgICAgW2NvbnRhaW5lciBsYXllcl0uYW5jaG9yUG9pbnQgPSBDR1BvaW50WmVybzsKICAgICBb
Y29udGFpbmVyIGxheWVyXS5uYW1lID0gbGF5ZXJOYW1lOwotICAgIFtfaW50ZXJhY3Rpb25WaWV3
c0NvbnRhaW5lclZpZXcgYWRkU3Vidmlldzpjb250YWluZXIuZ2V0KCldOworICAgIFtfdGFyZ2V0
ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IGFkZFN1YnZpZXc6Y29udGFpbmVyLmdldCgpXTsK
ICAgICByZXR1cm4gY29udGFpbmVyOwogfQogCkBAIC03NTY0LDYgKzc1NzQsOCBAQCAtIChVSVZp
ZXcgKiljb250YWluZXJGb3JEcm9wUHJldmlld3MKICAgICBpZiAoIV9kcm9wUHJldmlld0NvbnRh
aW5lclZpZXcpCiAgICAgICAgIF9kcm9wUHJldmlld0NvbnRhaW5lclZpZXcgPSBbc2VsZiBfY3Jl
YXRlUHJldmlld0NvbnRhaW5lcldpdGhMYXllck5hbWU6QCJEcm9wIFByZXZpZXcgQ29udGFpbmVy
Il07CiAKKyAgICBbX3RhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldyBzZXRIaWRkZW46
Tk9dOworCiAgICAgQVNTRVJUKFtfZHJvcFByZXZpZXdDb250YWluZXJWaWV3IHN1cGVydmlld10p
OwogICAgIFtfZHJvcFByZXZpZXdDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107CiAgICAgcmV0
dXJuIF9kcm9wUHJldmlld0NvbnRhaW5lclZpZXcuZ2V0KCk7CkBAIC03NTc0LDYgKzc1ODYsOCBA
QCAtIChVSVZpZXcgKiljb250YWluZXJGb3JEcmFnUHJldmlld3MKICAgICBpZiAoIV9kcmFnUHJl
dmlld0NvbnRhaW5lclZpZXcpCiAgICAgICAgIF9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcgPSBb
c2VsZiBfY3JlYXRlUHJldmlld0NvbnRhaW5lcldpdGhMYXllck5hbWU6QCJEcmFnIFByZXZpZXcg
Q29udGFpbmVyIl07CiAKKyAgICBbX3RhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldyBz
ZXRIaWRkZW46Tk9dOworCiAgICAgQVNTRVJUKFtfZHJhZ1ByZXZpZXdDb250YWluZXJWaWV3IHN1
cGVydmlld10pOwogICAgIFtfZHJhZ1ByZXZpZXdDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107
CiAgICAgcmV0dXJuIF9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcuZ2V0KCk7CkBAIC03NTg0LDYg
Kzc1OTgsOCBAQCAtIChVSVZpZXcgKiljb250YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2aWV3
cwogICAgIGlmICghX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXcpCiAgICAgICAgIF9jb250
ZXh0TWVudUhpbnRDb250YWluZXJWaWV3ID0gW3NlbGYgX2NyZWF0ZVByZXZpZXdDb250YWluZXJX
aXRoTGF5ZXJOYW1lOkAiQ29udGV4dCBNZW51IEhpbnQgUHJldmlldyBDb250YWluZXIiXTsKIAor
ICAgIFtfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107CisK
ICAgICBBU1NFUlQoW19jb250ZXh0TWVudUhpbnRDb250YWluZXJWaWV3IHN1cGVydmlld10pOwog
ICAgIFtfY29udGV4dE1lbnVIaW50Q29udGFpbmVyVmlldyBzZXRIaWRkZW46Tk9dOwogICAgIHJl
dHVybiBfY29udGV4dE1lbnVIaW50Q29udGFpbmVyVmlldy5nZXQoKTsKQEAgLTc1OTEsMTEgKzc2
MDcsNDcgQEAgLSAoVUlWaWV3ICopY29udGFpbmVyRm9yQ29udGV4dE1lbnVIaW50UHJldmlld3MK
IAogLSAodm9pZClfaGlkZVRhcmdldGVkUHJldmlld0NvbnRhaW5lclZpZXdzCiB7CisgICAgW190
YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOllFU107CiAgICAgW19k
cm9wUHJldmlld0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOllFU107CiAgICAgW19kcmFnUHJldmll
d0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOllFU107CiAgICAgW19jb250ZXh0TWVudUhpbnRDb250
YWluZXJWaWV3IHNldEhpZGRlbjpZRVNdOwogfQogCistICh2b2lkKV91cGRhdGVUYXJnZXRlZFBy
ZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdGcmFtZUlmTmVlZGVkCit7CisgICAgaWYgKCFfdGFyZ2V0
ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IHx8IFtfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250
YWluZXJWaWV3IGlzSGlkZGVuXSkKKyAgICAgICAgcmV0dXJuOworCisgICAgVUlTY3JvbGxWaWV3
ICpzY3JvbGxWaWV3ID0gX3Njcm9sbFZpZXdGb3JUYXJnZXRlZFByZXZpZXcgPyBfc2Nyb2xsVmll
d0ZvclRhcmdldGVkUHJldmlldy5nZXQoKSA6IHNlbGYuX3Njcm9sbGVyOworCisgICAgQ0dSZWN0
IGZyYW1lID0gW190YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgZnJhbWVdOworICAg
IGZyYW1lLm9yaWdpbiA9IFtzY3JvbGxWaWV3IGNvbnZlcnRQb2ludDpDR1BvaW50WmVybyB0b1Zp
ZXc6W190YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgc3VwZXJ2aWV3XV07CisgICAg
W190YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgc2V0RnJhbWU6ZnJhbWVdOworfQor
CistICh2b2lkKV9yZW1vdmVUYXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdJZlBvc3Np
YmxlCit7CisgICAgaWYgKFtfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IHN1YnZp
ZXdzXS5jb3VudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgW3N0ZDo6ZXhjaGFuZ2UoX3Rhcmdl
dGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldywgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsK
KyAgICBfc2Nyb2xsVmlld0ZvclRhcmdldGVkUHJldmlldyA9IG5pbDsKK30KKworLSAodm9pZClf
dXBkYXRlVGFyZ2V0ZWRQcmV2aWV3U2Nyb2xsVmlld1VzaW5nQ29udGFpbmVyU2Nyb2xsaW5nTm9k
ZUlEOihXZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQpc2Nyb2xsaW5nTm9kZUlECit7CisgICAgaWYg
KHNjcm9sbGluZ05vZGVJRCkgeworICAgICAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0
b3IgPSBfcGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eSgpKSB7CisgICAgICAgICAgICBp
ZiAoVUlTY3JvbGxWaWV3ICpzY3JvbGxWaWV3Rm9yU2Nyb2xsaW5nTm9kZSA9IHNjcm9sbGluZ0Nv
b3JkaW5hdG9yLT5zY3JvbGxWaWV3Rm9yU2Nyb2xsaW5nTm9kZUlEKHNjcm9sbGluZ05vZGVJRCkp
IHsKKyAgICAgICAgICAgICAgICBfc2Nyb2xsVmlld0ZvclRhcmdldGVkUHJldmlldyA9IHNjcm9s
bFZpZXdGb3JTY3JvbGxpbmdOb2RlOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIF9zY3JvbGxWaWV3Rm9yVGFyZ2V0ZWRQcmV2
aWV3ID0gc2VsZi53ZWJWaWV3LnNjcm9sbFZpZXc7Cit9CisKICNwcmFnbWEgbWFyayAtIFdLRGVm
ZXJyaW5nR2VzdHVyZVJlY29nbml6ZXJEZWxlZ2F0ZQogCiAtIChXZWJLaXQ6OlNob3VsZERlZmVy
R2VzdHVyZXMpZGVmZXJyaW5nR2VzdHVyZVJlY29nbml6ZXI6KFdLRGVmZXJyaW5nR2VzdHVyZVJl
Y29nbml6ZXIgKilkZWZlcnJpbmdHZXN0dXJlUmVjb2duaXplciB3aWxsQmVnaW5Ub3VjaGVzV2l0
aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKQEAgLTc5MTgsNiArNzk3MCw3IEBAIC0gKHZvaWQpY2xl
YW5VcERyYWdTb3VyY2VTZXNzaW9uU3RhdGUKICAgICBbc2VsZiBfcmVzdG9yZUNhbGxvdXRCYXJJ
Zk5lZWRlZF07CiAKICAgICBbc3RkOjpleGNoYW5nZShfZHJhZ1ByZXZpZXdDb250YWluZXJWaWV3
LCBuaWwpIHJlbW92ZUZyb21TdXBlcnZpZXddOworICAgIFtzZWxmIF9yZW1vdmVUYXJnZXRlZFBy
ZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdJZlBvc3NpYmxlXTsKICAgICBbc3RkOjpleGNoYW5nZShf
dmlzaWJsZUNvbnRlbnRWaWV3U25hcHNob3QsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107CiAg
ICAgW19lZGl0RHJvcENhcmV0VmlldyByZW1vdmVdOwogICAgIF9lZGl0RHJvcENhcmV0VmlldyA9
IG5pbDsKQEAgLTgyNzEsMjQgKzgzMjQsMTEgQEAgc3RhdGljIFJldGFpblB0cjxVSVRhcmdldGVk
UHJldmlldz4gY3JlYXRlRmFsbGJhY2tUYXJnZXRlZFByZXZpZXcoVUlWaWV3ICpyb290VmkKICAg
ICByZXR1cm4gYWRvcHROUyhbW1VJVGFyZ2V0ZWRQcmV2aWV3IGFsbG9jXSBpbml0V2l0aFZpZXc6
c25hcHNob3RWaWV3IHBhcmFtZXRlcnM6cGFyYW1ldGVycy5nZXQoKSB0YXJnZXQ6dGFyZ2V0Lmdl
dCgpXSk7CiB9CiAKLS0gKHZvaWQpb3ZlcnJpZGVQb3NpdGlvblRyYWNraW5nVmlld0ZvclRhcmdl
dGVkUHJldmlld0lmTmVjZXNzYXJ5OihVSVRhcmdldGVkUHJldmlldyAqKXRhcmdldGVkUHJldmll
dyBjb250YWluZXJTY3JvbGxpbmdOb2RlSUQ6KFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRClzY3Jv
bGxpbmdOb2RlSUQKLXsKLSAgICBpZiAoIXNjcm9sbGluZ05vZGVJRCkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgVUlTY3JvbGxWaWV3ICpwb3NpdGlvblRyYWNraW5nVmlldyA9IHNlbGYud2ViVmll
dy5zY3JvbGxWaWV3OwotICAgIGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IF9wYWdl
LT5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCkpCi0gICAgICAgIHBvc2l0aW9uVHJhY2tpbmdW
aWV3ID0gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNjcm9sbFZpZXdGb3JTY3JvbGxpbmdOb2RlSUQo
c2Nyb2xsaW5nTm9kZUlEKTsKLQotICAgIGlmIChbdGFyZ2V0ZWRQcmV2aWV3IHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3IoX3NldE92ZXJyaWRlUG9zaXRpb25UcmFja2luZ1ZpZXc6KV0pCi0g
ICAgICAgIFt0YXJnZXRlZFByZXZpZXcgX3NldE92ZXJyaWRlUG9zaXRpb25UcmFja2luZ1ZpZXc6
cG9zaXRpb25UcmFja2luZ1ZpZXddOwotfQotCiAtIChVSVRhcmdldGVkUHJldmlldyAqKV9jcmVh
dGVUYXJnZXRlZENvbnRleHRNZW51SGludFByZXZpZXdGb3JGb2N1c2VkRWxlbWVudAogewogICAg
IFJldGFpblB0cjxVSVRhcmdldGVkUHJldmlldz4gdGFyZ2V0ZWRQcmV2aWV3ID0gY3JlYXRlRmFs
bGJhY2tUYXJnZXRlZFByZXZpZXcoc2VsZiwgc2VsZi5jb250YWluZXJGb3JDb250ZXh0TWVudUhp
bnRQcmV2aWV3cywgX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaW50ZXJhY3Rpb25SZWN0KTsK
IAotICAgIFtzZWxmIG92ZXJyaWRlUG9zaXRpb25UcmFja2luZ1ZpZXdGb3JUYXJnZXRlZFByZXZp
ZXdJZk5lY2Vzc2FyeTp0YXJnZXRlZFByZXZpZXcuZ2V0KCkgY29udGFpbmVyU2Nyb2xsaW5nTm9k
ZUlEOl9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmNvbnRhaW5lclNjcm9sbGluZ05vZGVJRF07
CisgICAgW3NlbGYgX3VwZGF0ZVRhcmdldGVkUHJldmlld1Njcm9sbFZpZXdVc2luZ0NvbnRhaW5l
clNjcm9sbGluZ05vZGVJRDpfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5jb250YWluZXJTY3Jv
bGxpbmdOb2RlSURdOwogCiAgICAgX2NvbnRleHRNZW51SW50ZXJhY3Rpb25UYXJnZXRlZFByZXZp
ZXcgPSBXVEZNb3ZlKHRhcmdldGVkUHJldmlldyk7CiAgICAgcmV0dXJuIF9jb250ZXh0TWVudUlu
dGVyYWN0aW9uVGFyZ2V0ZWRQcmV2aWV3LmdldCgpOwpAQCAtODMxMSw3ICs4MzUxLDcgQEAgLSAo
VUlUYXJnZXRlZFByZXZpZXcgKilfY3JlYXRlVGFyZ2V0ZWRDb250ZXh0TWVudUhpbnRQcmV2aWV3
SWZQb3NzaWJsZQogICAgIGlmICghdGFyZ2V0ZWRQcmV2aWV3KQogICAgICAgICB0YXJnZXRlZFBy
ZXZpZXcgPSBjcmVhdGVGYWxsYmFja1RhcmdldGVkUHJldmlldyhzZWxmLCBzZWxmLmNvbnRhaW5l
ckZvckNvbnRleHRNZW51SGludFByZXZpZXdzLCBfcG9zaXRpb25JbmZvcm1hdGlvbi5ib3VuZHMp
OwogCi0gICAgW3NlbGYgb3ZlcnJpZGVQb3NpdGlvblRyYWNraW5nVmlld0ZvclRhcmdldGVkUHJl
dmlld0lmTmVjZXNzYXJ5OnRhcmdldGVkUHJldmlldy5nZXQoKSBjb250YWluZXJTY3JvbGxpbmdO
b2RlSUQ6X3Bvc2l0aW9uSW5mb3JtYXRpb24uY29udGFpbmVyU2Nyb2xsaW5nTm9kZUlEXTsKKyAg
ICBbc2VsZiBfdXBkYXRlVGFyZ2V0ZWRQcmV2aWV3U2Nyb2xsVmlld1VzaW5nQ29udGFpbmVyU2Ny
b2xsaW5nTm9kZUlEOl9wb3NpdGlvbkluZm9ybWF0aW9uLmNvbnRhaW5lclNjcm9sbGluZ05vZGVJ
RF07CiAKICAgICBfY29udGV4dE1lbnVJbnRlcmFjdGlvblRhcmdldGVkUHJldmlldyA9IFdURk1v
dmUodGFyZ2V0ZWRQcmV2aWV3KTsKICAgICByZXR1cm4gX2NvbnRleHRNZW51SW50ZXJhY3Rpb25U
YXJnZXRlZFByZXZpZXcuZ2V0KCk7CkBAIC04MzQyLDYgKzgzODIsNyBAQCAtICh2b2lkKV9yZW1v
dmVDb250ZXh0TWVudVZpZXdJZlBvc3NpYmxlCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBb
c3RkOjpleGNoYW5nZShfY29udGV4dE1lbnVIaW50Q29udGFpbmVyVmlldywgbmlsKSByZW1vdmVG
cm9tU3VwZXJ2aWV3XTsKKyAgICBbc2VsZiBfcmVtb3ZlVGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250
YWluZXJWaWV3SWZQb3NzaWJsZV07CiB9CiAKICNlbmRpZiAvLyBVU0UoVUlDT05URVhUTUVOVSkK
QEAgLTg4MzcsNiArODg3OCw3IEBAIC0gKHZvaWQpZHJvcEludGVyYWN0aW9uOihVSURyb3BJbnRl
cmFjdGlvbiAqKWludGVyYWN0aW9uIGl0ZW06KFVJRHJhZ0l0ZW0gKilpdGVtCiAtICh2b2lkKWRy
b3BJbnRlcmFjdGlvbjooVUlEcm9wSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBjb25jbHVkZURy
b3A6KGlkIDxVSURyb3BTZXNzaW9uPilzZXNzaW9uCiB7CiAgICAgW3N0ZDo6ZXhjaGFuZ2UoX2Ry
b3BQcmV2aWV3Q29udGFpbmVyVmlldywgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAgICBb
c2VsZiBfcmVtb3ZlVGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3SWZQb3NzaWJsZV07
CiAgICAgW3N0ZDo6ZXhjaGFuZ2UoX3Zpc2libGVDb250ZW50Vmlld1NuYXBzaG90LCBuaWwpIHJl
bW92ZUZyb21TdXBlcnZpZXddOwogICAgIFtzdGQ6OmV4Y2hhbmdlKF91bnNlbGVjdGVkQ29udGVu
dFNuYXBzaG90LCBuaWwpIHJlbW92ZUZyb21TdXBlcnZpZXddOwogICAgIF9kcmFnRHJvcEludGVy
YWN0aW9uU3RhdGUuY2xlYXJBbGxEZWxheWVkSXRlbVByZXZpZXdQcm92aWRlcnMoKTsK
</data>
<flag name="commit-queue"
          id="445057"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425211</attachid>
            <date>2021-04-05 14:55:21 -0700</date>
            <delta_ts>2021-04-05 15:39:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224204-20210405155521.patch</filename>
            <type>text/plain</type>
            <size>17380</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNmZmYTEyM2JhZDc5YmMyNzFiYTYxMDE1ZDIwMjE0ZTY5MzExYTkxZi4uZTc1
ZTVhNjFiNzRlN2NkMWVlODgyYWFmYmYzYmUyMThiODMyMWNkNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw0NiBAQAorMjAyMS0wNC0wNSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU10gY29udGV4dG1lbnUgcHJldmlld3MgY2FuIGJlIGNsaXBwZWQgYnkgdGhl
IFdLV2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI0MjA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTUwNDYyMD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RpZFNjcm9s
bF0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHRleHRFZmZlY3RzV2luZG93XSk6CisgICAg
ICAgICgtW1dLQ29udGVudFZpZXcgX2NyZWF0ZVByZXZpZXdDb250YWluZXJXaXRoTGF5ZXJOYW1l
Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNvbnRhaW5lckZvckRyb3BQcmV2aWV3c10p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNvbnRhaW5lckZvckRyYWdQcmV2aWV3c10pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNvbnRhaW5lckZvckNvbnRleHRNZW51SGludFByZXZp
ZXdzXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2hpZGVUYXJnZXRlZFByZXZpZXdDb250
YWluZXJWaWV3c10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVUYXJnZXRlZFBy
ZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdGcmFtZUlmTmVlZGVkXSk6IEFkZGVkLgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IF9yZW1vdmVUYXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdJ
ZlBvc3NpYmxlXSk6IEFkZGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVUYXJn
ZXRlZFByZXZpZXdTY3JvbGxWaWV3VXNpbmdDb250YWluZXJTY3JvbGxpbmdOb2RlSUQ6XSk6IEFk
ZGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNsZWFuVXBEcmFnU291cmNlU2Vzc2lvblN0
YXRlXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2NyZWF0ZVRhcmdldGVkQ29udGV4dE1l
bnVIaW50UHJldmlld0ZvckZvY3VzZWRFbGVtZW50XSk6CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgX2NyZWF0ZVRhcmdldGVkQ29udGV4dE1lbnVIaW50UHJldmlld0lmUG9zc2libGVdKToKKyAg
ICAgICAgKC1bV0tDb250ZW50VmlldyBfcmVtb3ZlQ29udGV4dE1lbnVWaWV3SWZQb3NzaWJsZV0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRyb3BJbnRlcmFjdGlvbjpjb25jbHVkZURyb3A6
XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgb3ZlcnJpZGVQb3NpdGlvblRyYWNraW5nVmll
d0ZvclRhcmdldGVkUHJldmlld0lmTmVjZXNzYXJ5OmNvbnRhaW5lclNjcm9sbGluZ05vZGVJRDpd
KTogRGVsZXRlZC4KKyAgICAgICAgSW5zdGVhZCBvZiBhdHRhY2hpbmcgdGhlIGNvbnRleHRtZW51
IHByZXZpZXcgY29udGFpbmVyIChgX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXdgKSB0bwor
ICAgICAgICB0aGUgYFdLV2ViVmlld2AgKHZpYSB0aGUgYF9pbnRlcmFjdGlvblZpZXdzQ29udGFp
bmVyVmlld2ApLCBhdHRhY2ggaXQgdG8gYSBuZXcgY29udGFpbmVyCisgICAgICAgIChgX3Rhcmdl
dGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlld2ApIHVuZGVyIHRoZSBgVUlUZXh0RWZmZWN0c1dp
bmRvd2Agc28gdGhhdCBpZiB0aGUKKyAgICAgICAgY29udGV4dG1lbnUgdGFyZ2V0IGlzIG5lYXIg
dGhlIGVkZ2Ugb2YgdGhlIGBXS1dlYlZpZXdgIHRoZW4gdGhlIHNoYWRvdyBvZiB0aGUgY29udGV4
dG1lbnUKKyAgICAgICAgcHJldmlldyB3aWxsIG5vdCBiZSBjbGlwcGVkIGJ5IHRoZSBgV0tXZWJW
aWV3YC4gV2hlbmV2ZXIgYW55IHZpZXcgaXMgc2Nyb2xsZWQsIGFkanVzdCB0aGUKKyAgICAgICAg
YGZyYW1lYCBvZiB0aGUgYF90YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdgIHNvIHRo
YXQgdGhlIGNvbnRleHRtZW51IHByZXZpZXcgbW92ZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
UmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1t
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpzY3Jv
bGxWaWV3Rm9yU2Nyb2xsaW5nTm9kZUlEIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVt
b3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9T
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6U2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUzo6c2Nyb2xsVmlldyBjb25zdCk6IEFk
ZGVkLgorICAgICAgICBgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPU2Ag
YWxzbyBoYXMgYSBjb3JyZXNwb25kaW5nIGBVSVNjcm9sbFZpZXdgLgorCisgICAgICAgICogUGxh
dGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oOgorICAgICAgICBSZW1vdmUgbm8gbG9uZ2VyIG5lZWRl
ZCBTUEkgbm93IHRoYXQgV2ViS2l0IG1hbmFnZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjb250ZXh0
bWVudSBwcmV2aWV3LgorCiAyMDIxLTA0LTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgTWFrZSBzdXJlIHdlIGFyZSBubyBsb25nZXIgc2hvdyB0aGUgcHJldmlv
dXMgcGFnZSB3aGVuIHJ1bm5pbmcgYSBKUyBwcm9tcHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9z
cGkvaW9zL1VJS2l0U1BJLmgKaW5kZXggODk5NjdlZGZkNDZjMTE3ODI5NzQ4NTY3Y2NjOWVkMzJk
NTVjNWQ5OS4uM2MyNjAyMTUwZWY1ZjM0MGY0OWZkMThhODdkNWY0OGMyOTljOGZiNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTEyMTcsMTAgKzEyMTcs
NiBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1VJQ29udGV4dE1lbnVMYXlvdXQpIHsK
IEBlbmQKIAogI2lmIFVTRShVSUNPTlRFWFRNRU5VKQotQGludGVyZmFjZSBVSVRhcmdldGVkUHJl
dmlldyAoKQotQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZywgc2V0dGVyPV9zZXRPdmVycmlk
ZVBvc2l0aW9uVHJhY2tpbmdWaWV3OikgVUlWaWV3ICpvdmVycmlkZVBvc2l0aW9uVHJhY2tpbmdW
aWV3OwotQGVuZAotCiBAaW50ZXJmYWNlIFVJQ29udGV4dE1lbnVJbnRlcmFjdGlvbiAoKQogQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUdlc3R1cmVSZWNvZ25pemVyICpnZXN0dXJl
UmVjb2duaXplckZvckZhaWx1cmVSZWxhdGlvbnNoaXBzOwogLSAodm9pZClfcHJlc2VudE1lbnVB
dExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclBy
b3h5SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9S
ZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1tCmluZGV4IDExNjc1ZjMyNDViYTEx
YWMzOThmZGJhMmZjZTM2M2JhYmYwYWE0NTQuLjNhYmEzMGQ1N2VjZjg1M2MwNzlmOWM5YmIzOTAz
ZTg2ZjFmMjQ0N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yUHJveHlJT1MubW0KQEAgLTMxLDYgKzMxLDcgQEAKIAogI2ltcG9ydCAiUmVt
b3RlTGF5ZXJUcmVlSG9zdC5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlTm9kZS5oIgorI2lt
cG9ydCAiU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5oIgogI2ltcG9y
dCAiU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5oIgogI2ltcG9ydCAiV2Vi
UGFnZVByb3h5LmgiCiAjaW1wb3J0IDxVSUtpdC9VSVZpZXcuaD4KQEAgLTU2LDEyICs1NywyMiBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIFVJU2Nyb2xsVmlldyAqUmVtb3RlU2Nyb2xsaW5n
Q29vcmRpbmF0b3JQcm94eTo6c2Nyb2xsVmlld0ZvclNjcm9sbGluZ05vZGVJRChTY3JvbGxpbmdO
b2RlSUQgbm9kZUlEKSBjb25zdAogewogICAgIGF1dG8qIHRyZWVOb2RlID0gbV9zY3JvbGxpbmdU
cmVlLT5ub2RlRm9ySUQobm9kZUlEKTsKLSAgICBpZiAoIWlzPFNjcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbGluZ05vZGU+KHRyZWVOb2RlKSkKLSAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIGF1
dG8qIHNjcm9sbGluZ05vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxp
bmdOb2RlPih0cmVlTm9kZSk7Ci0gICAgLy8gQWxsIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9s
bGluZ05vZGVzIGFyZSBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TIG9uIGlP
Uy4KLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZUlPUyo+KHNjcm9sbGluZ05vZGUpLT5zY3JvbGxWaWV3KCk7CisgICAgaWYgKGlzPFNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU+KHRyZWVOb2RlKSkgeworICAgICAgICBhdXRv
KiBvdmVyZmxvd1Njcm9sbGluZ05vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlPih0cmVlTm9kZSk7CisKKyAgICAgICAgLy8gQWxsIFNjcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbGluZ05vZGVzIGFyZSBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlSU9TIG9uIGlPUy4KKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNjcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbGluZ05vZGVJT1MqPihvdmVyZmxvd1Njcm9sbGluZ05vZGUpLT5zY3JvbGxW
aWV3KCk7CisgICAgfQorCisgICAgaWYgKGlzPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGU+KHRyZWVOb2RlKSkgeworICAgICAgICBhdXRvKiBmcmFtZVNjcm9sbGluZ05vZGUgPSBkb3du
Y2FzdDxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPih0cmVlTm9kZSk7CisKKyAgICAg
ICAgLy8gQWxsIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVzIGFyZSBTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TIG9uIGlPUy4KKyAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MqPihmcmFt
ZVNjcm9sbGluZ05vZGUpLT5zY3JvbGxWaWV3KCk7CisgICAgfQorCisgICAgcmV0dXJuIG5pbDsK
IH0KIAogdm9pZCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5Ojpjb25uZWN0U3RhdGVO
b2RlTGF5ZXJzKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBjb25zdCBSZW1vdGVMYXll
clRyZWVIb3N0JiBsYXllclRyZWVIb3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
UmVtb3RlSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9z
L1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MuaAppbmRleCA1NWMwYWE0
OTkyYzM4MTJjNTNlMDM1MTRiZWY5ZmUzNmE5YjA2MTg1Li44MGRjNjJiMzU0ZWI4MmEyM2FkOTNh
YjZmNTk1YjU4OTZlMjU5MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9S
ZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJ
T1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MuaApAQCAtMzgsNiArMzgsOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
UmVtb3RlSU9TPiBjcmVhdGUoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZSYsIFdlYkNvcmU6OlNjcm9s
bGluZ05vZGVUeXBlLCBXZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQpOwogICAgIHZpcnR1YWwgflNj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MoKTsKIAorICAgIFVJU2Nyb2xs
Vmlldyogc2Nyb2xsVmlldygpIGNvbnN0OworCiBwcml2YXRlOgogICAgIFNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZSYsIFdlYkNv
cmU6OlNjcm9sbGluZ05vZGVUeXBlLCBXZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVSZW1vdGVJT1MubW0KaW5kZXggZTU1M2E5NDA0YjEyNzgxODhkNjZkOWM2ZGZiYWIxMWE2NTBl
NjhkNi4uMTczOTE3ZmRkZTM4YTc4MDczOGE0OTU3NWNjZjcwZjM0ZjNkZWM1NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZVJlbW90ZUlPUy5tbQpAQCAtNTEsNiArNTEsMTEgQEAgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZVJlbW90ZUlPUzo6flNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGUK
IHsKIH0KIAorVUlTY3JvbGxWaWV3KiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVt
b3RlSU9TOjpzY3JvbGxWaWV3KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxpbmdOb2Rl
RGVsZWdhdGUgPyBtX3Njcm9sbGluZ05vZGVEZWxlZ2F0ZS0+c2Nyb2xsVmlldygpIDogbmlsOwor
fQorCiB2b2lkIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1M6OmNvbW1p
dFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJiBzdGF0ZU5vZGUp
CiB7CiAgICAgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Y29tbWl0U3RhdGVCZWZv
cmVDaGlsZHJlbihzdGF0ZU5vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4IDE2MTM1MzU5ZDJlNjlhMGM2
MjQ3ZjMwMGVhODJmN2NlMzkzOTc4YzUuLjEwMmI5NzU5Nzg4ZTA5MDNmZjcyNDUyOGMwMWIzZTBm
MzBiODQ2ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmgKQEAgLTI5OCw2ICsyOTgsOCBAQCBlbnVtIGNsYXNzIFBy
b2NlZWRXaXRoSW1hZ2VFeHRyYWN0aW9uIDogYm9vbCB7CiAgICAgUmV0YWluUHRyPFVJV2ViRm9y
bUFjY2Vzc29yeT4gX2Zvcm1BY2Nlc3NvcnlWaWV3OwogICAgIFJldGFpblB0cjxfVUlIaWdobGln
aHRWaWV3PiBfaGlnaGxpZ2h0VmlldzsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBfaW50ZXJhY3Rp
b25WaWV3c0NvbnRhaW5lclZpZXc7CisgICAgUmV0YWluUHRyPFVJVmlldz4gX3RhcmdldGVkUHJl
dmlld1ZpZXdzQ29udGFpbmVyVmlldzsKKyAgICBSZXRhaW5QdHI8VUlTY3JvbGxWaWV3PiBfc2Ny
b2xsVmlld0ZvclRhcmdldGVkUHJldmlldzsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBfY29udGV4
dE1lbnVIaW50Q29udGFpbmVyVmlldzsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBfZHJhZ1ByZXZp
ZXdDb250YWluZXJWaWV3OwogICAgIFJldGFpblB0cjxVSVZpZXc+IF9kcm9wUHJldmlld0NvbnRh
aW5lclZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCA2NGJlN2Y5YjZkYjdkNzU4MGQyYTcxOGJhOTVj
YmYzNzU5MjBjOWJkLi4xZTFhYmY5MjAzNTg1M2EyNzg3ZmYxNTc5NTg1ZTc4ZTU4ZDVjOGQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KQEAgLTIwMjIsNiArMjAyMiw4IEBAIC0gKHZvaWQpX2NhbmNlbFRvdWNo
RXZlbnRHZXN0dXJlUmVjb2duaXplcgogCiAtICh2b2lkKV9kaWRTY3JvbGwKIHsKKyAgICBbc2Vs
ZiBfdXBkYXRlVGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3RnJhbWVJZk5lZWRlZF07
CisKICAgICBbc2VsZiBfY2FuY2VsTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXJdOwogICAgIFtz
ZWxmIF9jYW5jZWxJbnRlcmFjdGlvbl07CiB9CkBAIC03NTUwLDEyICs3NTUyLDI1IEBAIC0gKFdl
YkNvcmU6OkRhdGFPd25lclR5cGUpX2RhdGFPd25lckZvclBhc3RlYm9hcmQ6KFdlYktpdDo6UGFz
dGVib2FyZEFjY2Vzc0ludGVuCiAKICNlbmRpZiAvLyBIQVZFKFBBU1RFQk9BUkRfREFUQV9PV05F
UikKIAorLSAoVUlWaWV3ICopdGV4dEVmZmVjdHNXaW5kb3cKK3sKKyAgICByZXR1cm4gW1VJVGV4
dEVmZmVjdHNXaW5kb3cgc2hhcmVkVGV4dEVmZmVjdHNXaW5kb3dGb3JXaW5kb3dTY2VuZTpzZWxm
LndpbmRvdy53aW5kb3dTY2VuZV07Cit9CisKIC0gKFJldGFpblB0cjxVSVZpZXc+KV9jcmVhdGVQ
cmV2aWV3Q29udGFpbmVyV2l0aExheWVyTmFtZTooTlNTdHJpbmcgKilsYXllck5hbWUKIHsKKyAg
ICBpZiAoIV90YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcpIHsKKyAgICAgICAgX3Rh
cmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldyA9IGFkb3B0TlMoW1tVSVZpZXcgYWxsb2Nd
IGluaXRdKTsKKyAgICAgICAgW190YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgbGF5
ZXJdLm5hbWUgPSBAIlByZXZpZXcgVmlld3MgQ29udGFpbmVyIjsKKyAgICAgICAgW190YXJnZXRl
ZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgbGF5ZXJdLmFuY2hvclBvaW50ID0gQ0dQb2ludFpl
cm87CisgICAgICAgIFtzZWxmIF91cGRhdGVUYXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZp
ZXdGcmFtZUlmTmVlZGVkXTsKKyAgICAgICAgW3NlbGYudGV4dEVmZmVjdHNXaW5kb3cgYWRkU3Vi
dmlldzpfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3LmdldCgpXTsKKyAgICB9CisK
ICAgICBhdXRvIGNvbnRhaW5lciA9IGFkb3B0TlMoW1tVSVZpZXcgYWxsb2NdIGluaXRdKTsKICAg
ICBbY29udGFpbmVyIGxheWVyXS5hbmNob3JQb2ludCA9IENHUG9pbnRaZXJvOwogICAgIFtjb250
YWluZXIgbGF5ZXJdLm5hbWUgPSBsYXllck5hbWU7Ci0gICAgW19pbnRlcmFjdGlvblZpZXdzQ29u
dGFpbmVyVmlldyBhZGRTdWJ2aWV3OmNvbnRhaW5lci5nZXQoKV07CisgICAgW190YXJnZXRlZFBy
ZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgYWRkU3Vidmlldzpjb250YWluZXIuZ2V0KCldOwogICAg
IHJldHVybiBjb250YWluZXI7CiB9CiAKQEAgLTc1NjQsNiArNzU3OSw4IEBAIC0gKFVJVmlldyAq
KWNvbnRhaW5lckZvckRyb3BQcmV2aWV3cwogICAgIGlmICghX2Ryb3BQcmV2aWV3Q29udGFpbmVy
VmlldykKICAgICAgICAgX2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldyA9IFtzZWxmIF9jcmVhdGVQ
cmV2aWV3Q29udGFpbmVyV2l0aExheWVyTmFtZTpAIkRyb3AgUHJldmlldyBDb250YWluZXIiXTsK
IAorICAgIFtfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107
CisKICAgICBBU1NFUlQoW19kcm9wUHJldmlld0NvbnRhaW5lclZpZXcgc3VwZXJ2aWV3XSk7CiAg
ICAgW19kcm9wUHJldmlld0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOk5PXTsKICAgICByZXR1cm4g
X2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldy5nZXQoKTsKQEAgLTc1NzQsNiArNzU5MSw4IEBAIC0g
KFVJVmlldyAqKWNvbnRhaW5lckZvckRyYWdQcmV2aWV3cwogICAgIGlmICghX2RyYWdQcmV2aWV3
Q29udGFpbmVyVmlldykKICAgICAgICAgX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldyA9IFtzZWxm
IF9jcmVhdGVQcmV2aWV3Q29udGFpbmVyV2l0aExheWVyTmFtZTpAIkRyYWcgUHJldmlldyBDb250
YWluZXIiXTsKIAorICAgIFtfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IHNldEhp
ZGRlbjpOT107CisKICAgICBBU1NFUlQoW19kcmFnUHJldmlld0NvbnRhaW5lclZpZXcgc3VwZXJ2
aWV3XSk7CiAgICAgW19kcmFnUHJldmlld0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOk5PXTsKICAg
ICByZXR1cm4gX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldy5nZXQoKTsKQEAgLTc1ODQsNiArNzYw
Myw4IEBAIC0gKFVJVmlldyAqKWNvbnRhaW5lckZvckNvbnRleHRNZW51SGludFByZXZpZXdzCiAg
ICAgaWYgKCFfY29udGV4dE1lbnVIaW50Q29udGFpbmVyVmlldykKICAgICAgICAgX2NvbnRleHRN
ZW51SGludENvbnRhaW5lclZpZXcgPSBbc2VsZiBfY3JlYXRlUHJldmlld0NvbnRhaW5lcldpdGhM
YXllck5hbWU6QCJDb250ZXh0IE1lbnUgSGludCBQcmV2aWV3IENvbnRhaW5lciJdOwogCisgICAg
W190YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOk5PXTsKKwogICAg
IEFTU0VSVChbX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXcgc3VwZXJ2aWV3XSk7CiAgICAg
W19jb250ZXh0TWVudUhpbnRDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107CiAgICAgcmV0dXJu
IF9jb250ZXh0TWVudUhpbnRDb250YWluZXJWaWV3LmdldCgpOwpAQCAtNzU5MSwxMSArNzYxMiw0
NyBAQCAtIChVSVZpZXcgKiljb250YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2aWV3cwogCiAt
ICh2b2lkKV9oaWRlVGFyZ2V0ZWRQcmV2aWV3Q29udGFpbmVyVmlld3MKIHsKKyAgICBbX3Rhcmdl
dGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldyBzZXRIaWRkZW46WUVTXTsKICAgICBbX2Ryb3BQ
cmV2aWV3Q29udGFpbmVyVmlldyBzZXRIaWRkZW46WUVTXTsKICAgICBbX2RyYWdQcmV2aWV3Q29u
dGFpbmVyVmlldyBzZXRIaWRkZW46WUVTXTsKICAgICBbX2NvbnRleHRNZW51SGludENvbnRhaW5l
clZpZXcgc2V0SGlkZGVuOllFU107CiB9CiAKKy0gKHZvaWQpX3VwZGF0ZVRhcmdldGVkUHJldmll
d1ZpZXdzQ29udGFpbmVyVmlld0ZyYW1lSWZOZWVkZWQKK3sKKyAgICBpZiAoIV90YXJnZXRlZFBy
ZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgfHwgW190YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5l
clZpZXcgaXNIaWRkZW5dKQorICAgICAgICByZXR1cm47CisKKyAgICBVSVNjcm9sbFZpZXcgKnNj
cm9sbFZpZXcgPSBfc2Nyb2xsVmlld0ZvclRhcmdldGVkUHJldmlldyA/IF9zY3JvbGxWaWV3Rm9y
VGFyZ2V0ZWRQcmV2aWV3LmdldCgpIDogc2VsZi5fc2Nyb2xsZXI7CisKKyAgICBDR1JlY3QgZnJh
bWUgPSBbX3RhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldyBmcmFtZV07CisgICAgZnJh
bWUub3JpZ2luID0gW3Njcm9sbFZpZXcgY29udmVydFBvaW50OkNHUG9pbnRaZXJvIHRvVmlldzpb
X3RhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldyBzdXBlcnZpZXddXTsKKyAgICBbX3Rh
cmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldyBzZXRGcmFtZTpmcmFtZV07Cit9CisKKy0g
KHZvaWQpX3JlbW92ZVRhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlld0lmUG9zc2libGUK
K3sKKyAgICBpZiAoW190YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgc3Vidmlld3Nd
LmNvdW50KQorICAgICAgICByZXR1cm47CisKKyAgICBbc3RkOjpleGNoYW5nZShfdGFyZ2V0ZWRQ
cmV2aWV3Vmlld3NDb250YWluZXJWaWV3LCBuaWwpIHJlbW92ZUZyb21TdXBlcnZpZXddOworICAg
IF9zY3JvbGxWaWV3Rm9yVGFyZ2V0ZWRQcmV2aWV3ID0gbmlsOworfQorCistICh2b2lkKV91cGRh
dGVUYXJnZXRlZFByZXZpZXdTY3JvbGxWaWV3VXNpbmdDb250YWluZXJTY3JvbGxpbmdOb2RlSUQ6
KFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRClzY3JvbGxpbmdOb2RlSUQKK3sKKyAgICBpZiAoc2Ny
b2xsaW5nTm9kZUlEKSB7CisgICAgICAgIGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9
IF9wYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCkpIHsKKyAgICAgICAgICAgIGlmIChV
SVNjcm9sbFZpZXcgKnNjcm9sbFZpZXdGb3JTY3JvbGxpbmdOb2RlID0gc2Nyb2xsaW5nQ29vcmRp
bmF0b3ItPnNjcm9sbFZpZXdGb3JTY3JvbGxpbmdOb2RlSUQoc2Nyb2xsaW5nTm9kZUlEKSkgewor
ICAgICAgICAgICAgICAgIF9zY3JvbGxWaWV3Rm9yVGFyZ2V0ZWRQcmV2aWV3ID0gc2Nyb2xsVmll
d0ZvclNjcm9sbGluZ05vZGU7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorCisgICAgX3Njcm9sbFZpZXdGb3JUYXJnZXRlZFByZXZpZXcg
PSBzZWxmLndlYlZpZXcuc2Nyb2xsVmlldzsKK30KKwogI3ByYWdtYSBtYXJrIC0gV0tEZWZlcnJp
bmdHZXN0dXJlUmVjb2duaXplckRlbGVnYXRlCiAKIC0gKFdlYktpdDo6U2hvdWxkRGVmZXJHZXN0
dXJlcylkZWZlcnJpbmdHZXN0dXJlUmVjb2duaXplcjooV0tEZWZlcnJpbmdHZXN0dXJlUmVjb2du
aXplciAqKWRlZmVycmluZ0dlc3R1cmVSZWNvZ25pemVyIHdpbGxCZWdpblRvdWNoZXNXaXRoRXZl
bnQ6KFVJRXZlbnQgKilldmVudApAQCAtNzkxOCw2ICs3OTc1LDcgQEAgLSAodm9pZCljbGVhblVw
RHJhZ1NvdXJjZVNlc3Npb25TdGF0ZQogICAgIFtzZWxmIF9yZXN0b3JlQ2FsbG91dEJhcklmTmVl
ZGVkXTsKIAogICAgIFtzdGQ6OmV4Y2hhbmdlKF9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcsIG5p
bCkgcmVtb3ZlRnJvbVN1cGVydmlld107CisgICAgW3NlbGYgX3JlbW92ZVRhcmdldGVkUHJldmll
d1ZpZXdzQ29udGFpbmVyVmlld0lmUG9zc2libGVdOwogICAgIFtzdGQ6OmV4Y2hhbmdlKF92aXNp
YmxlQ29udGVudFZpZXdTbmFwc2hvdCwgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKICAgICBb
X2VkaXREcm9wQ2FyZXRWaWV3IHJlbW92ZV07CiAgICAgX2VkaXREcm9wQ2FyZXRWaWV3ID0gbmls
OwpAQCAtODE3MSwxMSArODIyOSw2IEBAIC0gKHZvaWQpY2FuY2VsQWN0aXZlVGV4dEludGVyYWN0
aW9uR2VzdHVyZXMKICAgICBbW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgZm9yY2VQcmVzc0dl
c3R1cmVdIF93a19jYW5jZWxdOwogfQogCi0tIChVSVZpZXcgKil0ZXh0RWZmZWN0c1dpbmRvdwot
ewotICAgIHJldHVybiBbVUlUZXh0RWZmZWN0c1dpbmRvdyBzaGFyZWRUZXh0RWZmZWN0c1dpbmRv
d0ZvcldpbmRvd1NjZW5lOnNlbGYud2luZG93LndpbmRvd1NjZW5lXTsKLX0KLQogLSAoTlNEaWN0
aW9uYXJ5ICopX2F1dG9maWxsQ29udGV4dAogewogICAgIGlmICghc2VsZi5faGFzRm9jdXNlZEVs
ZW1lbnQpCkBAIC04MjcxLDI0ICs4MzI0LDExIEBAIHN0YXRpYyBSZXRhaW5QdHI8VUlUYXJnZXRl
ZFByZXZpZXc+IGNyZWF0ZUZhbGxiYWNrVGFyZ2V0ZWRQcmV2aWV3KFVJVmlldyAqcm9vdFZpCiAg
ICAgcmV0dXJuIGFkb3B0TlMoW1tVSVRhcmdldGVkUHJldmlldyBhbGxvY10gaW5pdFdpdGhWaWV3
OnNuYXBzaG90VmlldyBwYXJhbWV0ZXJzOnBhcmFtZXRlcnMuZ2V0KCkgdGFyZ2V0OnRhcmdldC5n
ZXQoKV0pOwogfQogCi0tICh2b2lkKW92ZXJyaWRlUG9zaXRpb25UcmFja2luZ1ZpZXdGb3JUYXJn
ZXRlZFByZXZpZXdJZk5lY2Vzc2FyeTooVUlUYXJnZXRlZFByZXZpZXcgKil0YXJnZXRlZFByZXZp
ZXcgY29udGFpbmVyU2Nyb2xsaW5nTm9kZUlEOihXZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQpc2Ny
b2xsaW5nTm9kZUlECi17Ci0gICAgaWYgKCFzY3JvbGxpbmdOb2RlSUQpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIFVJU2Nyb2xsVmlldyAqcG9zaXRpb25UcmFja2luZ1ZpZXcgPSBzZWxmLndlYlZp
ZXcuc2Nyb2xsVmlldzsKLSAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBfcGFn
ZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eSgpKQotICAgICAgICBwb3NpdGlvblRyYWNraW5n
VmlldyA9IHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zY3JvbGxWaWV3Rm9yU2Nyb2xsaW5nTm9kZUlE
KHNjcm9sbGluZ05vZGVJRCk7Ci0KLSAgICBpZiAoW3RhcmdldGVkUHJldmlldyByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKF9zZXRPdmVycmlkZVBvc2l0aW9uVHJhY2tpbmdWaWV3OildKQot
ICAgICAgICBbdGFyZ2V0ZWRQcmV2aWV3IF9zZXRPdmVycmlkZVBvc2l0aW9uVHJhY2tpbmdWaWV3
OnBvc2l0aW9uVHJhY2tpbmdWaWV3XTsKLX0KLQogLSAoVUlUYXJnZXRlZFByZXZpZXcgKilfY3Jl
YXRlVGFyZ2V0ZWRDb250ZXh0TWVudUhpbnRQcmV2aWV3Rm9yRm9jdXNlZEVsZW1lbnQKIHsKICAg
ICBSZXRhaW5QdHI8VUlUYXJnZXRlZFByZXZpZXc+IHRhcmdldGVkUHJldmlldyA9IGNyZWF0ZUZh
bGxiYWNrVGFyZ2V0ZWRQcmV2aWV3KHNlbGYsIHNlbGYuY29udGFpbmVyRm9yQ29udGV4dE1lbnVI
aW50UHJldmlld3MsIF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmludGVyYWN0aW9uUmVjdCk7
CiAKLSAgICBbc2VsZiBvdmVycmlkZVBvc2l0aW9uVHJhY2tpbmdWaWV3Rm9yVGFyZ2V0ZWRQcmV2
aWV3SWZOZWNlc3Nhcnk6dGFyZ2V0ZWRQcmV2aWV3LmdldCgpIGNvbnRhaW5lclNjcm9sbGluZ05v
ZGVJRDpfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5jb250YWluZXJTY3JvbGxpbmdOb2RlSURd
OworICAgIFtzZWxmIF91cGRhdGVUYXJnZXRlZFByZXZpZXdTY3JvbGxWaWV3VXNpbmdDb250YWlu
ZXJTY3JvbGxpbmdOb2RlSUQ6X2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uY29udGFpbmVyU2Ny
b2xsaW5nTm9kZUlEXTsKIAogICAgIF9jb250ZXh0TWVudUludGVyYWN0aW9uVGFyZ2V0ZWRQcmV2
aWV3ID0gV1RGTW92ZSh0YXJnZXRlZFByZXZpZXcpOwogICAgIHJldHVybiBfY29udGV4dE1lbnVJ
bnRlcmFjdGlvblRhcmdldGVkUHJldmlldy5nZXQoKTsKQEAgLTgzMTEsNyArODM1MSw3IEBAIC0g
KFVJVGFyZ2V0ZWRQcmV2aWV3ICopX2NyZWF0ZVRhcmdldGVkQ29udGV4dE1lbnVIaW50UHJldmll
d0lmUG9zc2libGUKICAgICBpZiAoIXRhcmdldGVkUHJldmlldykKICAgICAgICAgdGFyZ2V0ZWRQ
cmV2aWV3ID0gY3JlYXRlRmFsbGJhY2tUYXJnZXRlZFByZXZpZXcoc2VsZiwgc2VsZi5jb250YWlu
ZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2aWV3cywgX3Bvc2l0aW9uSW5mb3JtYXRpb24uYm91bmRz
KTsKIAotICAgIFtzZWxmIG92ZXJyaWRlUG9zaXRpb25UcmFja2luZ1ZpZXdGb3JUYXJnZXRlZFBy
ZXZpZXdJZk5lY2Vzc2FyeTp0YXJnZXRlZFByZXZpZXcuZ2V0KCkgY29udGFpbmVyU2Nyb2xsaW5n
Tm9kZUlEOl9wb3NpdGlvbkluZm9ybWF0aW9uLmNvbnRhaW5lclNjcm9sbGluZ05vZGVJRF07Cisg
ICAgW3NlbGYgX3VwZGF0ZVRhcmdldGVkUHJldmlld1Njcm9sbFZpZXdVc2luZ0NvbnRhaW5lclNj
cm9sbGluZ05vZGVJRDpfcG9zaXRpb25JbmZvcm1hdGlvbi5jb250YWluZXJTY3JvbGxpbmdOb2Rl
SURdOwogCiAgICAgX2NvbnRleHRNZW51SW50ZXJhY3Rpb25UYXJnZXRlZFByZXZpZXcgPSBXVEZN
b3ZlKHRhcmdldGVkUHJldmlldyk7CiAgICAgcmV0dXJuIF9jb250ZXh0TWVudUludGVyYWN0aW9u
VGFyZ2V0ZWRQcmV2aWV3LmdldCgpOwpAQCAtODM0Miw2ICs4MzgyLDcgQEAgLSAodm9pZClfcmVt
b3ZlQ29udGV4dE1lbnVWaWV3SWZQb3NzaWJsZQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAg
W3N0ZDo6ZXhjaGFuZ2UoX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3Zl
RnJvbVN1cGVydmlld107CisgICAgW3NlbGYgX3JlbW92ZVRhcmdldGVkUHJldmlld1ZpZXdzQ29u
dGFpbmVyVmlld0lmUG9zc2libGVdOwogfQogCiAjZW5kaWYgLy8gVVNFKFVJQ09OVEVYVE1FTlUp
CkBAIC04ODM3LDYgKzg4NzgsNyBAQCAtICh2b2lkKWRyb3BJbnRlcmFjdGlvbjooVUlEcm9wSW50
ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBpdGVtOihVSURyYWdJdGVtICopaXRlbQogLSAodm9pZClk
cm9wSW50ZXJhY3Rpb246KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gY29uY2x1ZGVE
cm9wOihpZCA8VUlEcm9wU2Vzc2lvbj4pc2Vzc2lvbgogewogICAgIFtzdGQ6OmV4Y2hhbmdlKF9k
cm9wUHJldmlld0NvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107CisgICAg
W3NlbGYgX3JlbW92ZVRhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlld0lmUG9zc2libGVd
OwogICAgIFtzdGQ6OmV4Y2hhbmdlKF92aXNpYmxlQ29udGVudFZpZXdTbmFwc2hvdCwgbmlsKSBy
ZW1vdmVGcm9tU3VwZXJ2aWV3XTsKICAgICBbc3RkOjpleGNoYW5nZShfdW5zZWxlY3RlZENvbnRl
bnRTbmFwc2hvdCwgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKICAgICBfZHJhZ0Ryb3BJbnRl
cmFjdGlvblN0YXRlLmNsZWFyQWxsRGVsYXllZEl0ZW1QcmV2aWV3UHJvdmlkZXJzKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425215</attachid>
            <date>2021-04-05 15:39:57 -0700</date>
            <delta_ts>2021-04-06 13:59:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224204-20210405163956.patch</filename>
            <type>text/plain</type>
            <size>17365</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNmZmYTEyM2JhZDc5YmMyNzFiYTYxMDE1ZDIwMjE0ZTY5MzExYTkxZi4uZGYx
Yzk0MTlmMTNmY2UxZjY4MGNmNjJkZWYyN2ViY2NiMGMwZWEwOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw0NiBAQAorMjAyMS0wNC0wNSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU10gY29udGV4dG1lbnUgaGludHMgY2FuIGJlIGNsaXBwZWQgYnkgdGhlIFdL
V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0MjA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTUwNDYyMD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RpZFNjcm9sbF0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHRleHRFZmZlY3RzV2luZG93XSk6CisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgX2NyZWF0ZVByZXZpZXdDb250YWluZXJXaXRoTGF5ZXJOYW1lOl0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNvbnRhaW5lckZvckRyb3BQcmV2aWV3c10pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNvbnRhaW5lckZvckRyYWdQcmV2aWV3c10pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IGNvbnRhaW5lckZvckNvbnRleHRNZW51SGludFByZXZpZXdz
XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2hpZGVUYXJnZXRlZFByZXZpZXdDb250YWlu
ZXJWaWV3c10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVUYXJnZXRlZFByZXZp
ZXdWaWV3c0NvbnRhaW5lclZpZXdGcmFtZUlmTmVlZGVkXSk6IEFkZGVkLgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IF9yZW1vdmVUYXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdJZlBv
c3NpYmxlXSk6IEFkZGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVUYXJnZXRl
ZFByZXZpZXdTY3JvbGxWaWV3VXNpbmdDb250YWluZXJTY3JvbGxpbmdOb2RlSUQ6XSk6IEFkZGVk
LgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNsZWFuVXBEcmFnU291cmNlU2Vzc2lvblN0YXRl
XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2NyZWF0ZVRhcmdldGVkQ29udGV4dE1lbnVI
aW50UHJldmlld0ZvckZvY3VzZWRFbGVtZW50XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
X2NyZWF0ZVRhcmdldGVkQ29udGV4dE1lbnVIaW50UHJldmlld0lmUG9zc2libGVdKToKKyAgICAg
ICAgKC1bV0tDb250ZW50VmlldyBfcmVtb3ZlQ29udGV4dE1lbnVWaWV3SWZQb3NzaWJsZV0pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRyb3BJbnRlcmFjdGlvbjpjb25jbHVkZURyb3A6XSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgb3ZlcnJpZGVQb3NpdGlvblRyYWNraW5nVmlld0Zv
clRhcmdldGVkUHJldmlld0lmTmVjZXNzYXJ5OmNvbnRhaW5lclNjcm9sbGluZ05vZGVJRDpdKTog
RGVsZXRlZC4KKyAgICAgICAgSW5zdGVhZCBvZiBhdHRhY2hpbmcgdGhlIGNvbnRleHRtZW51IGhp
bnQgY29udGFpbmVyIChgX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXdgKSB0bworICAgICAg
ICB0aGUgYFdLV2ViVmlld2AgKHZpYSB0aGUgYF9pbnRlcmFjdGlvblZpZXdzQ29udGFpbmVyVmll
d2ApLCBhdHRhY2ggaXQgdG8gYSBuZXcgY29udGFpbmVyCisgICAgICAgIChgX3RhcmdldGVkUHJl
dmlld1ZpZXdzQ29udGFpbmVyVmlld2ApIHVuZGVyIHRoZSBgVUlUZXh0RWZmZWN0c1dpbmRvd2Ag
c28gdGhhdCBpZiB0aGUKKyAgICAgICAgY29udGV4dG1lbnUgdGFyZ2V0IGlzIG5lYXIgdGhlIGVk
Z2Ugb2YgdGhlIGBXS1dlYlZpZXdgIHRoZW4gdGhlIHNoYWRvdyBvZiB0aGUgY29udGV4dG1lbnUK
KyAgICAgICAgaGludCB3aWxsIG5vdCBiZSBjbGlwcGVkIGJ5IHRoZSBgV0tXZWJWaWV3YC4gV2hl
bmV2ZXIgYW55IHZpZXcgaXMgc2Nyb2xsZWQsIGFkanVzdCB0aGUKKyAgICAgICAgYGZyYW1lYCBv
ZiB0aGUgYF90YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdgIHNvIHRoYXQgdGhlIGNv
bnRleHRtZW51IGhpbnQgbW92ZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJU
cmVlL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpzY3JvbGxWaWV3Rm9yU2Ny
b2xsaW5nTm9kZUlEIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZVJlbW90ZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6U2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZVJlbW90ZUlPUzo6c2Nyb2xsVmlldyBjb25zdCk6IEFkZGVkLgorICAgICAg
ICBgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPU2AgYWxzbyBoYXMgYSBj
b3JyZXNwb25kaW5nIGBVSVNjcm9sbFZpZXdgLgorCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lv
cy9VSUtpdFNQSS5oOgorICAgICAgICBSZW1vdmUgbm8gbG9uZ2VyIG5lZWRlZCBTUEkgbm93IHRo
YXQgV2ViS2l0IG1hbmFnZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBjb250ZXh0bWVudSBoaW50Lgor
CiAyMDIxLTA0LTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
TWFrZSBzdXJlIHdlIGFyZSBubyBsb25nZXIgc2hvdyB0aGUgcHJldmlvdXMgcGFnZSB3aGVuIHJ1
bm5pbmcgYSBKUyBwcm9tcHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3Bp
L2lvcy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJ
LmgKaW5kZXggODk5NjdlZGZkNDZjMTE3ODI5NzQ4NTY3Y2NjOWVkMzJkNTVjNWQ5OS4uM2MyNjAy
MTUwZWY1ZjM0MGY0OWZkMThhODdkNWY0OGMyOTljOGZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTEyMTcsMTAgKzEyMTcsNiBAQCB0eXBlZGVmIE5T
X0VOVU0oTlNVSW50ZWdlciwgX1VJQ29udGV4dE1lbnVMYXlvdXQpIHsKIEBlbmQKIAogI2lmIFVT
RShVSUNPTlRFWFRNRU5VKQotQGludGVyZmFjZSBVSVRhcmdldGVkUHJldmlldyAoKQotQHByb3Bl
cnR5IChub25hdG9taWMsIHN0cm9uZywgc2V0dGVyPV9zZXRPdmVycmlkZVBvc2l0aW9uVHJhY2tp
bmdWaWV3OikgVUlWaWV3ICpvdmVycmlkZVBvc2l0aW9uVHJhY2tpbmdWaWV3OwotQGVuZAotCiBA
aW50ZXJmYWNlIFVJQ29udGV4dE1lbnVJbnRlcmFjdGlvbiAoKQogQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5KSBVSUdlc3R1cmVSZWNvZ25pemVyICpnZXN0dXJlUmVjb2duaXplckZvckZh
aWx1cmVSZWxhdGlvbnNoaXBzOwogLSAodm9pZClfcHJlc2VudE1lbnVBdExvY2F0aW9uOihDR1Bv
aW50KWxvY2F0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3Rl
TGF5ZXJUcmVlL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9TLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVTY3JvbGxpbmdD
b29yZGluYXRvclByb3h5SU9TLm1tCmluZGV4IDExNjc1ZjMyNDViYTExYWMzOThmZGJhMmZjZTM2
M2JhYmYwYWE0NTQuLjNhYmEzMGQ1N2VjZjg1M2MwNzlmOWM5YmIzOTAzZTg2ZjFmMjQ0N2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvUmVt
b3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJv
eHlJT1MubW0KQEAgLTMxLDYgKzMxLDcgQEAKIAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlSG9z
dC5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlTm9kZS5oIgorI2ltcG9ydCAiU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5oIgogI2ltcG9ydCAiU2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAj
aW1wb3J0IDxVSUtpdC9VSVZpZXcuaD4KQEAgLTU2LDEyICs1NywyMiBAQCB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIFVJU2Nyb2xsVmlldyAqUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94
eTo6c2Nyb2xsVmlld0ZvclNjcm9sbGluZ05vZGVJRChTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKSBj
b25zdAogewogICAgIGF1dG8qIHRyZWVOb2RlID0gbV9zY3JvbGxpbmdUcmVlLT5ub2RlRm9ySUQo
bm9kZUlEKTsKLSAgICBpZiAoIWlzPFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU+
KHRyZWVOb2RlKSkKLSAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIGF1dG8qIHNjcm9sbGluZ05v
ZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPih0cmVlTm9k
ZSk7Ci0gICAgLy8gQWxsIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVzIGFyZSBT
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TIG9uIGlPUy4KLSAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUyo+KHNjcm9s
bGluZ05vZGUpLT5zY3JvbGxWaWV3KCk7CisgICAgaWYgKGlzPFNjcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbGluZ05vZGU+KHRyZWVOb2RlKSkgeworICAgICAgICBhdXRvKiBvdmVyZmxvd1Njcm9s
bGluZ05vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPih0
cmVlTm9kZSk7CisKKyAgICAgICAgLy8gQWxsIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGlu
Z05vZGVzIGFyZSBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TIG9uIGlPUy4K
KyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGlu
Z05vZGVJT1MqPihvdmVyZmxvd1Njcm9sbGluZ05vZGUpLT5zY3JvbGxWaWV3KCk7CisgICAgfQor
CisgICAgaWYgKGlzPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU+KHRyZWVOb2RlKSkg
eworICAgICAgICBhdXRvKiBmcmFtZVNjcm9sbGluZ05vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlPih0cmVlTm9kZSk7CisKKyAgICAgICAgLy8gQWxsIFNjcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVzIGFyZSBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlUmVtb3RlSU9TIG9uIGlPUy4KKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNjcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MqPihmcmFtZVNjcm9sbGluZ05vZGUp
LT5zY3JvbGxWaWV3KCk7CisgICAgfQorCisgICAgcmV0dXJuIG5pbDsKIH0KIAogdm9pZCBSZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5Ojpjb25uZWN0U3RhdGVOb2RlTGF5ZXJzKFNjcm9s
bGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBjb25zdCBSZW1vdGVMYXllclRyZWVIb3N0JiBsYXll
clRyZWVIb3N0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MuaAppbmRleCA1NWMwYWE0OTkyYzM4MTJjNTNlMDM1
MTRiZWY5ZmUzNmE5YjA2MTg1Li4wNjZjOTU5YzNhNzhjZWNlMzZhNzViMDcwMzhkMDgwMDQ1OTcx
NjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUv
aW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MuaApAQCAtMzgsNiArMzgsOCBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TPiBjcmVh
dGUoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZSYsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVUeXBlLCBX
ZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQpOwogICAgIHZpcnR1YWwgflNjcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MoKTsKIAorICAgIFVJU2Nyb2xsVmlldyAqc2Nyb2xsVmll
dygpIGNvbnN0OworCiBwcml2YXRlOgogICAgIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVSZW1vdGVJT1MoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZSYsIFdlYkNvcmU6OlNjcm9sbGluZ05v
ZGVUeXBlLCBXZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVSZW1vdGVJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVM
YXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MubW0K
aW5kZXggZTU1M2E5NDA0YjEyNzgxODhkNjZkOWM2ZGZiYWIxMWE2NTBlNjhkNi4uMGE1N2FmYTJj
MDZjZDA4NjFlMDBiODJkZWZkMTg5YWRlMmQ1NWYxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlUmVtb3RlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5tbQpA
QCAtNTEsNiArNTEsMTEgQEAgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlP
Uzo6flNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGUKIHsKIH0KIAorVUlTY3Jv
bGxWaWV3ICpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TOjpzY3JvbGxW
aWV3KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxpbmdOb2RlRGVsZWdhdGUgPyBtX3Nj
cm9sbGluZ05vZGVEZWxlZ2F0ZS0+c2Nyb2xsVmlldygpIDogbmlsOworfQorCiB2b2lkIFNjcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1M6OmNvbW1pdFN0YXRlQmVmb3JlQ2hp
bGRyZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJiBzdGF0ZU5vZGUpCiB7CiAgICAgU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Y29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihzdGF0
ZU5vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4IDE2MTM1MzU5ZDJlNjlhMGM2MjQ3ZjMwMGVhODJmN2Nl
MzkzOTc4YzUuLjEwMmI5NzU5Nzg4ZTA5MDNmZjcyNDUyOGMwMWIzZTBmMzBiODQ2ODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLmgKQEAgLTI5OCw2ICsyOTgsOCBAQCBlbnVtIGNsYXNzIFByb2NlZWRXaXRoSW1hZ2VF
eHRyYWN0aW9uIDogYm9vbCB7CiAgICAgUmV0YWluUHRyPFVJV2ViRm9ybUFjY2Vzc29yeT4gX2Zv
cm1BY2Nlc3NvcnlWaWV3OwogICAgIFJldGFpblB0cjxfVUlIaWdobGlnaHRWaWV3PiBfaGlnaGxp
Z2h0VmlldzsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBfaW50ZXJhY3Rpb25WaWV3c0NvbnRhaW5l
clZpZXc7CisgICAgUmV0YWluUHRyPFVJVmlldz4gX3RhcmdldGVkUHJldmlld1ZpZXdzQ29udGFp
bmVyVmlldzsKKyAgICBSZXRhaW5QdHI8VUlTY3JvbGxWaWV3PiBfc2Nyb2xsVmlld0ZvclRhcmdl
dGVkUHJldmlldzsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBfY29udGV4dE1lbnVIaW50Q29udGFp
bmVyVmlldzsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBfZHJhZ1ByZXZpZXdDb250YWluZXJWaWV3
OwogICAgIFJldGFpblB0cjxVSVZpZXc+IF9kcm9wUHJldmlld0NvbnRhaW5lclZpZXc7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbQppbmRleCA2NGJlN2Y5YjZkYjdkNzU4MGQyYTcxOGJhOTVjYmYzNzU5MjBjOWJkLi4x
ZTFhYmY5MjAzNTg1M2EyNzg3ZmYxNTc5NTg1ZTc4ZTU4ZDVjOGQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0K
QEAgLTIwMjIsNiArMjAyMiw4IEBAIC0gKHZvaWQpX2NhbmNlbFRvdWNoRXZlbnRHZXN0dXJlUmVj
b2duaXplcgogCiAtICh2b2lkKV9kaWRTY3JvbGwKIHsKKyAgICBbc2VsZiBfdXBkYXRlVGFyZ2V0
ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3RnJhbWVJZk5lZWRlZF07CisKICAgICBbc2VsZiBf
Y2FuY2VsTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXJdOwogICAgIFtzZWxmIF9jYW5jZWxJbnRl
cmFjdGlvbl07CiB9CkBAIC03NTUwLDEyICs3NTUyLDI1IEBAIC0gKFdlYkNvcmU6OkRhdGFPd25l
clR5cGUpX2RhdGFPd25lckZvclBhc3RlYm9hcmQ6KFdlYktpdDo6UGFzdGVib2FyZEFjY2Vzc0lu
dGVuCiAKICNlbmRpZiAvLyBIQVZFKFBBU1RFQk9BUkRfREFUQV9PV05FUikKIAorLSAoVUlWaWV3
ICopdGV4dEVmZmVjdHNXaW5kb3cKK3sKKyAgICByZXR1cm4gW1VJVGV4dEVmZmVjdHNXaW5kb3cg
c2hhcmVkVGV4dEVmZmVjdHNXaW5kb3dGb3JXaW5kb3dTY2VuZTpzZWxmLndpbmRvdy53aW5kb3dT
Y2VuZV07Cit9CisKIC0gKFJldGFpblB0cjxVSVZpZXc+KV9jcmVhdGVQcmV2aWV3Q29udGFpbmVy
V2l0aExheWVyTmFtZTooTlNTdHJpbmcgKilsYXllck5hbWUKIHsKKyAgICBpZiAoIV90YXJnZXRl
ZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcpIHsKKyAgICAgICAgX3RhcmdldGVkUHJldmlld1Zp
ZXdzQ29udGFpbmVyVmlldyA9IGFkb3B0TlMoW1tVSVZpZXcgYWxsb2NdIGluaXRdKTsKKyAgICAg
ICAgW190YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgbGF5ZXJdLm5hbWUgPSBAIlBy
ZXZpZXcgVmlld3MgQ29udGFpbmVyIjsKKyAgICAgICAgW190YXJnZXRlZFByZXZpZXdWaWV3c0Nv
bnRhaW5lclZpZXcgbGF5ZXJdLmFuY2hvclBvaW50ID0gQ0dQb2ludFplcm87CisgICAgICAgIFtz
ZWxmIF91cGRhdGVUYXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdGcmFtZUlmTmVlZGVk
XTsKKyAgICAgICAgW3NlbGYudGV4dEVmZmVjdHNXaW5kb3cgYWRkU3VidmlldzpfdGFyZ2V0ZWRQ
cmV2aWV3Vmlld3NDb250YWluZXJWaWV3LmdldCgpXTsKKyAgICB9CisKICAgICBhdXRvIGNvbnRh
aW5lciA9IGFkb3B0TlMoW1tVSVZpZXcgYWxsb2NdIGluaXRdKTsKICAgICBbY29udGFpbmVyIGxh
eWVyXS5hbmNob3JQb2ludCA9IENHUG9pbnRaZXJvOwogICAgIFtjb250YWluZXIgbGF5ZXJdLm5h
bWUgPSBsYXllck5hbWU7Ci0gICAgW19pbnRlcmFjdGlvblZpZXdzQ29udGFpbmVyVmlldyBhZGRT
dWJ2aWV3OmNvbnRhaW5lci5nZXQoKV07CisgICAgW190YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRh
aW5lclZpZXcgYWRkU3Vidmlldzpjb250YWluZXIuZ2V0KCldOwogICAgIHJldHVybiBjb250YWlu
ZXI7CiB9CiAKQEAgLTc1NjQsNiArNzU3OSw4IEBAIC0gKFVJVmlldyAqKWNvbnRhaW5lckZvckRy
b3BQcmV2aWV3cwogICAgIGlmICghX2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldykKICAgICAgICAg
X2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldyA9IFtzZWxmIF9jcmVhdGVQcmV2aWV3Q29udGFpbmVy
V2l0aExheWVyTmFtZTpAIkRyb3AgUHJldmlldyBDb250YWluZXIiXTsKIAorICAgIFtfdGFyZ2V0
ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107CisKICAgICBBU1NFUlQo
W19kcm9wUHJldmlld0NvbnRhaW5lclZpZXcgc3VwZXJ2aWV3XSk7CiAgICAgW19kcm9wUHJldmll
d0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOk5PXTsKICAgICByZXR1cm4gX2Ryb3BQcmV2aWV3Q29u
dGFpbmVyVmlldy5nZXQoKTsKQEAgLTc1NzQsNiArNzU5MSw4IEBAIC0gKFVJVmlldyAqKWNvbnRh
aW5lckZvckRyYWdQcmV2aWV3cwogICAgIGlmICghX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldykK
ICAgICAgICAgX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldyA9IFtzZWxmIF9jcmVhdGVQcmV2aWV3
Q29udGFpbmVyV2l0aExheWVyTmFtZTpAIkRyYWcgUHJldmlldyBDb250YWluZXIiXTsKIAorICAg
IFtfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107CisKICAg
ICBBU1NFUlQoW19kcmFnUHJldmlld0NvbnRhaW5lclZpZXcgc3VwZXJ2aWV3XSk7CiAgICAgW19k
cmFnUHJldmlld0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOk5PXTsKICAgICByZXR1cm4gX2RyYWdQ
cmV2aWV3Q29udGFpbmVyVmlldy5nZXQoKTsKQEAgLTc1ODQsNiArNzYwMyw4IEBAIC0gKFVJVmll
dyAqKWNvbnRhaW5lckZvckNvbnRleHRNZW51SGludFByZXZpZXdzCiAgICAgaWYgKCFfY29udGV4
dE1lbnVIaW50Q29udGFpbmVyVmlldykKICAgICAgICAgX2NvbnRleHRNZW51SGludENvbnRhaW5l
clZpZXcgPSBbc2VsZiBfY3JlYXRlUHJldmlld0NvbnRhaW5lcldpdGhMYXllck5hbWU6QCJDb250
ZXh0IE1lbnUgSGludCBQcmV2aWV3IENvbnRhaW5lciJdOwogCisgICAgW190YXJnZXRlZFByZXZp
ZXdWaWV3c0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOk5PXTsKKwogICAgIEFTU0VSVChbX2NvbnRl
eHRNZW51SGludENvbnRhaW5lclZpZXcgc3VwZXJ2aWV3XSk7CiAgICAgW19jb250ZXh0TWVudUhp
bnRDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107CiAgICAgcmV0dXJuIF9jb250ZXh0TWVudUhp
bnRDb250YWluZXJWaWV3LmdldCgpOwpAQCAtNzU5MSwxMSArNzYxMiw0NyBAQCAtIChVSVZpZXcg
Kiljb250YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2aWV3cwogCiAtICh2b2lkKV9oaWRlVGFy
Z2V0ZWRQcmV2aWV3Q29udGFpbmVyVmlld3MKIHsKKyAgICBbX3RhcmdldGVkUHJldmlld1ZpZXdz
Q29udGFpbmVyVmlldyBzZXRIaWRkZW46WUVTXTsKICAgICBbX2Ryb3BQcmV2aWV3Q29udGFpbmVy
VmlldyBzZXRIaWRkZW46WUVTXTsKICAgICBbX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldyBzZXRI
aWRkZW46WUVTXTsKICAgICBbX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXcgc2V0SGlkZGVu
OllFU107CiB9CiAKKy0gKHZvaWQpX3VwZGF0ZVRhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVy
Vmlld0ZyYW1lSWZOZWVkZWQKK3sKKyAgICBpZiAoIV90YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRh
aW5lclZpZXcgfHwgW190YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgaXNIaWRkZW5d
KQorICAgICAgICByZXR1cm47CisKKyAgICBVSVNjcm9sbFZpZXcgKnNjcm9sbFZpZXcgPSBfc2Ny
b2xsVmlld0ZvclRhcmdldGVkUHJldmlldyA/IF9zY3JvbGxWaWV3Rm9yVGFyZ2V0ZWRQcmV2aWV3
LmdldCgpIDogc2VsZi5fc2Nyb2xsZXI7CisKKyAgICBDR1JlY3QgZnJhbWUgPSBbX3RhcmdldGVk
UHJldmlld1ZpZXdzQ29udGFpbmVyVmlldyBmcmFtZV07CisgICAgZnJhbWUub3JpZ2luID0gW3Nj
cm9sbFZpZXcgY29udmVydFBvaW50OkNHUG9pbnRaZXJvIHRvVmlldzpbX3RhcmdldGVkUHJldmll
d1ZpZXdzQ29udGFpbmVyVmlldyBzdXBlcnZpZXddXTsKKyAgICBbX3RhcmdldGVkUHJldmlld1Zp
ZXdzQ29udGFpbmVyVmlldyBzZXRGcmFtZTpmcmFtZV07Cit9CisKKy0gKHZvaWQpX3JlbW92ZVRh
cmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlld0lmUG9zc2libGUKK3sKKyAgICBpZiAoW190
YXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgc3Vidmlld3NdLmNvdW50KQorICAgICAg
ICByZXR1cm47CisKKyAgICBbc3RkOjpleGNoYW5nZShfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250
YWluZXJWaWV3LCBuaWwpIHJlbW92ZUZyb21TdXBlcnZpZXddOworICAgIF9zY3JvbGxWaWV3Rm9y
VGFyZ2V0ZWRQcmV2aWV3ID0gbmlsOworfQorCistICh2b2lkKV91cGRhdGVUYXJnZXRlZFByZXZp
ZXdTY3JvbGxWaWV3VXNpbmdDb250YWluZXJTY3JvbGxpbmdOb2RlSUQ6KFdlYkNvcmU6OlNjcm9s
bGluZ05vZGVJRClzY3JvbGxpbmdOb2RlSUQKK3sKKyAgICBpZiAoc2Nyb2xsaW5nTm9kZUlEKSB7
CisgICAgICAgIGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IF9wYWdlLT5zY3JvbGxp
bmdDb29yZGluYXRvclByb3h5KCkpIHsKKyAgICAgICAgICAgIGlmIChVSVNjcm9sbFZpZXcgKnNj
cm9sbFZpZXdGb3JTY3JvbGxpbmdOb2RlID0gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNjcm9sbFZp
ZXdGb3JTY3JvbGxpbmdOb2RlSUQoc2Nyb2xsaW5nTm9kZUlEKSkgeworICAgICAgICAgICAgICAg
IF9zY3JvbGxWaWV3Rm9yVGFyZ2V0ZWRQcmV2aWV3ID0gc2Nyb2xsVmlld0ZvclNjcm9sbGluZ05v
ZGU7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorCisgICAgX3Njcm9sbFZpZXdGb3JUYXJnZXRlZFByZXZpZXcgPSBzZWxmLndlYlZpZXcu
c2Nyb2xsVmlldzsKK30KKwogI3ByYWdtYSBtYXJrIC0gV0tEZWZlcnJpbmdHZXN0dXJlUmVjb2du
aXplckRlbGVnYXRlCiAKIC0gKFdlYktpdDo6U2hvdWxkRGVmZXJHZXN0dXJlcylkZWZlcnJpbmdH
ZXN0dXJlUmVjb2duaXplcjooV0tEZWZlcnJpbmdHZXN0dXJlUmVjb2duaXplciAqKWRlZmVycmlu
Z0dlc3R1cmVSZWNvZ25pemVyIHdpbGxCZWdpblRvdWNoZXNXaXRoRXZlbnQ6KFVJRXZlbnQgKill
dmVudApAQCAtNzkxOCw2ICs3OTc1LDcgQEAgLSAodm9pZCljbGVhblVwRHJhZ1NvdXJjZVNlc3Np
b25TdGF0ZQogICAgIFtzZWxmIF9yZXN0b3JlQ2FsbG91dEJhcklmTmVlZGVkXTsKIAogICAgIFtz
dGQ6OmV4Y2hhbmdlKF9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1
cGVydmlld107CisgICAgW3NlbGYgX3JlbW92ZVRhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVy
Vmlld0lmUG9zc2libGVdOwogICAgIFtzdGQ6OmV4Y2hhbmdlKF92aXNpYmxlQ29udGVudFZpZXdT
bmFwc2hvdCwgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKICAgICBbX2VkaXREcm9wQ2FyZXRW
aWV3IHJlbW92ZV07CiAgICAgX2VkaXREcm9wQ2FyZXRWaWV3ID0gbmlsOwpAQCAtODE3MSwxMSAr
ODIyOSw2IEBAIC0gKHZvaWQpY2FuY2VsQWN0aXZlVGV4dEludGVyYWN0aW9uR2VzdHVyZXMKICAg
ICBbW190ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgZm9yY2VQcmVzc0dlc3R1cmVdIF93a19jYW5j
ZWxdOwogfQogCi0tIChVSVZpZXcgKil0ZXh0RWZmZWN0c1dpbmRvdwotewotICAgIHJldHVybiBb
VUlUZXh0RWZmZWN0c1dpbmRvdyBzaGFyZWRUZXh0RWZmZWN0c1dpbmRvd0ZvcldpbmRvd1NjZW5l
OnNlbGYud2luZG93LndpbmRvd1NjZW5lXTsKLX0KLQogLSAoTlNEaWN0aW9uYXJ5ICopX2F1dG9m
aWxsQ29udGV4dAogewogICAgIGlmICghc2VsZi5faGFzRm9jdXNlZEVsZW1lbnQpCkBAIC04Mjcx
LDI0ICs4MzI0LDExIEBAIHN0YXRpYyBSZXRhaW5QdHI8VUlUYXJnZXRlZFByZXZpZXc+IGNyZWF0
ZUZhbGxiYWNrVGFyZ2V0ZWRQcmV2aWV3KFVJVmlldyAqcm9vdFZpCiAgICAgcmV0dXJuIGFkb3B0
TlMoW1tVSVRhcmdldGVkUHJldmlldyBhbGxvY10gaW5pdFdpdGhWaWV3OnNuYXBzaG90VmlldyBw
YXJhbWV0ZXJzOnBhcmFtZXRlcnMuZ2V0KCkgdGFyZ2V0OnRhcmdldC5nZXQoKV0pOwogfQogCi0t
ICh2b2lkKW92ZXJyaWRlUG9zaXRpb25UcmFja2luZ1ZpZXdGb3JUYXJnZXRlZFByZXZpZXdJZk5l
Y2Vzc2FyeTooVUlUYXJnZXRlZFByZXZpZXcgKil0YXJnZXRlZFByZXZpZXcgY29udGFpbmVyU2Ny
b2xsaW5nTm9kZUlEOihXZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQpc2Nyb2xsaW5nTm9kZUlECi17
Ci0gICAgaWYgKCFzY3JvbGxpbmdOb2RlSUQpCi0gICAgICAgIHJldHVybjsKLQotICAgIFVJU2Ny
b2xsVmlldyAqcG9zaXRpb25UcmFja2luZ1ZpZXcgPSBzZWxmLndlYlZpZXcuc2Nyb2xsVmlldzsK
LSAgICBpZiAoYXV0byogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBfcGFnZS0+c2Nyb2xsaW5nQ29v
cmRpbmF0b3JQcm94eSgpKQotICAgICAgICBwb3NpdGlvblRyYWNraW5nVmlldyA9IHNjcm9sbGlu
Z0Nvb3JkaW5hdG9yLT5zY3JvbGxWaWV3Rm9yU2Nyb2xsaW5nTm9kZUlEKHNjcm9sbGluZ05vZGVJ
RCk7Ci0KLSAgICBpZiAoW3RhcmdldGVkUHJldmlldyByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF9zZXRPdmVycmlkZVBvc2l0aW9uVHJhY2tpbmdWaWV3OildKQotICAgICAgICBbdGFyZ2V0
ZWRQcmV2aWV3IF9zZXRPdmVycmlkZVBvc2l0aW9uVHJhY2tpbmdWaWV3OnBvc2l0aW9uVHJhY2tp
bmdWaWV3XTsKLX0KLQogLSAoVUlUYXJnZXRlZFByZXZpZXcgKilfY3JlYXRlVGFyZ2V0ZWRDb250
ZXh0TWVudUhpbnRQcmV2aWV3Rm9yRm9jdXNlZEVsZW1lbnQKIHsKICAgICBSZXRhaW5QdHI8VUlU
YXJnZXRlZFByZXZpZXc+IHRhcmdldGVkUHJldmlldyA9IGNyZWF0ZUZhbGxiYWNrVGFyZ2V0ZWRQ
cmV2aWV3KHNlbGYsIHNlbGYuY29udGFpbmVyRm9yQ29udGV4dE1lbnVIaW50UHJldmlld3MsIF9m
b2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmludGVyYWN0aW9uUmVjdCk7CiAKLSAgICBbc2VsZiBv
dmVycmlkZVBvc2l0aW9uVHJhY2tpbmdWaWV3Rm9yVGFyZ2V0ZWRQcmV2aWV3SWZOZWNlc3Nhcnk6
dGFyZ2V0ZWRQcmV2aWV3LmdldCgpIGNvbnRhaW5lclNjcm9sbGluZ05vZGVJRDpfZm9jdXNlZEVs
ZW1lbnRJbmZvcm1hdGlvbi5jb250YWluZXJTY3JvbGxpbmdOb2RlSURdOworICAgIFtzZWxmIF91
cGRhdGVUYXJnZXRlZFByZXZpZXdTY3JvbGxWaWV3VXNpbmdDb250YWluZXJTY3JvbGxpbmdOb2Rl
SUQ6X2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uY29udGFpbmVyU2Nyb2xsaW5nTm9kZUlEXTsK
IAogICAgIF9jb250ZXh0TWVudUludGVyYWN0aW9uVGFyZ2V0ZWRQcmV2aWV3ID0gV1RGTW92ZSh0
YXJnZXRlZFByZXZpZXcpOwogICAgIHJldHVybiBfY29udGV4dE1lbnVJbnRlcmFjdGlvblRhcmdl
dGVkUHJldmlldy5nZXQoKTsKQEAgLTgzMTEsNyArODM1MSw3IEBAIC0gKFVJVGFyZ2V0ZWRQcmV2
aWV3ICopX2NyZWF0ZVRhcmdldGVkQ29udGV4dE1lbnVIaW50UHJldmlld0lmUG9zc2libGUKICAg
ICBpZiAoIXRhcmdldGVkUHJldmlldykKICAgICAgICAgdGFyZ2V0ZWRQcmV2aWV3ID0gY3JlYXRl
RmFsbGJhY2tUYXJnZXRlZFByZXZpZXcoc2VsZiwgc2VsZi5jb250YWluZXJGb3JDb250ZXh0TWVu
dUhpbnRQcmV2aWV3cywgX3Bvc2l0aW9uSW5mb3JtYXRpb24uYm91bmRzKTsKIAotICAgIFtzZWxm
IG92ZXJyaWRlUG9zaXRpb25UcmFja2luZ1ZpZXdGb3JUYXJnZXRlZFByZXZpZXdJZk5lY2Vzc2Fy
eTp0YXJnZXRlZFByZXZpZXcuZ2V0KCkgY29udGFpbmVyU2Nyb2xsaW5nTm9kZUlEOl9wb3NpdGlv
bkluZm9ybWF0aW9uLmNvbnRhaW5lclNjcm9sbGluZ05vZGVJRF07CisgICAgW3NlbGYgX3VwZGF0
ZVRhcmdldGVkUHJldmlld1Njcm9sbFZpZXdVc2luZ0NvbnRhaW5lclNjcm9sbGluZ05vZGVJRDpf
cG9zaXRpb25JbmZvcm1hdGlvbi5jb250YWluZXJTY3JvbGxpbmdOb2RlSURdOwogCiAgICAgX2Nv
bnRleHRNZW51SW50ZXJhY3Rpb25UYXJnZXRlZFByZXZpZXcgPSBXVEZNb3ZlKHRhcmdldGVkUHJl
dmlldyk7CiAgICAgcmV0dXJuIF9jb250ZXh0TWVudUludGVyYWN0aW9uVGFyZ2V0ZWRQcmV2aWV3
LmdldCgpOwpAQCAtODM0Miw2ICs4MzgyLDcgQEAgLSAodm9pZClfcmVtb3ZlQ29udGV4dE1lbnVW
aWV3SWZQb3NzaWJsZQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgW3N0ZDo6ZXhjaGFuZ2Uo
X2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107
CisgICAgW3NlbGYgX3JlbW92ZVRhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlld0lmUG9z
c2libGVdOwogfQogCiAjZW5kaWYgLy8gVVNFKFVJQ09OVEVYVE1FTlUpCkBAIC04ODM3LDYgKzg4
NzgsNyBAQCAtICh2b2lkKWRyb3BJbnRlcmFjdGlvbjooVUlEcm9wSW50ZXJhY3Rpb24gKilpbnRl
cmFjdGlvbiBpdGVtOihVSURyYWdJdGVtICopaXRlbQogLSAodm9pZClkcm9wSW50ZXJhY3Rpb246
KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gY29uY2x1ZGVEcm9wOihpZCA8VUlEcm9w
U2Vzc2lvbj4pc2Vzc2lvbgogewogICAgIFtzdGQ6OmV4Y2hhbmdlKF9kcm9wUHJldmlld0NvbnRh
aW5lclZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107CisgICAgW3NlbGYgX3JlbW92ZVRh
cmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlld0lmUG9zc2libGVdOwogICAgIFtzdGQ6OmV4
Y2hhbmdlKF92aXNpYmxlQ29udGVudFZpZXdTbmFwc2hvdCwgbmlsKSByZW1vdmVGcm9tU3VwZXJ2
aWV3XTsKICAgICBbc3RkOjpleGNoYW5nZShfdW5zZWxlY3RlZENvbnRlbnRTbmFwc2hvdCwgbmls
KSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKICAgICBfZHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLmNs
ZWFyQWxsRGVsYXllZEl0ZW1QcmV2aWV3UHJvdmlkZXJzKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425323</attachid>
            <date>2021-04-06 13:59:59 -0700</date>
            <delta_ts>2021-05-13 16:26:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224204-20210406145958.patch</filename>
            <type>text/plain</type>
            <size>19377</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNmZmYTEyM2JhZDc5YmMyNzFiYTYxMDE1ZDIwMjE0ZTY5MzExYTkxZi4uMTgw
ZDdjMmQ3OTczZDEzNjQ5ZGE1NmM1OWE3Njg5MDRhODJkNWM2MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw1MyBAQAorMjAyMS0wNC0wNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU10gY29udGV4dG1lbnUgaGludHMgY2FuIGJlIGNsaXBwZWQgYnkgdGhlIFdL
V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0MjA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTUwNDYyMD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNsZWFuVXBJbnRlcmFj
dGlvbl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNsZWFuVXBSZWxhdGVkVmlld3NdKTog
QWRkZWQuCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RpZFNjcm9sbF0pOgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IHRleHRFZmZlY3RzV2luZG93XSk6CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgX2NyZWF0ZVByZXZpZXdDb250YWluZXJXaXRoTGF5ZXJOYW1lOl0pOgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IGNvbnRhaW5lckZvckRyb3BQcmV2aWV3c10pOgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IGNvbnRhaW5lckZvckRyYWdQcmV2aWV3c10pOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IGNvbnRhaW5lckZvckNvbnRleHRNZW51SGludFByZXZpZXdzXSk6CisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgX2hpZGVUYXJnZXRlZFByZXZpZXdDb250YWluZXJWaWV3c10pOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVUYXJnZXRlZFByZXZpZXdWaWV3c0NvbnRh
aW5lclZpZXdGcmFtZUlmTmVlZGVkXSk6IEFkZGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3
IF9yZW1vdmVUYXJnZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdJZlBvc3NpYmxlXSk6IEFk
ZGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVUYXJnZXRlZFByZXZpZXdTY3Jv
bGxWaWV3VXNpbmdDb250YWluZXJTY3JvbGxpbmdOb2RlSUQ6XSk6IEFkZGVkLgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IGNsZWFuVXBEcmFnU291cmNlU2Vzc2lvblN0YXRlXSk6CisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgX2NyZWF0ZVRhcmdldGVkQ29udGV4dE1lbnVIaW50UHJldmlld0Zv
ckZvY3VzZWRFbGVtZW50XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2NyZWF0ZVRhcmdl
dGVkQ29udGV4dE1lbnVIaW50UHJldmlld0lmUG9zc2libGVdKToKKyAgICAgICAgKC1bV0tDb250
ZW50VmlldyBfcmVtb3ZlQ29udGV4dE1lbnVWaWV3SWZQb3NzaWJsZV0pOgorICAgICAgICAoLVtX
S0NvbnRlbnRWaWV3IGRyb3BJbnRlcmFjdGlvbjpjb25jbHVkZURyb3A6XSk6CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgb3ZlcnJpZGVQb3NpdGlvblRyYWNraW5nVmlld0ZvclRhcmdldGVkUHJl
dmlld0lmTmVjZXNzYXJ5OmNvbnRhaW5lclNjcm9sbGluZ05vZGVJRDpdKTogRGVsZXRlZC4KKyAg
ICAgICAgSW5zdGVhZCBvZiBhdHRhY2hpbmcgdGhlIGNvbnRleHRtZW51IGhpbnQgY29udGFpbmVy
IChgX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXdgKSB0bworICAgICAgICB0aGUgYFdLV2Vi
Vmlld2AgKHZpYSB0aGUgYF9pbnRlcmFjdGlvblZpZXdzQ29udGFpbmVyVmlld2ApLCBhdHRhY2gg
aXQgdG8gYSBuZXcgY29udGFpbmVyCisgICAgICAgIChgX3RhcmdldGVkUHJldmlld1ZpZXdzQ29u
dGFpbmVyVmlld2ApIHVuZGVyIHRoZSBgVUlUZXh0RWZmZWN0c1dpbmRvd2Agc28gdGhhdCBpZiB0
aGUKKyAgICAgICAgY29udGV4dG1lbnUgdGFyZ2V0IGlzIG5lYXIgdGhlIGVkZ2Ugb2YgdGhlIGBX
S1dlYlZpZXdgIHRoZW4gdGhlIHNoYWRvdyBvZiB0aGUgY29udGV4dG1lbnUKKyAgICAgICAgaGlu
dCB3aWxsIG5vdCBiZSBjbGlwcGVkIGJ5IHRoZSBgV0tXZWJWaWV3YC4gV2hlbmV2ZXIgYW55IHZp
ZXcgaXMgc2Nyb2xsZWQsIGFkanVzdCB0aGUKKyAgICAgICAgYGZyYW1lYCBvZiB0aGUgYF90YXJn
ZXRlZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXdgIHNvIHRoYXQgdGhlIGNvbnRleHRtZW51IGhp
bnQgbW92ZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgZGlkTW92ZVRvV2luZG93XSk6CisgICAgICAgIENhbGwg
YC1jbGVhblVwUmVsYXRlZFZpZXdzYCBpZiBubyBsb25nZXIgYXR0YWNoZWQgdG8gYSBgd2luZG93
YCBzbyB0aGF0IHRoZQorICAgICAgICBgX3RhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmll
d2AgaXMgbm90IGxlZnQgYmVoaW5kIGlmIHRoZSBgV0tXZWJWaWV3YCBpcyBtb3ZlZC4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yUHJveHk6OnNjcm9sbFZpZXdGb3JTY3JvbGxpbmdOb2RlSUQgY29uc3QpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVSZW1vdGVJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tOgorICAgICAg
ICAoV2ViS2l0OjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TOjpzY3Jv
bGxWaWV3IGNvbnN0KTogQWRkZWQuCisgICAgICAgIGBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlUmVtb3RlSU9TYCBhbHNvIGhhcyBhIGNvcnJlc3BvbmRpbmcgYFVJU2Nyb2xsVmlld2Au
CisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmg6CisgICAgICAgIFJlbW92
ZSBubyBsb25nZXIgbmVlZGVkIFNQSSBub3cgdGhhdCBXZWJLaXQgbWFuYWdlcyB0aGUgcG9zaXRp
b24gb2YgdGhlIGNvbnRleHRtZW51IGhpbnQuCisKIDIwMjEtMDQtMDIgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHN1cmUgd2UgYXJlIG5vIGxvbmdlciBz
aG93IHRoZSBwcmV2aW91cyBwYWdlIHdoZW4gcnVubmluZyBhIEpTIHByb21wdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmggYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaAppbmRleCA4OTk2N2VkZmQ0NmMxMTc4Mjk3
NDg1NjdjY2M5ZWQzMmQ1NWM1ZDk5Li4zYzI2MDIxNTBlZjVmMzQwZjQ5ZmQxOGE4N2Q1ZjQ4YzI5
OWM4ZmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRT
UEkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaApAQCAt
MTIxNywxMCArMTIxNyw2IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfVUlDb250ZXh0
TWVudUxheW91dCkgewogQGVuZAogCiAjaWYgVVNFKFVJQ09OVEVYVE1FTlUpCi1AaW50ZXJmYWNl
IFVJVGFyZ2V0ZWRQcmV2aWV3ICgpCi1AcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nLCBzZXR0
ZXI9X3NldE92ZXJyaWRlUG9zaXRpb25UcmFja2luZ1ZpZXc6KSBVSVZpZXcgKm92ZXJyaWRlUG9z
aXRpb25UcmFja2luZ1ZpZXc7Ci1AZW5kCi0KIEBpbnRlcmZhY2UgVUlDb250ZXh0TWVudUludGVy
YWN0aW9uICgpCiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJR2VzdHVyZVJlY29n
bml6ZXIgKmdlc3R1cmVSZWNvZ25pemVyRm9yRmFpbHVyZVJlbGF0aW9uc2hpcHM7CiAtICh2b2lk
KV9wcmVzZW50TWVudUF0TG9jYXRpb246KENHUG9pbnQpbG9jYXRpb247CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVM
YXllclRyZWUvaW9zL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1MubW0KaW5kZXgg
MTE2NzVmMzI0NWJhMTFhYzM5OGZkYmEyZmNlMzYzYmFiZjBhYTQ1NC4uM2FiYTMwZDU3ZWNmODUz
YzA3OWY5YzliYjM5MDNlODZmMWYyNDQ3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3Mv
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbQpAQCAtMzEsNiArMzEsNyBAQAog
CiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVIb3N0LmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRy
ZWVOb2RlLmgiCisjaW1wb3J0ICJTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3Rl
SU9TLmgiCiAjaW1wb3J0ICJTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLmgi
CiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgPFVJS2l0L1VJVmlldy5oPgpAQCAt
NTYsMTIgKzU3LDIyIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogVUlTY3JvbGxWaWV3ICpS
ZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpzY3JvbGxWaWV3Rm9yU2Nyb2xsaW5nTm9k
ZUlEKFNjcm9sbGluZ05vZGVJRCBub2RlSUQpIGNvbnN0CiB7CiAgICAgYXV0byogdHJlZU5vZGUg
PSBtX3Njcm9sbGluZ1RyZWUtPm5vZGVGb3JJRChub2RlSUQpOwotICAgIGlmICghaXM8U2Nyb2xs
aW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4odHJlZU5vZGUpKQotICAgICAgICByZXR1cm4g
bmlsOwogCi0gICAgYXV0byogc2Nyb2xsaW5nTm9kZSA9IGRvd25jYXN0PFNjcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbGluZ05vZGU+KHRyZWVOb2RlKTsKLSAgICAvLyBBbGwgU2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZXMgYXJlIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGlu
Z05vZGVJT1Mgb24gaU9TLgotICAgIHJldHVybiBzdGF0aWNfY2FzdDxTY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlSU9TKj4oc2Nyb2xsaW5nTm9kZSktPnNjcm9sbFZpZXcoKTsKKyAg
ICBpZiAoaXM8U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4odHJlZU5vZGUpKSB7
CisgICAgICAgIGF1dG8qIG92ZXJmbG93U2Nyb2xsaW5nTm9kZSA9IGRvd25jYXN0PFNjcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU+KHRyZWVOb2RlKTsKKworICAgICAgICAvLyBBbGwg
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZXMgYXJlIFNjcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbGluZ05vZGVJT1Mgb24gaU9TLgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUyo+KG92ZXJmbG93U2Nyb2xsaW5n
Tm9kZSktPnNjcm9sbFZpZXcoKTsKKyAgICB9CisKKyAgICBpZiAoaXM8U2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZT4odHJlZU5vZGUpKSB7CisgICAgICAgIGF1dG8qIGZyYW1lU2Nyb2xs
aW5nTm9kZSA9IGRvd25jYXN0PFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU+KHRyZWVO
b2RlKTsKKworICAgICAgICAvLyBBbGwgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZXMg
YXJlIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1Mgb24gaU9TLgorICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJl
bW90ZUlPUyo+KGZyYW1lU2Nyb2xsaW5nTm9kZSktPnNjcm9sbFZpZXcoKTsKKyAgICB9CisKKyAg
ICByZXR1cm4gbmlsOwogfQogCiB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHk6
OmNvbm5lY3RTdGF0ZU5vZGVMYXllcnMoU2Nyb2xsaW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIGNv
bnN0IFJlbW90ZUxheWVyVHJlZUhvc3QmIGxheWVyVHJlZUhvc3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90
ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5o
CmluZGV4IDU1YzBhYTQ5OTJjMzgxMmM1M2UwMzUxNGJlZjlmZTM2YTliMDYxODUuLjA2NmM5NTlj
M2E3OGNlY2UzNmE3NWIwNzAzOGQwODAwNDU5NzE2NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZVJlbW90ZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5oCkBA
IC0zOCw2ICszOCw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNjcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVSZW1vdGVJT1M+IGNyZWF0ZShXZWJDb3JlOjpTY3JvbGxpbmdUcmVlJiwg
V2ViQ29yZTo6U2Nyb2xsaW5nTm9kZVR5cGUsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCk7CiAg
ICAgdmlydHVhbCB+U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUygpOwog
CisgICAgVUlTY3JvbGxWaWV3ICpzY3JvbGxWaWV3KCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAg
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUyhXZWJDb3JlOjpTY3JvbGxp
bmdUcmVlJiwgV2ViQ29yZTo6U2Nyb2xsaW5nTm9kZVR5cGUsIFdlYkNvcmU6OlNjcm9sbGluZ05v
ZGVJRCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZVJlbW90ZUlPUy5tbQppbmRleCBlNTUzYTk0MDRiMTI3ODE4OGQ2NmQ5
YzZkZmJhYjExYTY1MGU2OGQ2Li4wYTU3YWZhMmMwNmNkMDg2MWUwMGI4MmRlZmQxODlhZGUyZDU1
ZjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUv
aW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVSZW1vdGVJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TLm1tCkBAIC01MSw2ICs1MSwxMSBAQCBTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlUmVtb3RlSU9TOjp+U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZVJlbW90ZQogewogfQogCitVSVNjcm9sbFZpZXcgKlNjcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVSZW1vdGVJT1M6OnNjcm9sbFZpZXcoKSBjb25zdAoreworICAgIHJldHVybiBt
X3Njcm9sbGluZ05vZGVEZWxlZ2F0ZSA/IG1fc2Nyb2xsaW5nTm9kZURlbGVnYXRlLT5zY3JvbGxW
aWV3KCkgOiBuaWw7Cit9CisKIHZvaWQgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZVJl
bW90ZUlPUzo6Y29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5v
ZGUmIHN0YXRlTm9kZSkKIHsKICAgICBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlOjpj
b21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKHN0YXRlTm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IDJhMmM5NzFmMDExZDIyODc1NWUxMWYz
OGRjZjkyMjM3Zjc4NDE5Y2YuLjEyNjZkOTAwYjkxM2NiZTVmNjdhNzMwM2Y4ZjcyYjhiODk4NWFl
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCkBA
IC0zMzYsNiArMzM2LDggQEAgLSAodm9pZClkaWRNb3ZlVG9XaW5kb3cKIAogICAgIGlmIChzZWxm
LndpbmRvdykKICAgICAgICAgW3NlbGYgc2V0VXBJbnRlcmFjdGlvbl07CisgICAgZWxzZQorICAg
ICAgICBbc2VsZiBjbGVhblVwUmVsYXRlZFZpZXdzXTsKIH0KIAogQUxMT1dfREVQUkVDQVRFRF9E
RUNMQVJBVElPTlNfQkVHSU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCAxNjEzNTM1OWQyZTY5YTBjNjI0N2Yz
MDBlYTgyZjdjZTM5Mzk3OGM1Li5lMGFlZTJhYjY0ODI0NGM1MjM1N2ZhOWFkMmZlYTc1N2I2MWVl
MmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0yOTgsNiArMjk4LDggQEAgZW51bSBjbGFzcyBQcm9jZWVk
V2l0aEltYWdlRXh0cmFjdGlvbiA6IGJvb2wgewogICAgIFJldGFpblB0cjxVSVdlYkZvcm1BY2Nl
c3Nvcnk+IF9mb3JtQWNjZXNzb3J5VmlldzsKICAgICBSZXRhaW5QdHI8X1VJSGlnaGxpZ2h0Vmll
dz4gX2hpZ2hsaWdodFZpZXc7CiAgICAgUmV0YWluUHRyPFVJVmlldz4gX2ludGVyYWN0aW9uVmll
d3NDb250YWluZXJWaWV3OworICAgIFJldGFpblB0cjxVSVZpZXc+IF90YXJnZXRlZFByZXZpZXdW
aWV3c0NvbnRhaW5lclZpZXc7CisgICAgV2Vha09iakNQdHI8VUlTY3JvbGxWaWV3PiBfc2Nyb2xs
Vmlld0ZvclRhcmdldGVkUHJldmlldzsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBfY29udGV4dE1l
bnVIaW50Q29udGFpbmVyVmlldzsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBfZHJhZ1ByZXZpZXdD
b250YWluZXJWaWV3OwogICAgIFJldGFpblB0cjxVSVZpZXc+IF9kcm9wUHJldmlld0NvbnRhaW5l
clZpZXc7CkBAIC01MjQsNiArNTI2LDcgQEAgZW51bSBjbGFzcyBQcm9jZWVkV2l0aEltYWdlRXh0
cmFjdGlvbiA6IGJvb2wgewogCiAtICh2b2lkKXNldFVwSW50ZXJhY3Rpb247CiAtICh2b2lkKWNs
ZWFuVXBJbnRlcmFjdGlvbjsKKy0gKHZvaWQpY2xlYW5VcFJlbGF0ZWRWaWV3czsKIAogLSAodm9p
ZClzY3JvbGxWaWV3V2lsbFN0YXJ0UGFuT3JQaW5jaEdlc3R1cmU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmlu
ZGV4IDY0YmU3ZjliNmRiN2Q3NTgwZDJhNzE4YmE5NWNiZjM3NTkyMGM5YmQuLmM0YzliOGE2ZTQ3
ODBkZjExZDZjZDE5OGM4YmRhNjVkY2FkNTE4MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMTAzNiw2
ICsxMDM2LDEwIEBAIC0gKHZvaWQpY2xlYW5VcEludGVyYWN0aW9uCiAKICAgICBfbGF5ZXJUcmVl
VHJhbnNhY3Rpb25JZEF0TGFzdEludGVyYWN0aW9uU3RhcnQgPSB7IH07CiAKKyNpZiBVU0UoVUlD
T05URVhUTUVOVSkKKyAgICBbc2VsZiBfcmVtb3ZlQ29udGV4dE1lbnVWaWV3SWZQb3NzaWJsZV07
CisjZW5kaWYgLy8gVVNFKFVJQ09OVEVYVE1FTlUpCisKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JU
KQogICAgIFtleGlzdGluZ0xvY2FsRHJhZ1Nlc3Npb25Db250ZXh0KF9kcmFnRHJvcEludGVyYWN0
aW9uU3RhdGUuZHJhZ1Nlc3Npb24oKSkgY2xlYW5VcFRlbXBvcmFyeURpcmVjdG9yaWVzXTsKICAg
ICBbc2VsZiB0ZWFyZG93bkRyYWdBbmREcm9wSW50ZXJhY3Rpb25zXTsKQEAgLTEwOTAsNiArMTA5
NCw4IEBAIC0gKHZvaWQpY2xlYW5VcEludGVyYWN0aW9uCiAgICAgW3NlbGYgX3RlYXJEb3duSW1h
Z2VFeHRyYWN0aW9uXTsKICNlbmRpZgogCisgICAgW3N0ZDo6ZXhjaGFuZ2UoX3RhcmdldGVkUHJl
dmlld1ZpZXdzQ29udGFpbmVyVmlldywgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKwogICAg
IF9oYXNTZXRVcEludGVyYWN0aW9ucyA9IE5POwogICAgIF9zdXBwcmVzc1NlbGVjdGlvbkFzc2lz
dGFudFJlYXNvbnMgPSB7IH07CiAKQEAgLTExMDAsNiArMTEwNiwxMSBAQCAtICh2b2lkKWNsZWFu
VXBJbnRlcmFjdGlvbgogICAgIF9jYWNoZWRTZWxlY3RlZFRleHRSYW5nZSA9IG5pbDsKIH0KIAor
LSAodm9pZCljbGVhblVwUmVsYXRlZFZpZXdzCit7CisgICAgW3N0ZDo6ZXhjaGFuZ2UoX3Rhcmdl
dGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldywgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsK
K30KKwogLSAodm9pZClfY2FuY2VsUGVuZGluZ0tleUV2ZW50SGFuZGxlcgogewogICAgIGlmICgh
X3BhZ2UpCkBAIC0yMDIyLDYgKzIwMzMsOCBAQCAtICh2b2lkKV9jYW5jZWxUb3VjaEV2ZW50R2Vz
dHVyZVJlY29nbml6ZXIKIAogLSAodm9pZClfZGlkU2Nyb2xsCiB7CisgICAgW3NlbGYgX3VwZGF0
ZVRhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlld0ZyYW1lSWZOZWVkZWRdOworCiAgICAg
W3NlbGYgX2NhbmNlbExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyXTsKICAgICBbc2VsZiBfY2Fu
Y2VsSW50ZXJhY3Rpb25dOwogfQpAQCAtNzU1MCwxMiArNzU2MywyNSBAQCAtIChXZWJDb3JlOjpE
YXRhT3duZXJUeXBlKV9kYXRhT3duZXJGb3JQYXN0ZWJvYXJkOihXZWJLaXQ6OlBhc3RlYm9hcmRB
Y2Nlc3NJbnRlbgogCiAjZW5kaWYgLy8gSEFWRShQQVNURUJPQVJEX0RBVEFfT1dORVIpCiAKKy0g
KFVJVmlldyAqKXRleHRFZmZlY3RzV2luZG93Cit7CisgICAgcmV0dXJuIFtVSVRleHRFZmZlY3Rz
V2luZG93IHNoYXJlZFRleHRFZmZlY3RzV2luZG93Rm9yV2luZG93U2NlbmU6c2VsZi53aW5kb3cu
d2luZG93U2NlbmVdOworfQorCiAtIChSZXRhaW5QdHI8VUlWaWV3PilfY3JlYXRlUHJldmlld0Nv
bnRhaW5lcldpdGhMYXllck5hbWU6KE5TU3RyaW5nICopbGF5ZXJOYW1lCiB7CisgICAgaWYgKCFf
dGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3KSB7CisgICAgICAgIF90YXJnZXRlZFBy
ZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcgPSBhZG9wdE5TKFtbVUlWaWV3IGFsbG9jXSBpbml0XSk7
CisgICAgICAgIFtfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IGxheWVyXS5uYW1l
ID0gQCJQcmV2aWV3IFZpZXdzIENvbnRhaW5lciI7CisgICAgICAgIFtfdGFyZ2V0ZWRQcmV2aWV3
Vmlld3NDb250YWluZXJWaWV3IGxheWVyXS5hbmNob3JQb2ludCA9IENHUG9pbnRaZXJvOworICAg
ICAgICBbc2VsZiBfdXBkYXRlVGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3RnJhbWVJ
Zk5lZWRlZF07CisgICAgICAgIFtzZWxmLnRleHRFZmZlY3RzV2luZG93IGFkZFN1YnZpZXc6X3Rh
cmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldy5nZXQoKV07CisgICAgfQorCiAgICAgYXV0
byBjb250YWluZXIgPSBhZG9wdE5TKFtbVUlWaWV3IGFsbG9jXSBpbml0XSk7CiAgICAgW2NvbnRh
aW5lciBsYXllcl0uYW5jaG9yUG9pbnQgPSBDR1BvaW50WmVybzsKICAgICBbY29udGFpbmVyIGxh
eWVyXS5uYW1lID0gbGF5ZXJOYW1lOwotICAgIFtfaW50ZXJhY3Rpb25WaWV3c0NvbnRhaW5lclZp
ZXcgYWRkU3Vidmlldzpjb250YWluZXIuZ2V0KCldOworICAgIFtfdGFyZ2V0ZWRQcmV2aWV3Vmll
d3NDb250YWluZXJWaWV3IGFkZFN1YnZpZXc6Y29udGFpbmVyLmdldCgpXTsKICAgICByZXR1cm4g
Y29udGFpbmVyOwogfQogCkBAIC03NTY0LDYgKzc1OTAsOCBAQCAtIChVSVZpZXcgKiljb250YWlu
ZXJGb3JEcm9wUHJldmlld3MKICAgICBpZiAoIV9kcm9wUHJldmlld0NvbnRhaW5lclZpZXcpCiAg
ICAgICAgIF9kcm9wUHJldmlld0NvbnRhaW5lclZpZXcgPSBbc2VsZiBfY3JlYXRlUHJldmlld0Nv
bnRhaW5lcldpdGhMYXllck5hbWU6QCJEcm9wIFByZXZpZXcgQ29udGFpbmVyIl07CiAKKyAgICBb
X3RhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldyBzZXRIaWRkZW46Tk9dOworCiAgICAg
QVNTRVJUKFtfZHJvcFByZXZpZXdDb250YWluZXJWaWV3IHN1cGVydmlld10pOwogICAgIFtfZHJv
cFByZXZpZXdDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107CiAgICAgcmV0dXJuIF9kcm9wUHJl
dmlld0NvbnRhaW5lclZpZXcuZ2V0KCk7CkBAIC03NTc0LDYgKzc2MDIsOCBAQCAtIChVSVZpZXcg
Kiljb250YWluZXJGb3JEcmFnUHJldmlld3MKICAgICBpZiAoIV9kcmFnUHJldmlld0NvbnRhaW5l
clZpZXcpCiAgICAgICAgIF9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcgPSBbc2VsZiBfY3JlYXRl
UHJldmlld0NvbnRhaW5lcldpdGhMYXllck5hbWU6QCJEcmFnIFByZXZpZXcgQ29udGFpbmVyIl07
CiAKKyAgICBbX3RhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldyBzZXRIaWRkZW46Tk9d
OworCiAgICAgQVNTRVJUKFtfZHJhZ1ByZXZpZXdDb250YWluZXJWaWV3IHN1cGVydmlld10pOwog
ICAgIFtfZHJhZ1ByZXZpZXdDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107CiAgICAgcmV0dXJu
IF9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcuZ2V0KCk7CkBAIC03NTg0LDYgKzc2MTQsOCBAQCAt
IChVSVZpZXcgKiljb250YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2aWV3cwogICAgIGlmICgh
X2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXcpCiAgICAgICAgIF9jb250ZXh0TWVudUhpbnRD
b250YWluZXJWaWV3ID0gW3NlbGYgX2NyZWF0ZVByZXZpZXdDb250YWluZXJXaXRoTGF5ZXJOYW1l
OkAiQ29udGV4dCBNZW51IEhpbnQgUHJldmlldyBDb250YWluZXIiXTsKIAorICAgIFtfdGFyZ2V0
ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107CisKICAgICBBU1NFUlQo
W19jb250ZXh0TWVudUhpbnRDb250YWluZXJWaWV3IHN1cGVydmlld10pOwogICAgIFtfY29udGV4
dE1lbnVIaW50Q29udGFpbmVyVmlldyBzZXRIaWRkZW46Tk9dOwogICAgIHJldHVybiBfY29udGV4
dE1lbnVIaW50Q29udGFpbmVyVmlldy5nZXQoKTsKQEAgLTc1OTEsMTEgKzc2MjMsNDcgQEAgLSAo
VUlWaWV3ICopY29udGFpbmVyRm9yQ29udGV4dE1lbnVIaW50UHJldmlld3MKIAogLSAodm9pZClf
aGlkZVRhcmdldGVkUHJldmlld0NvbnRhaW5lclZpZXdzCiB7CisgICAgW190YXJnZXRlZFByZXZp
ZXdWaWV3c0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOllFU107CiAgICAgW19kcm9wUHJldmlld0Nv
bnRhaW5lclZpZXcgc2V0SGlkZGVuOllFU107CiAgICAgW19kcmFnUHJldmlld0NvbnRhaW5lclZp
ZXcgc2V0SGlkZGVuOllFU107CiAgICAgW19jb250ZXh0TWVudUhpbnRDb250YWluZXJWaWV3IHNl
dEhpZGRlbjpZRVNdOwogfQogCistICh2b2lkKV91cGRhdGVUYXJnZXRlZFByZXZpZXdWaWV3c0Nv
bnRhaW5lclZpZXdGcmFtZUlmTmVlZGVkCit7CisgICAgaWYgKCFfdGFyZ2V0ZWRQcmV2aWV3Vmll
d3NDb250YWluZXJWaWV3IHx8IFtfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IGlz
SGlkZGVuXSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBzY3JvbGxWaWV3ID0gX3Njcm9s
bFZpZXdGb3JUYXJnZXRlZFByZXZpZXcuZ2V0KCkgPzogcmV0YWluUHRyKHNlbGYuX3Njcm9sbGVy
KTsKKworICAgIENHUmVjdCBmcmFtZSA9IFtfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJW
aWV3IGZyYW1lXTsKKyAgICBmcmFtZS5vcmlnaW4gPSBbc2Nyb2xsVmlldyBjb252ZXJ0UG9pbnQ6
Q0dQb2ludFplcm8gdG9WaWV3OltfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IHN1
cGVydmlld11dOworICAgIFtfdGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3IHNldEZy
YW1lOmZyYW1lXTsKK30KKworLSAodm9pZClfcmVtb3ZlVGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250
YWluZXJWaWV3SWZQb3NzaWJsZQoreworICAgIGlmICghX3RhcmdldGVkUHJldmlld1ZpZXdzQ29u
dGFpbmVyVmlldyB8fCBbX3RhcmdldGVkUHJldmlld1ZpZXdzQ29udGFpbmVyVmlldyBzdWJ2aWV3
c10uY291bnQpCisgICAgICAgIHJldHVybjsKKworICAgIFtzdGQ6OmV4Y2hhbmdlKF90YXJnZXRl
ZFByZXZpZXdWaWV3c0NvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107Cisg
ICAgX3Njcm9sbFZpZXdGb3JUYXJnZXRlZFByZXZpZXcgPSBuaWw7Cit9CisKKy0gKHZvaWQpX3Vw
ZGF0ZVRhcmdldGVkUHJldmlld1Njcm9sbFZpZXdVc2luZ0NvbnRhaW5lclNjcm9sbGluZ05vZGVJ
RDooV2ViQ29yZTo6U2Nyb2xsaW5nTm9kZUlEKXNjcm9sbGluZ05vZGVJRAoreworICAgIGlmIChz
Y3JvbGxpbmdOb2RlSUQpIHsKKyAgICAgICAgaWYgKGF1dG8qIHNjcm9sbGluZ0Nvb3JkaW5hdG9y
ID0gX3BhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkoKSkgeworICAgICAgICAgICAgaWYg
KFVJU2Nyb2xsVmlldyAqc2Nyb2xsVmlld0ZvclNjcm9sbGluZ05vZGUgPSBzY3JvbGxpbmdDb29y
ZGluYXRvci0+c2Nyb2xsVmlld0ZvclNjcm9sbGluZ05vZGVJRChzY3JvbGxpbmdOb2RlSUQpKSB7
CisgICAgICAgICAgICAgICAgX3Njcm9sbFZpZXdGb3JUYXJnZXRlZFByZXZpZXcgPSBzY3JvbGxW
aWV3Rm9yU2Nyb2xsaW5nTm9kZTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBfc2Nyb2xsVmlld0ZvclRhcmdldGVkUHJldmll
dyA9IHNlbGYud2ViVmlldy5zY3JvbGxWaWV3OworfQorCiAjcHJhZ21hIG1hcmsgLSBXS0RlZmVy
cmluZ0dlc3R1cmVSZWNvZ25pemVyRGVsZWdhdGUKIAogLSAoV2ViS2l0OjpTaG91bGREZWZlckdl
c3R1cmVzKWRlZmVycmluZ0dlc3R1cmVSZWNvZ25pemVyOihXS0RlZmVycmluZ0dlc3R1cmVSZWNv
Z25pemVyICopZGVmZXJyaW5nR2VzdHVyZVJlY29nbml6ZXIgd2lsbEJlZ2luVG91Y2hlc1dpdGhF
dmVudDooVUlFdmVudCAqKWV2ZW50CkBAIC03OTE4LDYgKzc5ODYsNyBAQCAtICh2b2lkKWNsZWFu
VXBEcmFnU291cmNlU2Vzc2lvblN0YXRlCiAgICAgW3NlbGYgX3Jlc3RvcmVDYWxsb3V0QmFySWZO
ZWVkZWRdOwogCiAgICAgW3N0ZDo6ZXhjaGFuZ2UoX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldywg
bmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAgICBbc2VsZiBfcmVtb3ZlVGFyZ2V0ZWRQcmV2
aWV3Vmlld3NDb250YWluZXJWaWV3SWZQb3NzaWJsZV07CiAgICAgW3N0ZDo6ZXhjaGFuZ2UoX3Zp
c2libGVDb250ZW50Vmlld1NuYXBzaG90LCBuaWwpIHJlbW92ZUZyb21TdXBlcnZpZXddOwogICAg
IFtfZWRpdERyb3BDYXJldFZpZXcgcmVtb3ZlXTsKICAgICBfZWRpdERyb3BDYXJldFZpZXcgPSBu
aWw7CkBAIC04MTcxLDExICs4MjQwLDYgQEAgLSAodm9pZCljYW5jZWxBY3RpdmVUZXh0SW50ZXJh
Y3Rpb25HZXN0dXJlcwogICAgIFtbX3RleHRJbnRlcmFjdGlvbkFzc2lzdGFudCBmb3JjZVByZXNz
R2VzdHVyZV0gX3drX2NhbmNlbF07CiB9CiAKLS0gKFVJVmlldyAqKXRleHRFZmZlY3RzV2luZG93
Ci17Ci0gICAgcmV0dXJuIFtVSVRleHRFZmZlY3RzV2luZG93IHNoYXJlZFRleHRFZmZlY3RzV2lu
ZG93Rm9yV2luZG93U2NlbmU6c2VsZi53aW5kb3cud2luZG93U2NlbmVdOwotfQotCiAtIChOU0Rp
Y3Rpb25hcnkgKilfYXV0b2ZpbGxDb250ZXh0CiB7CiAgICAgaWYgKCFzZWxmLl9oYXNGb2N1c2Vk
RWxlbWVudCkKQEAgLTgyNzEsMjQgKzgzMzUsMTEgQEAgc3RhdGljIFJldGFpblB0cjxVSVRhcmdl
dGVkUHJldmlldz4gY3JlYXRlRmFsbGJhY2tUYXJnZXRlZFByZXZpZXcoVUlWaWV3ICpyb290VmkK
ICAgICByZXR1cm4gYWRvcHROUyhbW1VJVGFyZ2V0ZWRQcmV2aWV3IGFsbG9jXSBpbml0V2l0aFZp
ZXc6c25hcHNob3RWaWV3IHBhcmFtZXRlcnM6cGFyYW1ldGVycy5nZXQoKSB0YXJnZXQ6dGFyZ2V0
LmdldCgpXSk7CiB9CiAKLS0gKHZvaWQpb3ZlcnJpZGVQb3NpdGlvblRyYWNraW5nVmlld0ZvclRh
cmdldGVkUHJldmlld0lmTmVjZXNzYXJ5OihVSVRhcmdldGVkUHJldmlldyAqKXRhcmdldGVkUHJl
dmlldyBjb250YWluZXJTY3JvbGxpbmdOb2RlSUQ6KFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRClz
Y3JvbGxpbmdOb2RlSUQKLXsKLSAgICBpZiAoIXNjcm9sbGluZ05vZGVJRCkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgVUlTY3JvbGxWaWV3ICpwb3NpdGlvblRyYWNraW5nVmlldyA9IHNlbGYud2Vi
Vmlldy5zY3JvbGxWaWV3OwotICAgIGlmIChhdXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IF9w
YWdlLT5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCkpCi0gICAgICAgIHBvc2l0aW9uVHJhY2tp
bmdWaWV3ID0gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNjcm9sbFZpZXdGb3JTY3JvbGxpbmdOb2Rl
SUQoc2Nyb2xsaW5nTm9kZUlEKTsKLQotICAgIGlmIChbdGFyZ2V0ZWRQcmV2aWV3IHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3NldE92ZXJyaWRlUG9zaXRpb25UcmFja2luZ1ZpZXc6KV0p
Ci0gICAgICAgIFt0YXJnZXRlZFByZXZpZXcgX3NldE92ZXJyaWRlUG9zaXRpb25UcmFja2luZ1Zp
ZXc6cG9zaXRpb25UcmFja2luZ1ZpZXddOwotfQotCiAtIChVSVRhcmdldGVkUHJldmlldyAqKV9j
cmVhdGVUYXJnZXRlZENvbnRleHRNZW51SGludFByZXZpZXdGb3JGb2N1c2VkRWxlbWVudAogewog
ICAgIFJldGFpblB0cjxVSVRhcmdldGVkUHJldmlldz4gdGFyZ2V0ZWRQcmV2aWV3ID0gY3JlYXRl
RmFsbGJhY2tUYXJnZXRlZFByZXZpZXcoc2VsZiwgc2VsZi5jb250YWluZXJGb3JDb250ZXh0TWVu
dUhpbnRQcmV2aWV3cywgX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaW50ZXJhY3Rpb25SZWN0
KTsKIAotICAgIFtzZWxmIG92ZXJyaWRlUG9zaXRpb25UcmFja2luZ1ZpZXdGb3JUYXJnZXRlZFBy
ZXZpZXdJZk5lY2Vzc2FyeTp0YXJnZXRlZFByZXZpZXcuZ2V0KCkgY29udGFpbmVyU2Nyb2xsaW5n
Tm9kZUlEOl9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmNvbnRhaW5lclNjcm9sbGluZ05vZGVJ
RF07CisgICAgW3NlbGYgX3VwZGF0ZVRhcmdldGVkUHJldmlld1Njcm9sbFZpZXdVc2luZ0NvbnRh
aW5lclNjcm9sbGluZ05vZGVJRDpfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5jb250YWluZXJT
Y3JvbGxpbmdOb2RlSURdOwogCiAgICAgX2NvbnRleHRNZW51SW50ZXJhY3Rpb25UYXJnZXRlZFBy
ZXZpZXcgPSBXVEZNb3ZlKHRhcmdldGVkUHJldmlldyk7CiAgICAgcmV0dXJuIF9jb250ZXh0TWVu
dUludGVyYWN0aW9uVGFyZ2V0ZWRQcmV2aWV3LmdldCgpOwpAQCAtODMxMSw3ICs4MzYyLDcgQEAg
LSAoVUlUYXJnZXRlZFByZXZpZXcgKilfY3JlYXRlVGFyZ2V0ZWRDb250ZXh0TWVudUhpbnRQcmV2
aWV3SWZQb3NzaWJsZQogICAgIGlmICghdGFyZ2V0ZWRQcmV2aWV3KQogICAgICAgICB0YXJnZXRl
ZFByZXZpZXcgPSBjcmVhdGVGYWxsYmFja1RhcmdldGVkUHJldmlldyhzZWxmLCBzZWxmLmNvbnRh
aW5lckZvckNvbnRleHRNZW51SGludFByZXZpZXdzLCBfcG9zaXRpb25JbmZvcm1hdGlvbi5ib3Vu
ZHMpOwogCi0gICAgW3NlbGYgb3ZlcnJpZGVQb3NpdGlvblRyYWNraW5nVmlld0ZvclRhcmdldGVk
UHJldmlld0lmTmVjZXNzYXJ5OnRhcmdldGVkUHJldmlldy5nZXQoKSBjb250YWluZXJTY3JvbGxp
bmdOb2RlSUQ6X3Bvc2l0aW9uSW5mb3JtYXRpb24uY29udGFpbmVyU2Nyb2xsaW5nTm9kZUlEXTsK
KyAgICBbc2VsZiBfdXBkYXRlVGFyZ2V0ZWRQcmV2aWV3U2Nyb2xsVmlld1VzaW5nQ29udGFpbmVy
U2Nyb2xsaW5nTm9kZUlEOl9wb3NpdGlvbkluZm9ybWF0aW9uLmNvbnRhaW5lclNjcm9sbGluZ05v
ZGVJRF07CiAKICAgICBfY29udGV4dE1lbnVJbnRlcmFjdGlvblRhcmdldGVkUHJldmlldyA9IFdU
Rk1vdmUodGFyZ2V0ZWRQcmV2aWV3KTsKICAgICByZXR1cm4gX2NvbnRleHRNZW51SW50ZXJhY3Rp
b25UYXJnZXRlZFByZXZpZXcuZ2V0KCk7CkBAIC04MzQyLDYgKzgzOTMsNyBAQCAtICh2b2lkKV9y
ZW1vdmVDb250ZXh0TWVudVZpZXdJZlBvc3NpYmxlCiAgICAgICAgIHJldHVybjsKICAgICAKICAg
ICBbc3RkOjpleGNoYW5nZShfY29udGV4dE1lbnVIaW50Q29udGFpbmVyVmlldywgbmlsKSByZW1v
dmVGcm9tU3VwZXJ2aWV3XTsKKyAgICBbc2VsZiBfcmVtb3ZlVGFyZ2V0ZWRQcmV2aWV3Vmlld3ND
b250YWluZXJWaWV3SWZQb3NzaWJsZV07CiB9CiAKICNlbmRpZiAvLyBVU0UoVUlDT05URVhUTUVO
VSkKQEAgLTg4MzcsNiArODg4OSw3IEBAIC0gKHZvaWQpZHJvcEludGVyYWN0aW9uOihVSURyb3BJ
bnRlcmFjdGlvbiAqKWludGVyYWN0aW9uIGl0ZW06KFVJRHJhZ0l0ZW0gKilpdGVtCiAtICh2b2lk
KWRyb3BJbnRlcmFjdGlvbjooVUlEcm9wSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBjb25jbHVk
ZURyb3A6KGlkIDxVSURyb3BTZXNzaW9uPilzZXNzaW9uCiB7CiAgICAgW3N0ZDo6ZXhjaGFuZ2Uo
X2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldywgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAg
ICBbc2VsZiBfcmVtb3ZlVGFyZ2V0ZWRQcmV2aWV3Vmlld3NDb250YWluZXJWaWV3SWZQb3NzaWJs
ZV07CiAgICAgW3N0ZDo6ZXhjaGFuZ2UoX3Zpc2libGVDb250ZW50Vmlld1NuYXBzaG90LCBuaWwp
IHJlbW92ZUZyb21TdXBlcnZpZXddOwogICAgIFtzdGQ6OmV4Y2hhbmdlKF91bnNlbGVjdGVkQ29u
dGVudFNuYXBzaG90LCBuaWwpIHJlbW92ZUZyb21TdXBlcnZpZXddOwogICAgIF9kcmFnRHJvcElu
dGVyYWN0aW9uU3RhdGUuY2xlYXJBbGxEZWxheWVkSXRlbVByZXZpZXdQcm92aWRlcnMoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428572</attachid>
            <date>2021-05-13 16:26:49 -0700</date>
            <delta_ts>2021-05-13 16:44:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224204-20210513172649.patch</filename>
            <type>text/plain</type>
            <size>14725</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggODY5NDFlMzJjZTQyNTU2MDFkNTIyNDg5ZGYwNjViN2VhZTQ1OWFhNS4uZWRl
Zjk1NTIyYTMzYWU2OGNiODdjMjJkYjgxMWVhM2M1NjBhZDkyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw0NSBAQAorMjAyMS0wNS0xMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU10gY29udGV4dG1lbnUgaGludHMgY2FuIGJlIGNsaXBwZWQgYnkgdGhlIFdL
V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0MjA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTUwNDYyMD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByMjc1NTYyIHRyaWVkIHRvIGZpeCB0
aGlzIGJ5IG1vdmluZyB0aGUgaW50ZXJhY3Rpb24gcHJldmlld3MgdG8gYSBzZXBhcmF0ZSBgVUlX
aW5kb3dgLCBidXQKKyAgICAgICAgdGhpcyBoYWQgdGhlIHVuZm9ydHVuYXRlIGNvbnNlcXVlbmNl
IG9mIHBsYWNpbmcgdGhvc2UgcHJldmlld3Mgb24gdG9wIG9mIGV2ZXJ5dGhpbmcgaW4gdGhlCisg
ICAgICAgIGN1cnJlbnQgYFVJV2luZG93YCAoZS5nLiBhYm92ZSB0aGUgc2hhcmUgc2hlZXQpLiBB
cyBzdWNoLCBXZWJLaXQgY2FuJ3QgdXNlIGEgYFVJV2luZG93YCBmb3IKKyAgICAgICAgdGhpcyBh
cyB0aGUgYFdLV2ViVmlld2AgaGFzIG5vIGlkZWEgd2hhdCB0aGUgdmlldyBoaWVyYXJjaHkgYWJv
dmUgaXQgbG9va3MgbGlrZS4KKworICAgICAgICBUZXN0OiBDb250ZXh0TWVudS5IaW50UHJldmll
d0NvbnRhaW5lcgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQ
cml2YXRlLmg6CisgICAgICAgIEFkZCBuZXcgU1BJIGAtW1dLVUlEZWxlZ2F0ZSBfY29udGV4dE1l
bnVIaW50UHJldmlld0NvbnRhaW5lclZpZXdGb3JXZWJWaWV3Ol1gIHRoYXQncyB1c2VkIGFzCisg
ICAgICAgIHRoZSBjb250YWluZXIgZm9yIHRoZSBgVUlQcmV2aWV3VGFyZ2V0YCBjcmVhdGVkIGZv
ciB0aGUgY29udGV4dG1lbnUgaGludCBwcmV2aWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjbGVh
blVwSW50ZXJhY3Rpb25dKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjbGVhblVwUmVsYXRl
ZFZpZXdzXSk6IEFkZGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9kaWRDb21taXRMb2Fk
Rm9yTWFpbkZyYW1lXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2NyZWF0ZVByZXZpZXdD
b250YWluZXJXaXRoTGF5ZXJOYW1lOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNvbnRh
aW5lckZvckRyb3BQcmV2aWV3c10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9yZW1vdmVD
b250YWluZXJGb3JEcm9wUHJldmlld3NdKTogQWRkZWQuCisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgY29udGFpbmVyRm9yRHJhZ1ByZXZpZXdzXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
X3JlbW92ZUNvbnRhaW5lckZvckRyYWdQcmV2aWV3c10pOiBBZGRlZC4KKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBjb250YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2aWV3c10pOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IF9yZW1vdmVDb250YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2
aWV3c10pOiBBZGRlZC4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjbGVhblVwRHJhZ1NvdXJj
ZVNlc3Npb25TdGF0ZV0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9yZW1vdmVDb250ZXh0
TWVudVZpZXdJZlBvc3NpYmxlXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZHJvcEludGVy
YWN0aW9uOmNvbmNsdWRlRHJvcDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfaGlkZVRh
cmdldGVkUHJldmlld0NvbnRhaW5lclZpZXdzXSk6IERlbGV0ZWQuCisgICAgICAgIENsZWFuIHVw
IGFuZCBjZW50cmFsaXplIGxvZ2ljIGFyb3VuZCBjcmVhdGluZyBhbmQgcmVtb3ZpbmcgaW50ZXJh
Y3Rpb24gcHJldmlldyBjb250YWluZXJzLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRpZE1vdmVUb1dpbmRvd10p
OgorICAgICAgICBJZiB0aGUgYFdLV2ViVmlld2AgaXMgcmVtb3ZlZCBmcm9tIGl0J3MgcGFyZW50
LCBtYWtlIHN1cmUgdG8gcmVtb3ZlIHRoZSBjb250ZXh0bWVudSBoaW50CisgICAgICAgIHByZXZp
ZXcgYXMgd2VsbCBhcyBpdCBjb3VsZCBiZSBvdXRzaWRlIHRoZSB2aWV3IGhpZXJhcmNoeSBvZiB0
aGUgYFdLV2ViVmlld2AgZnJvbSB0aGUgU1BJLgorCiAyMDIxLTA1LTEzICBNZWdhbiBHYXJkbmVy
ICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHRleHRJbmRpY2F0b3Ig
Ym91bmNlIGZvciBBcHBIaWdobGlnaHRzIG9uIHNjcm9sbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IDE4
MmQ2YjIyZDYyMjRmYzMxNmRhNDYyNDY2NDNlMmZhODljMzgzZTAuLjI0Njk5MjU5MDA4NGFlM2Mw
NjUzY2UwNGQ1MWUyYmY2ZWQ5MjkxNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtMTkxLDYgKzE5MSw3
IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtIChOU0FycmF5ICopX2F0dGFjaG1lbnRMaXN0Rm9y
V2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzb3VyY2VJc01hbmFnZWQ6KEJPT0wqKXNvdXJj
ZUlzTWFuYWdlZCBXS19BUElfQVZBSUxBQkxFKGlvcygxMC4zKSk7CiAtIChOU1VJbnRlZ2VyKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGluZGV4SW50b0F0dGFjaG1lbnRMaXN0Rm9yRWxl
bWVudDooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50IFdLX0FQSV9BVkFJTEFCTEUo
aW9zKDEwLjMpKTsKIC0gKFVJRWRnZUluc2V0cylfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyBmaW5hbE9ic2N1cmVkSW5zZXRzRm9yU2Nyb2xsVmlldzooVUlTY3JvbGxWaWV3ICopc2Nyb2xs
VmlldyB3aXRoVmVsb2NpdHk6KENHUG9pbnQpdmVsb2NpdHkgdGFyZ2V0Q29udGVudE9mZnNldDoo
aW5vdXQgQ0dQb2ludCAqKXRhcmdldENvbnRlbnRPZmZzZXQgV0tfQVBJX0FWQUlMQUJMRShpb3Mo
OS4wKSk7CistIChVSVZpZXcgKilfY29udGV4dE1lbnVIaW50UHJldmlld0NvbnRhaW5lclZpZXdG
b3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lP
U19UQkEpKTsKIC0gKFVJVmlld0NvbnRyb2xsZXIgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBwcmV2aWV3Vmlld0NvbnRyb2xsZXJGb3JVUkw6KE5TVVJMICopdXJsIGRlZmF1bHRBY3Rp
b25zOihOU0FycmF5PF9XS0VsZW1lbnRBY3Rpb24gKj4gKilhY3Rpb25zIGVsZW1lbnRJbmZvOihf
V0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1lbnRJbmZvIFdLX0FQSV9ERVBSRUNBVEVEX1dJ
VEhfUkVQTEFDRU1FTlQoIndlYlZpZXc6Y29udGV4dE1lbnVDb25maWd1cmF0aW9uRm9yRWxlbWVu
dDpjb21wbGV0aW9uSGFuZGxlcjoiLCBpb3MoOS4wLCAxMy4wKSk7CiAtIChVSVZpZXdDb250cm9s
bGVyICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJldmlld1ZpZXdDb250cm9sbGVy
Rm9yQW5pbWF0ZWRJbWFnZUF0VVJMOihOU1VSTCAqKXVybCBkZWZhdWx0QWN0aW9uczooTlNBcnJh
eTxfV0tFbGVtZW50QWN0aW9uICo+ICopYWN0aW9ucyBlbGVtZW50SW5mbzooX1dLQWN0aXZhdGVk
RWxlbWVudEluZm8gKillbGVtZW50SW5mbyBpbWFnZVNpemU6KENHU2l6ZSlpbWFnZVNpemUgV0tf
QVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2ViVmlldzpjb250ZXh0TWVudUNvbmZp
Z3VyYXRpb25Gb3JFbGVtZW50OmNvbXBsZXRpb25IYW5kbGVyOiIsIGlvcyg5LjAsIDEzLjApKTsK
IC0gKFVJVmlld0NvbnRyb2xsZXIgKilfcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyRm9yV2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKGlvcygxMC4wKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IDllNzlhNGI3
MGE0OTMwNWMyNmU3MmIwZTdiYjA2MDc2MGY0YTNjMWEuLmI2MDM3ZmJhNDBmZTZhOTIxOTBmZTU5
NDg1NGVkZjNiZDRiNWYwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3Lm1tCkBAIC0zNDksNiArMzQ5LDggQEAgLSAodm9pZClkaWRNb3ZlVG9XaW5kb3cK
IAogICAgIGlmIChzZWxmLndpbmRvdykKICAgICAgICAgW3NlbGYgc2V0VXBJbnRlcmFjdGlvbl07
CisgICAgZWxzZQorICAgICAgICBbc2VsZiBjbGVhblVwUmVsYXRlZFZpZXdzXTsKIH0KIAogQUxM
T1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCA4ZmY5MmI3
YzliOGFiOWU3MDdhODcxNjEzMDczOWUwZGY5MzE2Mjc1Li4yZDJmODc1OGZkZGY1MzU5NjgxZjc5
MjkwNTRhMTZkZGE0ODE0ODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC01MzEsNiArNTMxLDcgQEAgZW51
bSBjbGFzcyBQcm9jZWVkV2l0aEltYWdlRXh0cmFjdGlvbiA6IGJvb2wgewogCiAtICh2b2lkKXNl
dFVwSW50ZXJhY3Rpb247CiAtICh2b2lkKWNsZWFuVXBJbnRlcmFjdGlvbjsKKy0gKHZvaWQpY2xl
YW5VcFJlbGF0ZWRWaWV3czsKIAogLSAodm9pZClzY3JvbGxWaWV3V2lsbFN0YXJ0UGFuT3JQaW5j
aEdlc3R1cmU7CiAKQEAgLTU3OSw3ICs1ODAsNiBAQCBGT1JfRUFDSF9QUklWQVRFX1dLQ09OVEVO
VFZJRVdfQUNUSU9OKERFQ0xBUkVfV0tDT05URU5UVklFV19BQ1RJT05fRk9SX1dFQl9WSUVXKQog
LSAodm9pZClfZWxlbWVudERpZEZvY3VzOihjb25zdCBXZWJLaXQ6OkZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24mKWluZm9ybWF0aW9uIHVzZXJJc0ludGVyYWN0aW5nOihCT09MKXVzZXJJc0ludGVy
YWN0aW5nIGJsdXJQcmV2aW91c05vZGU6KEJPT0wpYmx1clByZXZpb3VzTm9kZSBhY3Rpdml0eVN0
YXRlQ2hhbmdlczooT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+KWFjdGl2
aXR5U3RhdGVDaGFuZ2VzIHVzZXJPYmplY3Q6KE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4gKil1
c2VyT2JqZWN0OwogLSAodm9pZClfdXBkYXRlSW5wdXRDb250ZXh0QWZ0ZXJCbHVycmluZ0FuZFJl
Zm9jdXNpbmdFbGVtZW50OwogLSAodm9pZClfZWxlbWVudERpZEJsdXI7Ci0tICh2b2lkKV9oaWRl
VGFyZ2V0ZWRQcmV2aWV3Q29udGFpbmVyVmlld3M7CiAtICh2b2lkKV9kaWRVcGRhdGVJbnB1dE1v
ZGU6KFdlYkNvcmU6OklucHV0TW9kZSltb2RlOwogLSAodm9pZClfZGlkVXBkYXRlRWRpdG9yU3Rh
dGU7CiAtICh2b2lkKV9oYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCmluZGV4IGY3OTBlNTAzMjU3ODk1OGI5ODRhZTZmYWUwZmU4MmNhZmI5MDY2NmEuLjUw
M2QzM2YyM2IyNjI4ZjliOGMxYjE1MDY2NzQ3YzYwNWYyZDZkZjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpA
QCAtMTA1OCw2ICsxMDU4LDEwIEBAIC0gKHZvaWQpY2xlYW5VcEludGVyYWN0aW9uCiAKICAgICBf
bGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdEludGVyYWN0aW9uU3RhcnQgPSB7IH07CiAKKyNp
ZiBVU0UoVUlDT05URVhUTUVOVSkKKyAgICBbc2VsZiBfcmVtb3ZlQ29udGV4dE1lbnVWaWV3SWZQ
b3NzaWJsZV07CisjZW5kaWYgLy8gVVNFKFVJQ09OVEVYVE1FTlUpCisKICNpZiBFTkFCTEUoRFJB
R19TVVBQT1JUKQogICAgIFtleGlzdGluZ0xvY2FsRHJhZ1Nlc3Npb25Db250ZXh0KF9kcmFnRHJv
cEludGVyYWN0aW9uU3RhdGUuZHJhZ1Nlc3Npb24oKSkgY2xlYW5VcFRlbXBvcmFyeURpcmVjdG9y
aWVzXTsKICAgICBbc2VsZiB0ZWFyZG93bkRyYWdBbmREcm9wSW50ZXJhY3Rpb25zXTsKQEAgLTEx
MTIsNiArMTExNiwxMCBAQCAtICh2b2lkKWNsZWFuVXBJbnRlcmFjdGlvbgogICAgIFtzZWxmIF90
ZWFyRG93bkltYWdlRXh0cmFjdGlvbl07CiAjZW5kaWYKIAorICAgIFtzZWxmIF9yZW1vdmVDb250
YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2aWV3c107CisgICAgW3NlbGYgX3JlbW92ZUNvbnRh
aW5lckZvckRyYWdQcmV2aWV3c107CisgICAgW3NlbGYgX3JlbW92ZUNvbnRhaW5lckZvckRyb3BQ
cmV2aWV3c107CisKICAgICBfaGFzU2V0VXBJbnRlcmFjdGlvbnMgPSBOTzsKICAgICBfc3VwcHJl
c3NTZWxlY3Rpb25Bc3Npc3RhbnRSZWFzb25zID0geyB9OwogCkBAIC0xMTIyLDYgKzExMzAsMTEg
QEAgLSAodm9pZCljbGVhblVwSW50ZXJhY3Rpb24KICAgICBfY2FjaGVkU2VsZWN0ZWRUZXh0UmFu
Z2UgPSBuaWw7CiB9CiAKKy0gKHZvaWQpY2xlYW5VcFJlbGF0ZWRWaWV3cworeworICAgIFtzZWxm
IF9yZW1vdmVDb250YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2aWV3c107Cit9CisKIC0gKHZv
aWQpX2NhbmNlbFBlbmRpbmdLZXlFdmVudEhhbmRsZXIKIHsKICAgICBpZiAoIV9wYWdlKQpAQCAt
NDU2Miw3ICs0NTc1LDkgQEAgLSAodm9pZClfZGlkQ29tbWl0TG9hZEZvck1haW5GcmFtZQogI2Vu
ZGlmCiAgICAgW3NlbGYgX2VsZW1lbnREaWRCbHVyXTsKICAgICBbc2VsZiBfY2FuY2VsTG9uZ1By
ZXNzR2VzdHVyZVJlY29nbml6ZXJdOwotICAgIFtzZWxmIF9oaWRlVGFyZ2V0ZWRQcmV2aWV3Q29u
dGFpbmVyVmlld3NdOworICAgIFtzZWxmIF9yZW1vdmVDb250YWluZXJGb3JDb250ZXh0TWVudUhp
bnRQcmV2aWV3c107CisgICAgW3NlbGYgX3JlbW92ZUNvbnRhaW5lckZvckRyYWdQcmV2aWV3c107
CisgICAgW3NlbGYgX3JlbW92ZUNvbnRhaW5lckZvckRyb3BQcmV2aWV3c107CiAgICAgW193ZWJW
aWV3IF9kaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lXTsKIAogICAgIF90ZXh0SW50ZXJhY3Rpb25E
aWRDaGFuZ2VGb2N1c2VkRWxlbWVudCA9IE5POwpAQCAtNzYzMyw0NSArNzY0OCw3MCBAQCAtIChS
ZXRhaW5QdHI8VUlWaWV3PilfY3JlYXRlUHJldmlld0NvbnRhaW5lcldpdGhMYXllck5hbWU6KE5T
U3RyaW5nICopbGF5ZXJOYW1lCiAgICAgYXV0byBjb250YWluZXIgPSBhZG9wdE5TKFtbVUlWaWV3
IGFsbG9jXSBpbml0XSk7CiAgICAgW2NvbnRhaW5lciBsYXllcl0uYW5jaG9yUG9pbnQgPSBDR1Bv
aW50WmVybzsKICAgICBbY29udGFpbmVyIGxheWVyXS5uYW1lID0gbGF5ZXJOYW1lOwotICAgIFtf
aW50ZXJhY3Rpb25WaWV3c0NvbnRhaW5lclZpZXcgYWRkU3Vidmlldzpjb250YWluZXIuZ2V0KCld
OwogICAgIHJldHVybiBjb250YWluZXI7CiB9CiAKIC0gKFVJVmlldyAqKWNvbnRhaW5lckZvckRy
b3BQcmV2aWV3cwogewotICAgIGlmICghX2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldykKKyAgICBp
ZiAoIV9kcm9wUHJldmlld0NvbnRhaW5lclZpZXcpIHsKICAgICAgICAgX2Ryb3BQcmV2aWV3Q29u
dGFpbmVyVmlldyA9IFtzZWxmIF9jcmVhdGVQcmV2aWV3Q29udGFpbmVyV2l0aExheWVyTmFtZTpA
IkRyb3AgUHJldmlldyBDb250YWluZXIiXTsKKyAgICAgICAgW19pbnRlcmFjdGlvblZpZXdzQ29u
dGFpbmVyVmlldyBhZGRTdWJ2aWV3Ol9kcm9wUHJldmlld0NvbnRhaW5lclZpZXcuZ2V0KCldOwor
ICAgIH0KIAogICAgIEFTU0VSVChbX2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldyBzdXBlcnZpZXdd
KTsKLSAgICBbX2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldyBzZXRIaWRkZW46Tk9dOwogICAgIHJl
dHVybiBfZHJvcFByZXZpZXdDb250YWluZXJWaWV3LmdldCgpOwogfQogCistICh2b2lkKV9yZW1v
dmVDb250YWluZXJGb3JEcm9wUHJldmlld3MKK3sKKyAgICBpZiAoIV9kcm9wUHJldmlld0NvbnRh
aW5lclZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIFtzdGQ6OmV4Y2hhbmdlKF9kcm9wUHJl
dmlld0NvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107Cit9CisKIC0gKFVJ
VmlldyAqKWNvbnRhaW5lckZvckRyYWdQcmV2aWV3cwogewotICAgIGlmICghX2RyYWdQcmV2aWV3
Q29udGFpbmVyVmlldykKKyAgICBpZiAoIV9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcpIHsKICAg
ICAgICAgX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldyA9IFtzZWxmIF9jcmVhdGVQcmV2aWV3Q29u
dGFpbmVyV2l0aExheWVyTmFtZTpAIkRyYWcgUHJldmlldyBDb250YWluZXIiXTsKKyAgICAgICAg
W19pbnRlcmFjdGlvblZpZXdzQ29udGFpbmVyVmlldyBhZGRTdWJ2aWV3Ol9kcmFnUHJldmlld0Nv
bnRhaW5lclZpZXcuZ2V0KCldOworICAgIH0KIAogICAgIEFTU0VSVChbX2RyYWdQcmV2aWV3Q29u
dGFpbmVyVmlldyBzdXBlcnZpZXddKTsKLSAgICBbX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldyBz
ZXRIaWRkZW46Tk9dOwogICAgIHJldHVybiBfZHJhZ1ByZXZpZXdDb250YWluZXJWaWV3LmdldCgp
OwogfQogCistICh2b2lkKV9yZW1vdmVDb250YWluZXJGb3JEcmFnUHJldmlld3MKK3sKKyAgICBp
ZiAoIV9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIFtz
dGQ6OmV4Y2hhbmdlKF9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1
cGVydmlld107Cit9CisKIC0gKFVJVmlldyAqKWNvbnRhaW5lckZvckNvbnRleHRNZW51SGludFBy
ZXZpZXdzCiB7Ci0gICAgaWYgKCFfY29udGV4dE1lbnVIaW50Q29udGFpbmVyVmlldykKKyAgICBp
ZiAoIV9jb250ZXh0TWVudUhpbnRDb250YWluZXJWaWV3KSB7CiAgICAgICAgIF9jb250ZXh0TWVu
dUhpbnRDb250YWluZXJWaWV3ID0gW3NlbGYgX2NyZWF0ZVByZXZpZXdDb250YWluZXJXaXRoTGF5
ZXJOYW1lOkAiQ29udGV4dCBNZW51IEhpbnQgUHJldmlldyBDb250YWluZXIiXTsKIAorICAgICAg
ICBSZXRhaW5QdHI8VUlWaWV3PiBjb250YWluZXJWaWV3OworICAgICAgICBpZiAoW3NlbGYud2Vi
Vmlld1VJRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfY29udGV4dE1lbnVI
aW50UHJldmlld0NvbnRhaW5lclZpZXdGb3JXZWJWaWV3OildKQorICAgICAgICAgICAgY29udGFp
bmVyVmlldyA9IFtzZWxmLndlYlZpZXdVSURlbGVnYXRlIF9jb250ZXh0TWVudUhpbnRQcmV2aWV3
Q29udGFpbmVyVmlld0ZvcldlYlZpZXc6c2VsZi53ZWJWaWV3XTsKKyAgICAgICAgaWYgKCFjb250
YWluZXJWaWV3KQorICAgICAgICAgICAgY29udGFpbmVyVmlldyA9IF9pbnRlcmFjdGlvblZpZXdz
Q29udGFpbmVyVmlldzsKKyAgICAgICAgW2NvbnRhaW5lclZpZXcgYWRkU3VidmlldzpfY29udGV4
dE1lbnVIaW50Q29udGFpbmVyVmlldy5nZXQoKV07CisgICAgfQorCiAgICAgQVNTRVJUKFtfY29u
dGV4dE1lbnVIaW50Q29udGFpbmVyVmlldyBzdXBlcnZpZXddKTsKLSAgICBbX2NvbnRleHRNZW51
SGludENvbnRhaW5lclZpZXcgc2V0SGlkZGVuOk5PXTsKICAgICByZXR1cm4gX2NvbnRleHRNZW51
SGludENvbnRhaW5lclZpZXcuZ2V0KCk7CiB9CiAKLS0gKHZvaWQpX2hpZGVUYXJnZXRlZFByZXZp
ZXdDb250YWluZXJWaWV3cworLSAodm9pZClfcmVtb3ZlQ29udGFpbmVyRm9yQ29udGV4dE1lbnVI
aW50UHJldmlld3MKIHsKLSAgICBbX2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldyBzZXRIaWRkZW46
WUVTXTsKLSAgICBbX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldyBzZXRIaWRkZW46WUVTXTsKLSAg
ICBbX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXcgc2V0SGlkZGVuOllFU107CisgICAgaWYg
KCFfY29udGV4dE1lbnVIaW50Q29udGFpbmVyVmlldykKKyAgICAgICAgcmV0dXJuOworCisgICAg
W3N0ZDo6ZXhjaGFuZ2UoX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3Zl
RnJvbVN1cGVydmlld107CiB9CiAKICNwcmFnbWEgbWFyayAtIFdLRGVmZXJyaW5nR2VzdHVyZVJl
Y29nbml6ZXJEZWxlZ2F0ZQpAQCAtNzk5Miw3ICs4MDMyLDcgQEAgLSAodm9pZCljbGVhblVwRHJh
Z1NvdXJjZVNlc3Npb25TdGF0ZQogICAgIFtbV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZCBzaGFy
ZWRJbnN0YW5jZV0gY2xlYXJSZWdpc3RyYXRpb25MaXN0c107CiAgICAgW3NlbGYgX3Jlc3RvcmVD
YWxsb3V0QmFySWZOZWVkZWRdOwogCi0gICAgW3N0ZDo6ZXhjaGFuZ2UoX2RyYWdQcmV2aWV3Q29u
dGFpbmVyVmlldywgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAgICBbc2VsZiBfcmVtb3Zl
Q29udGFpbmVyRm9yRHJhZ1ByZXZpZXdzXTsKICAgICBbc3RkOjpleGNoYW5nZShfdmlzaWJsZUNv
bnRlbnRWaWV3U25hcHNob3QsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107CiAgICAgW19lZGl0
RHJvcENhcmV0VmlldyByZW1vdmVdOwogICAgIF9lZGl0RHJvcENhcmV0VmlldyA9IG5pbDsKQEAg
LTg0MzEsNyArODQ3MSw3IEBAIC0gKHZvaWQpX3JlbW92ZUNvbnRleHRNZW51Vmlld0lmUG9zc2li
bGUKICAgICBpZiAoW3NlbGYgc2VsZWN0Q29udHJvbF0pCiAgICAgICAgIHJldHVybjsKICAgICAK
LSAgICBbc3RkOjpleGNoYW5nZShfY29udGV4dE1lbnVIaW50Q29udGFpbmVyVmlldywgbmlsKSBy
ZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAgICBbc2VsZiBfcmVtb3ZlQ29udGFpbmVyRm9yQ29udGV4
dE1lbnVIaW50UHJldmlld3NdOwogfQogCiAjZW5kaWYgLy8gVVNFKFVJQ09OVEVYVE1FTlUpCkBA
IC04OTI4LDcgKzg5NjgsNyBAQCAtICh2b2lkKWRyb3BJbnRlcmFjdGlvbjooVUlEcm9wSW50ZXJh
Y3Rpb24gKilpbnRlcmFjdGlvbiBpdGVtOihVSURyYWdJdGVtICopaXRlbQogCiAtICh2b2lkKWRy
b3BJbnRlcmFjdGlvbjooVUlEcm9wSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBjb25jbHVkZURy
b3A6KGlkIDxVSURyb3BTZXNzaW9uPilzZXNzaW9uCiB7Ci0gICAgW3N0ZDo6ZXhjaGFuZ2UoX2Ry
b3BQcmV2aWV3Q29udGFpbmVyVmlldywgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAgICBb
c2VsZiBfcmVtb3ZlQ29udGFpbmVyRm9yRHJvcFByZXZpZXdzXTsKICAgICBbc3RkOjpleGNoYW5n
ZShfdmlzaWJsZUNvbnRlbnRWaWV3U25hcHNob3QsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107
CiAgICAgW3N0ZDo6ZXhjaGFuZ2UoX3Vuc2VsZWN0ZWRDb250ZW50U25hcHNob3QsIG5pbCkgcmVt
b3ZlRnJvbVN1cGVydmlld107CiAgICAgX2RyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5jbGVhckFs
bERlbGF5ZWRJdGVtUHJldmlld1Byb3ZpZGVycygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDE3YTA5MDA1ZjgxZTRlNmIxOTAzZDZkZjRlMjMy
MzNjMGM1NWJlZDAuLjM4NGFhODJhYThhNjA3YjY5YmFhYjkxYTZhMzExMDJkOGE2NDc4ZDYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAyMS0wNS0xMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU10gY29udGV4dG1lbnUgaGludHMgY2FuIGJlIGNsaXBwZWQgYnkgdGhlIFdL
V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0MjA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NTUwNDYyMD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvQ29udGV4dE1lbnVzLm1tOgorICAgICAgICAoLVtUZXN0Q29udGV4dE1lbnVI
aW50UHJldmlld0NvbnRhaW5lclVJRGVsZWdhdGUgd2ViVmlldzpjb250ZXh0TWVudVdpbGxQcmVz
ZW50Rm9yRWxlbWVudDpdKTogQWRkZWQuCisgICAgICAgICgtW1Rlc3RDb250ZXh0TWVudUhpbnRQ
cmV2aWV3Q29udGFpbmVyVUlEZWxlZ2F0ZSBfY29udGV4dE1lbnVIaW50UHJldmlld0NvbnRhaW5l
clZpZXdGb3JXZWJWaWV3Ol0pOiBBZGRlZC4KKyAgICAgICAgKFRFU1QuQ29udGV4dE1lbnUuSGlu
dFByZXZpZXdDb250YWluZXIpOiBBZGRlZC4KKwogMjAyMS0wNS0xMyAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCB1bml0IHRlc3QgdXNp
bmcgV0tIVFRQQ29va2llU3RvcmVPYnNlcnZlciBhbmQgY29va2llcyByZWNlaXZlZCBmcm9tIEhU
VFAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ29u
dGV4dE1lbnVzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Db250
ZXh0TWVudXMubW0KaW5kZXggNjM0ZmI2NzE0OTFjNGMxMzNlYjRmYTc1N2M3OTNjNjU1MzVkOTBl
Mi4uMmQ4NWE4NGRlOGQwNjJjOTNlNGYwNDk2ZmIwNzQ4NGYxY2MzNGE4NSAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Db250ZXh0TWVudXMubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Db250ZXh0TWVudXMubW0K
QEAgLTQxLDYgKzQxLDcgQEAgc3RhdGljIGJvb2wgd2lsbENvbW1pdENhbGxlZDsKIHN0YXRpYyBi
b29sIHByZXZpZXdpbmdWaWV3Q29udHJvbGxlckNhbGxlZDsKIHN0YXRpYyBib29sIHByZXZpZXdB
Y3Rpb25JdGVtc0NhbGxlZDsKIHN0YXRpYyBib29sIGRpZEVuZENhbGxlZDsKK3N0YXRpYyBib29s
IGRpZEFza0ZvckhpbnRQcmV2aWV3Q29udGFpbmVyOwogc3RhdGljIGJvb2wgYWx0ZXJuYXRlVVJM
UmVxdWVzdGVkOwogc3RhdGljIFJldGFpblB0cjxOU1VSTD4gbGlua1VSTDsKIApAQCAtMzUyLDQg
KzM1MywzNSBAQCBURVNUKENvbnRleHRNZW51LCBESVNBQkxFRF9TdWdnZXN0ZWRBY3Rpb25zKQog
ICAgIEVYUEVDVF9UUlVFKHdpbGxQcmVzZW50Q2FsbGVkKTsKIH0KIAorQGludGVyZmFjZSBUZXN0
Q29udGV4dE1lbnVIaW50UHJldmlld0NvbnRhaW5lclVJRGVsZWdhdGUgOiBOU09iamVjdCA8V0tV
SURlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gVGVzdENvbnRleHRNZW51SGludFBy
ZXZpZXdDb250YWluZXJVSURlbGVnYXRlCisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBjb250ZXh0TWVudVdpbGxQcmVzZW50Rm9yRWxlbWVudDooV0tDb250ZXh0TWVudUVs
ZW1lbnRJbmZvICopZWxlbWVudEluZm8KK3sKKyAgICB3aWxsUHJlc2VudENhbGxlZCA9IHRydWU7
Cit9CisKKy0gKFVJVmlldyAqKV9jb250ZXh0TWVudUhpbnRQcmV2aWV3Q29udGFpbmVyVmlld0Zv
cldlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKK3sKKyAgICBkaWRBc2tGb3JIaW50UHJldmll
d0NvbnRhaW5lciA9IHRydWU7CisgICAgcmV0dXJuIG5pbDsKK30KKworQGVuZAorCisvLyBGSVhN
RTogUmUtZW5hYmxlIHRoaXMgdGVzdCBvbmNlIHJkYXI6Ly81OTYxMDE0MCBpcyByZXNvbHZlZAor
VEVTVChDb250ZXh0TWVudSwgRElTQUJMRURfSGludFByZXZpZXdDb250YWluZXIpCit7CisgICAg
YXV0byBkcml2ZXIgPSBjb250ZXh0TWVudVdlYlZpZXdEcml2ZXIoW1Rlc3RDb250ZXh0TWVudUhp
bnRQcmV2aWV3Q29udGFpbmVyVUlEZWxlZ2F0ZSBjbGFzc10pOworICAgIFtkcml2ZXIgYmVnaW46
XihCT09MIHJlc3VsdCkgeworICAgICAgICBFWFBFQ1RfVFJVRShyZXN1bHQpOworICAgICAgICBb
ZHJpdmVyIGNsaWNrRG93bl07CisgICAgICAgIFtkcml2ZXIgY2xpY2tVcF07CisgICAgfV07Cisg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZ3aWxsUHJlc2VudENhbGxlZCk7CisgICAgRVhQ
RUNUX1RSVUUoZGlkQXNrRm9ySGludFByZXZpZXdDb250YWluZXIpOworfQorCiAjZW5kaWYgLy8g
VVNFKFVJQ09OVEVYVE1FTlUpCg==
</data>
<flag name="commit-queue"
          id="449526"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428575</attachid>
            <date>2021-05-13 16:34:11 -0700</date>
            <delta_ts>2021-05-13 18:58:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224204-20210513173410.patch</filename>
            <type>text/plain</type>
            <size>14822</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggODY5NDFlMzJjZTQyNTU2MDFkNTIyNDg5ZGYwNjViN2VhZTQ1OWFhNS4uZDQz
ODJkNGNiYWUxNThmZGYyYjQ3Mzk2OTU0YjM1ODBkOWY4ZTIxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw0NSBAQAorMjAyMS0wNS0xMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU10gY29udGV4dG1lbnUgaGludHMgY2FuIGJlIGNsaXBwZWQgYnkgdGhlIFdL
V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0MjA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NzA4OTE3ND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByMjc1NTYyIHRyaWVkIHRvIGZpeCB0
aGlzIGJ5IG1vdmluZyB0aGUgaW50ZXJhY3Rpb24gcHJldmlld3MgdG8gYSBzZXBhcmF0ZSBgVUlX
aW5kb3dgLCBidXQKKyAgICAgICAgdGhpcyBoYWQgdGhlIHVuZm9ydHVuYXRlIGNvbnNlcXVlbmNl
IG9mIHBsYWNpbmcgdGhvc2UgcHJldmlld3Mgb24gdG9wIG9mIGV2ZXJ5dGhpbmcgaW4gdGhlCisg
ICAgICAgIGN1cnJlbnQgYFVJV2luZG93YCAoZS5nLiBhYm92ZSB0aGUgc2hhcmUgc2hlZXQpLiBB
cyBzdWNoLCBXZWJLaXQgY2FuJ3QgdXNlIGEgYFVJV2luZG93YCBmb3IKKyAgICAgICAgdGhpcyBh
cyB0aGUgYFdLV2ViVmlld2AgaGFzIG5vIGlkZWEgd2hhdCB0aGUgdmlldyBoaWVyYXJjaHkgYWJv
dmUgaXQgbG9va3MgbGlrZS4KKworICAgICAgICBUZXN0OiBDb250ZXh0TWVudS5IaW50UHJldmll
d0NvbnRhaW5lcgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQ
cml2YXRlLmg6CisgICAgICAgIEFkZCBuZXcgU1BJIGAtW1dLVUlEZWxlZ2F0ZSBfY29udGV4dE1l
bnVIaW50UHJldmlld0NvbnRhaW5lclZpZXdGb3JXZWJWaWV3Ol1gIHRoYXQncyB1c2VkIGFzCisg
ICAgICAgIHRoZSBjb250YWluZXIgZm9yIHRoZSBgVUlQcmV2aWV3VGFyZ2V0YCBjcmVhdGVkIGZv
ciB0aGUgY29udGV4dG1lbnUgaGludCBwcmV2aWV3LgorCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjbGVh
blVwSW50ZXJhY3Rpb25dKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjbGVhblVwUmVsYXRl
ZFZpZXdzXSk6IEFkZGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9kaWRDb21taXRMb2Fk
Rm9yTWFpbkZyYW1lXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2NyZWF0ZVByZXZpZXdD
b250YWluZXJXaXRoTGF5ZXJOYW1lOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNvbnRh
aW5lckZvckRyb3BQcmV2aWV3c10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9yZW1vdmVD
b250YWluZXJGb3JEcm9wUHJldmlld3NdKTogQWRkZWQuCisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgY29udGFpbmVyRm9yRHJhZ1ByZXZpZXdzXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
X3JlbW92ZUNvbnRhaW5lckZvckRyYWdQcmV2aWV3c10pOiBBZGRlZC4KKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBjb250YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2aWV3c10pOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IF9yZW1vdmVDb250YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2
aWV3c10pOiBBZGRlZC4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBjbGVhblVwRHJhZ1NvdXJj
ZVNlc3Npb25TdGF0ZV0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9yZW1vdmVDb250ZXh0
TWVudVZpZXdJZlBvc3NpYmxlXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZHJvcEludGVy
YWN0aW9uOmNvbmNsdWRlRHJvcDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfaGlkZVRh
cmdldGVkUHJldmlld0NvbnRhaW5lclZpZXdzXSk6IERlbGV0ZWQuCisgICAgICAgIENsZWFuIHVw
IGFuZCBjZW50cmFsaXplIGxvZ2ljIGFyb3VuZCBjcmVhdGluZyBhbmQgcmVtb3ZpbmcgaW50ZXJh
Y3Rpb24gcHJldmlldyBjb250YWluZXJzLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGRpZE1vdmVUb1dpbmRvd10p
OgorICAgICAgICBJZiB0aGUgYFdLV2ViVmlld2AgaXMgcmVtb3ZlZCBmcm9tIGl0J3MgcGFyZW50
LCBtYWtlIHN1cmUgdG8gcmVtb3ZlIHRoZSBjb250ZXh0bWVudSBoaW50CisgICAgICAgIHByZXZp
ZXcgYXMgd2VsbCBhcyBpdCBjb3VsZCBiZSBvdXRzaWRlIHRoZSB2aWV3IGhpZXJhcmNoeSBvZiB0
aGUgYFdLV2ViVmlld2AgZnJvbSB0aGUgU1BJLgorCiAyMDIxLTA1LTEzICBNZWdhbiBHYXJkbmVy
ICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHRleHRJbmRpY2F0b3Ig
Ym91bmNlIGZvciBBcHBIaWdobGlnaHRzIG9uIHNjcm9sbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IDE4
MmQ2YjIyZDYyMjRmYzMxNmRhNDYyNDY2NDNlMmZhODljMzgzZTAuLjI0Njk5MjU5MDA4NGFlM2Mw
NjUzY2UwNGQ1MWUyYmY2ZWQ5MjkxNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtMTkxLDYgKzE5MSw3
IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtIChOU0FycmF5ICopX2F0dGFjaG1lbnRMaXN0Rm9y
V2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzb3VyY2VJc01hbmFnZWQ6KEJPT0wqKXNvdXJj
ZUlzTWFuYWdlZCBXS19BUElfQVZBSUxBQkxFKGlvcygxMC4zKSk7CiAtIChOU1VJbnRlZ2VyKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGluZGV4SW50b0F0dGFjaG1lbnRMaXN0Rm9yRWxl
bWVudDooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50IFdLX0FQSV9BVkFJTEFCTEUo
aW9zKDEwLjMpKTsKIC0gKFVJRWRnZUluc2V0cylfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyBmaW5hbE9ic2N1cmVkSW5zZXRzRm9yU2Nyb2xsVmlldzooVUlTY3JvbGxWaWV3ICopc2Nyb2xs
VmlldyB3aXRoVmVsb2NpdHk6KENHUG9pbnQpdmVsb2NpdHkgdGFyZ2V0Q29udGVudE9mZnNldDoo
aW5vdXQgQ0dQb2ludCAqKXRhcmdldENvbnRlbnRPZmZzZXQgV0tfQVBJX0FWQUlMQUJMRShpb3Mo
OS4wKSk7CistIChVSVZpZXcgKilfY29udGV4dE1lbnVIaW50UHJldmlld0NvbnRhaW5lclZpZXdG
b3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lP
U19UQkEpKTsKIC0gKFVJVmlld0NvbnRyb2xsZXIgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBwcmV2aWV3Vmlld0NvbnRyb2xsZXJGb3JVUkw6KE5TVVJMICopdXJsIGRlZmF1bHRBY3Rp
b25zOihOU0FycmF5PF9XS0VsZW1lbnRBY3Rpb24gKj4gKilhY3Rpb25zIGVsZW1lbnRJbmZvOihf
V0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1lbnRJbmZvIFdLX0FQSV9ERVBSRUNBVEVEX1dJ
VEhfUkVQTEFDRU1FTlQoIndlYlZpZXc6Y29udGV4dE1lbnVDb25maWd1cmF0aW9uRm9yRWxlbWVu
dDpjb21wbGV0aW9uSGFuZGxlcjoiLCBpb3MoOS4wLCAxMy4wKSk7CiAtIChVSVZpZXdDb250cm9s
bGVyICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcHJldmlld1ZpZXdDb250cm9sbGVy
Rm9yQW5pbWF0ZWRJbWFnZUF0VVJMOihOU1VSTCAqKXVybCBkZWZhdWx0QWN0aW9uczooTlNBcnJh
eTxfV0tFbGVtZW50QWN0aW9uICo+ICopYWN0aW9ucyBlbGVtZW50SW5mbzooX1dLQWN0aXZhdGVk
RWxlbWVudEluZm8gKillbGVtZW50SW5mbyBpbWFnZVNpemU6KENHU2l6ZSlpbWFnZVNpemUgV0tf
QVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2ViVmlldzpjb250ZXh0TWVudUNvbmZp
Z3VyYXRpb25Gb3JFbGVtZW50OmNvbXBsZXRpb25IYW5kbGVyOiIsIGlvcyg5LjAsIDEzLjApKTsK
IC0gKFVJVmlld0NvbnRyb2xsZXIgKilfcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyRm9yV2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKGlvcygxMC4wKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IDllNzlhNGI3
MGE0OTMwNWMyNmU3MmIwZTdiYjA2MDc2MGY0YTNjMWEuLmI2MDM3ZmJhNDBmZTZhOTIxOTBmZTU5
NDg1NGVkZjNiZDRiNWYwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3Lm1tCkBAIC0zNDksNiArMzQ5LDggQEAgLSAodm9pZClkaWRNb3ZlVG9XaW5kb3cK
IAogICAgIGlmIChzZWxmLndpbmRvdykKICAgICAgICAgW3NlbGYgc2V0VXBJbnRlcmFjdGlvbl07
CisgICAgZWxzZQorICAgICAgICBbc2VsZiBjbGVhblVwUmVsYXRlZFZpZXdzXTsKIH0KIAogQUxM
T1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCA4ZmY5MmI3
YzliOGFiOWU3MDdhODcxNjEzMDczOWUwZGY5MzE2Mjc1Li4yZDJmODc1OGZkZGY1MzU5NjgxZjc5
MjkwNTRhMTZkZGE0ODE0ODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC01MzEsNiArNTMxLDcgQEAgZW51
bSBjbGFzcyBQcm9jZWVkV2l0aEltYWdlRXh0cmFjdGlvbiA6IGJvb2wgewogCiAtICh2b2lkKXNl
dFVwSW50ZXJhY3Rpb247CiAtICh2b2lkKWNsZWFuVXBJbnRlcmFjdGlvbjsKKy0gKHZvaWQpY2xl
YW5VcFJlbGF0ZWRWaWV3czsKIAogLSAodm9pZClzY3JvbGxWaWV3V2lsbFN0YXJ0UGFuT3JQaW5j
aEdlc3R1cmU7CiAKQEAgLTU3OSw3ICs1ODAsNiBAQCBGT1JfRUFDSF9QUklWQVRFX1dLQ09OVEVO
VFZJRVdfQUNUSU9OKERFQ0xBUkVfV0tDT05URU5UVklFV19BQ1RJT05fRk9SX1dFQl9WSUVXKQog
LSAodm9pZClfZWxlbWVudERpZEZvY3VzOihjb25zdCBXZWJLaXQ6OkZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24mKWluZm9ybWF0aW9uIHVzZXJJc0ludGVyYWN0aW5nOihCT09MKXVzZXJJc0ludGVy
YWN0aW5nIGJsdXJQcmV2aW91c05vZGU6KEJPT0wpYmx1clByZXZpb3VzTm9kZSBhY3Rpdml0eVN0
YXRlQ2hhbmdlczooT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+KWFjdGl2
aXR5U3RhdGVDaGFuZ2VzIHVzZXJPYmplY3Q6KE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4gKil1
c2VyT2JqZWN0OwogLSAodm9pZClfdXBkYXRlSW5wdXRDb250ZXh0QWZ0ZXJCbHVycmluZ0FuZFJl
Zm9jdXNpbmdFbGVtZW50OwogLSAodm9pZClfZWxlbWVudERpZEJsdXI7Ci0tICh2b2lkKV9oaWRl
VGFyZ2V0ZWRQcmV2aWV3Q29udGFpbmVyVmlld3M7CiAtICh2b2lkKV9kaWRVcGRhdGVJbnB1dE1v
ZGU6KFdlYkNvcmU6OklucHV0TW9kZSltb2RlOwogLSAodm9pZClfZGlkVXBkYXRlRWRpdG9yU3Rh
dGU7CiAtICh2b2lkKV9oYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCmluZGV4IGY3OTBlNTAzMjU3ODk1OGI5ODRhZTZmYWUwZmU4MmNhZmI5MDY2NmEuLmFj
NzdhOGEzZTUyNGYwZGJhOTk5OTdiMWQ0MzQ3NTM4NTM5NTZlZGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpA
QCAtMTA1OCw2ICsxMDU4LDEwIEBAIC0gKHZvaWQpY2xlYW5VcEludGVyYWN0aW9uCiAKICAgICBf
bGF5ZXJUcmVlVHJhbnNhY3Rpb25JZEF0TGFzdEludGVyYWN0aW9uU3RhcnQgPSB7IH07CiAKKyNp
ZiBVU0UoVUlDT05URVhUTUVOVSkKKyAgICBbc2VsZiBfcmVtb3ZlQ29udGV4dE1lbnVWaWV3SWZQ
b3NzaWJsZV07CisjZW5kaWYgLy8gVVNFKFVJQ09OVEVYVE1FTlUpCisKICNpZiBFTkFCTEUoRFJB
R19TVVBQT1JUKQogICAgIFtleGlzdGluZ0xvY2FsRHJhZ1Nlc3Npb25Db250ZXh0KF9kcmFnRHJv
cEludGVyYWN0aW9uU3RhdGUuZHJhZ1Nlc3Npb24oKSkgY2xlYW5VcFRlbXBvcmFyeURpcmVjdG9y
aWVzXTsKICAgICBbc2VsZiB0ZWFyZG93bkRyYWdBbmREcm9wSW50ZXJhY3Rpb25zXTsKQEAgLTEx
MTIsNiArMTExNiwxMCBAQCAtICh2b2lkKWNsZWFuVXBJbnRlcmFjdGlvbgogICAgIFtzZWxmIF90
ZWFyRG93bkltYWdlRXh0cmFjdGlvbl07CiAjZW5kaWYKIAorICAgIFtzZWxmIF9yZW1vdmVDb250
YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2aWV3c107CisgICAgW3NlbGYgX3JlbW92ZUNvbnRh
aW5lckZvckRyYWdQcmV2aWV3c107CisgICAgW3NlbGYgX3JlbW92ZUNvbnRhaW5lckZvckRyb3BQ
cmV2aWV3c107CisKICAgICBfaGFzU2V0VXBJbnRlcmFjdGlvbnMgPSBOTzsKICAgICBfc3VwcHJl
c3NTZWxlY3Rpb25Bc3Npc3RhbnRSZWFzb25zID0geyB9OwogCkBAIC0xMTIyLDYgKzExMzAsMTEg
QEAgLSAodm9pZCljbGVhblVwSW50ZXJhY3Rpb24KICAgICBfY2FjaGVkU2VsZWN0ZWRUZXh0UmFu
Z2UgPSBuaWw7CiB9CiAKKy0gKHZvaWQpY2xlYW5VcFJlbGF0ZWRWaWV3cworeworICAgIFtzZWxm
IF9yZW1vdmVDb250YWluZXJGb3JDb250ZXh0TWVudUhpbnRQcmV2aWV3c107Cit9CisKIC0gKHZv
aWQpX2NhbmNlbFBlbmRpbmdLZXlFdmVudEhhbmRsZXIKIHsKICAgICBpZiAoIV9wYWdlKQpAQCAt
NDU2Miw3ICs0NTc1LDkgQEAgLSAodm9pZClfZGlkQ29tbWl0TG9hZEZvck1haW5GcmFtZQogI2Vu
ZGlmCiAgICAgW3NlbGYgX2VsZW1lbnREaWRCbHVyXTsKICAgICBbc2VsZiBfY2FuY2VsTG9uZ1By
ZXNzR2VzdHVyZVJlY29nbml6ZXJdOwotICAgIFtzZWxmIF9oaWRlVGFyZ2V0ZWRQcmV2aWV3Q29u
dGFpbmVyVmlld3NdOworICAgIFtzZWxmIF9yZW1vdmVDb250YWluZXJGb3JDb250ZXh0TWVudUhp
bnRQcmV2aWV3c107CisgICAgW3NlbGYgX3JlbW92ZUNvbnRhaW5lckZvckRyYWdQcmV2aWV3c107
CisgICAgW3NlbGYgX3JlbW92ZUNvbnRhaW5lckZvckRyb3BQcmV2aWV3c107CiAgICAgW193ZWJW
aWV3IF9kaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lXTsKIAogICAgIF90ZXh0SW50ZXJhY3Rpb25E
aWRDaGFuZ2VGb2N1c2VkRWxlbWVudCA9IE5POwpAQCAtNzYzMyw0NSArNzY0OCw3NSBAQCAtIChS
ZXRhaW5QdHI8VUlWaWV3PilfY3JlYXRlUHJldmlld0NvbnRhaW5lcldpdGhMYXllck5hbWU6KE5T
U3RyaW5nICopbGF5ZXJOYW1lCiAgICAgYXV0byBjb250YWluZXIgPSBhZG9wdE5TKFtbVUlWaWV3
IGFsbG9jXSBpbml0XSk7CiAgICAgW2NvbnRhaW5lciBsYXllcl0uYW5jaG9yUG9pbnQgPSBDR1Bv
aW50WmVybzsKICAgICBbY29udGFpbmVyIGxheWVyXS5uYW1lID0gbGF5ZXJOYW1lOwotICAgIFtf
aW50ZXJhY3Rpb25WaWV3c0NvbnRhaW5lclZpZXcgYWRkU3Vidmlldzpjb250YWluZXIuZ2V0KCld
OwogICAgIHJldHVybiBjb250YWluZXI7CiB9CiAKIC0gKFVJVmlldyAqKWNvbnRhaW5lckZvckRy
b3BQcmV2aWV3cwogewotICAgIGlmICghX2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldykKKyAgICBp
ZiAoIV9kcm9wUHJldmlld0NvbnRhaW5lclZpZXcpIHsKICAgICAgICAgX2Ryb3BQcmV2aWV3Q29u
dGFpbmVyVmlldyA9IFtzZWxmIF9jcmVhdGVQcmV2aWV3Q29udGFpbmVyV2l0aExheWVyTmFtZTpA
IkRyb3AgUHJldmlldyBDb250YWluZXIiXTsKKyAgICAgICAgW19pbnRlcmFjdGlvblZpZXdzQ29u
dGFpbmVyVmlldyBhZGRTdWJ2aWV3Ol9kcm9wUHJldmlld0NvbnRhaW5lclZpZXcuZ2V0KCldOwor
ICAgIH0KIAogICAgIEFTU0VSVChbX2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldyBzdXBlcnZpZXdd
KTsKLSAgICBbX2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldyBzZXRIaWRkZW46Tk9dOwogICAgIHJl
dHVybiBfZHJvcFByZXZpZXdDb250YWluZXJWaWV3LmdldCgpOwogfQogCistICh2b2lkKV9yZW1v
dmVDb250YWluZXJGb3JEcm9wUHJldmlld3MKK3sKKyAgICBpZiAoIV9kcm9wUHJldmlld0NvbnRh
aW5lclZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIFtzdGQ6OmV4Y2hhbmdlKF9kcm9wUHJl
dmlld0NvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107Cit9CisKIC0gKFVJ
VmlldyAqKWNvbnRhaW5lckZvckRyYWdQcmV2aWV3cwogewotICAgIGlmICghX2RyYWdQcmV2aWV3
Q29udGFpbmVyVmlldykKKyAgICBpZiAoIV9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcpIHsKICAg
ICAgICAgX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldyA9IFtzZWxmIF9jcmVhdGVQcmV2aWV3Q29u
dGFpbmVyV2l0aExheWVyTmFtZTpAIkRyYWcgUHJldmlldyBDb250YWluZXIiXTsKKyAgICAgICAg
W19pbnRlcmFjdGlvblZpZXdzQ29udGFpbmVyVmlldyBhZGRTdWJ2aWV3Ol9kcmFnUHJldmlld0Nv
bnRhaW5lclZpZXcuZ2V0KCldOworICAgIH0KIAogICAgIEFTU0VSVChbX2RyYWdQcmV2aWV3Q29u
dGFpbmVyVmlldyBzdXBlcnZpZXddKTsKLSAgICBbX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldyBz
ZXRIaWRkZW46Tk9dOwogICAgIHJldHVybiBfZHJhZ1ByZXZpZXdDb250YWluZXJWaWV3LmdldCgp
OwogfQogCistICh2b2lkKV9yZW1vdmVDb250YWluZXJGb3JEcmFnUHJldmlld3MKK3sKKyAgICBp
ZiAoIV9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIFtz
dGQ6OmV4Y2hhbmdlKF9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1
cGVydmlld107Cit9CisKIC0gKFVJVmlldyAqKWNvbnRhaW5lckZvckNvbnRleHRNZW51SGludFBy
ZXZpZXdzCiB7Ci0gICAgaWYgKCFfY29udGV4dE1lbnVIaW50Q29udGFpbmVyVmlldykKKyAgICBp
ZiAoIV9jb250ZXh0TWVudUhpbnRDb250YWluZXJWaWV3KSB7CiAgICAgICAgIF9jb250ZXh0TWVu
dUhpbnRDb250YWluZXJWaWV3ID0gW3NlbGYgX2NyZWF0ZVByZXZpZXdDb250YWluZXJXaXRoTGF5
ZXJOYW1lOkAiQ29udGV4dCBNZW51IEhpbnQgUHJldmlldyBDb250YWluZXIiXTsKIAorICAgICAg
ICBSZXRhaW5QdHI8VUlWaWV3PiBjb250YWluZXJWaWV3OworCisgICAgICAgIGlmIChhdXRvIHVp
RGVsZWdhdGUgPSBzdGF0aWNfY2FzdDxpZDxXS1VJRGVsZWdhdGVQcml2YXRlPj4oc2VsZi53ZWJW
aWV3LlVJRGVsZWdhdGUpKSB7CisgICAgICAgICAgICBpZiAoW3VpRGVsZWdhdGUgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3RvcihfY29udGV4dE1lbnVIaW50UHJldmlld0NvbnRhaW5lclZpZXdG
b3JXZWJWaWV3OildKQorICAgICAgICAgICAgICAgIGNvbnRhaW5lclZpZXcgPSBbdWlEZWxlZ2F0
ZSBfY29udGV4dE1lbnVIaW50UHJldmlld0NvbnRhaW5lclZpZXdGb3JXZWJWaWV3OnNlbGYud2Vi
Vmlld107CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWNvbnRhaW5lclZpZXcpCisgICAgICAg
ICAgICBjb250YWluZXJWaWV3ID0gX2ludGVyYWN0aW9uVmlld3NDb250YWluZXJWaWV3OworCisg
ICAgICAgIFtjb250YWluZXJWaWV3IGFkZFN1YnZpZXc6X2NvbnRleHRNZW51SGludENvbnRhaW5l
clZpZXcuZ2V0KCldOworICAgIH0KKwogICAgIEFTU0VSVChbX2NvbnRleHRNZW51SGludENvbnRh
aW5lclZpZXcgc3VwZXJ2aWV3XSk7Ci0gICAgW19jb250ZXh0TWVudUhpbnRDb250YWluZXJWaWV3
IHNldEhpZGRlbjpOT107CiAgICAgcmV0dXJuIF9jb250ZXh0TWVudUhpbnRDb250YWluZXJWaWV3
LmdldCgpOwogfQogCi0tICh2b2lkKV9oaWRlVGFyZ2V0ZWRQcmV2aWV3Q29udGFpbmVyVmlld3MK
Ky0gKHZvaWQpX3JlbW92ZUNvbnRhaW5lckZvckNvbnRleHRNZW51SGludFByZXZpZXdzCiB7Ci0g
ICAgW19kcm9wUHJldmlld0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOllFU107Ci0gICAgW19kcmFn
UHJldmlld0NvbnRhaW5lclZpZXcgc2V0SGlkZGVuOllFU107Ci0gICAgW19jb250ZXh0TWVudUhp
bnRDb250YWluZXJWaWV3IHNldEhpZGRlbjpZRVNdOworICAgIGlmICghX2NvbnRleHRNZW51SGlu
dENvbnRhaW5lclZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIFtzdGQ6OmV4Y2hhbmdlKF9j
b250ZXh0TWVudUhpbnRDb250YWluZXJWaWV3LCBuaWwpIHJlbW92ZUZyb21TdXBlcnZpZXddOwog
fQogCiAjcHJhZ21hIG1hcmsgLSBXS0RlZmVycmluZ0dlc3R1cmVSZWNvZ25pemVyRGVsZWdhdGUK
QEAgLTc5OTIsNyArODAzNyw3IEBAIC0gKHZvaWQpY2xlYW5VcERyYWdTb3VyY2VTZXNzaW9uU3Rh
dGUKICAgICBbW1dlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQgc2hhcmVkSW5zdGFuY2VdIGNsZWFy
UmVnaXN0cmF0aW9uTGlzdHNdOwogICAgIFtzZWxmIF9yZXN0b3JlQ2FsbG91dEJhcklmTmVlZGVk
XTsKIAotICAgIFtzdGQ6OmV4Y2hhbmdlKF9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcsIG5pbCkg
cmVtb3ZlRnJvbVN1cGVydmlld107CisgICAgW3NlbGYgX3JlbW92ZUNvbnRhaW5lckZvckRyYWdQ
cmV2aWV3c107CiAgICAgW3N0ZDo6ZXhjaGFuZ2UoX3Zpc2libGVDb250ZW50Vmlld1NuYXBzaG90
LCBuaWwpIHJlbW92ZUZyb21TdXBlcnZpZXddOwogICAgIFtfZWRpdERyb3BDYXJldFZpZXcgcmVt
b3ZlXTsKICAgICBfZWRpdERyb3BDYXJldFZpZXcgPSBuaWw7CkBAIC04NDMxLDcgKzg0NzYsNyBA
QCAtICh2b2lkKV9yZW1vdmVDb250ZXh0TWVudVZpZXdJZlBvc3NpYmxlCiAgICAgaWYgKFtzZWxm
IHNlbGVjdENvbnRyb2xdKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgW3N0ZDo6ZXhjaGFu
Z2UoX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmll
d107CisgICAgW3NlbGYgX3JlbW92ZUNvbnRhaW5lckZvckNvbnRleHRNZW51SGludFByZXZpZXdz
XTsKIH0KIAogI2VuZGlmIC8vIFVTRShVSUNPTlRFWFRNRU5VKQpAQCAtODkyOCw3ICs4OTczLDcg
QEAgLSAodm9pZClkcm9wSW50ZXJhY3Rpb246KFVJRHJvcEludGVyYWN0aW9uICopaW50ZXJhY3Rp
b24gaXRlbTooVUlEcmFnSXRlbSAqKWl0ZW0KIAogLSAodm9pZClkcm9wSW50ZXJhY3Rpb246KFVJ
RHJvcEludGVyYWN0aW9uICopaW50ZXJhY3Rpb24gY29uY2x1ZGVEcm9wOihpZCA8VUlEcm9wU2Vz
c2lvbj4pc2Vzc2lvbgogewotICAgIFtzdGQ6OmV4Y2hhbmdlKF9kcm9wUHJldmlld0NvbnRhaW5l
clZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107CisgICAgW3NlbGYgX3JlbW92ZUNvbnRh
aW5lckZvckRyb3BQcmV2aWV3c107CiAgICAgW3N0ZDo6ZXhjaGFuZ2UoX3Zpc2libGVDb250ZW50
Vmlld1NuYXBzaG90LCBuaWwpIHJlbW92ZUZyb21TdXBlcnZpZXddOwogICAgIFtzdGQ6OmV4Y2hh
bmdlKF91bnNlbGVjdGVkQ29udGVudFNuYXBzaG90LCBuaWwpIHJlbW92ZUZyb21TdXBlcnZpZXdd
OwogICAgIF9kcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuY2xlYXJBbGxEZWxheWVkSXRlbVByZXZp
ZXdQcm92aWRlcnMoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCAxN2EwOTAwNWY4MWU0ZTZiMTkwM2Q2ZGY0ZTIzMjMzYzBjNTViZWQwLi40MDY5
ODIzODg2YWMyNDU5NDUzZTU3OWQzOWY1OTk1NGFjMzYyMzM1IDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDUt
MTMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIGNv
bnRleHRtZW51IGhpbnRzIGNhbiBiZSBjbGlwcGVkIGJ5IHRoZSBXS1dlYlZpZXcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDIwNAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzcwODkxNzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0NvbnRl
eHRNZW51cy5tbToKKyAgICAgICAgKC1bVGVzdENvbnRleHRNZW51SGludFByZXZpZXdDb250YWlu
ZXJVSURlbGVnYXRlIHdlYlZpZXc6Y29udGV4dE1lbnVXaWxsUHJlc2VudEZvckVsZW1lbnQ6XSk6
IEFkZGVkLgorICAgICAgICAoLVtUZXN0Q29udGV4dE1lbnVIaW50UHJldmlld0NvbnRhaW5lclVJ
RGVsZWdhdGUgX2NvbnRleHRNZW51SGludFByZXZpZXdDb250YWluZXJWaWV3Rm9yV2ViVmlldzpd
KTogQWRkZWQuCisgICAgICAgIChURVNULkNvbnRleHRNZW51LkhpbnRQcmV2aWV3Q29udGFpbmVy
KTogQWRkZWQuCisKIDIwMjEtMDUtMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgdW5pdCB0ZXN0IHVzaW5nIFdLSFRUUENvb2tpZVN0
b3JlT2JzZXJ2ZXIgYW5kIGNvb2tpZXMgcmVjZWl2ZWQgZnJvbSBIVFRQCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0NvbnRleHRNZW51cy5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ29udGV4dE1lbnVzLm1tCmluZGV4
IDYzNGZiNjcxNDkxYzRjMTMzZWI0ZmE3NTdjNzkzYzY1NTM1ZDkwZTIuLjJkODVhODRkZThkMDYy
YzkzZTRmMDQ5NmZiMDc0ODRmMWNjMzRhODUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvQ29udGV4dE1lbnVzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ29udGV4dE1lbnVzLm1tCkBAIC00MSw2ICs0MSw3IEBA
IHN0YXRpYyBib29sIHdpbGxDb21taXRDYWxsZWQ7CiBzdGF0aWMgYm9vbCBwcmV2aWV3aW5nVmll
d0NvbnRyb2xsZXJDYWxsZWQ7CiBzdGF0aWMgYm9vbCBwcmV2aWV3QWN0aW9uSXRlbXNDYWxsZWQ7
CiBzdGF0aWMgYm9vbCBkaWRFbmRDYWxsZWQ7CitzdGF0aWMgYm9vbCBkaWRBc2tGb3JIaW50UHJl
dmlld0NvbnRhaW5lcjsKIHN0YXRpYyBib29sIGFsdGVybmF0ZVVSTFJlcXVlc3RlZDsKIHN0YXRp
YyBSZXRhaW5QdHI8TlNVUkw+IGxpbmtVUkw7CiAKQEAgLTM1Miw0ICszNTMsMzUgQEAgVEVTVChD
b250ZXh0TWVudSwgRElTQUJMRURfU3VnZ2VzdGVkQWN0aW9ucykKICAgICBFWFBFQ1RfVFJVRSh3
aWxsUHJlc2VudENhbGxlZCk7CiB9CiAKK0BpbnRlcmZhY2UgVGVzdENvbnRleHRNZW51SGludFBy
ZXZpZXdDb250YWluZXJVSURlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0ZT4KK0BlbmQK
KworQGltcGxlbWVudGF0aW9uIFRlc3RDb250ZXh0TWVudUhpbnRQcmV2aWV3Q29udGFpbmVyVUlE
ZWxlZ2F0ZQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY29udGV4dE1l
bnVXaWxsUHJlc2VudEZvckVsZW1lbnQ6KFdLQ29udGV4dE1lbnVFbGVtZW50SW5mbyAqKWVsZW1l
bnRJbmZvCit7CisgICAgd2lsbFByZXNlbnRDYWxsZWQgPSB0cnVlOworfQorCistIChVSVZpZXcg
KilfY29udGV4dE1lbnVIaW50UHJldmlld0NvbnRhaW5lclZpZXdGb3JXZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3Cit7CisgICAgZGlkQXNrRm9ySGludFByZXZpZXdDb250YWluZXIgPSB0cnVl
OworICAgIHJldHVybiBuaWw7Cit9CisKK0BlbmQKKworLy8gRklYTUU6IFJlLWVuYWJsZSB0aGlz
IHRlc3Qgb25jZSByZGFyOi8vNTk2MTAxNDAgaXMgcmVzb2x2ZWQKK1RFU1QoQ29udGV4dE1lbnUs
IERJU0FCTEVEX0hpbnRQcmV2aWV3Q29udGFpbmVyKQoreworICAgIGF1dG8gZHJpdmVyID0gY29u
dGV4dE1lbnVXZWJWaWV3RHJpdmVyKFtUZXN0Q29udGV4dE1lbnVIaW50UHJldmlld0NvbnRhaW5l
clVJRGVsZWdhdGUgY2xhc3NdKTsKKyAgICBbZHJpdmVyIGJlZ2luOl4oQk9PTCByZXN1bHQpIHsK
KyAgICAgICAgRVhQRUNUX1RSVUUocmVzdWx0KTsKKyAgICAgICAgW2RyaXZlciBjbGlja0Rvd25d
OworICAgICAgICBbZHJpdmVyIGNsaWNrVXBdOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmd2lsbFByZXNlbnRDYWxsZWQpOworICAgIEVYUEVDVF9UUlVFKGRpZEFza0Zv
ckhpbnRQcmV2aWV3Q29udGFpbmVyKTsKK30KKwogI2VuZGlmIC8vIFVTRShVSUNPTlRFWFRNRU5V
KQo=
</data>
<flag name="review"
          id="449524"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428593</attachid>
            <date>2021-05-13 18:58:35 -0700</date>
            <delta_ts>2021-05-14 11:56:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>224204.diff</filename>
            <type>text/plain</type>
            <size>14882</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggODY5NDFlMzJjZTQyNTU2MDFkNTIyNDg5ZGYwNjViN2VhZTQ1OWFhNS4uZDQz
ODJkNGNiYWUxNThmZGYyYjQ3Mzk2OTU0YjM1ODBkOWY4ZTIxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSw0NSBAQAorMjAyMS0wNS0xMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisK
KyAgICAgICAgW2lPU10gY29udGV4dG1lbnUgaGludHMgY2FuIGJlIGNsaXBwZWQgYnkgdGhlIFdL
V2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0MjA0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NzA4OTE3ND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgcjI3NTU2MiB0cmllZCB0byBmaXggdGhp
cyBieSBtb3ZpbmcgdGhlIGludGVyYWN0aW9uIHByZXZpZXdzIHRvIGEgc2VwYXJhdGUgYFVJV2lu
ZG93YCwgYnV0CisgICAgICAgIHRoaXMgaGFkIHRoZSB1bmZvcnR1bmF0ZSBjb25zZXF1ZW5jZSBv
ZiBwbGFjaW5nIHRob3NlIHByZXZpZXdzIG9uIHRvcCBvZiBldmVyeXRoaW5nIGluIHRoZQorICAg
ICAgICBjdXJyZW50IGBVSVdpbmRvd2AgKGUuZy4gYWJvdmUgdGhlIHNoYXJlIHNoZWV0KS4gQXMg
c3VjaCwgV2ViS2l0IGNhbid0IHVzZSBhIGBVSVdpbmRvd2AgZm9yCisgICAgICAgIHRoaXMgYXMg
dGhlIGBXS1dlYlZpZXdgIGhhcyBubyBpZGVhIHdoYXQgdGhlIHZpZXcgaGllcmFyY2h5IGFib3Zl
IGl0IGxvb2tzIGxpa2UuCisKKyAgICAgICAgVGVzdDogQ29udGV4dE1lbnUuSGludFByZXZpZXdD
b250YWluZXIKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJp
dmF0ZS5oOgorICAgICAgICBBZGQgbmV3IFNQSSBgLVtXS1VJRGVsZWdhdGUgX2NvbnRleHRNZW51
SGludFByZXZpZXdDb250YWluZXJWaWV3Rm9yV2ViVmlldzpdYCB0aGF0J3MgdXNlZCBhcworICAg
ICAgICB0aGUgY29udGFpbmVyIGZvciB0aGUgYFVJUHJldmlld1RhcmdldGAgY3JlYXRlZCBmb3Ig
dGhlIGNvbnRleHRtZW51IGhpbnQgcHJldmlldy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgY2xlYW5V
cEludGVyYWN0aW9uXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgY2xlYW5VcEludGVyYWN0
aW9uUHJldmlld0NvbnRhaW5lcnNdKTogQWRkZWQuCisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
X2RpZENvbW1pdExvYWRGb3JNYWluRnJhbWVdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBf
Y3JlYXRlUHJldmlld0NvbnRhaW5lcldpdGhMYXllck5hbWU6XSk6CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgY29udGFpbmVyRm9yRHJvcFByZXZpZXdzXSk6CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgX3JlbW92ZUNvbnRhaW5lckZvckRyb3BQcmV2aWV3c10pOiBBZGRlZC4KKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyBjb250YWluZXJGb3JEcmFnUHJldmlld3NdKToKKyAgICAgICAgKC1b
V0tDb250ZW50VmlldyBfcmVtb3ZlQ29udGFpbmVyRm9yRHJhZ1ByZXZpZXdzXSk6IEFkZGVkLgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNvbnRhaW5lckZvckNvbnRleHRNZW51SGludFByZXZp
ZXdzXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3JlbW92ZUNvbnRhaW5lckZvckNvbnRl
eHRNZW51SGludFByZXZpZXdzXSk6IEFkZGVkLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNs
ZWFuVXBEcmFnU291cmNlU2Vzc2lvblN0YXRlXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
X3JlbW92ZUNvbnRleHRNZW51Vmlld0lmUG9zc2libGVdKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBkcm9wSW50ZXJhY3Rpb246Y29uY2x1ZGVEcm9wOl0pOgorICAgICAgICAoLVtXS0NvbnRl
bnRWaWV3IF9oaWRlVGFyZ2V0ZWRQcmV2aWV3Q29udGFpbmVyVmlld3NdKTogRGVsZXRlZC4KKyAg
ICAgICAgQ2xlYW4gdXAgYW5kIGNlbnRyYWxpemUgbG9naWMgYXJvdW5kIGNyZWF0aW5nIGFuZCBy
ZW1vdmluZyBpbnRlcmFjdGlvbiBwcmV2aWV3IGNvbnRhaW5lcnMuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgZGlk
TW92ZVRvV2luZG93XSk6CisgICAgICAgIElmIHRoZSBgV0tXZWJWaWV3YCBpcyByZW1vdmVkIGZy
b20gaXQncyBwYXJlbnQsIG1ha2Ugc3VyZSB0byByZW1vdmUgdGhlIGNvbnRleHRtZW51IGhpbnQK
KyAgICAgICAgcHJldmlldyBhcyB3ZWxsIGFzIGl0IGNvdWxkIGJlIG91dHNpZGUgdGhlIHZpZXcg
aGllcmFyY2h5IG9mIHRoZSBgV0tXZWJWaWV3YCBmcm9tIHRoZSBTUEkuCisKIDIwMjEtMDUtMTMg
IE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
dGV4dEluZGljYXRvciBib3VuY2UgZm9yIEFwcEhpZ2hsaWdodHMgb24gc2Nyb2xsLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZh
dGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2
YXRlLmgKaW5kZXggMTgyZDZiMjJkNjIyNGZjMzE2ZGE0NjI0NjY0M2UyZmE4OWMzODNlMC4uMjQ2
OTkyNTkwMDg0YWUzYzA2NTNjZTA0ZDUxZTJiZjZlZDkyOTE1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCkBA
IC0xOTEsNiArMTkxLDcgQEAgc3RydWN0IFVJRWRnZUluc2V0czsKIC0gKE5TQXJyYXkgKilfYXR0
YWNobWVudExpc3RGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNvdXJjZUlzTWFuYWdl
ZDooQk9PTCopc291cmNlSXNNYW5hZ2VkIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDEwLjMpKTsKIC0g
KE5TVUludGVnZXIpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgaW5kZXhJbnRvQXR0YWNo
bWVudExpc3RGb3JFbGVtZW50OihfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1lbnQgV0tf
QVBJX0FWQUlMQUJMRShpb3MoMTAuMykpOwogLSAoVUlFZGdlSW5zZXRzKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IGZpbmFsT2JzY3VyZWRJbnNldHNGb3JTY3JvbGxWaWV3OihVSVNjcm9s
bFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWZWxvY2l0eTooQ0dQb2ludCl2ZWxvY2l0eSB0YXJnZXRD
b250ZW50T2Zmc2V0Oihpbm91dCBDR1BvaW50ICopdGFyZ2V0Q29udGVudE9mZnNldCBXS19BUElf
QVZBSUxBQkxFKGlvcyg5LjApKTsKKy0gKFVJVmlldyAqKV9jb250ZXh0TWVudUhpbnRQcmV2aWV3
Q29udGFpbmVyVmlld0ZvcldlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlM
QUJMRShpb3MoV0tfSU9TX1RCQSkpOwogLSAoVUlWaWV3Q29udHJvbGxlciAqKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IHByZXZpZXdWaWV3Q29udHJvbGxlckZvclVSTDooTlNVUkwgKil1
cmwgZGVmYXVsdEFjdGlvbnM6KE5TQXJyYXk8X1dLRWxlbWVudEFjdGlvbiAqPiAqKWFjdGlvbnMg
ZWxlbWVudEluZm86KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudEluZm8gV0tfQVBJ
X0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2ViVmlldzpjb250ZXh0TWVudUNvbmZpZ3Vy
YXRpb25Gb3JFbGVtZW50OmNvbXBsZXRpb25IYW5kbGVyOiIsIGlvcyg5LjAsIDEzLjApKTsKIC0g
KFVJVmlld0NvbnRyb2xsZXIgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBwcmV2aWV3
Vmlld0NvbnRyb2xsZXJGb3JBbmltYXRlZEltYWdlQXRVUkw6KE5TVVJMICopdXJsIGRlZmF1bHRB
Y3Rpb25zOihOU0FycmF5PF9XS0VsZW1lbnRBY3Rpb24gKj4gKilhY3Rpb25zIGVsZW1lbnRJbmZv
OihfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1lbnRJbmZvIGltYWdlU2l6ZTooQ0dTaXpl
KWltYWdlU2l6ZSBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJ3ZWJWaWV3OmNv
bnRleHRNZW51Q29uZmlndXJhdGlvbkZvckVsZW1lbnQ6Y29tcGxldGlvbkhhbmRsZXI6IiwgaW9z
KDkuMCwgMTMuMCkpOwogLSAoVUlWaWV3Q29udHJvbGxlciAqKV9wcmVzZW50aW5nVmlld0NvbnRy
b2xsZXJGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUoaW9z
KDEwLjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0K
aW5kZXggOWU3OWE0YjcwYTQ5MzA1YzI2ZTcyYjBlN2JiMDYwNzYwZjRhM2MxYS4uYjYwMzdmYmE0
MGZlNmE5MjE5MGZlNTk0ODU0ZWRmM2JkNGI1ZjBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KQEAgLTM0OSw2ICszNDksOCBAQCAtICh2b2lkKWRp
ZE1vdmVUb1dpbmRvdwogCiAgICAgaWYgKHNlbGYud2luZG93KQogICAgICAgICBbc2VsZiBzZXRV
cEludGVyYWN0aW9uXTsKKyAgICBlbHNlCisgICAgICAgIFtzZWxmIGNsZWFuVXBJbnRlcmFjdGlv
blByZXZpZXdDb250YWluZXJzXTsKIH0KIAogQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNf
QkVHSU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24uaAppbmRleCA4ZmY5MmI3YzliOGFiOWU3MDdhODcxNjEzMDczOWUwZGY5
MzE2Mjc1Li4yZDJmODc1OGZkZGY1MzU5NjgxZjc5MjkwNTRhMTZkZGE0ODE0ODA2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5oCkBAIC01MzEsNiArNTMxLDcgQEAgZW51bSBjbGFzcyBQcm9jZWVkV2l0aEltYWdlRXh0
cmFjdGlvbiA6IGJvb2wgewogCiAtICh2b2lkKXNldFVwSW50ZXJhY3Rpb247CiAtICh2b2lkKWNs
ZWFuVXBJbnRlcmFjdGlvbjsKKy0gKHZvaWQpY2xlYW5VcEludGVyYWN0aW9uUHJldmlld0NvbnRh
aW5lcnM7CiAKIC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxTdGFydFBhbk9yUGluY2hHZXN0dXJlOwog
CkBAIC01NzksNyArNTgwLDYgQEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRWSUVXX0FDVElP
TihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZPUl9XRUJfVklFVykKIC0gKHZvaWQpX2Vs
ZW1lbnREaWRGb2N1czooY29uc3QgV2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uJilp
bmZvcm1hdGlvbiB1c2VySXNJbnRlcmFjdGluZzooQk9PTCl1c2VySXNJbnRlcmFjdGluZyBibHVy
UHJldmlvdXNOb2RlOihCT09MKWJsdXJQcmV2aW91c05vZGUgYWN0aXZpdHlTdGF0ZUNoYW5nZXM6
KE9wdGlvblNldDxXZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjpGbGFnPilhY3Rpdml0eVN0YXRlQ2hh
bmdlcyB1c2VyT2JqZWN0OihOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+ICopdXNlck9iamVjdDsK
IC0gKHZvaWQpX3VwZGF0ZUlucHV0Q29udGV4dEFmdGVyQmx1cnJpbmdBbmRSZWZvY3VzaW5nRWxl
bWVudDsKIC0gKHZvaWQpX2VsZW1lbnREaWRCbHVyOwotLSAodm9pZClfaGlkZVRhcmdldGVkUHJl
dmlld0NvbnRhaW5lclZpZXdzOwogLSAodm9pZClfZGlkVXBkYXRlSW5wdXRNb2RlOihXZWJDb3Jl
OjpJbnB1dE1vZGUpbW9kZTsKIC0gKHZvaWQpX2RpZFVwZGF0ZUVkaXRvclN0YXRlOwogLSAodm9p
ZClfaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRl
eCBmNzkwZTUwMzI1Nzg5NThiOTg0YWU2ZmFlMGZlODJjYWZiOTA2NjZhLi5hYzc3YThhM2U1MjRm
MGRiYTk5OTk3YjFkNDM0NzUzODUzOTU2ZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTEwNTgsNiAr
MTA1OCwxMCBAQCAtICh2b2lkKWNsZWFuVXBJbnRlcmFjdGlvbgogCiAgICAgX2xheWVyVHJlZVRy
YW5zYWN0aW9uSWRBdExhc3RJbnRlcmFjdGlvblN0YXJ0ID0geyB9OwogCisjaWYgVVNFKFVJQ09O
VEVYVE1FTlUpCisgICAgW3NlbGYgX3JlbW92ZUNvbnRleHRNZW51Vmlld0lmUG9zc2libGVdOwor
I2VuZGlmIC8vIFVTRShVSUNPTlRFWFRNRU5VKQorCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
ICAgICBbZXhpc3RpbmdMb2NhbERyYWdTZXNzaW9uQ29udGV4dChfZHJhZ0Ryb3BJbnRlcmFjdGlv
blN0YXRlLmRyYWdTZXNzaW9uKCkpIGNsZWFuVXBUZW1wb3JhcnlEaXJlY3Rvcmllc107CiAgICAg
W3NlbGYgdGVhcmRvd25EcmFnQW5kRHJvcEludGVyYWN0aW9uc107CkBAIC0xMTEyLDYgKzExMTYs
MTAgQEAgLSAodm9pZCljbGVhblVwSW50ZXJhY3Rpb24KICAgICBbc2VsZiBfdGVhckRvd25JbWFn
ZUV4dHJhY3Rpb25dOwogI2VuZGlmCiAKKyAgICBbc2VsZiBfcmVtb3ZlQ29udGFpbmVyRm9yQ29u
dGV4dE1lbnVIaW50UHJldmlld3NdOworICAgIFtzZWxmIF9yZW1vdmVDb250YWluZXJGb3JEcmFn
UHJldmlld3NdOworICAgIFtzZWxmIF9yZW1vdmVDb250YWluZXJGb3JEcm9wUHJldmlld3NdOwor
CiAgICAgX2hhc1NldFVwSW50ZXJhY3Rpb25zID0gTk87CiAgICAgX3N1cHByZXNzU2VsZWN0aW9u
QXNzaXN0YW50UmVhc29ucyA9IHsgfTsKIApAQCAtMTEyMiw2ICsxMTMwLDExIEBAIC0gKHZvaWQp
Y2xlYW5VcEludGVyYWN0aW9uCiAgICAgX2NhY2hlZFNlbGVjdGVkVGV4dFJhbmdlID0gbmlsOwog
fQogCistICh2b2lkKWNsZWFuVXBJbnRlcmFjdGlvblByZXZpZXdDb250YWluZXJzCit7CisgICAg
W3NlbGYgX3JlbW92ZUNvbnRhaW5lckZvckNvbnRleHRNZW51SGludFByZXZpZXdzXTsKK30KKwog
LSAodm9pZClfY2FuY2VsUGVuZGluZ0tleUV2ZW50SGFuZGxlcgogewogICAgIGlmICghX3BhZ2Up
CkBAIC00NTYyLDcgKzQ1NzUsOSBAQCAtICh2b2lkKV9kaWRDb21taXRMb2FkRm9yTWFpbkZyYW1l
CiAjZW5kaWYKICAgICBbc2VsZiBfZWxlbWVudERpZEJsdXJdOwogICAgIFtzZWxmIF9jYW5jZWxM
b25nUHJlc3NHZXN0dXJlUmVjb2duaXplcl07Ci0gICAgW3NlbGYgX2hpZGVUYXJnZXRlZFByZXZp
ZXdDb250YWluZXJWaWV3c107CisgICAgW3NlbGYgX3JlbW92ZUNvbnRhaW5lckZvckNvbnRleHRN
ZW51SGludFByZXZpZXdzXTsKKyAgICBbc2VsZiBfcmVtb3ZlQ29udGFpbmVyRm9yRHJhZ1ByZXZp
ZXdzXTsKKyAgICBbc2VsZiBfcmVtb3ZlQ29udGFpbmVyRm9yRHJvcFByZXZpZXdzXTsKICAgICBb
X3dlYlZpZXcgX2RpZENvbW1pdExvYWRGb3JNYWluRnJhbWVdOwogCiAgICAgX3RleHRJbnRlcmFj
dGlvbkRpZENoYW5nZUZvY3VzZWRFbGVtZW50ID0gTk87CkBAIC03NjMzLDQ1ICs3NjQ4LDc1IEBA
IC0gKFJldGFpblB0cjxVSVZpZXc+KV9jcmVhdGVQcmV2aWV3Q29udGFpbmVyV2l0aExheWVyTmFt
ZTooTlNTdHJpbmcgKilsYXllck5hbWUKICAgICBhdXRvIGNvbnRhaW5lciA9IGFkb3B0TlMoW1tV
SVZpZXcgYWxsb2NdIGluaXRdKTsKICAgICBbY29udGFpbmVyIGxheWVyXS5hbmNob3JQb2ludCA9
IENHUG9pbnRaZXJvOwogICAgIFtjb250YWluZXIgbGF5ZXJdLm5hbWUgPSBsYXllck5hbWU7Ci0g
ICAgW19pbnRlcmFjdGlvblZpZXdzQ29udGFpbmVyVmlldyBhZGRTdWJ2aWV3OmNvbnRhaW5lci5n
ZXQoKV07CiAgICAgcmV0dXJuIGNvbnRhaW5lcjsKIH0KIAogLSAoVUlWaWV3ICopY29udGFpbmVy
Rm9yRHJvcFByZXZpZXdzCiB7Ci0gICAgaWYgKCFfZHJvcFByZXZpZXdDb250YWluZXJWaWV3KQor
ICAgIGlmICghX2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldykgewogICAgICAgICBfZHJvcFByZXZp
ZXdDb250YWluZXJWaWV3ID0gW3NlbGYgX2NyZWF0ZVByZXZpZXdDb250YWluZXJXaXRoTGF5ZXJO
YW1lOkAiRHJvcCBQcmV2aWV3IENvbnRhaW5lciJdOworICAgICAgICBbX2ludGVyYWN0aW9uVmll
d3NDb250YWluZXJWaWV3IGFkZFN1YnZpZXc6X2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldy5nZXQo
KV07CisgICAgfQogCiAgICAgQVNTRVJUKFtfZHJvcFByZXZpZXdDb250YWluZXJWaWV3IHN1cGVy
dmlld10pOwotICAgIFtfZHJvcFByZXZpZXdDb250YWluZXJWaWV3IHNldEhpZGRlbjpOT107CiAg
ICAgcmV0dXJuIF9kcm9wUHJldmlld0NvbnRhaW5lclZpZXcuZ2V0KCk7CiB9CiAKKy0gKHZvaWQp
X3JlbW92ZUNvbnRhaW5lckZvckRyb3BQcmV2aWV3cworeworICAgIGlmICghX2Ryb3BQcmV2aWV3
Q29udGFpbmVyVmlldykKKyAgICAgICAgcmV0dXJuOworCisgICAgW3N0ZDo6ZXhjaGFuZ2UoX2Ry
b3BQcmV2aWV3Q29udGFpbmVyVmlldywgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKK30KKwog
LSAoVUlWaWV3ICopY29udGFpbmVyRm9yRHJhZ1ByZXZpZXdzCiB7Ci0gICAgaWYgKCFfZHJhZ1By
ZXZpZXdDb250YWluZXJWaWV3KQorICAgIGlmICghX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldykg
ewogICAgICAgICBfZHJhZ1ByZXZpZXdDb250YWluZXJWaWV3ID0gW3NlbGYgX2NyZWF0ZVByZXZp
ZXdDb250YWluZXJXaXRoTGF5ZXJOYW1lOkAiRHJhZyBQcmV2aWV3IENvbnRhaW5lciJdOworICAg
ICAgICBbX2ludGVyYWN0aW9uVmlld3NDb250YWluZXJWaWV3IGFkZFN1YnZpZXc6X2RyYWdQcmV2
aWV3Q29udGFpbmVyVmlldy5nZXQoKV07CisgICAgfQogCiAgICAgQVNTRVJUKFtfZHJhZ1ByZXZp
ZXdDb250YWluZXJWaWV3IHN1cGVydmlld10pOwotICAgIFtfZHJhZ1ByZXZpZXdDb250YWluZXJW
aWV3IHNldEhpZGRlbjpOT107CiAgICAgcmV0dXJuIF9kcmFnUHJldmlld0NvbnRhaW5lclZpZXcu
Z2V0KCk7CiB9CiAKKy0gKHZvaWQpX3JlbW92ZUNvbnRhaW5lckZvckRyYWdQcmV2aWV3cworewor
ICAgIGlmICghX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldykKKyAgICAgICAgcmV0dXJuOworCisg
ICAgW3N0ZDo6ZXhjaGFuZ2UoX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldywgbmlsKSByZW1vdmVG
cm9tU3VwZXJ2aWV3XTsKK30KKwogLSAoVUlWaWV3ICopY29udGFpbmVyRm9yQ29udGV4dE1lbnVI
aW50UHJldmlld3MKIHsKLSAgICBpZiAoIV9jb250ZXh0TWVudUhpbnRDb250YWluZXJWaWV3KQor
ICAgIGlmICghX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXcpIHsKICAgICAgICAgX2NvbnRl
eHRNZW51SGludENvbnRhaW5lclZpZXcgPSBbc2VsZiBfY3JlYXRlUHJldmlld0NvbnRhaW5lcldp
dGhMYXllck5hbWU6QCJDb250ZXh0IE1lbnUgSGludCBQcmV2aWV3IENvbnRhaW5lciJdOwogCisg
ICAgICAgIFJldGFpblB0cjxVSVZpZXc+IGNvbnRhaW5lclZpZXc7CisKKyAgICAgICAgaWYgKGF1
dG8gdWlEZWxlZ2F0ZSA9IHN0YXRpY19jYXN0PGlkPFdLVUlEZWxlZ2F0ZVByaXZhdGU+PihzZWxm
LndlYlZpZXcuVUlEZWxlZ2F0ZSkpIHsKKyAgICAgICAgICAgIGlmIChbdWlEZWxlZ2F0ZSByZXNw
b25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9jb250ZXh0TWVudUhpbnRQcmV2aWV3Q29udGFpbmVy
Vmlld0ZvcldlYlZpZXc6KV0pCisgICAgICAgICAgICAgICAgY29udGFpbmVyVmlldyA9IFt1aURl
bGVnYXRlIF9jb250ZXh0TWVudUhpbnRQcmV2aWV3Q29udGFpbmVyVmlld0ZvcldlYlZpZXc6c2Vs
Zi53ZWJWaWV3XTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghY29udGFpbmVyVmlldykKKyAg
ICAgICAgICAgIGNvbnRhaW5lclZpZXcgPSBfaW50ZXJhY3Rpb25WaWV3c0NvbnRhaW5lclZpZXc7
CisKKyAgICAgICAgW2NvbnRhaW5lclZpZXcgYWRkU3VidmlldzpfY29udGV4dE1lbnVIaW50Q29u
dGFpbmVyVmlldy5nZXQoKV07CisgICAgfQorCiAgICAgQVNTRVJUKFtfY29udGV4dE1lbnVIaW50
Q29udGFpbmVyVmlldyBzdXBlcnZpZXddKTsKLSAgICBbX2NvbnRleHRNZW51SGludENvbnRhaW5l
clZpZXcgc2V0SGlkZGVuOk5PXTsKICAgICByZXR1cm4gX2NvbnRleHRNZW51SGludENvbnRhaW5l
clZpZXcuZ2V0KCk7CiB9CiAKLS0gKHZvaWQpX2hpZGVUYXJnZXRlZFByZXZpZXdDb250YWluZXJW
aWV3cworLSAodm9pZClfcmVtb3ZlQ29udGFpbmVyRm9yQ29udGV4dE1lbnVIaW50UHJldmlld3MK
IHsKLSAgICBbX2Ryb3BQcmV2aWV3Q29udGFpbmVyVmlldyBzZXRIaWRkZW46WUVTXTsKLSAgICBb
X2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldyBzZXRIaWRkZW46WUVTXTsKLSAgICBbX2NvbnRleHRN
ZW51SGludENvbnRhaW5lclZpZXcgc2V0SGlkZGVuOllFU107CisgICAgaWYgKCFfY29udGV4dE1l
bnVIaW50Q29udGFpbmVyVmlldykKKyAgICAgICAgcmV0dXJuOworCisgICAgW3N0ZDo6ZXhjaGFu
Z2UoX2NvbnRleHRNZW51SGludENvbnRhaW5lclZpZXcsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmll
d107CiB9CiAKICNwcmFnbWEgbWFyayAtIFdLRGVmZXJyaW5nR2VzdHVyZVJlY29nbml6ZXJEZWxl
Z2F0ZQpAQCAtNzk5Miw3ICs4MDM3LDcgQEAgLSAodm9pZCljbGVhblVwRHJhZ1NvdXJjZVNlc3Np
b25TdGF0ZQogICAgIFtbV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZCBzaGFyZWRJbnN0YW5jZV0g
Y2xlYXJSZWdpc3RyYXRpb25MaXN0c107CiAgICAgW3NlbGYgX3Jlc3RvcmVDYWxsb3V0QmFySWZO
ZWVkZWRdOwogCi0gICAgW3N0ZDo6ZXhjaGFuZ2UoX2RyYWdQcmV2aWV3Q29udGFpbmVyVmlldywg
bmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAgICBbc2VsZiBfcmVtb3ZlQ29udGFpbmVyRm9y
RHJhZ1ByZXZpZXdzXTsKICAgICBbc3RkOjpleGNoYW5nZShfdmlzaWJsZUNvbnRlbnRWaWV3U25h
cHNob3QsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107CiAgICAgW19lZGl0RHJvcENhcmV0Vmll
dyByZW1vdmVdOwogICAgIF9lZGl0RHJvcENhcmV0VmlldyA9IG5pbDsKQEAgLTg0MzEsNyArODQ3
Niw3IEBAIC0gKHZvaWQpX3JlbW92ZUNvbnRleHRNZW51Vmlld0lmUG9zc2libGUKICAgICBpZiAo
W3NlbGYgc2VsZWN0Q29udHJvbF0pCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBbc3RkOjpl
eGNoYW5nZShfY29udGV4dE1lbnVIaW50Q29udGFpbmVyVmlldywgbmlsKSByZW1vdmVGcm9tU3Vw
ZXJ2aWV3XTsKKyAgICBbc2VsZiBfcmVtb3ZlQ29udGFpbmVyRm9yQ29udGV4dE1lbnVIaW50UHJl
dmlld3NdOwogfQogCiAjZW5kaWYgLy8gVVNFKFVJQ09OVEVYVE1FTlUpCkBAIC04OTI4LDcgKzg5
NzMsNyBAQCAtICh2b2lkKWRyb3BJbnRlcmFjdGlvbjooVUlEcm9wSW50ZXJhY3Rpb24gKilpbnRl
cmFjdGlvbiBpdGVtOihVSURyYWdJdGVtICopaXRlbQogCiAtICh2b2lkKWRyb3BJbnRlcmFjdGlv
bjooVUlEcm9wSW50ZXJhY3Rpb24gKilpbnRlcmFjdGlvbiBjb25jbHVkZURyb3A6KGlkIDxVSURy
b3BTZXNzaW9uPilzZXNzaW9uCiB7Ci0gICAgW3N0ZDo6ZXhjaGFuZ2UoX2Ryb3BQcmV2aWV3Q29u
dGFpbmVyVmlldywgbmlsKSByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAgICBbc2VsZiBfcmVtb3Zl
Q29udGFpbmVyRm9yRHJvcFByZXZpZXdzXTsKICAgICBbc3RkOjpleGNoYW5nZShfdmlzaWJsZUNv
bnRlbnRWaWV3U25hcHNob3QsIG5pbCkgcmVtb3ZlRnJvbVN1cGVydmlld107CiAgICAgW3N0ZDo6
ZXhjaGFuZ2UoX3Vuc2VsZWN0ZWRDb250ZW50U25hcHNob3QsIG5pbCkgcmVtb3ZlRnJvbVN1cGVy
dmlld107CiAgICAgX2RyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5jbGVhckFsbERlbGF5ZWRJdGVt
UHJldmlld1Byb3ZpZGVycygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDE3YTA5MDA1ZjgxZTRlNmIxOTAzZDZkZjRlMjMyMzNjMGM1NWJlZDAu
LjQwNjk4MjM4ODZhYzI0NTk0NTNlNTc5ZDM5ZjU5OTU0YWMzNjIzMzUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAy
MS0wNS0xMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lP
U10gY29udGV4dG1lbnUgaGludHMgY2FuIGJlIGNsaXBwZWQgYnkgdGhlIFdLV2ViVmlldworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0MjA0CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS83NzA4OTE3ND4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5z
b24gSHNpZWguCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0Nv
bnRleHRNZW51cy5tbToKKyAgICAgICAgKC1bVGVzdENvbnRleHRNZW51SGludFByZXZpZXdDb250
YWluZXJVSURlbGVnYXRlIHdlYlZpZXc6Y29udGV4dE1lbnVXaWxsUHJlc2VudEZvckVsZW1lbnQ6
XSk6IEFkZGVkLgorICAgICAgICAoLVtUZXN0Q29udGV4dE1lbnVIaW50UHJldmlld0NvbnRhaW5l
clVJRGVsZWdhdGUgX2NvbnRleHRNZW51SGludFByZXZpZXdDb250YWluZXJWaWV3Rm9yV2ViVmll
dzpdKTogQWRkZWQuCisgICAgICAgIChURVNULkNvbnRleHRNZW51LkhpbnRQcmV2aWV3Q29udGFp
bmVyKTogQWRkZWQuCisKIDIwMjEtMDUtMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgdW5pdCB0ZXN0IHVzaW5nIFdLSFRUUENvb2tp
ZVN0b3JlT2JzZXJ2ZXIgYW5kIGNvb2tpZXMgcmVjZWl2ZWQgZnJvbSBIVFRQCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0NvbnRleHRNZW51cy5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ29udGV4dE1lbnVzLm1tCmlu
ZGV4IDYzNGZiNjcxNDkxYzRjMTMzZWI0ZmE3NTdjNzkzYzY1NTM1ZDkwZTIuLjJkODVhODRkZThk
MDYyYzkzZTRmMDQ5NmZiMDc0ODRmMWNjMzRhODUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ29udGV4dE1lbnVzLm1tCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQ29udGV4dE1lbnVzLm1tCkBAIC00MSw2ICs0MSw3
IEBAIHN0YXRpYyBib29sIHdpbGxDb21taXRDYWxsZWQ7CiBzdGF0aWMgYm9vbCBwcmV2aWV3aW5n
Vmlld0NvbnRyb2xsZXJDYWxsZWQ7CiBzdGF0aWMgYm9vbCBwcmV2aWV3QWN0aW9uSXRlbXNDYWxs
ZWQ7CiBzdGF0aWMgYm9vbCBkaWRFbmRDYWxsZWQ7CitzdGF0aWMgYm9vbCBkaWRBc2tGb3JIaW50
UHJldmlld0NvbnRhaW5lcjsKIHN0YXRpYyBib29sIGFsdGVybmF0ZVVSTFJlcXVlc3RlZDsKIHN0
YXRpYyBSZXRhaW5QdHI8TlNVUkw+IGxpbmtVUkw7CiAKQEAgLTM1Miw0ICszNTMsMzUgQEAgVEVT
VChDb250ZXh0TWVudSwgRElTQUJMRURfU3VnZ2VzdGVkQWN0aW9ucykKICAgICBFWFBFQ1RfVFJV
RSh3aWxsUHJlc2VudENhbGxlZCk7CiB9CiAKK0BpbnRlcmZhY2UgVGVzdENvbnRleHRNZW51SGlu
dFByZXZpZXdDb250YWluZXJVSURlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0ZT4KK0Bl
bmQKKworQGltcGxlbWVudGF0aW9uIFRlc3RDb250ZXh0TWVudUhpbnRQcmV2aWV3Q29udGFpbmVy
VUlEZWxlZ2F0ZQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY29udGV4
dE1lbnVXaWxsUHJlc2VudEZvckVsZW1lbnQ6KFdLQ29udGV4dE1lbnVFbGVtZW50SW5mbyAqKWVs
ZW1lbnRJbmZvCit7CisgICAgd2lsbFByZXNlbnRDYWxsZWQgPSB0cnVlOworfQorCistIChVSVZp
ZXcgKilfY29udGV4dE1lbnVIaW50UHJldmlld0NvbnRhaW5lclZpZXdGb3JXZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3Cit7CisgICAgZGlkQXNrRm9ySGludFByZXZpZXdDb250YWluZXIgPSB0
cnVlOworICAgIHJldHVybiBuaWw7Cit9CisKK0BlbmQKKworLy8gRklYTUU6IFJlLWVuYWJsZSB0
aGlzIHRlc3Qgb25jZSByZGFyOi8vNTk2MTAxNDAgaXMgcmVzb2x2ZWQKK1RFU1QoQ29udGV4dE1l
bnUsIERJU0FCTEVEX0hpbnRQcmV2aWV3Q29udGFpbmVyKQoreworICAgIGF1dG8gZHJpdmVyID0g
Y29udGV4dE1lbnVXZWJWaWV3RHJpdmVyKFtUZXN0Q29udGV4dE1lbnVIaW50UHJldmlld0NvbnRh
aW5lclVJRGVsZWdhdGUgY2xhc3NdKTsKKyAgICBbZHJpdmVyIGJlZ2luOl4oQk9PTCByZXN1bHQp
IHsKKyAgICAgICAgRVhQRUNUX1RSVUUocmVzdWx0KTsKKyAgICAgICAgW2RyaXZlciBjbGlja0Rv
d25dOworICAgICAgICBbZHJpdmVyIGNsaWNrVXBdOworICAgIH1dOworICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmd2lsbFByZXNlbnRDYWxsZWQpOworICAgIEVYUEVDVF9UUlVFKGRpZEFz
a0ZvckhpbnRQcmV2aWV3Q29udGFpbmVyKTsKK30KKwogI2VuZGlmIC8vIFVTRShVSUNPTlRFWFRN
RU5VKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>