<?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>172048</bug_id>
          
          <creation_ts>2017-05-12 14:10:19 -0700</creation_ts>
          <short_desc>Add objc version of WK2 UIPageClient hasVideoInPictureInPictureDidChange</short_desc>
          <delta_ts>2017-05-15 11:15:21 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>172023</dependson>
    
    <dependson>172121</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Jones">jeremyj-wk</reporter>
          <assigned_to name="Jeremy Jones">jeremyj-wk</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jlewis3</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1308051</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-05-12 14:10:19 -0700</bug_when>
    <thetext>Add objc version of WK2 UIPageClient setHasVideoInPictureInPicture</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308052</commentid>
    <comment_count>1</comment_count>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-05-12 14:11:48 -0700</bug_when>
    <thetext>rdar://problem/32163054</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308059</commentid>
    <comment_count>2</comment_count>
      <attachid>309944</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-05-12 14:20:11 -0700</bug_when>
    <thetext>Created attachment 309944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308064</commentid>
    <comment_count>3</comment_count>
      <attachid>309944</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-05-12 14:30:47 -0700</bug_when>
    <thetext>Comment on attachment 309944
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:63
&gt; +- (void)_webView:(WKWebView *)webView setHasVideoInPictureInPicture:(BOOL)hasVideoInPictureInPicture WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));

This is a weird signature for a delegate callback. It should be more like:

- (void)_webViewDidGainPictureInPictureVideo:(WKWebView *)webView
- (void)_webViewDidLosePictureInPictureVideo:(WKWebView *)webView

or 
- (void)_webView:(WKWebView *)webView hasVideoInPictureInPictureChangedTo:(BOOL)hasPIP

or something.

&gt; Source/WebKit2/UIProcess/Cocoa/UIDelegate.h:114
&gt; +        void setHasVideoInPictureInPicture(WebKit::WebPageProxy*, bool) override;

Should be be a &quot;set&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308071</commentid>
    <comment_count>4</comment_count>
      <attachid>309944</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-05-12 14:48:55 -0700</bug_when>
    <thetext>Comment on attachment 309944
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:63
&gt;&gt; +- (void)_webView:(WKWebView *)webView setHasVideoInPictureInPicture:(BOOL)hasVideoInPictureInPicture WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; 
&gt; This is a weird signature for a delegate callback. It should be more like:
&gt; 
&gt; - (void)_webViewDidGainPictureInPictureVideo:(WKWebView *)webView
&gt; - (void)_webViewDidLosePictureInPictureVideo:(WKWebView *)webView
&gt; 
&gt; or 
&gt; - (void)_webView:(WKWebView *)webView hasVideoInPictureInPictureChangedTo:(BOOL)hasPIP
&gt; 
&gt; or something.

How about 
-_webView:hasVideoInPictureInPictureDidChange:

&gt;&gt; Source/WebKit2/UIProcess/Cocoa/UIDelegate.h:114
&gt;&gt; +        void setHasVideoInPictureInPicture(WebKit::WebPageProxy*, bool) override;
&gt; 
&gt; Should be be a &quot;set&quot;.

I don&apos;t understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308077</commentid>
    <comment_count>5</comment_count>
      <attachid>309949</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-05-12 14:58:19 -0700</bug_when>
    <thetext>Created attachment 309949
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308087</commentid>
    <comment_count>6</comment_count>
      <attachid>309949</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-05-12 15:06:05 -0700</bug_when>
    <thetext>Comment on attachment 309949
Patch

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

&gt; Source/WebKit2/UIProcess/Cocoa/UIDelegate.h:114
&gt; +        void setHasVideoInPictureInPicture(WebKit::WebPageProxy*, bool) override;

This still doesn&apos;t feel the right name for a delegate callback. It should be a &quot;didChange&quot; rather than a &quot;setHas&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308089</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-05-12 15:08:19 -0700</bug_when>
    <thetext>(In reply to Jeremy Jones from comment #4)
&gt; &gt;&gt; Source/WebKit2/UIProcess/Cocoa/UIDelegate.h:114
&gt; &gt;&gt; +        void setHasVideoInPictureInPicture(WebKit::WebPageProxy*, bool) override;
&gt; &gt; 
&gt; &gt; Should be be a &quot;set&quot;.
&gt; 
&gt; I don&apos;t understand.

Sorry, should NOT be a &quot;set&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308110</commentid>
    <comment_count>8</comment_count>
      <attachid>309956</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-05-12 15:35:18 -0700</bug_when>
    <thetext>Created attachment 309956
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308140</commentid>
    <comment_count>9</comment_count>
      <attachid>309964</attachid>
    <who name="Jeremy Jones">jeremyj-wk</who>
    <bug_when>2017-05-12 16:14:54 -0700</bug_when>
    <thetext>Created attachment 309964
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308179</commentid>
    <comment_count>10</comment_count>
      <attachid>309964</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-12 17:32:27 -0700</bug_when>
    <thetext>Comment on attachment 309964
Patch for landing.

Clearing flags on attachment: 309964

Committed r216806: &lt;http://trac.webkit.org/changeset/216806&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308295</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-05-13 08:20:32 -0700</bug_when>
    <thetext>These API tests are timing out:

https://build.webkit.org/builders/Apple%20El%20Capitan%20Release%20WK2%20%28Tests%29/builds/1503/steps/run-api-tests/logs/stdio

Tests that timed out:
  PictureInPicture.WKPageUIClient
  PictureInPicture.WKUIDelegate</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309944</attachid>
            <date>2017-05-12 14:20:11 -0700</date>
            <delta_ts>2017-05-12 14:58:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172048-20170512142010.patch</filename>
            <type>text/plain</type>
            <size>12592</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzBlMTBmNTI5MDg4Yjhj
MjYxMjBhMWYwZWQyNGQyYWJiNWQ0NmE3ZC4uODNjNGMxOTIxMTA0M2U4OGE1MjkyZjI1NzU0ODY4
ZjlkOTg3ZGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE3LTA1LTEyICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgb2JqYyB2ZXJzaW9u
IG9mIFdLMiBVSVBhZ2VDbGllbnQgc2V0SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjA0OAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMDQ4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1pc3NpbmcgX2Fs
bG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrIHByb3BlcnR5IHRvIFdLUHJlZmVyZW5j
ZXMuCisgICAgICAgIEFkZCAtc2V0SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUgdG8gVUlEZWxl
Z2F0ZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbToK
KyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxh
eWJhY2tdKToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2V0QWxsb3dzUGljdHVyZUluUGlj
dHVyZU1lZGlhUGxheWJhY2s6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1By
ZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURl
bGVnYXRlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgIChXZWJL
aXQ6OlVJRGVsZWdhdGU6OnNldERlbGVnYXRlKToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0
ZTo6VUlDbGllbnQ6OnNldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlKToKKworMjAxNy0wNS0x
MiAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+CisKICAgICAgICAgQWRkIFVJQ2xp
ZW50IGNhbGxiYWNrIGZvciB3aGVuIHBpY3R1cmUtaW4tcGljdHVyZSBpcyBhY3RpdmF0ZWQuCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIwMjMKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVu
Y2VzLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2Vz
Lm1tCmluZGV4IDAxNTk4MGNhYTc4M2VkZTE3MDBmNDUzMDQzMGM1OGQ3MzUyZWYyN2MuLmE3YmQ2
MDA3OWVkMWMzMjhiN2Q2ZTc2MTkzYjVlMjc5OTMxM2VkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KQEAgLTIzNSw2ICsy
MzUsMTYgQEAgLSAodm9pZClfc2V0RnVsbFNjcmVlbkVuYWJsZWQ6KEJPT0wpZnVsbFNjcmVlbkVu
YWJsZWQKICAgICBfcHJlZmVyZW5jZXMtPnNldEZ1bGxTY3JlZW5FbmFibGVkKGZ1bGxTY3JlZW5F
bmFibGVkKTsKIH0KIAorLSAoQk9PTClfYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJh
Y2sKK3sKKyAgICByZXR1cm4gX3ByZWZlcmVuY2VzLT5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjaygpOworfQorCistICh2b2lkKV9zZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjazooQk9PTClhbGxvd2VkCit7CisgICAgX3ByZWZlcmVuY2VzLT5zZXRBbGxvd3NQ
aWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayhhbGxvd2VkKTsKK30KKwogLSAoQk9PTClfY29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZQogewogICAgIHJldHVybiBfcHJlZmVyZW5jZXMtPmNvbXBv
c2l0aW5nQm9yZGVyc1Zpc2libGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBiMWQwNzk5ZTUy
NDZhMzAwOGNjOThlZTI3YmI5ZDg5MjBhYmZiMTcyLi4wYWE2NjA4MWZjZDI4MGUxMmZhYTY4NTAy
MjgxODUyYWNjOTBhY2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC05Myw2ICs5Myw3IEBAIHR5
cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tKYXZhU2NyaXB0UnVudGltZUZsYWdzKSB7
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRPZmZsaW5lQXBwbGljYXRpb25DYWNo
ZUlzRW5hYmxlZDopIEJPT0wgX29mZmxpbmVBcHBsaWNhdGlvbkNhY2hlSXNFbmFibGVkOwogQHBy
b3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RnVsbFNjcmVlbkVuYWJsZWQ6KSBCT09MIF9m
dWxsU2NyZWVuRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMSksIGlvcyg5LjAp
KTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNob3VsZFN1cHByZXNzS2V5Ym9h
cmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbjopIEJPT0wgX3Nob3VsZFN1cHByZXNz
S2V5Ym9hcmRJbnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbiBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBzZXR0ZXI9X3NldEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOikgQk9P
TCBfYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goKFdLX01BQ19UQkEpKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0QXBwbGVQYXlDYXBhYmlsaXR5RGlzY2xvc3VyZUFsbG93ZWQ6KSBC
T09MIF9hcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxsb3dlZCBXS19BUElfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKaW5kZXggYTU2ZDM2
NGRhODQyYTQxN2E4YmI0ZmYxZWQzYzUyNTk0NTdlYTIxMS4uMDUxNTVjOTE5NmMwZDc5MjdhNjVk
OWY1Y2RkNDQ1NDBhMjdlYTc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTYwLDYgKzYwLDcgQEAg
c3RydWN0IFVJRWRnZUluc2V0czsKIC0gKHZvaWQpX3dlYlZpZXdEaWRFeGl0RnVsbHNjcmVlbjoo
V0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMSksIGlvcyg4
LjMpKTsKIC0gKHZvaWQpX3dlYlZpZXdSZXF1ZXN0UG9pbnRlckxvY2s6KFdLV2ViVmlldyAqKXdl
YlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogLSAodm9pZClfd2Vi
Vmlld0RpZExvc2VQb2ludGVyTG9jazooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxB
QkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IHNldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlOihCT09MKWhhc1ZpZGVvSW5QaWN0
dXJlSW5QaWN0dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tf
SU9TX1RCQSkpOwogCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGltYWdl
T3JNZWRpYURvY3VtZW50U2l6ZUNoYW5nZWQ6KENHU2l6ZSlzaXplIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKIC0gKE5TRGljdGlvbmFyeSAqKV9kYXRhRGV0ZWN0
aW9uQ29udGV4dEZvcldlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLmgKaW5kZXggZDkzODFkM2QxOWI0ZjQ1MzNiMDJhMGUwNDQwMGRhODFm
NjFkY2I4NC4uOWQ0MDk5NTI0NjQzYjkyYTk4MGQzYjA2NTM4ZjJjMDk0ZjkzOTFhNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCkBAIC0xMTAsNiArMTEw
LDggQEAgcHJpdmF0ZToKICAgICAgICAgdm9pZCByZXF1ZXN0UG9pbnRlckxvY2soV2ViS2l0OjpX
ZWJQYWdlUHJveHkqKSBvdmVycmlkZTsKICAgICAgICAgdm9pZCBkaWRMb3NlUG9pbnRlckxvY2so
V2ViS2l0OjpXZWJQYWdlUHJveHkqKSBvdmVycmlkZTsKICNlbmRpZgorICAgICAgICAKKyAgICAg
ICAgdm9pZCBzZXRIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSosIGJvb2wpIG92ZXJyaWRlOwogCiAgICAgICAgIHZvaWQgaW1hZ2VPck1lZGlhRG9jdW1lbnRT
aXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgb3ZlcnJpZGU7CiAKQEAgLTE1Nyw2
ICsxNTksNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIHdlYlZpZXdDb250ZXh0TWVudUZvckVs
ZW1lbnQgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdDb250ZXh0TWVudUZvckVsZW1lbnRVc2Vy
SW5mbyA6IDE7CiAjZW5kaWYKKyAgICAgICAgYm9vbCB3ZWJWaWV3U2V0SGFzVmlkZW9JblBpY3R1
cmVJblBpY3R1cmUgOiAxOwogICAgIH0gbV9kZWxlZ2F0ZU1ldGhvZHM7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IDRmMjFlODIzMzAx
YzNjNmFkY2QzOWQ2Y2UwYjA3N2NlN2M0Y2E1YjEuLmE2MmRlMTY3YTY3MTJjYTNlNTQxMTA5YmVj
Mjg2ZDMwNTk2MzE2YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURl
bGVnYXRlLm1tCkBAIC0xMzEsNiArMTMxLDggQEAgdm9pZCBVSURlbGVnYXRlOjpzZXREZWxlZ2F0
ZShpZCA8V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJW
aWV3Q29udGV4dE1lbnVGb3JFbGVtZW50ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoX3dlYlZpZXc6Y29udGV4dE1lbnU6Zm9yRWxlbWVudDopXTsKICAgICBtX2RlbGVn
YXRlTWV0aG9kcy53ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50VXNlckluZm8gPSBbZGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpjb250ZXh0TWVudTpmb3JF
bGVtZW50OnVzZXJJbmZvOildOwogI2VuZGlmCisgICAgCisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld1NldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6c2V0SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1
cmU6KV07CiB9CiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKQEAgLTY5Miw2ICs2OTQsMTgg
QEAgdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6ZGlkTG9zZVBvaW50ZXJMb2NrKFdlYktpdDo6
V2ViUGFnZVByb3h5KikKIH0KIAogI2VuZGlmCisgICAgCit2b2lkIFVJRGVsZWdhdGU6OlVJQ2xp
ZW50OjpzZXRIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZShXZWJLaXQ6OldlYlBhZ2VQcm94eSos
IGJvb2wgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUpCit7CisgICAgaWYgKCFtX3VpRGVsZWdh
dGUubV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1NldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJl
KQorICAgICAgICByZXR1cm47CisgICAgCisgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0
ZS5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUpCisgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICBbc3RhdGljX2Nhc3Q8aWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+PihkZWxlZ2F0
ZSkgX3dlYlZpZXc6bV91aURlbGVnYXRlLm1fd2ViVmlldyBzZXRIYXNWaWRlb0luUGljdHVyZUlu
UGljdHVyZTpoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZV07Cit9CiAKIHZvaWQgVUlEZWxlZ2F0
ZTo6VUlDbGllbnQ6OmltYWdlT3JNZWRpYURvY3VtZW50U2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYgbmV3U2l6ZSkKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBmYWIzNmVkNTk3NmRmOWUzMzQ0NDFiMGE0NzAwOGRlZjc5MjBi
ZTA3Li4zYzI4ZDFlZTE3ODYxZGZkYzE5YTJhZGY5OWI3NjYwYjJkZDdlYzg4IDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjEgQEAK
IDIwMTctMDUtMTIgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgogCisgICAgICAg
IEFkZCBvYmpjIHZlcnNpb24gb2YgV0syIFVJUGFnZUNsaWVudCBzZXRIYXNWaWRlb0luUGljdHVy
ZUluUGljdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcyMDQ4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzIwNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSBXS1dlYlZpZXcgdGVzdCBmb3Igc2V0SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUg
VUlEZWxlZ2F0ZSBjYWxsYmFjay4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5tbToK
KyAgICAgICAgKC1bUGljdHVyZUluUGljdHVyZVVJRGVsZWdhdGUgX3dlYlZpZXc6c2V0SGFzVmlk
ZW9JblBpY3R1cmVJblBpY3R1cmU6XSk6CisgICAgICAgICgtW1BpY3R1cmVJblBpY3R1cmVVSURl
bGVnYXRlIHVzZXJDb250ZW50Q29udHJvbGxlcjpkaWRSZWNlaXZlU2NyaXB0TWVzc2FnZTpdKToK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCisyMDE3LTA1LTEyICBKZXJlbXkgSm9u
ZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgVUlDbGllbnQgY2FsbGJhY2sg
Zm9yIHdoZW4gcGljdHVyZS1pbi1waWN0dXJlIGlzIGFjdGl2YXRlZC4KICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjAyMwogCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVs
ZWdhdGUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1
cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCmluZGV4IDg3ZjI0Y2VkOGY0OTk1ZDliMWQ2Njk4ZWQ3
OGVmZmZlODY5NDY3YjguLmY5NWI3ZjE5OWIwMGRmN2FmNTBkZTA3M2RlOWRjMTM1MzE4MjVkMzcg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1
cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCkBAIC02LDYgKzYsMTIg
QEAKICAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3ZpZGVvJyk7CiAgICAgICAgICAgICAgICAgdGFyZ2V0LndlYmtpdFNldFByZXNlbnRhdGlvbk1v
ZGUodGFyZ2V0LndlYmtpdFByZXNlbnRhdGlvbk1vZGUgPT0gImlubGluZSIgPyAicGljdHVyZS1p
bi1waWN0dXJlIiA6ICJpbmxpbmUiKTsKICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgCisg
ICAgICAgICAgICBmdW5jdGlvbiBsb2FkKCkgeworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cu
d2Via2l0ICE9PSB1bmRlZmluZWQgJiYgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGlj
dHVyZUluUGljdHVyZUNoYW5nZUhhbmRsZXIgIT09IHVuZGVmaW5lZCkgeworICAgICAgICAgICAg
ICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5waWN0dXJlSW5QaWN0dXJlQ2hh
bmdlSGFuZGxlci5wb3N0TWVzc2FnZSgnbG9hZCcpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KICAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAg
ICN2aWRlbyB7CkBAIC0xNSw3ICsyMSw3IEBACiAgICAgICAgICAgICB9CiAgICAgICAgIDwvc3R5
bGU+CiAgICAgPC9oZWFkPgotICAgIDxib2R5IG9ubG9hZD0id2luZG93Lm9ubG9hZGNvbXBsZXRl
ZCA9IHRydWU7ICI+CisgICAgPGJvZHkgb25sb2FkPSJsb2FkKCk7IHdpbmRvdy5vbmxvYWRjb21w
bGV0ZWQgPSB0cnVlOyAiPgogICAgICAgICA8dmlkZW8gaWQ9InZpZGVvIiBwbGF5c2lubGluZSBz
cmM9InRlc3QubXA0IiAvPgogICAgIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0
ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBp
Y3R1cmVEZWxlZ2F0ZS5tbQppbmRleCAyNTRlZjlkMTZlNjRmZTg0OWFlZjM0NWQxMDlmNzhmZTJh
ZDkwNTYxLi5mODA1YThhZDYzNDNhYWIzOTkzNzZiNDNmYzZlNjVkNTkxNWEzNzg5IDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9QaWN0dXJlSW5QaWN0
dXJlRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tCkBAIC04Nyw4ICs4Nyw2NCBAQCBzdGF0aWMg
dm9pZCBzZXRIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZShXS1BhZ2VSZWYsIGJvb2wgaGFzVmlk
ZW9JblBpY3R1cmVJblBpYwogICAgIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlQ2FsbGVkID0g
dHJ1ZTsKIH0KIAorQGludGVyZmFjZSBQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZSA6IE5TT2Jq
ZWN0IDxXS1VJRGVsZWdhdGUsIFdLU2NyaXB0TWVzc2FnZUhhbmRsZXI+CitAZW5kCisKK0BpbXBs
ZW1lbnRhdGlvbiBQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZQorCistICh2b2lkKV93ZWJWaWV3
OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlOihCT09M
KWhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlCit7CisgICAgaGFzVmlkZW9JblBpY3R1cmVJblBp
Y3R1cmVWYWx1ZSA9IGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlOworICAgIGhhc1ZpZGVvSW5Q
aWN0dXJlSW5QaWN0dXJlQ2FsbGVkID0gdHJ1ZTsKK30KKworLSAodm9pZCl1c2VyQ29udGVudENv
bnRyb2xsZXI6KFdLVXNlckNvbnRlbnRDb250cm9sbGVyICopdXNlckNvbnRlbnRDb250cm9sbGVy
IGRpZFJlY2VpdmVTY3JpcHRNZXNzYWdlOihXS1NjcmlwdE1lc3NhZ2UgKiltZXNzYWdlCit7Cisg
ICAgTlNTdHJpbmcgKmJvZHlTdHJpbmcgPSAoTlNTdHJpbmcgKilbbWVzc2FnZSBib2R5XTsKKyAg
ICBpZiAoW2JvZHlTdHJpbmcgaXNFcXVhbFRvU3RyaW5nOkAibG9hZCJdKQorICAgICAgICByZWNl
aXZlZExvYWRlZE1lc3NhZ2UgPSB0cnVlOworfQorQGVuZAorCiBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSSB7CiAgICAgCitURVNUKFBpY3R1cmVJblBpY3R1cmUsIFdLVUlEZWxlZ2F0ZSkKK3sKKyAg
ICBSZXRhaW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFkb3B0
TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWluUHRy
PFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAxMDAsIDEwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0
aW9uLmdldCgpXSk7CisgICAgW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdLl9mdWxsU2NyZWVu
RW5hYmxlZCA9IFlFUzsKKyAgICBbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10uX2FsbG93c1Bp
Y3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gWUVTOworICAgIFJldGFpblB0cjxQaWN0dXJl
SW5QaWN0dXJlVUlEZWxlZ2F0ZT4gaGFuZGxlciA9IGFkb3B0TlMoW1tQaWN0dXJlSW5QaWN0dXJl
VUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVu
dENvbnRyb2xsZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgbmFtZTpA
InBpY3R1cmVJblBpY3R1cmVDaGFuZ2VIYW5kbGVyIl07CisgICAgW3dlYlZpZXcgc2V0VUlEZWxl
Z2F0ZTpoYW5kbGVyLmdldCgpXTsKKyAgICAKKyAgICBSZXRhaW5QdHI8TlNXaW5kb3c+IHdpbmRv
dyA9IGFkb3B0TlMoW1tOU1dpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250ZW50UmVjdDpbd2ViVmll
dyBmcmFtZV0gc3R5bGVNYXNrOk5TV2luZG93U3R5bGVNYXNrQm9yZGVybGVzcyBiYWNraW5nOk5T
QmFja2luZ1N0b3JlQnVmZmVyZWQgZGVmZXI6Tk9dKTsKKyAgICBbW3dpbmRvdyBjb250ZW50Vmll
d10gYWRkU3Vidmlldzp3ZWJWaWV3LmdldCgpXTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVz
dCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBV
UkxGb3JSZXNvdXJjZTpAIlBpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZSIgd2l0aEV4dGVuc2lvbjpA
Imh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOworICAgIAor
ICAgIHJlY2VpdmVkTG9hZGVkTWVzc2FnZSA9IGZhbHNlOworICAgIAorICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OnJlcXVlc3RdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2
ZWRMb2FkZWRNZXNzYWdlKTsKKworICAgIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlVmFsdWUg
PSBmYWxzZTsKKyAgICBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxlZCA9IGZhbHNlOwor
CisgICAgTlNFdmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNFdmVu
dFR5cGVMZWZ0TW91c2VEb3duIGxvY2F0aW9uOk5TTWFrZVBvaW50KDUsIDUpIG1vZGlmaWVyRmxh
Z3M6MCB0aW1lc3RhbXA6MCB3aW5kb3dOdW1iZXI6d2luZG93LmdldCgpLndpbmRvd051bWJlciBj
b250ZXh0OjAgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjAgcHJlc3N1cmU6MF07CisgICAgW3dl
YlZpZXcgbW91c2VEb3duOmV2ZW50XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmhh
c1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlQ2FsbGVkKTsKKyAgICBBU1NFUlRfVFJVRShoYXNWaWRl
b0luUGljdHVyZUluUGljdHVyZVZhbHVlKTsKKyAgICAKKyAgICBzbGVlcCgxKTsgLy8gV2FpdCBm
b3IgUElQQWdlbnQgdG8gbGF1bmNoLCBvciBpdCB3b24ndCBjYWxsIC1waXBEaWRDbG9zZTogY2Fs
bGJhY2suCisgICAgCisgICAgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQgPSBmYWxz
ZTsKKyAgICBbd2ViVmlldyBtb3VzZURvd246ZXZlbnRdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQpOworICAgIEFTU0VSVF9G
QUxTRShoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZVZhbHVlKTsKK30KKyAgICAKKyAgICAKIFRF
U1QoUGljdHVyZUluUGljdHVyZSwgV0tQYWdlVUlDbGllbnQpCiB7CiAgICAgV0tSZXRhaW5QdHI8
V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVhdGUoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309949</attachid>
            <date>2017-05-12 14:58:19 -0700</date>
            <delta_ts>2017-05-12 15:35:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172048-20170512145819.patch</filename>
            <type>text/plain</type>
            <size>12594</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzBlMTBmNTI5MDg4Yjhj
MjYxMjBhMWYwZWQyNGQyYWJiNWQ0NmE3ZC4uOTM0ZmZjMDFiZGJlYmZiODQ4NDFhMzY1MjIyNWE3
ZjIyMWE0NjJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE3LTA1LTEyICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgb2JqYyB2ZXJzaW9u
IG9mIFdLMiBVSVBhZ2VDbGllbnQgc2V0SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjA0OAorICAgICAg
ICByZGFyOi8vcHJvYmxlbS8zMjE2MzA1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBtaXNzaW5nIF9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjayBwcm9wZXJ0eSB0byBXS1ByZWZlcmVuY2VzLgorICAgICAgICBBZGQgLXNldEhh
c1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlIHRvIFVJRGVsZWdhdGUuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW06CisgICAgICAgICgtW1dLUHJlZmVyZW5j
ZXMgX2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrXSk6CisgICAgICAgICgtW1dL
UHJlZmVyZW5jZXMgX3NldEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOl0pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxl
Z2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzZXRIYXNWaWRl
b0luUGljdHVyZUluUGljdHVyZSk6CisKKzIwMTctMDUtMTIgIEplcmVteSBKb25lcyAgPGplcmVt
eWpAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBVSUNsaWVudCBjYWxsYmFjayBmb3Igd2hlbiBw
aWN0dXJlLWluLXBpY3R1cmUgaXMgYWN0aXZhdGVkLgogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMDIzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQppbmRleCAwMTU5ODBjYWE3ODNl
ZGUxNzAwZjQ1MzA0MzBjNThkNzM1MmVmMjdjLi5hN2JkNjAwNzllZDFjMzI4YjdkNmU3NjE5M2I1
ZTI3OTkzMTNlZDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1ByZWZlcmVuY2VzLm1tCkBAIC0yMzUsNiArMjM1LDE2IEBAIC0gKHZvaWQpX3NldEZ1
bGxTY3JlZW5FbmFibGVkOihCT09MKWZ1bGxTY3JlZW5FbmFibGVkCiAgICAgX3ByZWZlcmVuY2Vz
LT5zZXRGdWxsU2NyZWVuRW5hYmxlZChmdWxsU2NyZWVuRW5hYmxlZCk7CiB9CiAKKy0gKEJPT0wp
X2FsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrCit7CisgICAgcmV0dXJuIF9wcmVm
ZXJlbmNlcy0+YWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKTsKK30KKworLSAo
dm9pZClfc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s6KEJPT0wpYWxsb3dl
ZAoreworICAgIF9wcmVmZXJlbmNlcy0+c2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxh
eWJhY2soYWxsb3dlZCk7Cit9CisKIC0gKEJPT0wpX2NvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUK
IHsKICAgICByZXR1cm4gX3ByZWZlcmVuY2VzLT5jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVy
ZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJl
ZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggYjFkMDc5OWU1MjQ2YTMwMDhjYzk4ZWUyN2JiOWQ4OTIw
YWJmYjE3Mi4uMGFhNjYwODFmY2QyODBlMTJmYWE2ODUwMjI4MTg1MmFjYzkwYWNkYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJl
bmNlc1ByaXZhdGUuaApAQCAtOTMsNiArOTMsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50
ZWdlciwgX1dLSmF2YVNjcmlwdFJ1bnRpbWVGbGFncykgewogQHByb3BlcnR5IChub25hdG9taWMs
IHNldHRlcj1fc2V0T2ZmbGluZUFwcGxpY2F0aW9uQ2FjaGVJc0VuYWJsZWQ6KSBCT09MIF9vZmZs
aW5lQXBwbGljYXRpb25DYWNoZUlzRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0
ZXI9X3NldEZ1bGxTY3JlZW5FbmFibGVkOikgQk9PTCBfZnVsbFNjcmVlbkVuYWJsZWQgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goMTAuMTEpLCBpb3MoOS4wKSk7CiBAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRTaG91bGRTdXBwcmVzc0tleWJvYXJkSW5wdXREdXJpbmdQcm92aXNpb25h
bE5hdmlnYXRpb246KSBCT09MIF9zaG91bGRTdXBwcmVzc0tleWJvYXJkSW5wdXREdXJpbmdQcm92
aXNpb25hbE5hdmlnYXRpb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRBbGxvd3NQ
aWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjazopIEJPT0wgX2FsbG93c1BpY3R1cmVJblBpY3R1
cmVNZWRpYVBsYXliYWNrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KChXS19NQUNfVEJBKSksIGlv
cyhXS19JT1NfVEJBKSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFwcGxl
UGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkOikgQk9PTCBfYXBwbGVQYXlDYXBhYmlsaXR5
RGlzY2xvc3VyZUFsbG93ZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAu
MCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
VUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IGE1NmQzNjRkYTg0MmE0MTdhOGJiNGZmMWVkM2M1
MjU5NDU3ZWEyMTEuLjJjMmQ2MjY3NWYyOGY0NTc5ZTJkNjE2NzZiN2EyNjE5YjBmZTI4ZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRl
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURl
bGVnYXRlUHJpdmF0ZS5oCkBAIC02MCw2ICs2MCw3IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAt
ICh2b2lkKV93ZWJWaWV3RGlkRXhpdEZ1bGxzY3JlZW46KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTEpLCBpb3MoOC4zKSk7CiAtICh2b2lkKV93ZWJWaWV3
UmVxdWVzdFBvaW50ZXJMb2NrOihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpKTsKIC0gKHZvaWQpX3dlYlZpZXdEaWRMb3NlUG9pbnRlckxvY2s6
KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkp
OworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBoYXNWaWRlb0luUGljdHVy
ZUluUGljdHVyZURpZENoYW5nZTooQk9PTCloYXNWaWRlb0luUGljdHVyZUluUGljdHVyZSBXS19B
UElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAogLSAo
dm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBpbWFnZU9yTWVkaWFEb2N1bWVudFNp
emVDaGFuZ2VkOihDR1NpemUpc2l6ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlv
cygxMC4wKSk7CiAtIChOU0RpY3Rpb25hcnkgKilfZGF0YURldGVjdGlvbkNvbnRleHRGb3JXZWJW
aWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwg
aW9zKDEwLjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9V
SURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5o
CmluZGV4IGQ5MzgxZDNkMTliNGY0NTMzYjAyYTBlMDQ0MDBkYTgxZjYxZGNiODQuLjk4NjNjZTI0
M2Q5ZGFkYjBkZGZjNTNhMDA4YzEwMmY2ODBhMTI3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaApAQCAtMTEwLDYgKzExMCw4IEBAIHByaXZhdGU6CiAg
ICAgICAgIHZvaWQgcmVxdWVzdFBvaW50ZXJMb2NrKFdlYktpdDo6V2ViUGFnZVByb3h5Kikgb3Zl
cnJpZGU7CiAgICAgICAgIHZvaWQgZGlkTG9zZVBvaW50ZXJMb2NrKFdlYktpdDo6V2ViUGFnZVBy
b3h5Kikgb3ZlcnJpZGU7CiAjZW5kaWYKKyAgICAgICAgCisgICAgICAgIHZvaWQgc2V0SGFzVmlk
ZW9JblBpY3R1cmVJblBpY3R1cmUoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBib29sKSBvdmVycmlk
ZTsKIAogICAgICAgICB2b2lkIGltYWdlT3JNZWRpYURvY3VtZW50U2l6ZUNoYW5nZWQoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYpIG92ZXJyaWRlOwogCkBAIC0xNTcsNiArMTU5LDcgQEAgcHJpdmF0
ZToKICAgICAgICAgYm9vbCB3ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50IDogMTsKICAgICAg
ICAgYm9vbCB3ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50VXNlckluZm8gOiAxOwogI2VuZGlm
CisgICAgICAgIGJvb2wgd2ViVmlld0hhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdl
IDogMTsKICAgICB9IG1fZGVsZWdhdGVNZXRob2RzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRleCA0ZjIxZTgyMzMwMWMzYzZhZGNkMzlk
NmNlMGIwNzdjZTdjNGNhNWIxLi42NGFlYjg2MGY2MzViODU3MDIzODI5YjNiZjc1NzMyMzcyMzE1
NDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0
ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpA
QCAtMTMxLDYgKzEzMSw4IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUoaWQgPFdLVUlE
ZWxlZ2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRN
ZW51Rm9yRWxlbWVudCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93
ZWJWaWV3OmNvbnRleHRNZW51OmZvckVsZW1lbnQ6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudFVzZXJJbmZvID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Y29udGV4dE1lbnU6Zm9yRWxlbWVudDp1c2Vy
SW5mbzopXTsKICNlbmRpZgorICAgIAorICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdIYXNW
aWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3Omhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hh
bmdlOildOwogfQogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCkBAIC02OTIsNiArNjk0LDE4
IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRpZExvc2VQb2ludGVyTG9jayhXZWJLaXQ6
OldlYlBhZ2VQcm94eSopCiB9CiAKICNlbmRpZgorICAgIAordm9pZCBVSURlbGVnYXRlOjpVSUNs
aWVudDo6c2V0SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUoV2ViS2l0OjpXZWJQYWdlUHJveHkq
LCBib29sIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlKQoreworICAgIGlmICghbV91aURlbGVn
YXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURp
ZENoYW5nZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGF1dG8gZGVsZWdhdGUgPSBtX3Vp
RGVsZWdhdGUubV9kZWxlZ2F0ZS5nZXQoKTsKKyAgICBpZiAoIWRlbGVnYXRlKQorICAgICAgICBy
ZXR1cm47CisgICAgCisgICAgW3N0YXRpY19jYXN0PGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPj4o
ZGVsZWdhdGUpIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXcgaGFzVmlkZW9JblBpY3R1
cmVJblBpY3R1cmVEaWRDaGFuZ2U6aGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVdOworfQogCiB2
b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjppbWFnZU9yTWVkaWFEb2N1bWVudFNpemVDaGFuZ2Vk
KGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpCiB7CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmFiMzZlZDU5NzZkZjllMzM0NDQxYjBh
NDcwMDhkZWY3OTIwYmUwNy4uYzQ5ODhmM2JjODYwNmNhMDNmNjA3Y2U2NTgzN2Y4ZDFkZjE4ZmQ3
NyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSw1ICsxLDIxIEBACiAyMDE3LTA1LTEyICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNv
bT4KIAorICAgICAgICBBZGQgb2JqYyB2ZXJzaW9uIG9mIFdLMiBVSVBhZ2VDbGllbnQgc2V0SGFz
VmlkZW9JblBpY3R1cmVJblBpY3R1cmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3MjA0OAorICAgICAgICByZGFyOi8vcHJvYmxlbS8zMjE2MzA1NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIFdL
V2ViVmlldyB0ZXN0IGZvciBzZXRIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZSBVSURlbGVnYXRl
IGNhbGxiYWNrLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2Ev
UGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0bWw6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyQ29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tOgorICAgICAgICAo
LVtQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZSBfd2ViVmlldzpoYXNWaWRlb0luUGljdHVyZUlu
UGljdHVyZURpZENoYW5nZTpdKToKKyAgICAgICAgKC1bUGljdHVyZUluUGljdHVyZVVJRGVsZWdh
dGUgdXNlckNvbnRlbnRDb250cm9sbGVyOmRpZFJlY2VpdmVTY3JpcHRNZXNzYWdlOl0pOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKKzIwMTctMDUtMTIgIEplcmVteSBKb25lcyAg
PGplcmVteWpAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBVSUNsaWVudCBjYWxsYmFjayBmb3Ig
d2hlbiBwaWN0dXJlLWluLXBpY3R1cmUgaXMgYWN0aXZhdGVkLgogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMDIzCiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0
ZS5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUGljdHVyZUlu
UGljdHVyZURlbGVnYXRlLmh0bWwKaW5kZXggODdmMjRjZWQ4ZjQ5OTVkOWIxZDY2OThlZDc4ZWZm
ZmU4Njk0NjdiOC4uZjk1YjdmMTk5YjAwZGY3YWY1MGRlMDczZGU5ZGMxMzUzMTgyNWQzNyAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUGljdHVyZUlu
UGljdHVyZURlbGVnYXRlLmh0bWwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyQ29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLmh0bWwKQEAgLTYsNiArNiwxMiBAQAog
ICAgICAgICAgICAgICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlk
ZW8nKTsKICAgICAgICAgICAgICAgICB0YXJnZXQud2Via2l0U2V0UHJlc2VudGF0aW9uTW9kZSh0
YXJnZXQud2Via2l0UHJlc2VudGF0aW9uTW9kZSA9PSAiaW5saW5lIiA/ICJwaWN0dXJlLWluLXBp
Y3R1cmUiIDogImlubGluZSIpOwogICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIGxvYWQoKSB7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy53ZWJr
aXQgIT09IHVuZGVmaW5lZCAmJiB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5waWN0dXJl
SW5QaWN0dXJlQ2hhbmdlSGFuZGxlciAhPT0gdW5kZWZpbmVkKSB7CisgICAgICAgICAgICAgICAg
ICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnBpY3R1cmVJblBpY3R1cmVDaGFuZ2VI
YW5kbGVyLnBvc3RNZXNzYWdlKCdsb2FkJyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQogICAgICAgICA8L3NjcmlwdD4KICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgI3Zp
ZGVvIHsKQEAgLTE1LDcgKzIxLDcgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgPC9zdHlsZT4K
ICAgICA8L2hlYWQ+Ci0gICAgPGJvZHkgb25sb2FkPSJ3aW5kb3cub25sb2FkY29tcGxldGVkID0g
dHJ1ZTsgIj4KKyAgICA8Ym9keSBvbmxvYWQ9ImxvYWQoKTsgd2luZG93Lm9ubG9hZGNvbXBsZXRl
ZCA9IHRydWU7ICI+CiAgICAgICAgIDx2aWRlbyBpZD0idmlkZW8iIHBsYXlzaW5saW5lIHNyYz0i
dGVzdC5tcDQiIC8+CiAgICAgPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1t
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUGljdHVyZUluUGljdHVy
ZURlbGVnYXRlLm1tCmluZGV4IDI1NGVmOWQxNmU2NGZlODQ5YWVmMzQ1ZDEwOWY3OGZlMmFkOTA1
NjEuLjhmYjRkMWZkMmFjNzVjNGRiYmZlNTUxNTg2ZDliZGYzY2YzZGZhZDAgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVE
ZWxlZ2F0ZS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Q
aWN0dXJlSW5QaWN0dXJlRGVsZWdhdGUubW0KQEAgLTg3LDggKzg3LDY0IEBAIHN0YXRpYyB2b2lk
IHNldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlKFdLUGFnZVJlZiwgYm9vbCBoYXNWaWRlb0lu
UGljdHVyZUluUGljCiAgICAgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQgPSB0cnVl
OwogfQogCitAaW50ZXJmYWNlIFBpY3R1cmVJblBpY3R1cmVVSURlbGVnYXRlIDogTlNPYmplY3Qg
PFdLVUlEZWxlZ2F0ZSwgV0tTY3JpcHRNZXNzYWdlSGFuZGxlcj4KK0BlbmQKKworQGltcGxlbWVu
dGF0aW9uIFBpY3R1cmVJblBpY3R1cmVVSURlbGVnYXRlCisKKy0gKHZvaWQpX3dlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2U6KEJP
T0wpaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUKK3sKKyAgICBoYXNWaWRlb0luUGljdHVyZUlu
UGljdHVyZVZhbHVlID0gaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmU7CisgICAgaGFzVmlkZW9J
blBpY3R1cmVJblBpY3R1cmVDYWxsZWQgPSB0cnVlOworfQorCistICh2b2lkKXVzZXJDb250ZW50
Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2VyQ29udGVudENvbnRyb2xs
ZXIgZGlkUmVjZWl2ZVNjcmlwdE1lc3NhZ2U6KFdLU2NyaXB0TWVzc2FnZSAqKW1lc3NhZ2UKK3sK
KyAgICBOU1N0cmluZyAqYm9keVN0cmluZyA9IChOU1N0cmluZyAqKVttZXNzYWdlIGJvZHldOwor
ICAgIGlmIChbYm9keVN0cmluZyBpc0VxdWFsVG9TdHJpbmc6QCJsb2FkIl0pCisgICAgICAgIHJl
Y2VpdmVkTG9hZGVkTWVzc2FnZSA9IHRydWU7Cit9CitAZW5kCisKIG5hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJIHsKICAgICAKK1RFU1QoUGljdHVyZUluUGljdHVyZSwgV0tVSURlbGVnYXRlKQorewor
ICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0gYWRv
cHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBSZXRhaW5Q
dHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDEwMCwgMTAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3Vy
YXRpb24uZ2V0KCldKTsKKyAgICBbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10uX2Z1bGxTY3Jl
ZW5FbmFibGVkID0gWUVTOworICAgIFtjb25maWd1cmF0aW9uIHByZWZlcmVuY2VzXS5fYWxsb3dz
UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgPSBZRVM7CisgICAgUmV0YWluUHRyPFBpY3R1
cmVJblBpY3R1cmVVSURlbGVnYXRlPiBoYW5kbGVyID0gYWRvcHROUyhbW1BpY3R1cmVJblBpY3R1
cmVVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW1tjb25maWd1cmF0aW9uIHVzZXJDb250
ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBuYW1l
OkAicGljdHVyZUluUGljdHVyZUNoYW5nZUhhbmRsZXIiXTsKKyAgICBbd2ViVmlldyBzZXRVSURl
bGVnYXRlOmhhbmRsZXIuZ2V0KCldOworICAgIAorICAgIFJldGFpblB0cjxOU1dpbmRvdz4gd2lu
ZG93ID0gYWRvcHROUyhbW05TV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0Olt3ZWJW
aWV3IGZyYW1lXSBzdHlsZU1hc2s6TlNXaW5kb3dTdHlsZU1hc2tCb3JkZXJsZXNzIGJhY2tpbmc6
TlNCYWNraW5nU3RvcmVCdWZmZXJlZCBkZWZlcjpOT10pOworICAgIFtbd2luZG93IGNvbnRlbnRW
aWV3XSBhZGRTdWJ2aWV3OndlYlZpZXcuZ2V0KCldOworCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1
ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVd
IFVSTEZvclJlc291cmNlOkAiUGljdHVyZUluUGljdHVyZURlbGVnYXRlIiB3aXRoRXh0ZW5zaW9u
OkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAg
CisgICAgcmVjZWl2ZWRMb2FkZWRNZXNzYWdlID0gZmFsc2U7CisgICAgCisgICAgW3dlYlZpZXcg
bG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNl
aXZlZExvYWRlZE1lc3NhZ2UpOworCisgICAgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVWYWx1
ZSA9IGZhbHNlOworICAgIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlQ2FsbGVkID0gZmFsc2U7
CisKKyAgICBOU0V2ZW50ICpldmVudCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU0V2
ZW50VHlwZUxlZnRNb3VzZURvd24gbG9jYXRpb246TlNNYWtlUG9pbnQoNSwgNSkgbW9kaWZpZXJG
bGFnczowIHRpbWVzdGFtcDowIHdpbmRvd051bWJlcjp3aW5kb3cuZ2V0KCkud2luZG93TnVtYmVy
IGNvbnRleHQ6MCBldmVudE51bWJlcjowIGNsaWNrQ291bnQ6MCBwcmVzc3VyZTowXTsKKyAgICBb
d2ViVmlldyBtb3VzZURvd246ZXZlbnRdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
aGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQpOworICAgIEFTU0VSVF9UUlVFKGhhc1Zp
ZGVvSW5QaWN0dXJlSW5QaWN0dXJlVmFsdWUpOworICAgIAorICAgIHNsZWVwKDEpOyAvLyBXYWl0
IGZvciBQSVBBZ2VudCB0byBsYXVuY2gsIG9yIGl0IHdvbid0IGNhbGwgLXBpcERpZENsb3NlOiBj
YWxsYmFjay4KKyAgICAKKyAgICBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxlZCA9IGZh
bHNlOworICAgIFt3ZWJWaWV3IG1vdXNlRG93bjpldmVudF07CisgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxlZCk7CisgICAgQVNTRVJU
X0ZBTFNFKGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlVmFsdWUpOworfQorICAgIAorICAgIAog
VEVTVChQaWN0dXJlSW5QaWN0dXJlLCBXS1BhZ2VVSUNsaWVudCkKIHsKICAgICBXS1JldGFpblB0
cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFdLQ29udGV4dENyZWF0ZSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309956</attachid>
            <date>2017-05-12 15:35:18 -0700</date>
            <delta_ts>2017-05-12 16:06:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172048-20170512153518.patch</filename>
            <type>text/plain</type>
            <size>19426</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzBlMTBmNTI5MDg4Yjhj
MjYxMjBhMWYwZWQyNGQyYWJiNWQ0NmE3ZC4uMzY3ZWE2MDk5NWI2OGU3NzY5ZDllMWVjZDE4OTFl
ZjA3MTg1NTY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1IEBACiAyMDE3LTA1LTEyICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgb2JqYyB2ZXJzaW9u
IG9mIFdLMiBVSVBhZ2VDbGllbnQgc2V0SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUgYW5kIHJl
bmFtZSBpdCB0byBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjA0OAorICAgICAgICBy
ZGFyOi8vcHJvYmxlbS8zMjE2MzA1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbmFtZSBVSVBhZ2VDbGllbnQgc2V0SGFzVmlkZW9JblBpY3R1cmVJ
blBpY3R1cmUgdG8gaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2UuCisgICAgICAg
IEFkZCBtaXNzaW5nIF9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayBwcm9wZXJ0
eSB0byBXS1ByZWZlcmVuY2VzLgorICAgICAgICBBZGQgLWhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0
dXJlRGlkQ2hhbmdlIHRvIFVJRGVsZWdhdGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQ
SVVJQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpoYXNWaWRlb0luUGljdHVyZUlu
UGljdHVyZURpZENoYW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6
CisgICAgICAgIChXS1BhZ2VTZXRQYWdlVUlDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VVSUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cmVmZXJlbmNlcy5tbToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfYWxsb3dzUGljdHVyZUlu
UGljdHVyZU1lZGlhUGxheWJhY2tdKToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2V0QWxs
b3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s6XSk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW06
CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OnNldERlbGVnYXRlKToKKyAgICAgICAgKFdl
YktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6Omhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlk
Q2hhbmdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlkZW9GdWxsc2NyZWVuTWFu
YWdlclByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHk6OnNldHVwRnVsbHNjcmVlbldpdGhJRCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZGVv
RnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZnVsbHNjcmVlbk1vZGVDaGFuZ2VkKToKKworMjAxNy0w
NS0xMiAgSmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+CisKICAgICAgICAgQWRkIFVJ
Q2xpZW50IGNhbGxiYWNrIGZvciB3aGVuIHBpY3R1cmUtaW4tcGljdHVyZSBpcyBhY3RpdmF0ZWQu
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIwMjMK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oCmluZGV4IGM3YWI3
MzcwOGE5ZDliNGI5NDg4Yjk2ODAyZmY4YmM4NGIxNDEyMzQuLmM2YTgyN2Y2ZDAzMWRhNTFhYWZl
Zjc4NTVjYTJlOTIyOWEzYjVjNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQVBJVUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQ
SVVJQ2xpZW50LmgKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBm
dWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUoV2ViS2l0OjpXZWJQYWdlUHJveHkqKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkRW50ZXJGdWxsc2NyZWVuKFdlYktpdDo6V2ViUGFnZVByb3h5Kikg
eyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZEV4aXRGdWxsc2NyZWVuKFdlYktpdDo6V2ViUGFnZVBy
b3h5KikgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHNldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJl
KFdlYktpdDo6V2ViUGFnZVByb3h5KiwgYm9vbCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGhhc1Zp
ZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgYm9v
bCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgdGFrZUZvY3VzKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgV0tG
b2N1c0RpcmVjdGlvbikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
Y3BwCmluZGV4IDViYmY5MzVmYTk5NGU3NmNmOGQwMDFiOTMxMmZmZWM3OWY0YzkyZTcuLmRjMjU2
MTQwZjMzNzk2OTBlYjhjNmI0YzQ1ZmM0YzU5ZDRkMWM0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC0xNzgzLDEyICsxNzgzLDEyIEBAIHZvaWQgV0tQ
YWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VVSUNsaWVu
dEJhc2UqIHdrQ2xpZW50CiAgICAgICAgICAgICBtX2NsaWVudC5mdWxsc2NyZWVuTWF5UmV0dXJu
VG9JbmxpbmUodG9BUEkocGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAg
IH0KICAgICAgICAgCi0gICAgICAgIHZvaWQgc2V0SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUo
V2ViUGFnZVByb3h5KiBwYWdlLCBib29sIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlKSBvdmVy
cmlkZQorICAgICAgICB2b2lkIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlKFdl
YlBhZ2VQcm94eSogcGFnZSwgYm9vbCBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZSkgb3ZlcnJp
ZGUKICAgICAgICAgewotICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5zZXRIYXNWaWRlb0luUGlj
dHVyZUluUGljdHVyZSkKKyAgICAgICAgICAgIGlmICghbV9jbGllbnQuaGFzVmlkZW9JblBpY3R1
cmVJblBpY3R1cmVEaWRDaGFuZ2UpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgCi0gICAgICAgICAgICBtX2NsaWVudC5zZXRIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZSh0
b0FQSShwYWdlKSwgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUsIG1fY2xpZW50LmJhc2UuY2xp
ZW50SW5mbyk7CisgICAgICAgICAgICBtX2NsaWVudC5oYXNWaWRlb0luUGljdHVyZUluUGljdHVy
ZURpZENoYW5nZSh0b0FQSShwYWdlKSwgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUsIG1fY2xp
ZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgIH0KIAogICAgICAgICB2b2lkIGNsb3NlKFdl
YlBhZ2VQcm94eSogcGFnZSkgb3ZlcnJpZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKaW5kZXggNWQ0MTI4M2QxYThjODJjZDY4ZmM5ZTU1ZDNj
YTJjN2JlM2RhYjc0Zi4uZDk5YjE1MDE3ZTE4ZjRkNjg3MTg5NmYyZGJiYmIwNWQ4MTU2MzY0NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgK
QEAgLTEyMSw3ICsxMjEsNyBAQCB0eXBlZGVmIHZvaWQgKCpXS0hhbmRsZUF1dG9wbGF5RXZlbnRD
YWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLQXV0b3BsYXlFdmVudCBldgogdHlwZWRlZiB2b2lk
ICgqV0tGdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2Us
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tSZXF1ZXN0UG9pbnRl
ckxvY2tDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwog
dHlwZWRlZiB2b2lkICgqV0tEaWRMb3NlUG9pbnRlckxvY2tDYWxsYmFjaykoV0tQYWdlUmVmIHBh
Z2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tTZXRIYXNWaWRl
b0luUGljdHVyZUluUGljdHVyZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgYm9vbCBoYXNWaWRl
b0luUGljdHVyZUluUGljdHVyZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZv
aWQgKCpXS0hhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlQ2FsbGJhY2spKFdLUGFn
ZVJlZiBwYWdlLCBib29sIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKICAgICAKIC8vIERlcHJlY2F0ZWQKIHR5cGVkZWYgV0tQYWdlUmVmICgqV0tQ
YWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJl
ZiBwYWdlLCBXS0RpY3Rpb25hcnlSZWYgZmVhdHVyZXMsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZp
ZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24sIGNvbnN0IHZvaWQgKmNsaWVudElu
Zm8pOwpAQCAtOTI1LDcgKzkyNSw3IEBAIHR5cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50VjEw
IHsKICAgICBXS0hhbmRsZUF1dG9wbGF5RXZlbnRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhhbmRsZUF1dG9wbGF5RXZlbnQ7CiAgICAgCiAgICAgLy8gVmVy
c2lvbiAxMC4KLSAgICBXS1NldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlOwor
ICAgIFdLSGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2VDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2U7
CiB9IFdLUGFnZVVJQ2xpZW50VjEwOwogICAgIAogI2lmZGVmIF9fY3BsdXNwbHVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KaW5k
ZXggMDE1OTgwY2FhNzgzZWRlMTcwMGY0NTMwNDMwYzU4ZDczNTJlZjI3Yy4uYTdiZDYwMDc5ZWQx
YzMyOGI3ZDZlNzYxOTNiNWUyNzk5MzEzZWQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQpAQCAtMjM1LDYgKzIzNSwxNiBA
QCAtICh2b2lkKV9zZXRGdWxsU2NyZWVuRW5hYmxlZDooQk9PTClmdWxsU2NyZWVuRW5hYmxlZAog
ICAgIF9wcmVmZXJlbmNlcy0+c2V0RnVsbFNjcmVlbkVuYWJsZWQoZnVsbFNjcmVlbkVuYWJsZWQp
OwogfQogCistIChCT09MKV9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaworewor
ICAgIHJldHVybiBfcHJlZmVyZW5jZXMtPmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrKCk7Cit9CisKKy0gKHZvaWQpX3NldEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrOihCT09MKWFsbG93ZWQKK3sKKyAgICBfcHJlZmVyZW5jZXMtPnNldEFsbG93c1BpY3R1cmVJ
blBpY3R1cmVNZWRpYVBsYXliYWNrKGFsbG93ZWQpOworfQorCiAtIChCT09MKV9jb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlCiB7CiAgICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+Y29tcG9zaXRpbmdC
b3JkZXJzVmlzaWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGIxZDA3OTllNTI0NmEzMDA4
Y2M5OGVlMjdiYjlkODkyMGFiZmIxNzIuLjBhYTY2MDgxZmNkMjgwZTEyZmFhNjg1MDIyODE4NTJh
Y2M5MGFjZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTkzLDYgKzkzLDcgQEAgdHlwZWRlZiBO
U19PUFRJT05TKE5TVUludGVnZXIsIF9XS0phdmFTY3JpcHRSdW50aW1lRmxhZ3MpIHsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldE9mZmxpbmVBcHBsaWNhdGlvbkNhY2hlSXNFbmFi
bGVkOikgQk9PTCBfb2ZmbGluZUFwcGxpY2F0aW9uQ2FjaGVJc0VuYWJsZWQ7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRGdWxsU2NyZWVuRW5hYmxlZDopIEJPT0wgX2Z1bGxTY3Jl
ZW5FbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjExKSwgaW9zKDkuMCkpOwogQHBy
b3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2hvdWxkU3VwcHJlc3NLZXlib2FyZElucHV0
RHVyaW5nUHJvdmlzaW9uYWxOYXZpZ2F0aW9uOikgQk9PTCBfc2hvdWxkU3VwcHJlc3NLZXlib2Fy
ZElucHV0RHVyaW5nUHJvdmlzaW9uYWxOYXZpZ2F0aW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNl
dHRlcj1fc2V0QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2s6KSBCT09MIF9hbGxv
d3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgo
V0tfTUFDX1RCQSkpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRBcHBsZVBheUNhcGFiaWxpdHlEaXNjbG9zdXJlQWxsb3dlZDopIEJPT0wgX2Fw
cGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KDEwLjEyKSwgaW9zKDEwLjApKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCBhNTZkMzY0ZGE4NDJh
NDE3YThiYjRmZjFlZDNjNTI1OTQ1N2VhMjExLi4yYzJkNjI2NzVmMjhmNDU3OWUyZDYxNjc2Yjdh
MjYxOWIwZmUyOGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApAQCAtNjAsNiArNjAsNyBAQCBzdHJ1Y3Qg
VUlFZGdlSW5zZXRzOwogLSAodm9pZClfd2ViVmlld0RpZEV4aXRGdWxsc2NyZWVuOihXS1dlYlZp
ZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjExKSwgaW9zKDguMykpOwog
LSAodm9pZClfd2ViVmlld1JlcXVlc3RQb2ludGVyTG9jazooV0tXZWJWaWV3ICopd2ViVmlldyBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiAtICh2b2lkKV93ZWJWaWV3RGlk
TG9zZVBvaW50ZXJMb2NrOihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KFdLX01BQ19UQkEpKTsKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
aGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2U6KEJPT0wpaGFzVmlkZW9JblBpY3R1
cmVJblBpY3R1cmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CiAKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgaW1hZ2VP
ck1lZGlhRG9jdW1lbnRTaXplQ2hhbmdlZDooQ0dTaXplKXNpemUgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwogLSAoTlNEaWN0aW9uYXJ5ICopX2RhdGFEZXRlY3Rp
b25Db250ZXh0Rm9yV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxF
KG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1VJRGVsZWdhdGUuaAppbmRleCBkOTM4MWQzZDE5YjRmNDUzM2IwMmEwZTA0NDAwZGE4MWY2
MWRjYjg0Li5mM2VmMzNhMDYyNzE1ZjVlZGQxNDEyYjQ4YWZlMjExNjA3ZmE2MzU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKQEAgLTExMCw2ICsxMTAs
OCBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIHJlcXVlc3RQb2ludGVyTG9jayhXZWJLaXQ6Oldl
YlBhZ2VQcm94eSopIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGRpZExvc2VQb2ludGVyTG9jayhX
ZWJLaXQ6OldlYlBhZ2VQcm94eSopIG92ZXJyaWRlOwogI2VuZGlmCisgICAgICAgIAorICAgICAg
ICB2b2lkIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlKFdlYktpdDo6V2ViUGFn
ZVByb3h5KiwgYm9vbCkgb3ZlcnJpZGU7CiAKICAgICAgICAgdm9pZCBpbWFnZU9yTWVkaWFEb2N1
bWVudFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSBvdmVycmlkZTsKIApAQCAt
MTU3LDYgKzE1OSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgd2ViVmlld0NvbnRleHRNZW51
Rm9yRWxlbWVudCA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVu
dFVzZXJJbmZvIDogMTsKICNlbmRpZgorICAgICAgICBib29sIHdlYlZpZXdIYXNWaWRlb0luUGlj
dHVyZUluUGljdHVyZURpZENoYW5nZSA6IDE7CiAgICAgfSBtX2RlbGVnYXRlTWV0aG9kczsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5kZXgg
NGYyMWU4MjMzMDFjM2M2YWRjZDM5ZDZjZTBiMDc3Y2U3YzRjYTViMS4uNDQ4MzBkMWU3ZmVmOTNm
YzA5NWMwZjQ0MmU3MjNlNDJiOTYzODA3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUubW0KQEAgLTEzMSw2ICsxMzEsOCBAQCB2b2lkIFVJRGVsZWdhdGU6
OnNldERlbGVnYXRlKGlkIDxXS1VJRGVsZWdhdGU+IGRlbGVnYXRlKQogICAgIG1fZGVsZWdhdGVN
ZXRob2RzLndlYlZpZXdDb250ZXh0TWVudUZvckVsZW1lbnQgPSBbZGVsZWdhdGUgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpjb250ZXh0TWVudTpmb3JFbGVtZW50OildOwog
ICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdDb250ZXh0TWVudUZvckVsZW1lbnRVc2VySW5m
byA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmNvbnRl
eHRNZW51OmZvckVsZW1lbnQ6dXNlckluZm86KV07CiAjZW5kaWYKKyAgICAKKyAgICBtX2RlbGVn
YXRlTWV0aG9kcy53ZWJWaWV3SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2UgPSBb
ZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpoYXNWaWRlb0lu
UGljdHVyZUluUGljdHVyZURpZENoYW5nZTopXTsKIH0KIAogI2lmIEVOQUJMRShDT05URVhUX01F
TlVTKQpAQCAtNjkyLDYgKzY5NCwxOCBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkaWRM
b3NlUG9pbnRlckxvY2soV2ViS2l0OjpXZWJQYWdlUHJveHkqKQogfQogCiAjZW5kaWYKKyAgICAK
K3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6Omhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlk
Q2hhbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgYm9vbCBoYXNWaWRlb0luUGljdHVyZUluUGlj
dHVyZSkKK3sKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3
SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2UpCisgICAgICAgIHJldHVybjsKKyAg
ICAKKyAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7Cisg
ICAgaWYgKCFkZWxlZ2F0ZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIFtzdGF0aWNfY2Fz
dDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KGRlbGVnYXRlKSBfd2ViVmlldzptX3VpRGVsZWdh
dGUubV93ZWJWaWV3IGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlOmhhc1ZpZGVv
SW5QaWN0dXJlSW5QaWN0dXJlXTsKK30KIAogdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6aW1h
Z2VPck1lZGlhRG9jdW1lbnRTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdT
aXplKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KaW5kZXggNWM0ZGI3MTJkOTNj
YzRmZDgxNmRjZjI4OWQ4OTU3NzBiNjc0YTcxOC4uYjk3ZWQyNWZkZDEzODdhZTdmNTM1NzIzMjE4
YWVkMzc1ZTQwMWI5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCkBAIC0zNzAs
NyArMzcwLDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldHVwRnVs
bHNjcmVlbldpdGhJRCh1aW50NjRfdCBjb250ZXh0SWQsIHUKICAgICBtX3BhZ2UtPnJvb3RWaWV3
VG9XaW5kb3coaW5pdGlhbFJlY3QsIGluaXRpYWxXaW5kb3dSZWN0KTsKICAgICBpbnRlcmZhY2Ut
PnNldHVwRnVsbHNjcmVlbigqbW9kZWwtPmxheWVySG9zdFZpZXcoKSwgaW5pdGlhbFdpbmRvd1Jl
Y3QsIG1fcGFnZS0+cGxhdGZvcm1XaW5kb3coKSwgdmlkZW9GdWxsc2NyZWVuTW9kZSwgYWxsb3dz
UGljdHVyZUluUGljdHVyZSk7CiAjZW5kaWYKLSAgICBtX3BhZ2UtPnVpQ2xpZW50KCkuc2V0SGFz
VmlkZW9JblBpY3R1cmVJblBpY3R1cmUobV9wYWdlLCB2aWRlb0Z1bGxzY3JlZW5Nb2RlICYgTWVk
aWFQbGF5ZXJFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpOworICAg
IG1fcGFnZS0+dWlDbGllbnQoKS5oYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZSht
X3BhZ2UsIHZpZGVvRnVsbHNjcmVlbk1vZGUgJiBNZWRpYVBsYXllckVudW1zOjpWaWRlb0Z1bGxz
Y3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSk7CiB9CiAKIHZvaWQgV2ViVmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5OjpzZXRIYXNWaWRlbyh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgaGFzVmlk
ZW8pCkBAIC00OTksNyArNDk5LDcgQEAgdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHk6OnNldFZpZGVvTGF5ZXJHcmF2aXR5KHVpbnQ2NF90IGNvbnRleHRJZCwgV2UKIAogdm9pZCBX
ZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmZ1bGxzY3JlZW5Nb2RlQ2hhbmdlZCh1aW50
NjRfdCBjb250ZXh0SWQsIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxs
c2NyZWVuTW9kZSBtb2RlKQogewotICAgIG1fcGFnZS0+dWlDbGllbnQoKS5zZXRIYXNWaWRlb0lu
UGljdHVyZUluUGljdHVyZShtX3BhZ2UsIG1vZGUgJiBNZWRpYVBsYXllckVudW1zOjpWaWRlb0Z1
bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSk7CisgICAgbV9wYWdlLT51aUNsaWVudCgpLmhh
c1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlKG1fcGFnZSwgbW9kZSAmIE1lZGlhUGxh
eWVyRW51bXM6OlZpZGVvRnVsbHNjcmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKTsKICAgICBtX3Bh
Z2UtPnNlbmQoTWVzc2FnZXM6OldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXI6OkZ1bGxzY3JlZW5N
b2RlQ2hhbmdlZChjb250ZXh0SWQsIG1vZGUpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0KIApkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGZhYjM2ZWQ1
OTc2ZGY5ZTMzNDQ0MWIwYTQ3MDA4ZGVmNzkyMGJlMDcuLjFhOTgwMWZlZDk4Y2U0NmMzM2IwMDk4
NzllOTM5OThiZDg1ZmExMWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMiBAQAogMjAxNy0wNS0xMiAgSmVyZW15IEpvbmVzICA8
amVyZW15akBhcHBsZS5jb20+CiAKKyAgICAgICAgQWRkIG9iamMgdmVyc2lvbiBvZiBXSzIgVUlQ
YWdlQ2xpZW50IHNldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlIGFuZCByZW5hbWUgaXQgdG8g
aGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2UuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzIwNDgKKyAgICAgICAgcmRhcjovL3Byb2Js
ZW0vMzIxNjMwNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgYSBXS1dlYlZpZXcgdGVzdCBmb3IgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVE
aWRDaGFuZ2UgVUlEZWxlZ2F0ZSBjYWxsYmFjay4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxl
Z2F0ZS5tbToKKyAgICAgICAgKGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlKToK
KyAgICAgICAgKC1bUGljdHVyZUluUGljdHVyZVVJRGVsZWdhdGUgX3dlYlZpZXc6aGFzVmlkZW9J
blBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2U6XSk6CisgICAgICAgICgtW1BpY3R1cmVJblBpY3R1
cmVVSURlbGVnYXRlIHVzZXJDb250ZW50Q29udHJvbGxlcjpkaWRSZWNlaXZlU2NyaXB0TWVzc2Fn
ZTpdKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCisyMDE3LTA1LTEyICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgVUlDbGllbnQgY2Fs
bGJhY2sgZm9yIHdoZW4gcGljdHVyZS1pbi1waWN0dXJlIGlzIGFjdGl2YXRlZC4KICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjAyMwogCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9QaWN0dXJlSW5QaWN0
dXJlRGVsZWdhdGUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29h
L1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCmluZGV4IDg3ZjI0Y2VkOGY0OTk1ZDliMWQ2
Njk4ZWQ3OGVmZmZlODY5NDY3YjguLmY5NWI3ZjE5OWIwMGRmN2FmNTBkZTA3M2RlOWRjMTM1MzE4
MjVkMzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29h
L1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCkBAIC02LDYg
KzYsMTIgQEAKICAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3ZpZGVvJyk7CiAgICAgICAgICAgICAgICAgdGFyZ2V0LndlYmtpdFNldFByZXNlbnRh
dGlvbk1vZGUodGFyZ2V0LndlYmtpdFByZXNlbnRhdGlvbk1vZGUgPT0gImlubGluZSIgPyAicGlj
dHVyZS1pbi1waWN0dXJlIiA6ICJpbmxpbmUiKTsKICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgCisgICAgICAgICAgICBmdW5jdGlvbiBsb2FkKCkgeworICAgICAgICAgICAgICAgIGlmICh3
aW5kb3cud2Via2l0ICE9PSB1bmRlZmluZWQgJiYgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxl
cnMucGljdHVyZUluUGljdHVyZUNoYW5nZUhhbmRsZXIgIT09IHVuZGVmaW5lZCkgeworICAgICAg
ICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5waWN0dXJlSW5QaWN0
dXJlQ2hhbmdlSGFuZGxlci5wb3N0TWVzc2FnZSgnbG9hZCcpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KICAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgIDxzdHlsZT4KICAgICAg
ICAgICAgICN2aWRlbyB7CkBAIC0xNSw3ICsyMSw3IEBACiAgICAgICAgICAgICB9CiAgICAgICAg
IDwvc3R5bGU+CiAgICAgPC9oZWFkPgotICAgIDxib2R5IG9ubG9hZD0id2luZG93Lm9ubG9hZGNv
bXBsZXRlZCA9IHRydWU7ICI+CisgICAgPGJvZHkgb25sb2FkPSJsb2FkKCk7IHdpbmRvdy5vbmxv
YWRjb21wbGV0ZWQgPSB0cnVlOyAiPgogICAgICAgICA8dmlkZW8gaWQ9InZpZGVvIiBwbGF5c2lu
bGluZSBzcmM9InRlc3QubXA0IiAvPgogICAgIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVE
ZWxlZ2F0ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1
cmVJblBpY3R1cmVEZWxlZ2F0ZS5tbQppbmRleCAyNTRlZjlkMTZlNjRmZTg0OWFlZjM0NWQxMDlm
NzhmZTJhZDkwNTYxLi5iZjA3MmQ1YTY0ODBhNzEwZWYzYjY2MjU3OTAzZTg3YjI0YmI2MDNjIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9QaWN0dXJl
SW5QaWN0dXJlRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyQ29jb2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tCkBAIC04MSwxNCArODEsNzAgQEAg
c3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwg
V0tUeXBlUmVmLCBjb25zdCB2b2lkKikKICAgICByZWNlaXZlZExvYWRlZE1lc3NhZ2UgPSB0cnVl
OwogfQogCi1zdGF0aWMgdm9pZCBzZXRIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZShXS1BhZ2VS
ZWYsIGJvb2wgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUsIGNvbnN0IHZvaWQqIGNvbnRleHQp
CitzdGF0aWMgdm9pZCBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZShXS1BhZ2VS
ZWYsIGJvb2wgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUsIGNvbnN0IHZvaWQqIGNvbnRleHQp
CiB7CiAgICAgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVWYWx1ZSA9IGhhc1ZpZGVvSW5QaWN0
dXJlSW5QaWN0dXJlOwogICAgIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlQ2FsbGVkID0gdHJ1
ZTsKIH0KIAorQGludGVyZmFjZSBQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZSA6IE5TT2JqZWN0
IDxXS1VJRGVsZWdhdGUsIFdLU2NyaXB0TWVzc2FnZUhhbmRsZXI+CitAZW5kCisKK0BpbXBsZW1l
bnRhdGlvbiBQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZQorCistICh2b2lkKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlOihC
T09MKWhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlCit7CisgICAgaGFzVmlkZW9JblBpY3R1cmVJ
blBpY3R1cmVWYWx1ZSA9IGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlOworICAgIGhhc1ZpZGVv
SW5QaWN0dXJlSW5QaWN0dXJlQ2FsbGVkID0gdHJ1ZTsKK30KKworLSAodm9pZCl1c2VyQ29udGVu
dENvbnRyb2xsZXI6KFdLVXNlckNvbnRlbnRDb250cm9sbGVyICopdXNlckNvbnRlbnRDb250cm9s
bGVyIGRpZFJlY2VpdmVTY3JpcHRNZXNzYWdlOihXS1NjcmlwdE1lc3NhZ2UgKiltZXNzYWdlCit7
CisgICAgTlNTdHJpbmcgKmJvZHlTdHJpbmcgPSAoTlNTdHJpbmcgKilbbWVzc2FnZSBib2R5XTsK
KyAgICBpZiAoW2JvZHlTdHJpbmcgaXNFcXVhbFRvU3RyaW5nOkAibG9hZCJdKQorICAgICAgICBy
ZWNlaXZlZExvYWRlZE1lc3NhZ2UgPSB0cnVlOworfQorQGVuZAorCiBuYW1lc3BhY2UgVGVzdFdl
YktpdEFQSSB7CiAgICAgCitURVNUKFBpY3R1cmVJblBpY3R1cmUsIFdLVUlEZWxlZ2F0ZSkKK3sK
KyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFk
b3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWlu
UHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAxMDAsIDEwMCkgY29uZmlndXJhdGlvbjpjb25maWd1
cmF0aW9uLmdldCgpXSk7CisgICAgW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdLl9mdWxsU2Ny
ZWVuRW5hYmxlZCA9IFlFUzsKKyAgICBbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10uX2FsbG93
c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gWUVTOworICAgIFJldGFpblB0cjxQaWN0
dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZT4gaGFuZGxlciA9IGFkb3B0TlMoW1tQaWN0dXJlSW5QaWN0
dXJlVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29u
dGVudENvbnRyb2xsZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgbmFt
ZTpAInBpY3R1cmVJblBpY3R1cmVDaGFuZ2VIYW5kbGVyIl07CisgICAgW3dlYlZpZXcgc2V0VUlE
ZWxlZ2F0ZTpoYW5kbGVyLmdldCgpXTsKKyAgICAKKyAgICBSZXRhaW5QdHI8TlNXaW5kb3c+IHdp
bmRvdyA9IGFkb3B0TlMoW1tOU1dpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250ZW50UmVjdDpbd2Vi
VmlldyBmcmFtZV0gc3R5bGVNYXNrOk5TV2luZG93U3R5bGVNYXNrQm9yZGVybGVzcyBiYWNraW5n
Ok5TQmFja2luZ1N0b3JlQnVmZmVyZWQgZGVmZXI6Tk9dKTsKKyAgICBbW3dpbmRvdyBjb250ZW50
Vmlld10gYWRkU3Vidmlldzp3ZWJWaWV3LmdldCgpXTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVx
dWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxl
XSBVUkxGb3JSZXNvdXJjZTpAIlBpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZSIgd2l0aEV4dGVuc2lv
bjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOworICAg
IAorICAgIHJlY2VpdmVkTG9hZGVkTWVzc2FnZSA9IGZhbHNlOworICAgIAorICAgIFt3ZWJWaWV3
IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVj
ZWl2ZWRMb2FkZWRNZXNzYWdlKTsKKworICAgIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlVmFs
dWUgPSBmYWxzZTsKKyAgICBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxlZCA9IGZhbHNl
OworCisgICAgTlNFdmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNF
dmVudFR5cGVMZWZ0TW91c2VEb3duIGxvY2F0aW9uOk5TTWFrZVBvaW50KDUsIDUpIG1vZGlmaWVy
RmxhZ3M6MCB0aW1lc3RhbXA6MCB3aW5kb3dOdW1iZXI6d2luZG93LmdldCgpLndpbmRvd051bWJl
ciBjb250ZXh0OjAgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjAgcHJlc3N1cmU6MF07CisgICAg
W3dlYlZpZXcgbW91c2VEb3duOmV2ZW50XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
Jmhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlQ2FsbGVkKTsKKyAgICBBU1NFUlRfVFJVRShoYXNW
aWRlb0luUGljdHVyZUluUGljdHVyZVZhbHVlKTsKKyAgICAKKyAgICBzbGVlcCgxKTsgLy8gV2Fp
dCBmb3IgUElQQWdlbnQgdG8gbGF1bmNoLCBvciBpdCB3b24ndCBjYWxsIC1waXBEaWRDbG9zZTog
Y2FsbGJhY2suCisgICAgCisgICAgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQgPSBm
YWxzZTsKKyAgICBbd2ViVmlldyBtb3VzZURvd246ZXZlbnRdOworICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQpOworICAgIEFTU0VS
VF9GQUxTRShoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZVZhbHVlKTsKK30KKyAgICAKKyAgICAK
IFRFU1QoUGljdHVyZUluUGljdHVyZSwgV0tQYWdlVUlDbGllbnQpCiB7CiAgICAgV0tSZXRhaW5Q
dHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVhdGUoKSk7CkBA
IC0xMDMsNyArMTU5LDcgQEAgVEVTVChQaWN0dXJlSW5QaWN0dXJlLCBXS1BhZ2VVSUNsaWVudCkK
ICAgICBtZW1zZXQoJnVpQ2xpZW50LCAwLCBzaXplb2YodWlDbGllbnQpKTsKICAgICB1aUNsaWVu
dC5iYXNlLnZlcnNpb24gPSAxMDsKICAgICB1aUNsaWVudC5iYXNlLmNsaWVudEluZm8gPSBOVUxM
OwotICAgIHVpQ2xpZW50LnNldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlID0gc2V0SGFzVmlk
ZW9JblBpY3R1cmVJblBpY3R1cmU7CisgICAgdWlDbGllbnQuaGFzVmlkZW9JblBpY3R1cmVJblBp
Y3R1cmVEaWRDaGFuZ2UgPSBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZTsKICAg
ICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQod2ViVmlldy5wYWdlKCksICZ1aUNsaWVudC5iYXNlKTsK
ICAgICAKICAgICBXS1BhZ2VMb2FkZXJDbGllbnRWMCBsb2FkZXJDbGllbnQ7Cg==
</data>
<flag name="review"
          id="331107"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="331109"
          type_id="3"
          status="-"
          setter="jeremyj-wk"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>309964</attachid>
            <date>2017-05-12 16:14:54 -0700</date>
            <delta_ts>2017-05-12 17:32:27 -0700</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>bug-172048-20170512161453.patch</filename>
            <type>text/plain</type>
            <size>19645</size>
            <attacher name="Jeremy Jones">jeremyj-wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzBlMTBmNTI5MDg4Yjhj
MjYxMjBhMWYwZWQyNGQyYWJiNWQ0NmE3ZC4uNzY1MGFlNzVkODEzMGVmZDEzY2RmYTU2YzJiMWNh
Njc3ZmU3ZjhhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1IEBACiAyMDE3LTA1LTEyICBKZXJl
bXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgb2JqYyB2ZXJzaW9u
IG9mIFdLMiBVSVBhZ2VDbGllbnQgc2V0SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUgYW5kIHJl
bmFtZSBpdCB0byBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjA0OAorICAgICAgICBy
ZGFyOi8vcHJvYmxlbS8zMjE2MzA1NAorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNl
ci4KKworICAgICAgICBSZW5hbWUgVUlQYWdlQ2xpZW50IHNldEhhc1ZpZGVvSW5QaWN0dXJlSW5Q
aWN0dXJlIHRvIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlLgorICAgICAgICBB
ZGQgbWlzc2luZyBfYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgcHJvcGVydHkg
dG8gV0tQcmVmZXJlbmNlcy4KKyAgICAgICAgQWRkIC1oYXNWaWRlb0luUGljdHVyZUluUGljdHVy
ZURpZENoYW5nZSB0byBVSURlbGVnYXRlLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElV
SUNsaWVudC5oOgorICAgICAgICAoQVBJOjpVSUNsaWVudDo6aGFzVmlkZW9JblBpY3R1cmVJblBp
Y3R1cmVEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgor
ICAgICAgICAoV0tQYWdlU2V0UGFnZVVJQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlVUlDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJl
ZmVyZW5jZXMubW06CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX2FsbG93c1BpY3R1cmVJblBp
Y3R1cmVNZWRpYVBsYXliYWNrXSk6CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldEFsbG93
c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
VUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgor
ICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJL
aXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENo
YW5nZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5OjpzZXR1cEZ1bGxzY3JlZW5XaXRoSUQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmZ1bGxzY3JlZW5Nb2RlQ2hhbmdlZCk6CisKKzIwMTctMDUt
MTIgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBVSUNs
aWVudCBjYWxsYmFjayBmb3Igd2hlbiBwaWN0dXJlLWluLXBpY3R1cmUgaXMgYWN0aXZhdGVkLgog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMDIzCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAppbmRleCBjN2FiNzM3
MDhhOWQ5YjRiOTQ4OGI5NjgwMmZmOGJjODRiMTQxMjM0Li5jNmE4MjdmNmQwMzFkYTUxYWFmZWY3
ODU1Y2EyZTkyMjlhM2I1YzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0FQSVVJQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElV
SUNsaWVudC5oCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZnVs
bHNjcmVlbk1heVJldHVyblRvSW5saW5lKFdlYktpdDo6V2ViUGFnZVByb3h5KikgeyB9CiAgICAg
dmlydHVhbCB2b2lkIGRpZEVudGVyRnVsbHNjcmVlbihXZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBkaWRFeGl0RnVsbHNjcmVlbihXZWJLaXQ6OldlYlBhZ2VQcm94
eSopIHsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZShX
ZWJLaXQ6OldlYlBhZ2VQcm94eSosIGJvb2wpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBoYXNWaWRl
b0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGJvb2wp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCBjbG9zZShXZWJLaXQ6OldlYlBhZ2VQcm94eSopIHsgfQog
CiAgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhXZWJLaXQ6OldlYlBhZ2VQcm94eSosIFdLRm9j
dXNEaXJlY3Rpb24pIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cAppbmRleCA1YmJmOTM1ZmE5OTRlNzZjZjhkMDAxYjkzMTJmZmVjNzlmNGM5MmU3Li5kYzI1NjE0
MGYzMzc5NjkwZWI4YzZiNGM0NWZjNGM1OWQ0ZDFjNDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMTc4MywxMiArMTc4MywxMiBAQCB2b2lkIFdLUGFn
ZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgY29uc3QgV0tQYWdlVUlDbGllbnRC
YXNlKiB3a0NsaWVudAogICAgICAgICAgICAgbV9jbGllbnQuZnVsbHNjcmVlbk1heVJldHVyblRv
SW5saW5lKHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICB9
CiAgICAgICAgIAotICAgICAgICB2b2lkIHNldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlKFdl
YlBhZ2VQcm94eSogcGFnZSwgYm9vbCBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZSkgb3ZlcnJp
ZGUKKyAgICAgICAgdm9pZCBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZShXZWJQ
YWdlUHJveHkqIHBhZ2UsIGJvb2wgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUpIG92ZXJyaWRl
CiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICghbV9jbGllbnQuc2V0SGFzVmlkZW9JblBpY3R1
cmVJblBpY3R1cmUpCisgICAgICAgICAgICBpZiAoIW1fY2xpZW50Lmhhc1ZpZGVvSW5QaWN0dXJl
SW5QaWN0dXJlRGlkQ2hhbmdlKQogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg
IAotICAgICAgICAgICAgbV9jbGllbnQuc2V0SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUodG9B
UEkocGFnZSksIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlLCBtX2NsaWVudC5iYXNlLmNsaWVu
dEluZm8pOworICAgICAgICAgICAgbV9jbGllbnQuaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVE
aWRDaGFuZ2UodG9BUEkocGFnZSksIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlLCBtX2NsaWVu
dC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBjbG9zZShXZWJQ
YWdlUHJveHkqIHBhZ2UpIG92ZXJyaWRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlVUlDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VVSUNsaWVudC5oCmluZGV4IDVkNDEyODNkMWE4YzgyY2Q2OGZjOWU1NWQzY2Ey
YzdiZTNkYWI3NGYuLmQ5OWIxNTAxN2UxOGY0ZDY4NzE4OTZmMmRiYmJiMDVkODE1NjM2NDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCkBA
IC0xMjEsNyArMTIxLDcgQEAgdHlwZWRlZiB2b2lkICgqV0tIYW5kbGVBdXRvcGxheUV2ZW50Q2Fs
bGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0F1dG9wbGF5RXZlbnQgZXYKIHR5cGVkZWYgdm9pZCAo
KldLRnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUmVxdWVzdFBvaW50ZXJM
b2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5
cGVkZWYgdm9pZCAoKldLRGlkTG9zZVBvaW50ZXJMb2NrQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdl
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKLXR5cGVkZWYgdm9pZCAoKldLU2V0SGFzVmlkZW9J
blBpY3R1cmVJblBpY3R1cmVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGJvb2wgaGFzVmlkZW9J
blBpY3R1cmVJblBpY3R1cmUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lk
ICgqV0tIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZUNhbGxiYWNrKShXS1BhZ2VS
ZWYgcGFnZSwgYm9vbCBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZSwgY29uc3Qgdm9pZCogY2xp
ZW50SW5mbyk7CiAgICAgCiAvLyBEZXByZWNhdGVkCiB0eXBlZGVmIFdLUGFnZVJlZiAoKldLUGFn
ZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYg
cGFnZSwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVy
cywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZv
KTsKQEAgLTkyNSw3ICs5MjUsNyBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFYxMCB7
CiAgICAgV0tIYW5kbGVBdXRvcGxheUV2ZW50Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoYW5kbGVBdXRvcGxheUV2ZW50OwogICAgIAogICAgIC8vIFZlcnNp
b24gMTAuCi0gICAgV0tTZXRIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZXRIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZTsKKyAg
ICBXS0hhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlOwog
fSBXS1BhZ2VVSUNsaWVudFYxMDsKICAgICAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCmluZGV4
IDAxNTk4MGNhYTc4M2VkZTE3MDBmNDUzMDQzMGM1OGQ3MzUyZWYyN2MuLmE3YmQ2MDA3OWVkMWMz
MjhiN2Q2ZTc2MTkzYjVlMjc5OTMxM2VkMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KQEAgLTIzNSw2ICsyMzUsMTYgQEAg
LSAodm9pZClfc2V0RnVsbFNjcmVlbkVuYWJsZWQ6KEJPT0wpZnVsbFNjcmVlbkVuYWJsZWQKICAg
ICBfcHJlZmVyZW5jZXMtPnNldEZ1bGxTY3JlZW5FbmFibGVkKGZ1bGxTY3JlZW5FbmFibGVkKTsK
IH0KIAorLSAoQk9PTClfYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sKK3sKKyAg
ICByZXR1cm4gX3ByZWZlcmVuY2VzLT5hbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFj
aygpOworfQorCistICh2b2lkKV9zZXRBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFj
azooQk9PTClhbGxvd2VkCit7CisgICAgX3ByZWZlcmVuY2VzLT5zZXRBbGxvd3NQaWN0dXJlSW5Q
aWN0dXJlTWVkaWFQbGF5YmFjayhhbGxvd2VkKTsKK30KKwogLSAoQk9PTClfY29tcG9zaXRpbmdC
b3JkZXJzVmlzaWJsZQogewogICAgIHJldHVybiBfcHJlZmVyZW5jZXMtPmNvbXBvc2l0aW5nQm9y
ZGVyc1Zpc2libGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCBiMWQwNzk5ZTUyNDZhMzAwOGNj
OThlZTI3YmI5ZDg5MjBhYmZiMTcyLi4zZTQ2YmIzYjM4YWQ1Y2U2M2ZmZWMwMTA1YmEwZjE5MzQ5
OWU0NThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
UHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC05Myw2ICs5Myw3IEBAIHR5cGVkZWYgTlNf
T1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tKYXZhU2NyaXB0UnVudGltZUZsYWdzKSB7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRPZmZsaW5lQXBwbGljYXRpb25DYWNoZUlzRW5hYmxl
ZDopIEJPT0wgX29mZmxpbmVBcHBsaWNhdGlvbkNhY2hlSXNFbmFibGVkOwogQHByb3BlcnR5IChu
b25hdG9taWMsIHNldHRlcj1fc2V0RnVsbFNjcmVlbkVuYWJsZWQ6KSBCT09MIF9mdWxsU2NyZWVu
RW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMSksIGlvcyg5LjApKTsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNob3VsZFN1cHByZXNzS2V5Ym9hcmRJbnB1dER1
cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbjopIEJPT0wgX3Nob3VsZFN1cHByZXNzS2V5Ym9hcmRJ
bnB1dER1cmluZ1Byb3Zpc2lvbmFsTmF2aWdhdGlvbiBXS19BUElfQVZBSUxBQkxFKG1hY29zeChX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0
ZXI9X3NldEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrOikgQk9PTCBfYWxsb3dz
UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2sgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0
ZXI9X3NldEFwcGxlUGF5Q2FwYWJpbGl0eURpc2Nsb3N1cmVBbGxvd2VkOikgQk9PTCBfYXBwbGVQ
YXlDYXBhYmlsaXR5RGlzY2xvc3VyZUFsbG93ZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTIpLCBpb3MoMTAuMCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCmluZGV4IGE1NmQzNjRkYTg0MmE0MTdh
OGJiNGZmMWVkM2M1MjU5NDU3ZWEyMTEuLjJjMmQ2MjY3NWYyOGY0NTc5ZTJkNjE2NzZiN2EyNjE5
YjBmZTI4ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCkBAIC02MCw2ICs2MCw3IEBAIHN0cnVjdCBVSUVk
Z2VJbnNldHM7CiAtICh2b2lkKV93ZWJWaWV3RGlkRXhpdEZ1bGxzY3JlZW46KFdLV2ViVmlldyAq
KXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTEpLCBpb3MoOC4zKSk7CiAtICh2
b2lkKV93ZWJWaWV3UmVxdWVzdFBvaW50ZXJMb2NrOihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKIC0gKHZvaWQpX3dlYlZpZXdEaWRMb3Nl
UG9pbnRlckxvY2s6KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3go
V0tfTUFDX1RCQSkpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBoYXNW
aWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZTooQk9PTCloYXNWaWRlb0luUGljdHVyZUlu
UGljdHVyZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKIAogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBpbWFnZU9yTWVk
aWFEb2N1bWVudFNpemVDaGFuZ2VkOihDR1NpemUpc2l6ZSBXS19BUElfQVZBSUxBQkxFKG1hY29z
eCgxMC4xMiksIGlvcygxMC4wKSk7CiAtIChOU0RpY3Rpb25hcnkgKilfZGF0YURldGVjdGlvbkNv
bnRleHRGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFj
b3N4KDEwLjEyKSwgaW9zKDEwLjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2Ev
VUlEZWxlZ2F0ZS5oCmluZGV4IGQ5MzgxZDNkMTliNGY0NTMzYjAyYTBlMDQ0MDBkYTgxZjYxZGNi
ODQuLmYzZWYzM2EwNjI3MTVmNWVkZDE0MTJiNDhhZmUyMTE2MDdmYTYzNTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaApAQCAtMTEwLDYgKzExMCw4IEBA
IHByaXZhdGU6CiAgICAgICAgIHZvaWQgcmVxdWVzdFBvaW50ZXJMb2NrKFdlYktpdDo6V2ViUGFn
ZVByb3h5Kikgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgZGlkTG9zZVBvaW50ZXJMb2NrKFdlYktp
dDo6V2ViUGFnZVByb3h5Kikgb3ZlcnJpZGU7CiAjZW5kaWYKKyAgICAgICAgCisgICAgICAgIHZv
aWQgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2UoV2ViS2l0OjpXZWJQYWdlUHJv
eHkqLCBib29sKSBvdmVycmlkZTsKIAogICAgICAgICB2b2lkIGltYWdlT3JNZWRpYURvY3VtZW50
U2l6ZUNoYW5nZWQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpIG92ZXJyaWRlOwogCkBAIC0xNTcs
NiArMTU5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCB3ZWJWaWV3Q29udGV4dE1lbnVGb3JF
bGVtZW50IDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3Q29udGV4dE1lbnVGb3JFbGVtZW50VXNl
ckluZm8gOiAxOwogI2VuZGlmCisgICAgICAgIGJvb2wgd2ViVmlld0hhc1ZpZGVvSW5QaWN0dXJl
SW5QaWN0dXJlRGlkQ2hhbmdlIDogMTsKICAgICB9IG1fZGVsZWdhdGVNZXRob2RzOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRleCA0ZjIx
ZTgyMzMwMWMzYzZhZGNkMzlkNmNlMGIwNzdjZTdjNGNhNWIxLi40NDgzMGQxZTdmZWY5M2ZjMDk1
YzBmNDQyZTcyM2U0MmI5NjM4MDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvVUlEZWxlZ2F0ZS5tbQpAQCAtMTMxLDYgKzEzMSw4IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0
RGVsZWdhdGUoaWQgPFdLVUlEZWxlZ2F0ZT4gZGVsZWdhdGUpCiAgICAgbV9kZWxlZ2F0ZU1ldGhv
ZHMud2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmNvbnRleHRNZW51OmZvckVsZW1lbnQ6KV07CiAgICAg
bV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0NvbnRleHRNZW51Rm9yRWxlbWVudFVzZXJJbmZvID0g
W2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Y29udGV4dE1l
bnU6Zm9yRWxlbWVudDp1c2VySW5mbzopXTsKICNlbmRpZgorICAgIAorICAgIG1fZGVsZWdhdGVN
ZXRob2RzLndlYlZpZXdIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZSA9IFtkZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3Omhhc1ZpZGVvSW5QaWN0
dXJlSW5QaWN0dXJlRGlkQ2hhbmdlOildOwogfQogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
CkBAIC02OTIsNiArNjk0LDE4IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRpZExvc2VQ
b2ludGVyTG9jayhXZWJLaXQ6OldlYlBhZ2VQcm94eSopCiB9CiAKICNlbmRpZgorICAgIAordm9p
ZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6aGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFu
Z2UoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBib29sIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJl
KQoreworICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdIYXNW
aWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZSkKKyAgICAgICAgcmV0dXJuOworICAgIAor
ICAgIGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUubV9kZWxlZ2F0ZS5nZXQoKTsKKyAgICBp
ZiAoIWRlbGVnYXRlKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgW3N0YXRpY19jYXN0PGlk
IDxXS1VJRGVsZWdhdGVQcml2YXRlPj4oZGVsZWdhdGUpIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS5t
X3dlYlZpZXcgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2U6aGFzVmlkZW9JblBp
Y3R1cmVJblBpY3R1cmVdOworfQogCiB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjppbWFnZU9y
TWVkaWFEb2N1bWVudFNpemVDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29h
L1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQppbmRleCA1YzRkYjcxMmQ5M2NjNGZk
ODE2ZGNmMjg5ZDg5NTc3MGI2NzRhNzE4Li5iOTdlZDI1ZmRkMTM4N2FlN2Y1MzU3MjMyMThhZWQz
NzVlNDAxYjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2Vi
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KQEAgLTM3MCw3ICsz
NzAsNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0dXBGdWxsc2Ny
ZWVuV2l0aElEKHVpbnQ2NF90IGNvbnRleHRJZCwgdQogICAgIG1fcGFnZS0+cm9vdFZpZXdUb1dp
bmRvdyhpbml0aWFsUmVjdCwgaW5pdGlhbFdpbmRvd1JlY3QpOwogICAgIGludGVyZmFjZS0+c2V0
dXBGdWxsc2NyZWVuKCptb2RlbC0+bGF5ZXJIb3N0VmlldygpLCBpbml0aWFsV2luZG93UmVjdCwg
bV9wYWdlLT5wbGF0Zm9ybVdpbmRvdygpLCB2aWRlb0Z1bGxzY3JlZW5Nb2RlLCBhbGxvd3NQaWN0
dXJlSW5QaWN0dXJlKTsKICNlbmRpZgotICAgIG1fcGFnZS0+dWlDbGllbnQoKS5zZXRIYXNWaWRl
b0luUGljdHVyZUluUGljdHVyZShtX3BhZ2UsIHZpZGVvRnVsbHNjcmVlbk1vZGUgJiBNZWRpYVBs
YXllckVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlUGljdHVyZUluUGljdHVyZSk7CisgICAgbV9w
YWdlLT51aUNsaWVudCgpLmhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlKG1fcGFn
ZSwgdmlkZW9GdWxsc2NyZWVuTW9kZSAmIE1lZGlhUGxheWVyRW51bXM6OlZpZGVvRnVsbHNjcmVl
bk1vZGVQaWN0dXJlSW5QaWN0dXJlKTsKIH0KIAogdm9pZCBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5h
Z2VyUHJveHk6OnNldEhhc1ZpZGVvKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBoYXNWaWRlbykK
QEAgLTQ5OSw3ICs0OTksNyBAQCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6
c2V0VmlkZW9MYXllckdyYXZpdHkodWludDY0X3QgY29udGV4dElkLCBXZQogCiB2b2lkIFdlYlZp
ZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZnVsbHNjcmVlbk1vZGVDaGFuZ2VkKHVpbnQ2NF90
IGNvbnRleHRJZCwgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudEVudW1zOjpWaWRlb0Z1bGxzY3Jl
ZW5Nb2RlIG1vZGUpCiB7Ci0gICAgbV9wYWdlLT51aUNsaWVudCgpLnNldEhhc1ZpZGVvSW5QaWN0
dXJlSW5QaWN0dXJlKG1fcGFnZSwgbW9kZSAmIE1lZGlhUGxheWVyRW51bXM6OlZpZGVvRnVsbHNj
cmVlbk1vZGVQaWN0dXJlSW5QaWN0dXJlKTsKKyAgICBtX3BhZ2UtPnVpQ2xpZW50KCkuaGFzVmlk
ZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFuZ2UobV9wYWdlLCBtb2RlICYgTWVkaWFQbGF5ZXJF
bnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZVBpY3R1cmVJblBpY3R1cmUpOwogICAgIG1fcGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlcjo6RnVsbHNjcmVlbk1vZGVD
aGFuZ2VkKGNvbnRleHRJZCwgbW9kZSksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmFiMzZlZDU5NzZk
ZjllMzM0NDQxYjBhNDcwMDhkZWY3OTIwYmUwNy4uYjQ0NWNkZTkzM2M4ODJmYTcwMjc4OWQ5M2U1
OWFiZDRjNmNmNGNiNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE3LTA1LTEyICBKZXJlbXkgSm9uZXMgIDxqZXJl
bXlqQGFwcGxlLmNvbT4KIAorICAgICAgICBBZGQgb2JqYyB2ZXJzaW9uIG9mIFdLMiBVSVBhZ2VD
bGllbnQgc2V0SGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUgYW5kIHJlbmFtZSBpdCB0byBoYXNW
aWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjA0OAorICAgICAgICByZGFyOi8vcHJvYmxlbS8z
MjE2MzA1NAorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBB
ZGQgYSBXS1dlYlZpZXcgdGVzdCBmb3IgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRDaGFu
Z2UgVUlEZWxlZ2F0ZSBjYWxsYmFjay4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5t
bToKKyAgICAgICAgKGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlKToKKyAgICAg
ICAgKC1bUGljdHVyZUluUGljdHVyZVVJRGVsZWdhdGUgX3dlYlZpZXc6aGFzVmlkZW9JblBpY3R1
cmVJblBpY3R1cmVEaWRDaGFuZ2U6XSk6CisgICAgICAgICgtW1BpY3R1cmVJblBpY3R1cmVVSURl
bGVnYXRlIHVzZXJDb250ZW50Q29udHJvbGxlcjpkaWRSZWNlaXZlU2NyaXB0TWVzc2FnZTpdKToK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCisyMDE3LTA1LTEyICBKZXJlbXkgSm9u
ZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgVUlDbGllbnQgY2FsbGJhY2sg
Zm9yIHdoZW4gcGljdHVyZS1pbi1waWN0dXJlIGlzIGFjdGl2YXRlZC4KICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjAyMwogCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9QaWN0dXJlSW5QaWN0dXJlRGVs
ZWdhdGUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1
cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCmluZGV4IDg3ZjI0Y2VkOGY0OTk1ZDliMWQ2Njk4ZWQ3
OGVmZmZlODY5NDY3YjguLmY5NWI3ZjE5OWIwMGRmN2FmNTBkZTA3M2RlOWRjMTM1MzE4MjVkMzcg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1
cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZS5odG1sCkBAIC02LDYgKzYsMTIg
QEAKICAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3ZpZGVvJyk7CiAgICAgICAgICAgICAgICAgdGFyZ2V0LndlYmtpdFNldFByZXNlbnRhdGlvbk1v
ZGUodGFyZ2V0LndlYmtpdFByZXNlbnRhdGlvbk1vZGUgPT0gImlubGluZSIgPyAicGljdHVyZS1p
bi1waWN0dXJlIiA6ICJpbmxpbmUiKTsKICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgCisg
ICAgICAgICAgICBmdW5jdGlvbiBsb2FkKCkgeworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cu
d2Via2l0ICE9PSB1bmRlZmluZWQgJiYgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMucGlj
dHVyZUluUGljdHVyZUNoYW5nZUhhbmRsZXIgIT09IHVuZGVmaW5lZCkgeworICAgICAgICAgICAg
ICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5waWN0dXJlSW5QaWN0dXJlQ2hh
bmdlSGFuZGxlci5wb3N0TWVzc2FnZSgnbG9hZCcpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KICAgICAgICAgPC9zY3JpcHQ+CiAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAg
ICN2aWRlbyB7CkBAIC0xNSw3ICsyMSw3IEBACiAgICAgICAgICAgICB9CiAgICAgICAgIDwvc3R5
bGU+CiAgICAgPC9oZWFkPgotICAgIDxib2R5IG9ubG9hZD0id2luZG93Lm9ubG9hZGNvbXBsZXRl
ZCA9IHRydWU7ICI+CisgICAgPGJvZHkgb25sb2FkPSJsb2FkKCk7IHdpbmRvdy5vbmxvYWRjb21w
bGV0ZWQgPSB0cnVlOyAiPgogICAgICAgICA8dmlkZW8gaWQ9InZpZGVvIiBwbGF5c2lubGluZSBz
cmM9InRlc3QubXA0IiAvPgogICAgIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBpY3R1cmVEZWxlZ2F0
ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1BpY3R1cmVJblBp
Y3R1cmVEZWxlZ2F0ZS5tbQppbmRleCAyNTRlZjlkMTZlNjRmZTg0OWFlZjM0NWQxMDlmNzhmZTJh
ZDkwNTYxLi44ODNhMGU0MmQ2MWNhMWQyZGQxNDUzODFlNDQ5ZDAyNjk2MTRjNmU2IDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9QaWN0dXJlSW5QaWN0
dXJlRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvUGljdHVyZUluUGljdHVyZURlbGVnYXRlLm1tCkBAIC00Miw2ICs0Miw3IEBACiAjaW1wb3J0
IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktp
dC9XS1dlYlZpZXdQcml2YXRlLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0
IDx3dGYvbWFjL0FwcEtpdENvbXBhdGliaWxpdHlEZWNsYXJhdGlvbnMuaD4KIAogc3RhdGljIGJv
b2wgcmVjZWl2ZWRMb2FkZWRNZXNzYWdlOwogCkBAIC04MSwxNCArODIsNzAgQEAgc3RhdGljIHZv
aWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tUeXBlUmVm
LCBjb25zdCB2b2lkKikKICAgICByZWNlaXZlZExvYWRlZE1lc3NhZ2UgPSB0cnVlOwogfQogCi1z
dGF0aWMgdm9pZCBzZXRIYXNWaWRlb0luUGljdHVyZUluUGljdHVyZShXS1BhZ2VSZWYsIGJvb2wg
aGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUsIGNvbnN0IHZvaWQqIGNvbnRleHQpCitzdGF0aWMg
dm9pZCBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZShXS1BhZ2VSZWYsIGJvb2wg
aGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmUsIGNvbnN0IHZvaWQqIGNvbnRleHQpCiB7CiAgICAg
aGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVWYWx1ZSA9IGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0
dXJlOwogICAgIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlQ2FsbGVkID0gdHJ1ZTsKIH0KIAor
QGludGVyZmFjZSBQaWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS1VJRGVs
ZWdhdGUsIFdLU2NyaXB0TWVzc2FnZUhhbmRsZXI+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBQ
aWN0dXJlSW5QaWN0dXJlVUlEZWxlZ2F0ZQorCistICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3IGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlRGlkQ2hhbmdlOihCT09MKWhhc1Zp
ZGVvSW5QaWN0dXJlSW5QaWN0dXJlCit7CisgICAgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVW
YWx1ZSA9IGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlOworICAgIGhhc1ZpZGVvSW5QaWN0dXJl
SW5QaWN0dXJlQ2FsbGVkID0gdHJ1ZTsKK30KKworLSAodm9pZCl1c2VyQ29udGVudENvbnRyb2xs
ZXI6KFdLVXNlckNvbnRlbnRDb250cm9sbGVyICopdXNlckNvbnRlbnRDb250cm9sbGVyIGRpZFJl
Y2VpdmVTY3JpcHRNZXNzYWdlOihXS1NjcmlwdE1lc3NhZ2UgKiltZXNzYWdlCit7CisgICAgTlNT
dHJpbmcgKmJvZHlTdHJpbmcgPSAoTlNTdHJpbmcgKilbbWVzc2FnZSBib2R5XTsKKyAgICBpZiAo
W2JvZHlTdHJpbmcgaXNFcXVhbFRvU3RyaW5nOkAibG9hZCJdKQorICAgICAgICByZWNlaXZlZExv
YWRlZE1lc3NhZ2UgPSB0cnVlOworfQorQGVuZAorCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7
CiAgICAgCitURVNUKFBpY3R1cmVJblBpY3R1cmUsIFdLVUlEZWxlZ2F0ZSkKK3sKKyAgICBSZXRh
aW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tX
S1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWluUHRyPFdLV2Vi
Vmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
TlNNYWtlUmVjdCgwLCAwLCAxMDAsIDEwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdl
dCgpXSk7CisgICAgW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdLl9mdWxsU2NyZWVuRW5hYmxl
ZCA9IFlFUzsKKyAgICBbY29uZmlndXJhdGlvbiBwcmVmZXJlbmNlc10uX2FsbG93c1BpY3R1cmVJ
blBpY3R1cmVNZWRpYVBsYXliYWNrID0gWUVTOworICAgIFJldGFpblB0cjxQaWN0dXJlSW5QaWN0
dXJlVUlEZWxlZ2F0ZT4gaGFuZGxlciA9IGFkb3B0TlMoW1tQaWN0dXJlSW5QaWN0dXJlVUlEZWxl
Z2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRy
b2xsZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgbmFtZTpAInBpY3R1
cmVJblBpY3R1cmVDaGFuZ2VIYW5kbGVyIl07CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpo
YW5kbGVyLmdldCgpXTsKKyAgICAKKyAgICBSZXRhaW5QdHI8TlNXaW5kb3c+IHdpbmRvdyA9IGFk
b3B0TlMoW1tOU1dpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250ZW50UmVjdDpbd2ViVmlldyBmcmFt
ZV0gc3R5bGVNYXNrOk5TV2luZG93U3R5bGVNYXNrQm9yZGVybGVzcyBiYWNraW5nOk5TQmFja2lu
Z1N0b3JlQnVmZmVyZWQgZGVmZXI6Tk9dKTsKKyAgICBbW3dpbmRvdyBjb250ZW50Vmlld10gYWRk
U3Vidmlldzp3ZWJWaWV3LmdldCgpXTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtO
U1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JS
ZXNvdXJjZTpAIlBpY3R1cmVJblBpY3R1cmVEZWxlZ2F0ZSIgd2l0aEV4dGVuc2lvbjpAImh0bWwi
IHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOworICAgIAorICAgIHJl
Y2VpdmVkTG9hZGVkTWVzc2FnZSA9IGZhbHNlOworICAgIAorICAgIFt3ZWJWaWV3IGxvYWRSZXF1
ZXN0OnJlcXVlc3RdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRMb2Fk
ZWRNZXNzYWdlKTsKKworICAgIGhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlVmFsdWUgPSBmYWxz
ZTsKKyAgICBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZUNhbGxlZCA9IGZhbHNlOworCisgICAg
TlNFdmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNFdmVudFR5cGVM
ZWZ0TW91c2VEb3duIGxvY2F0aW9uOk5TTWFrZVBvaW50KDUsIDUpIG1vZGlmaWVyRmxhZ3M6MCB0
aW1lc3RhbXA6MCB3aW5kb3dOdW1iZXI6d2luZG93LmdldCgpLndpbmRvd051bWJlciBjb250ZXh0
OjAgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjAgcHJlc3N1cmU6MF07CisgICAgW3dlYlZpZXcg
bW91c2VEb3duOmV2ZW50XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmhhc1ZpZGVv
SW5QaWN0dXJlSW5QaWN0dXJlQ2FsbGVkKTsKKyAgICBBU1NFUlRfVFJVRShoYXNWaWRlb0luUGlj
dHVyZUluUGljdHVyZVZhbHVlKTsKKyAgICAKKyAgICBzbGVlcCgxKTsgLy8gV2FpdCBmb3IgUElQ
QWdlbnQgdG8gbGF1bmNoLCBvciBpdCB3b24ndCBjYWxsIC1waXBEaWRDbG9zZTogY2FsbGJhY2su
CisgICAgCisgICAgaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQgPSBmYWxzZTsKKyAg
ICBbd2ViVmlldyBtb3VzZURvd246ZXZlbnRdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVDYWxsZWQpOworICAgIEFTU0VSVF9GQUxTRSho
YXNWaWRlb0luUGljdHVyZUluUGljdHVyZVZhbHVlKTsKK30KKyAgICAKKyAgICAKIFRFU1QoUGlj
dHVyZUluUGljdHVyZSwgV0tQYWdlVUlDbGllbnQpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250
ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVhdGUoKSk7CkBAIC0xMDMsNyAr
MTYwLDcgQEAgVEVTVChQaWN0dXJlSW5QaWN0dXJlLCBXS1BhZ2VVSUNsaWVudCkKICAgICBtZW1z
ZXQoJnVpQ2xpZW50LCAwLCBzaXplb2YodWlDbGllbnQpKTsKICAgICB1aUNsaWVudC5iYXNlLnZl
cnNpb24gPSAxMDsKICAgICB1aUNsaWVudC5iYXNlLmNsaWVudEluZm8gPSBOVUxMOwotICAgIHVp
Q2xpZW50LnNldEhhc1ZpZGVvSW5QaWN0dXJlSW5QaWN0dXJlID0gc2V0SGFzVmlkZW9JblBpY3R1
cmVJblBpY3R1cmU7CisgICAgdWlDbGllbnQuaGFzVmlkZW9JblBpY3R1cmVJblBpY3R1cmVEaWRD
aGFuZ2UgPSBoYXNWaWRlb0luUGljdHVyZUluUGljdHVyZURpZENoYW5nZTsKICAgICBXS1BhZ2VT
ZXRQYWdlVUlDbGllbnQod2ViVmlldy5wYWdlKCksICZ1aUNsaWVudC5iYXNlKTsKICAgICAKICAg
ICBXS1BhZ2VMb2FkZXJDbGllbnRWMCBsb2FkZXJDbGllbnQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>