<?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>208250</bug_id>
          
          <creation_ts>2020-02-26 11:04:28 -0800</creation_ts>
          <short_desc>[iOS] The GPU process never runs as a foreground process</short_desc>
          <delta_ts>2020-02-27 18:42:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=203547</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>205123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>nham</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1623063</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-26 11:04:28 -0800</bug_when>
    <thetext>Currently, the GPU process always runs in the background, and never goes into the foreground mode, which is required for media playback on iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623142</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-26 13:27:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/59818767&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623211</commentid>
    <comment_count>2</comment_count>
      <attachid>391787</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-26 15:22:53 -0800</bug_when>
    <thetext>Created attachment 391787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623228</commentid>
    <comment_count>3</comment_count>
      <attachid>391791</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-26 15:40:43 -0800</bug_when>
    <thetext>Created attachment 391791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623266</commentid>
    <comment_count>4</comment_count>
      <attachid>391805</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-26 16:30:14 -0800</bug_when>
    <thetext>Created attachment 391805
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623530</commentid>
    <comment_count>5</comment_count>
      <attachid>391805</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-02-27 09:41:38 -0800</bug_when>
    <thetext>Comment on attachment 391805
Patch

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

This looks good, but I think you should have Ben and Chris review.

&gt; Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:127
&gt; +    , m_throttler(*this, true)

Check with Ben Nham to make sure this doesn&apos;t impact page load performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623531</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-27 09:48:59 -0800</bug_when>
    <thetext>gtk &amp; wpe bubbles are red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623550</commentid>
    <comment_count>7</comment_count>
      <attachid>391888</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-27 10:13:33 -0800</bug_when>
    <thetext>Created attachment 391888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623559</commentid>
    <comment_count>8</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-27 10:17:18 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #5)
&gt; Comment on attachment 391805 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=391805&amp;action=review
&gt; 
&gt; This looks good, but I think you should have Ben and Chris review.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:127
&gt; &gt; +    , m_throttler(*this, true)
&gt; 
&gt; Check with Ben Nham to make sure this doesn&apos;t impact page load performance.

Ben, do you think this change will have an impact on PLT?

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623566</commentid>
    <comment_count>9</comment_count>
      <attachid>391892</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-27 10:53:38 -0800</bug_when>
    <thetext>Created attachment 391892
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623598</commentid>
    <comment_count>10</comment_count>
      <attachid>391892</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-27 12:07:38 -0800</bug_when>
    <thetext>Comment on attachment 391892
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:2045
&gt; +            if (auto gpuProcess = GPUProcessProxy::singletonIfCreated())

Now we take process assertions for the GPU process in 2 places, here and in existing GPUProcessProxy::updateProcessAssertion() code. This seems wrong.

&gt; Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:127
&gt; +    , m_throttler(*this, true)

Seems like this should be using processPool.shouldTakeUIBackgroundAssertion()

&gt; Source/WebKit/UIProcess/ios/WKContentView.mm:263
&gt; +- (void)_removeVisibilityPropagationViewForGPUProcess

Who is calling this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623667</commentid>
    <comment_count>11</comment_count>
      <attachid>391916</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-27 14:19:54 -0800</bug_when>
    <thetext>Created attachment 391916
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623680</commentid>
    <comment_count>12</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-27 14:47:16 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #10)
&gt; Comment on attachment 391892 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=391892&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:2045
&gt; &gt; +            if (auto gpuProcess = GPUProcessProxy::singletonIfCreated())
&gt; 
&gt; Now we take process assertions for the GPU process in 2 places, here and in
&gt; existing GPUProcessProxy::updateProcessAssertion() code. This seems wrong.
&gt; 

I removed this, since there is existing code in place in GPUProcessProxy::updateProcessAssertion(). It does not seem like we update the assertions dynamically though. Should this be addressed in a later patch?

&gt; &gt; Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:127
&gt; &gt; +    , m_throttler(*this, true)
&gt; 
&gt; Seems like this should be using processPool.shouldTakeUIBackgroundAssertion()
&gt; 

I reverted this since the related code was also reverted.

&gt; &gt; Source/WebKit/UIProcess/ios/WKContentView.mm:263
&gt; &gt; +- (void)_removeVisibilityPropagationViewForGPUProcess
&gt; 
&gt; Who is calling this?

Fixed. This is now being called when the GPU process crash.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623684</commentid>
    <comment_count>13</comment_count>
      <attachid>391916</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-27 14:52:30 -0800</bug_when>
    <thetext>Comment on attachment 391916
Patch

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

&gt; Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:127
&gt; +    , m_throttler(*this, true)

We have a configuration flag for this: processPool.shouldTakeUIBackgroundAssertion()
If the client says not to take UI assertions, it seems wrong to do so.

NetworkProcessProxy, WebProcessProxy all rely on processPool.shouldTakeUIBackgroundAssertion(). What makes the GPU process different?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623685</commentid>
    <comment_count>14</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-27 14:55:04 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #13)
&gt; Comment on attachment 391916 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=391916&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp:127
&gt; &gt; +    , m_throttler(*this, true)
&gt; 
&gt; We have a configuration flag for this:
&gt; processPool.shouldTakeUIBackgroundAssertion()
&gt; If the client says not to take UI assertions, it seems wrong to do so.
&gt; 
&gt; NetworkProcessProxy, WebProcessProxy all rely on
&gt; processPool.shouldTakeUIBackgroundAssertion(). What makes the GPU process
&gt; different?

It does not seem we have an associated processPool for the GPU Process, since it is a singleton. Would you prefer to take the value from one of the pools, e.g. the first one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623691</commentid>
    <comment_count>15</comment_count>
      <attachid>391925</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-27 15:01:10 -0800</bug_when>
    <thetext>Created attachment 391925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623692</commentid>
    <comment_count>16</comment_count>
      <attachid>391925</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-02-27 15:01:46 -0800</bug_when>
    <thetext>Comment on attachment 391925
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623824</commentid>
    <comment_count>17</comment_count>
      <attachid>391925</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-27 17:54:16 -0800</bug_when>
    <thetext>Comment on attachment 391925
Patch

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623844</commentid>
    <comment_count>18</comment_count>
      <attachid>391925</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-27 18:42:03 -0800</bug_when>
    <thetext>Comment on attachment 391925
Patch

Clearing flags on attachment: 391925

Committed r257610: &lt;https://trac.webkit.org/changeset/257610&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623845</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-27 18:42:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391787</attachid>
            <date>2020-02-26 15:22:53 -0800</date>
            <delta_ts>2020-02-26 15:40:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208250-20200226152252.patch</filename>
            <type>text/plain</type>
            <size>26140</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc1MTkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU3IEBACisyMDIwLTAyLTI2ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBUaGUgR1BVIHByb2Nl
c3MgbmV2ZXIgcnVucyBhcyBhIGZvcmVncm91bmQgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgR1BVIHByb2Nlc3Mg
YWx3YXlzIHJ1bnMgaW4gdGhlIGJhY2tncm91bmQsIGFuZCBuZXZlciBnb2VzIGludG8gdGhlIGZv
cmVncm91bmQgbW9kZSwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yIG1lZGlhCisgICAgICAgIHBsYXli
YWNrIG9uIGlPUy4gVGhpcyBpcyBhZGRyZXNzZWQgYnkgY3JlYXRpbmcgYSBsYXllciBpbiB0aGUg
R1BVIHByb2Nlc3MsIHdob3NlIGNvbnRleHQgSUQgaXMgdXNlZCB0byBjcmVhdGUgYSB2aXNpYmls
aXR5CisgICAgICAgIHByb3BhZ2F0aW9uIHZpZXcgaW4gdGhlIFVJIHByb2Nlc3MuIFRoaXMgaXMg
ZG9uZSBpbiB0aGUgc2FtZSB3YXkgYXMgaXQgaXMgZG9uZSBmb3IgdGhlIFdlYkNvbnRlbnQgcHJv
Y2Vzcy4gVGhpcyBtYWtlcyBpdAorICAgICAgICBwb3NzaWJsZSBmb3IgdGhlIHN5c3RlbSB0byBk
ZXRlcm1pbmUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIEdQVSBwcm9jZXNzLiBJbiBhZGRpdGlvbiwg
Y3JlYXRlIGZvcmVncm91bmQgcHJvY2VzcyBhc3NlcnRpb25zCisgICAgICAgIHdoZW4gbWVkaWEg
aXMgYmVpbmcgcGxheWVkLiBBbHNvLCBhZGQgbWVkaWEgcmVsYXRlZCBzZXR0aW5ncyBpbiB0aGUg
R1BVIHByb2Nlc3MnIEluZm8ucGxpc3QsIHdoaWNoIGlzIGNvcGllZCBmcm9tIHRoZSBJbmZvLnBs
aXN0CisgICAgICAgIG9mIHRoZSBXZWJDb250ZW50IHByb2Nlc3MuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogR1BVUHJvY2Vz
cy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvR1BVU2VydmljZS9JbmZvLWlPUy5wbGlzdDoK
KyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpH
UFVQcm9jZXNzOjppbml0aWFsaXplR1BVUHJvY2Vzcyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9pb3MvR1BVUHJvY2Vzc0lPUy5tbToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZp
c2liaWxpdHlQcm9wYWdhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OkdQVVByb2Nlc3NQ
cm94eSk6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6b3BlbkdQVVByb2Nlc3ND
b25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpkaWRDcmVhdGVD
b250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJv
Y2Vzc1Byb3h5Ojpjb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24gY29uc3QpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6ZGlkQ3JlYXRlQ29u
dGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbik6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
dXBkYXRlVGhyb3R0bGVTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2xl
YXJBdWRpYmxlQWN0aXZpdHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6c2V0V2ViUHJvY2Vzc0lzUGxheWluZ0F1ZGlibGVNZWRpYSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjbGVhcldlYlByb2Nlc3NJc1BsYXlpbmdB
dWRpYmxlTWVkaWEpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUHJveHk6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5
UHJvcGFnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNs
aWVudEltcGw6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFn
YXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbToK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2Nv
bW1vbkluaXRpYWxpemF0aW9uV2l0aFByb2Nlc3NQb29sOmNvbmZpZ3VyYXRpb246XSk6CisgICAg
ICAgICgtW1dLQ29udGVudFZpZXcgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQ
VVByb2Nlc3NdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcmVtb3ZlVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3NdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBf
Z3B1UHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb25dKToKKwog
MjAyMC0wMi0yNiAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAog
ICAgICAgICBUZXN0cyBzaG91bGQgZWFjaCB1c2UgYSB1bmlxdWUgUmVzb3VyY2VMb2FkU3RhdGlz
dGljcyBmaWxlIHBhdGggZm9yIGl0cyBkYXRhYmFzZSBzdG9yZQpJbmRleDogU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAkocmV2aXNpb24gMjU3MTYyKQorKysgU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNiAr
MTE2LDEzIEBAIHZvaWQgR1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQVVByb2Nlc3MoR1AKICAgICBT
YW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy50Y2NTYW5kYm94
RXh0ZW5zaW9uSGFuZGxlKTsKICNlbmRpZgogI2VuZGlmCisKKyNpZiBIQVZFKFZJU0lCSUxJVFlf
UFJPUEFHQVRJT05fVklFVykKKyAgICBtX2NvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24g
PSBMYXllckhvc3RpbmdDb250ZXh0OjpjcmVhdGVGb3JFeHRlcm5hbEhvc3RpbmdQcm9jZXNzKHsK
KyAgICAgICAgbV9jYW5TaG93V2hpbGVMb2NrZWQKKyAgICB9KTsKKyAgICBzZW5kKE1lc3NhZ2Vz
OjpHUFVQcm9jZXNzUHJveHk6OkRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRp
b24obV9jb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uLT5jb250ZXh0SUQoKSkpOworI2Vu
ZGlmCiB9CiAKIHZvaWQgR1BVUHJvY2Vzczo6cHJlcGFyZVRvU3VzcGVuZChib29sIGlzU3VzcGVu
c2lvbkltbWluZW50LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgJKHJldmlzaW9uIDI1
NzE2MikKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOwogc3RydWN0IEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7
CiBzdHJ1Y3QgR1BVUHJvY2Vzc1Nlc3Npb25QYXJhbWV0ZXJzOworY2xhc3MgTGF5ZXJIb3N0aW5n
Q29udGV4dDsKIAogY2xhc3MgR1BVUHJvY2VzcyA6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzLCBw
dWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8R1BVUHJvY2Vzcz4sIHB1YmxpYyBDYW5NYWtlV2Vh
a1B0cjxHUFVQcm9jZXNzPiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR1BVUHJvY2Vzcyk7
CkBAIC05NSw2ICs5NiwxMCBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgfTsKICAgICBIYXNoTWFw
PFBBTDo6U2Vzc2lvbklELCBHUFVTZXNzaW9uPiBtX3Nlc3Npb25zOworI2lmIEhBVkUoVklTSUJJ
TElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIHN0ZDo6dW5pcXVlX3B0cjxMYXllckhvc3RpbmdD
b250ZXh0PiBtX2NvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb247CisgICAgYm9vbCBtX2Nh
blNob3dXaGlsZUxvY2tlZCB7IGZhbHNlIH07CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2Ev
WFBDU2VydmljZS9HUFVTZXJ2aWNlL0luZm8taU9TLnBsaXN0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1NlcnZpY2UvR1BVU2Vydmlj
ZS9JbmZvLWlPUy5wbGlzdAkocmV2aXNpb24gMjU3MTYyKQorKysgU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9HUFVTZXJ2aWNlL0luZm8taU9TLnBs
aXN0CSh3b3JraW5nIGNvcHkpCkBAIC0zNyw1ICszNywxMSBAQAogCQk8a2V5Pl9NdWx0aXBsZUlu
c3RhbmNlczwva2V5PgogCQk8dHJ1ZS8+CiAJPC9kaWN0PgorCTxrZXk+VUlCYWNrZ3JvdW5kTW9k
ZXM8L2tleT4KKwk8YXJyYXk+CisJCTxzdHJpbmc+YXVkaW88L3N0cmluZz4KKwk8L2FycmF5Pgor
CTxrZXk+Q2FuSW5oZXJpdEFwcGxpY2F0aW9uU3RhdGVGcm9tT3RoZXJQcm9jZXNzZXM8L2tleT4K
Kwk8dHJ1ZS8+CiA8L2RpY3Q+CiA8L3BsaXN0PgpJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2lvcy9HUFVQcm9jZXNzSU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9pb3MvR1BVUHJvY2Vzc0lPUy5tbQkocmV2aXNpb24gMjU3MTYyKQorKysgU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2lvcy9HUFVQcm9jZXNzSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw2ICsyOSw4IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBQTEFURk9STShJT1Nf
RkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAKICNpbXBvcnQgIkdQVVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaCIKKyNpbXBvcnQgIkdQVVByb2Nlc3NQcm94eU1lc3NhZ2VzLmgi
CisjaW1wb3J0ICJMYXllckhvc3RpbmdDb250ZXh0LmgiCiAjaW1wb3J0ICJTYW5kYm94SW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVUaHJlYWRTeXN0ZW1JbnRlcmZhY2UuaD4KSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJKHJldmlzaW9uIDI1NzE2MikKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzAz
LDYgKzMwMyw3IEBAIHB1YmxpYzoKIAogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9W
SUVXKQogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3Bh
Z2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZENy
ZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0
aW5nQ29udGV4dElEKSB7IH0KICNlbmRpZgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBkb25lV2l0
aEtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmLCBib29sIHdhc0V2ZW50SGFu
ZGxlZCkgPSAwOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CShyZXZpc2lvbiAyNTcxNjIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDIwLDEwICsyMDIwLDEzIEBAIHZvaWQgV2ViUGFn
ZVByb3h5Ojp1cGRhdGVUaHJvdHRsZVN0YXRlKCkKICAgICAgICAgaWYgKCFtX2lzVmlzaWJsZUFj
dGl2aXR5IHx8ICFtX2lzVmlzaWJsZUFjdGl2aXR5LT5pc1ZhbGlkKCkpIHsKICAgICAgICAgICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRhdGVUaHJvdHRs
ZVN0YXRlOiBVSVByb2Nlc3MgaXMgdGFraW5nIGEgZm9yZWdyb3VuZCBhc3NlcnRpb24gYmVjYXVz
ZSB0aGUgdmlldyBpcyB2aXNpYmxlIik7CiAgICAgICAgICAgICBtX2lzVmlzaWJsZUFjdGl2aXR5
ID0gbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5mb3JlZ3JvdW5kQWN0aXZpdHkoIlZpZXcgaXMgdmlz
aWJsZSJfcykubW92ZVRvVW5pcXVlUHRyKCk7CisgICAgICAgICAgICBpZiAoYXV0byBncHVQcm9j
ZXNzID0gR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b25JZkNyZWF0ZWQoKSkKKyAgICAgICAgICAg
ICAgICBtX2lzVmlzaWJsZUFjdGl2aXR5R1BVUHJvY2VzcyA9IGdwdVByb2Nlc3MtPnRocm90dGxl
cigpLmZvcmVncm91bmRBY3Rpdml0eSgiVmlldyBpcyB2aXNpYmxlIl9zKS5tb3ZlVG9VbmlxdWVQ
dHIoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAobV9pc1Zpc2libGVBY3Rpdml0eSkgewog
ICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRl
VGhyb3R0bGVTdGF0ZTogVUlQcm9jZXNzIGlzIHJlbGVhc2luZyBhIGZvcmVncm91bmQgYXNzZXJ0
aW9uIGJlY2F1c2UgdGhlIHZpZXcgaXMgbm8gbG9uZ2VyIHZpc2libGUiKTsKICAgICAgICAgbV9p
c1Zpc2libGVBY3Rpdml0eSA9IG51bGxwdHI7CisgICAgICAgIG1faXNWaXNpYmxlQWN0aXZpdHlH
UFVQcm9jZXNzID0gbnVsbHB0cjsKICAgICB9CiAKICAgICBib29sIGlzQXVkaWJsZSA9IG1fYWN0
aXZpdHlTdGF0ZS5jb250YWlucyhBY3Rpdml0eVN0YXRlOjpJc0F1ZGlibGUpOwpAQCAtMjAzMSw2
ICsyMDM0LDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVRocm90dGxlU3RhdGUoKQogICAg
ICAgICBpZiAoIW1faXNBdWRpYmxlQWN0aXZpdHkgfHwgIW1faXNBdWRpYmxlQWN0aXZpdHktPmlz
VmFsaWQoKSkgewogICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3Vz
cGVuc2lvbiwgInVwZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJvY2VzcyBpcyB0YWtpbmcgYSBmb3Jl
Z3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIHdlIGFyZSBwbGF5aW5nIGF1ZGlvIik7CiAgICAgICAg
ICAgICBtX2lzQXVkaWJsZUFjdGl2aXR5ID0gbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5mb3JlZ3Jv
dW5kQWN0aXZpdHkoIlZpZXcgaXMgcGxheWluZyBhdWRpbyJfcykubW92ZVRvVW5pcXVlUHRyKCk7
CisgICAgICAgICAgICBpZiAoYXV0byBncHVQcm9jZXNzID0gR1BVUHJvY2Vzc1Byb3h5OjpzaW5n
bGV0b25JZkNyZWF0ZWQoKSkKKyAgICAgICAgICAgICAgICBtX2lzQXVkaWJsZUFjdGl2aXR5R1BV
UHJvY2VzcyA9IGdwdVByb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgiVmll
dyBpcyBwbGF5aW5nIGF1ZGlvIl9zKS5tb3ZlVG9VbmlxdWVQdHIoKTsKICAgICAgICAgfQogICAg
ICAgICBtX2F1ZGlibGVBY3Rpdml0eVRpbWVyLnN0b3AoKTsKICAgICB9IGVsc2UgaWYgKG1faXNB
dWRpYmxlQWN0aXZpdHkpIHsKQEAgLTIwNDQsMjAgKzIwNDksMjYgQEAgdm9pZCBXZWJQYWdlUHJv
eHk6OnVwZGF0ZVRocm90dGxlU3RhdGUoKQogICAgICAgICBpZiAoIW1faXNDYXB0dXJpbmdBY3Rp
dml0eSB8fCAhbV9pc0NhcHR1cmluZ0FjdGl2aXR5LT5pc1ZhbGlkKCkpIHsKICAgICAgICAgICAg
IFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRhdGVUaHJvdHRs
ZVN0YXRlOiBVSVByb2Nlc3MgaXMgdGFraW5nIGEgZm9yZWdyb3VuZCBhc3NlcnRpb24gYmVjYXVz
ZSBtZWRpYSBjYXB0dXJlIGlzIGFjdGl2ZSIpOwogICAgICAgICAgICAgbV9pc0NhcHR1cmluZ0Fj
dGl2aXR5ID0gbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5mb3JlZ3JvdW5kQWN0aXZpdHkoIlZpZXcg
aXMgY2FwdHVyaW5nIG1lZGlhIl9zKS5tb3ZlVG9VbmlxdWVQdHIoKTsKKyAgICAgICAgICAgIGlm
IChhdXRvIGdwdVByb2Nlc3MgPSBHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgp
KQorICAgICAgICAgICAgICAgIG1faXNDYXB0dXJpbmdBY3Rpdml0eUdQVVByb2Nlc3MgPSBncHVQ
cm9jZXNzLT50aHJvdHRsZXIoKS5mb3JlZ3JvdW5kQWN0aXZpdHkoIlZpZXcgaXMgY2FwdHVyaW5n
IG1lZGlhIl9zKS5tb3ZlVG9VbmlxdWVQdHIoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAo
bV9pc0NhcHR1cmluZ0FjdGl2aXR5KSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQo
UHJvY2Vzc1N1c3BlbnNpb24sICJ1cGRhdGVUaHJvdHRsZVN0YXRlOiBVSVByb2Nlc3MgaXMgcmVs
ZWFzaW5nIGEgZm9yZWdyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSBtZWRpYSBjYXB0dXJlIGlzIG5v
IGxvbmdlciBhY3RpdmUiKTsKICAgICAgICAgbV9pc0NhcHR1cmluZ0FjdGl2aXR5ID0gbnVsbHB0
cjsKKyAgICAgICAgbV9pc0NhcHR1cmluZ0FjdGl2aXR5R1BVUHJvY2VzcyA9IG51bGxwdHI7CiAg
ICAgfQogCiAgICAgaWYgKG1fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5KSB7CiAgICAg
ICAgIGlmICghbV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eSB8fCAhbV9h
bHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eS0+aXNWYWxpZCgpKSB7CiAgICAg
ICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRl
VGhyb3R0bGVTdGF0ZTogVUlQcm9jZXNzIGlzIHRha2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9u
IGJlY2F1c2UgbV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgaXMgdHJ1ZSIpOwogICAg
ICAgICAgICAgbV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eSA9IG1fcHJv
Y2Vzcy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5KCJWaWV3IGFsd2F5cyBydW5zIGF0
IGZvcmVncm91bmQgcHJpb3JpdHkiX3MpLm1vdmVUb1VuaXF1ZVB0cigpOworICAgICAgICAgICAg
aWYgKGF1dG8gZ3B1UHJvY2VzcyA9IEdQVVByb2Nlc3NQcm94eTo6c2luZ2xldG9uSWZDcmVhdGVk
KCkpCisgICAgICAgICAgICAgICAgbV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rp
dml0eUdQVVByb2Nlc3MgPSBncHVQcm9jZXNzLT50aHJvdHRsZXIoKS5mb3JlZ3JvdW5kQWN0aXZp
dHkoIlZpZXcgYWx3YXlzIHJ1bnMgYXQgZm9yZWdyb3VuZCBwcmlvcml0eSJfcykubW92ZVRvVW5p
cXVlUHRyKCk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG1fYWx3YXlzUnVuc0F0Rm9yZWdy
b3VuZFByaW9yaXR5QWN0aXZpdHkpIHsKICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQ
cm9jZXNzU3VzcGVuc2lvbiwgInVwZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJvY2VzcyBpcyByZWxl
YXNpbmcgYSBmb3JlZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIG1fYWx3YXlzUnVuc0F0Rm9yZWdy
b3VuZFByaW9yaXR5IGlzIG5vIGxvbmdlciB0cnVlIik7CiAgICAgICAgIG1fYWx3YXlzUnVuc0F0
Rm9yZWdyb3VuZFByaW9yaXR5QWN0aXZpdHkgPSBudWxscHRyOworICAgICAgICBtX2Fsd2F5c1J1
bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2aXR5R1BVUHJvY2VzcyA9IG51bGxwdHI7CiAgICAg
fQogI2VuZGlmCiB9CkBAIC0yMDY3LDYgKzIwNzgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xl
YXJBdWRpYmxlQWN0aXZpdHkoCiB7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNz
U3VzcGVuc2lvbiwgInVwZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJvY2VzcyBpcyByZWxlYXNpbmcg
YSBmb3JlZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIHdlIGFyZSBubyBsb25nZXIgcGxheWluZyBh
dWRpbyIpOwogICAgIG1faXNBdWRpYmxlQWN0aXZpdHkgPSBudWxscHRyOworICAgIG1faXNBdWRp
YmxlQWN0aXZpdHlHUFVQcm9jZXNzID0gbnVsbHB0cjsKIH0KICNlbmRpZgogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMjU3MTYyKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTEx
NjEsNiArMTE2MSw3IEBAIHB1YmxpYzoKIAogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElP
Tl9WSUVXKQogICAgIHZvaWQgZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlv
bihMYXllckhvc3RpbmdDb250ZXh0SUQpOworICAgIHZvaWQgZGlkQ3JlYXRlQ29udGV4dEluR1BV
UHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQpOwog
ICAgIExheWVySG9zdGluZ0NvbnRleHRJRCBjb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRp
b24oKSBjb25zdCB7IHJldHVybiBtX2NvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbjsg
fQogI2VuZGlmCiAKQEAgLTIzODAsNiArMjM4MSwxMCBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5p
cXVlX3B0cjxQcm9jZXNzVGhyb3R0bGVyOjpGb3JlZ3JvdW5kQWN0aXZpdHk+IG1faXNBdWRpYmxl
QWN0aXZpdHk7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91
bmRBY3Rpdml0eT4gbV9pc0NhcHR1cmluZ0FjdGl2aXR5OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQ
cm9jZXNzVGhyb3R0bGVyOjpGb3JlZ3JvdW5kQWN0aXZpdHk+IG1fYWx3YXlzUnVuc0F0Rm9yZWdy
b3VuZFByaW9yaXR5QWN0aXZpdHk7CisgICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRs
ZXI6OkZvcmVncm91bmRBY3Rpdml0eT4gbV9pc1Zpc2libGVBY3Rpdml0eUdQVVByb2Nlc3M7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4g
bV9pc0F1ZGlibGVBY3Rpdml0eUdQVVByb2Nlc3M7CisgICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nl
c3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4gbV9pc0NhcHR1cmluZ0FjdGl2aXR5R1BV
UHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3Vu
ZEFjdGl2aXR5PiBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2aXR5R1BVUHJv
Y2VzczsKICAgICBSdW5Mb29wOjpUaW1lcjxXZWJQYWdlUHJveHk+IG1fYXVkaWJsZUFjdGl2aXR5
VGltZXI7CiAjZW5kaWYKICAgICBib29sIG1faW5pdGlhbENhcGl0YWxpemF0aW9uRW5hYmxlZCB7
IGZhbHNlIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCShyZXZpc2lvbiAyNTcxNjIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MTcsNiArMjQxNyw3IEBAIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OnNldFdlYlByb2Nlc3NJc1BsYXkKIAogICAgICAgICBBU1NFUlQoIW1fdWlQ
cm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbik7CiAgICAgICAgIG1fdWlQcm9jZXNzTWVkaWFQ
bGF5YmFja0Fzc2VydGlvbiA9IG1ha2VVbmlxdWU8UHJvY2Vzc0Fzc2VydGlvbj4oZ2V0Q3VycmVu
dFByb2Nlc3NJRCgpLCAiV2ViS2l0IE1lZGlhIFBsYXliYWNrIl9zLCBBc3NlcnRpb25TdGF0ZTo6
Rm9yZWdyb3VuZCwgQXNzZXJ0aW9uUmVhc29uOjpNZWRpYVBsYXliYWNrKTsKKyAgICAgICAgbV9n
cHVQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbiA9IG1ha2VVbmlxdWU8UHJvY2Vzc0Fzc2Vy
dGlvbj4oR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24oKS5wcm9jZXNzSWRlbnRpZmllcigpLCAi
V2ViS2l0IE1lZGlhIFBsYXliYWNrIl9zLCBBc3NlcnRpb25TdGF0ZTo6Rm9yZWdyb3VuZCwgQXNz
ZXJ0aW9uUmVhc29uOjpNZWRpYVBsYXliYWNrKTsKICAgICB9CiAKICAgICBhdXRvIHJlc3VsdCA9
IG1fcHJvY2Vzc2VzUGxheWluZ0F1ZGlibGVNZWRpYS5hZGQocHJvY2Vzc0lELCBudWxscHRyKTsK
QEAgLTI0MzksNiArMjQ0MCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNsZWFyV2ViUHJvY2Vz
c0lzUGwKIAogICAgICAgICBBU1NFUlQobV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9u
KTsKICAgICAgICAgbV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbnVsbHB0cjsK
KyAgICAgICAgbV9ncHVQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbiA9IG51bGxwdHI7CiAg
ICAgfQogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJ
KHJldmlzaW9uIDI1NzE2MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmgJKHdvcmtpbmcgY29weSkKQEAgLTgwMSw2ICs4MDEsNyBAQCBwcml2YXRlOgogCiAgICAg
SGFzaE1hcDxXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFByb2Nl
c3NBc3NlcnRpb24+PiBtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVkaWE7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFByb2Nlc3NBc3NlcnRpb24+IG1fdWlQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2Vy
dGlvbjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV9ncHVQcm9jZXNz
TWVkaWFQbGF5YmFja0Fzc2VydGlvbjsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICAvLyBGSVhN
RTogRGVsYXllZCBwcm9jZXNzIGxhdW5jaCBpcyBjdXJyZW50bHkgZGlzYWJsZWQgb24gaU9TIGZv
ciBwZXJmb3JtYW5jZSByZWFzb25zIChyZGFyOi8vcHJvYmxlbS80OTA3NDEzMSkuCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI1
NzE2MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3NDUsNiArMTc0NSwxNCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6
ZW5hYmxlU2VydmljZVdvcmtlCiAjZW5kaWYKIH0KIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9Q
QUdBVElPTl9WSUVXKQordm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZENyZWF0ZUNvbnRleHRJbkdQ
VVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNv
bnRleHRJRCkKK3sKKyAgICBmb3IgKGF1dG8mIHBhZ2UgOiBjb3B5VG9WZWN0b3JPZjxSZWZQdHI8
V2ViUGFnZVByb3h5Pj4obV9wYWdlTWFwLnZhbHVlcygpKSkKKyAgICAgICAgcGFnZS0+ZGlkQ3Jl
YXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihjb250ZXh0SUQp
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9D
SEVDSwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHJl
dmlzaW9uIDI1NzE2MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQVBJVXNlcklu
aXRpYXRlZEFjdGlvbi5oIgogI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NQcm94eS5oIgogI2lu
Y2x1ZGUgIkJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oIgorI2luY2x1ZGUg
IkxheWVySG9zdGluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIK
ICNpbmNsdWRlICJQbHVnaW5JbmZvU3RvcmUuaCIKICNpbmNsdWRlICJQcm9jZXNzTGF1bmNoZXIu
aCIKQEAgLTM2NCw2ICszNjUsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SGFzSXNzdWVkQXR0
YWNobWVudEVsZW1lbnRSZWxhdGVkU2FuZGJveEV4dGVuc2lvbnMoKSB7IG1faGFzSXNzdWVkQXR0
YWNobWVudEVsZW1lbnRSZWxhdGVkU2FuZGJveEV4dGVuc2lvbnMgPSB0cnVlOyB9CiAjZW5kaWYK
IAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIHZvaWQgZGlkQ3Jl
YXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3Rp
bmdDb250ZXh0SUQpOworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBXZWJQcm9jZXNzUHJveHko
V2ViUHJvY2Vzc1Bvb2wmLCBXZWJzaXRlRGF0YVN0b3JlKiwgSXNQcmV3YXJtZWQpOwogCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2Nv
YS5tbQkocmV2aXNpb24gMjU3MTYyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUGFnZVByb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsMTEgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUNvbnRleHRGb3JWaQogICAgIG1fY29udGV4dElE
Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uID0gY29udGV4dElEOwogICAgIHBhZ2VDbGllbnQoKS5k
aWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKGNvbnRleHRJRCk7CiB9CisK
K3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJp
bGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCBjb250ZXh0SUQpCit7CisgICAg
cGFnZUNsaWVudCgpLmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJv
cGFnYXRpb24oY29udGV4dElEKTsKK30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHku
Y3BwCShyZXZpc2lvbiAyNTcxNjIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BV
UHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDcgKzEyMiw3IEBAIEdQVVBy
b2Nlc3NQcm94eSYgR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGUKIAogR1BVUHJvY2Vzc1Byb3h5OjpH
UFVQcm9jZXNzUHJveHkoKQogICAgIDogQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5KCkKLSAgICAsIG1f
dGhyb3R0bGVyKCp0aGlzLCBmYWxzZSkKKyAgICAsIG1fdGhyb3R0bGVyKCp0aGlzLCB0cnVlKQog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgLCBtX3VzZU1vY2tDYXB0dXJlRGV2aWNlcyhN
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6bW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJFbmFibGVkKCkpCiAjZW5kaWYKQEAgLTE3Miw2ICsxNzIsMTEgQEAgdm9pZCBHUFVQcm9jZXNz
UHJveHk6OmdldEdQVVByb2Nlc3NDb25uZQogdm9pZCBHUFVQcm9jZXNzUHJveHk6Om9wZW5HUFVQ
cm9jZXNzQ29ubmVjdGlvbihDb25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIgY29ubmVjdGlvblJl
cXVlc3RJZGVudGlmaWVyLCBXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nlc3NQcm94eSkKIHsKICAg
ICBhZGRTZXNzaW9uKHdlYlByb2Nlc3NQcm94eS53ZWJzaXRlRGF0YVN0b3JlKCkpOworICAgIAor
ICAgIGlmIChtX2NvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbikKKyAgICAgICAgd2Vi
UHJvY2Vzc1Byb3h5LmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJv
cGFnYXRpb24obV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOworICAgIGVsc2UK
KyAgICAgICAgbV9wcm9jZXNzZXNQZW5kaW5nVmlzaWJpbGl0eVByb3BhZ2F0aW9uTm90aWZpY2F0
aW9uLmFwcGVuZChtYWtlV2Vha1B0cih3ZWJQcm9jZXNzUHJveHkpKTsKIAogICAgIGF1dG8mIGNv
bm5lY3Rpb24gPSAqdGhpcy0+Y29ubmVjdGlvbigpOwogCkBAIC0zMjAsNiArMzI1LDIyIEBAIHZv
aWQgR1BVUHJvY2Vzc1Byb3h5OjpyZW1vdmVTZXNzaW9uKFBBTDoKICAgICAgICAgc2VuZChNZXNz
YWdlczo6R1BVUHJvY2Vzczo6UmVtb3ZlU2Vzc2lvbiB7IHNlc3Npb25JRCB9LCAwKTsKIH0KIAor
I2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQordm9pZCBHUFVQcm9jZXNzUHJv
eHk6OmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5n
Q29udGV4dElEIGNvbnRleHRJRCkKK3sKKyAgICBtX2NvbnRleHRJREZvclZpc2liaWxpdHlQcm9w
YWdhdGlvbiA9IGNvbnRleHRJRDsKKworICAgIGF1dG8gcHJvY2Vzc2VzID0gV1RGTW92ZShtX3By
b2Nlc3Nlc1BlbmRpbmdWaXNpYmlsaXR5UHJvcGFnYXRpb25Ob3RpZmljYXRpb24pOworICAgIGZv
ciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcykKKyAgICAgICAgcHJvY2Vzcy0+ZGlkQ3JlYXRl
Q29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihjb250ZXh0SUQpOwor
fQorCitMYXllckhvc3RpbmdDb250ZXh0SUQgR1BVUHJvY2Vzc1Byb3h5Ojpjb250ZXh0SURGb3JW
aXNpYmlsaXR5UHJvcGFnYXRpb24oKSBjb25zdAoreworICAgIHJldHVybiBtX2NvbnRleHRJREZv
clZpc2liaWxpdHlQcm9wYWdhdGlvbjsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0sKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgJKHJldmlzaW9uIDI1NzE2MikKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAt
MjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgiCiAjaW5j
bHVkZSAiR1BVUHJvY2Vzc1Byb3h5TWVzc2FnZXNSZXBsaWVzLmgiCisjaW5jbHVkZSAiTGF5ZXJI
b3N0aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlByb2Nlc3NMYXVuY2hlci5oIgogI2luY2x1ZGUg
IlByb2Nlc3NUaHJvdHRsZXIuaCIKICNpbmNsdWRlICJQcm9jZXNzVGhyb3R0bGVyQ2xpZW50Lmgi
CkBAIC02NSw2ICs2NiwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbW92ZVNlc3Npb24oUEFM
OjpTZXNzaW9uSUQpOwogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisg
ICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlv
bigpIGNvbnN0OworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgR1BVUHJvY2Vzc1By
b3h5KCk7CiAgICAgfkdQVVByb2Nlc3NQcm94eSgpOwpAQCAtOTEsOSArOTYsMTQgQEAgcHJpdmF0
ZToKICAgICB2b2lkIG9wZW5HUFVQcm9jZXNzQ29ubmVjdGlvbihDb25uZWN0aW9uUmVxdWVzdElk
ZW50aWZpZXIsIFdlYlByb2Nlc3NQcm94eSYpOwogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpD
bGllbnQKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJp
bmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOwogCisjaWYgSEFWRShWSVNJQklMSVRZ
X1BST1BBR0FUSU9OX1ZJRVcpCisgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCk7CisjZW5kaWYKKwogICAgIHN0YXRp
YyBHUFVQcm9jZXNzUHJveHkqIG1fc2luZ2xldG9uOwogCiAgICAgc3RydWN0IENvbm5lY3Rpb25S
ZXF1ZXN0IHsKQEAgLTEwOSw2ICsxMTksMTEgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdXNlTW9j
a0NhcHR1cmVEZXZpY2VzIHsgZmFsc2UgfTsKICNlbmRpZgogICAgIEhhc2hTZXQ8UEFMOjpTZXNz
aW9uSUQ+IG1fc2Vzc2lvbklEczsKKworI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9W
SUVXKQorICAgIExheWVySG9zdGluZ0NvbnRleHRJRCBtX2NvbnRleHRJREZvclZpc2liaWxpdHlQ
cm9wYWdhdGlvbiB7IDAgfTsKKyAgICBWZWN0b3I8V2Vha1B0cjxXZWJQcm9jZXNzUHJveHk+PiBt
X3Byb2Nlc3Nlc1BlbmRpbmdWaXNpYmlsaXR5UHJvcGFnYXRpb25Ob3RpZmljYXRpb247CisjZW5k
aWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCShyZXZp
c2lvbiAyNTcxNjIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw2ICsyMywxMSBAQAogI2lmIEVO
QUJMRShHUFVfUFJPQ0VTUykKIAogbWVzc2FnZXMgLT4gR1BVUHJvY2Vzc1Byb3h5IE5vdFJlZkNv
dW50ZWQgeworCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgRGlk
Q3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihXZWJLaXQ6OkxheWVySG9zdGlu
Z0NvbnRleHRJRCBjb250ZXh0SUQpOworI2VuZGlmCisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShH
UFVfUFJPQ0VTUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5oCShyZXZpc2lvbiAyNTcxNjIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAkod29ya2luZyBjb3B5KQpAQCAtNzIsNiArNzIs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVsYXVuY2hQcm9jZXNzKCkgb3ZlcnJpZGU7CiAj
aWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgdm9pZCBkaWRDcmVhdGVD
b250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkgb3Zl
cnJpZGU7CisgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkgb3ZlcnJpZGU7CiAjZW5kaWYKICAg
ICB2b2lkIHBhZ2VDbG9zZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIHByZWZlcmVuY2VzRGlkQ2hh
bmdlKCkgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLm1tCShyZXZpc2lvbiAyNTcxNjIpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTIx
OCw2ICsyMTgsMTEgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ3JlYXRlQ29udGV4dEZvcgog
ewogICAgIFttX2NvbnRlbnRWaWV3IF9wcm9jZXNzRGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxp
dHlQcm9wYWdhdGlvbl07CiB9CisKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmRpZENyZWF0ZUNvbnRl
eHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4
dElEKQoreworICAgIFttX2NvbnRlbnRWaWV3IF9ncHVQcm9jZXNzRGlkQ3JlYXRlQ29udGV4dEZv
clZpc2liaWxpdHlQcm9wYWdhdGlvbl07Cit9CiAjZW5kaWYKIAogdm9pZCBQYWdlQ2xpZW50SW1w
bDo6cGFnZUNsb3NlZCgpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3LmgJKHJldmlzaW9uIDI1NzE2MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMCw2ICsxMDAsNyBAQCBj
bGFzcyBXZWJQcm9jZXNzUG9vbDsKIC0gKHZvaWQpX2RpZFJlbGF1bmNoUHJvY2VzczsKICNpZiBI
QVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKIC0gKHZvaWQpX3Byb2Nlc3NEaWRDcmVh
dGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uOworLSAodm9pZClfZ3B1UHJvY2Vzc0Rp
ZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb247CiAjZW5kaWYKIC0gKHZvaWQp
X3NldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSb290VmlldzooVUlWaWV3ICopcm9vdFZpZXc7CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCShy
ZXZpc2lvbiAyNTcxNjIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAiQVBJUGFn
ZUNvbmZpZ3VyYXRpb24uaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlJT1MuaCIKICNpbXBvcnQg
IkZ1bGxzY3JlZW5DbGllbnQuaCIKKyNpbXBvcnQgIkdQVVByb2Nlc3NQcm94eS5oIgogI2ltcG9y
dCAiSW5wdXRWaWV3VXBkYXRlRGVmZXJyZXIuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBv
cnQgIlBhZ2VDbGllbnRJbXBsSU9TLmgiCkBAIC0xMzQsNiArMTM1LDcgQEAgLSAodm9pZClyZWRv
IAogCiAjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgUmV0YWluUHRy
PF9VSUxheWVySG9zdFZpZXc+IF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3OworICAgIFJldGFp
blB0cjxfVUlMYXllckhvc3RWaWV3PiBfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVBy
b2Nlc3M7CiAjZW5kaWYKIAogICAgIFdlYkNvcmU6Okhpc3RvcmljYWxWZWxvY2l0eURhdGEgX2hp
c3RvcmljYWxLaW5lbWF0aWNEYXRhOwpAQCAtMTk5LDYgKzIwMSw3IEBAIC0gKGluc3RhbmNldHlw
ZSlfY29tbW9uSW5pdGlhbGl6YXRpb25XaXQKIAogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdB
VElPTl9WSUVXKQogICAgIFtzZWxmIF9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXddOwor
ICAgIFtzZWxmIF9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzXTsK
ICNlbmRpZgogCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRP
YnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25XaWxsUmVzaWduQWN0
aXZlOikgbmFtZTpVSUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBvYmpl
Y3Q6W1VJQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dXTsKQEAgLTIyOSw2ICsyMzIsMjQg
QEAgLSAodm9pZClfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3CiAgICAgW3NlbGYgYWRk
U3VidmlldzpfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldy5nZXQoKV07CiB9CiAKKy0gKHZvaWQp
X3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MKK3sKKyAgICBpZiAo
IVdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b25JZkNyZWF0ZWQoKSkKKyAgICAgICAg
cmV0dXJuOworICAgIGF1dG8gcHJvY2Vzc0lkZW50aWZpZXIgPSBXZWJLaXQ6OkdQVVByb2Nlc3NQ
cm94eTo6c2luZ2xldG9uKCkucHJvY2Vzc0lkZW50aWZpZXIoKTsKKyAgICBhdXRvIGNvbnRleHRJ
RCA9IFdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24oKS5jb250ZXh0SURGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24oKTsKKyAgICBpZiAoIXByb2Nlc3NJZGVudGlmaWVyIHx8ICFjb250
ZXh0SUQpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChfdmlzaWJpbGl0eVByb3BhZ2F0aW9u
Vmlld0ZvckdQVVByb2Nlc3MpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFByb3BhZ2F0ZSB0
aGUgdmlldydzIHZpc2liaWxpdHkgc3RhdGUgdG8gdGhlIEdQVSBwcm9jZXNzIHNvIHRoYXQgaXQg
aXMgbWFya2VkIGFzICJGb3JlZ3JvdW5kIFJ1bm5pbmciIHdoZW4gbmVjZXNzYXJ5LgorICAgIF92
aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzcyA9IGFkb3B0TlMoW1tfVUlMYXll
ckhvc3RWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gcGlkOnByb2Nlc3NJZGVu
dGlmaWVyIGNvbnRleHRJRDpjb250ZXh0SURdKTsKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzLCAi
Q3JlYXRlZCB2aXNpYmlsaXR5IHByb3BhZ2F0aW9uIHZpZXcgJXAgKGNvbnRleHRJRDogJXUpIGZv
ciBHUFUgcHJvY2VzcyB3aXRoIFBJRCAlZCIsIF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9y
R1BVUHJvY2Vzcy5nZXQoKSwgY29udGV4dElELCBwcm9jZXNzSWRlbnRpZmllcik7CisgICAgW3Nl
bGYgYWRkU3VidmlldzpfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MuZ2V0
KCldOworfQorCiAtICh2b2lkKV9yZW1vdmVWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3CiB7CiAg
ICAgaWYgKCFfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldykKQEAgLTIzOCw2ICsyNTksMTYgQEAg
LSAodm9pZClfcmVtb3ZlVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldwogICAgIFtfdmlzaWJpbGl0
eVByb3BhZ2F0aW9uVmlldyByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKICAgICBfdmlzaWJpbGl0eVBy
b3BhZ2F0aW9uVmlldyA9IG51bGxwdHI7CiB9CisKKy0gKHZvaWQpX3JlbW92ZVZpc2liaWxpdHlQ
cm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzCit7CisgICAgaWYgKCFfdmlzaWJpbGl0eVByb3Bh
Z2F0aW9uVmlld0ZvckdQVVByb2Nlc3MpCisgICAgICAgIHJldHVybjsKKworICAgIFJFTEVBU0Vf
TE9HKFByb2Nlc3MsICJSZW1vdmluZyB2aXNpYmlsaXR5IHByb3BhZ2F0aW9uIHZpZXcgJXAiLCBf
dmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MuZ2V0KCkpOworICAgIFtfdmlz
aWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MgcmVtb3ZlRnJvbVN1cGVydmlld107
CisgICAgX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzID0gbnVsbHB0cjsK
K30KICNlbmRpZgogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1l
IHByb2Nlc3NQb29sOihOYWtlZFJlZjxXZWJLaXQ6OldlYlByb2Nlc3NQb29sPilwcm9jZXNzUG9v
bCBjb25maWd1cmF0aW9uOihSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJiljb25maWd1cmF0
aW9uIHdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKQEAgLTYxMSw2ICs2NDIsMTEgQEAgLSAo
dm9pZClfcHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYgogewogICAgIFtzZWxmIF9zZXR1
cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXddOwogfQorCistICh2b2lkKV9ncHVQcm9jZXNzRGlk
Q3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbgoreworICAgIFtzZWxmIF9zZXR1
cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzXTsKK30KICNlbmRpZgogCiAt
ICh2b2lkKV9kaWRDb21taXRMYXllclRyZWU6KGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVl
VHJhbnNhY3Rpb24mKWxheWVyVHJlZVRyYW5zYWN0aW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391791</attachid>
            <date>2020-02-26 15:40:43 -0800</date>
            <delta_ts>2020-02-26 16:30:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208250-20200226154042.patch</filename>
            <type>text/plain</type>
            <size>25229</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc1MjIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU2IEBACisyMDIwLTAyLTI2ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBUaGUgR1BVIHByb2Nl
c3MgbmV2ZXIgcnVucyBhcyBhIGZvcmVncm91bmQgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgR1BVIHByb2Nlc3Mg
YWx3YXlzIHJ1bnMgaW4gdGhlIGJhY2tncm91bmQsIGFuZCBuZXZlciBnb2VzIGludG8gdGhlIGZv
cmVncm91bmQgbW9kZSwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yIG1lZGlhCisgICAgICAgIHBsYXli
YWNrIG9uIGlPUy4gVGhpcyBpcyBhZGRyZXNzZWQgYnkgY3JlYXRpbmcgYSBsYXllciBpbiB0aGUg
R1BVIHByb2Nlc3MsIHdob3NlIGNvbnRleHQgSUQgaXMgdXNlZCB0byBjcmVhdGUgYSB2aXNpYmls
aXR5CisgICAgICAgIHByb3BhZ2F0aW9uIHZpZXcgaW4gdGhlIFVJIHByb2Nlc3MuIFRoaXMgaXMg
ZG9uZSBpbiB0aGUgc2FtZSB3YXkgYXMgaXQgaXMgZG9uZSBmb3IgdGhlIFdlYkNvbnRlbnQgcHJv
Y2Vzcy4gVGhpcyBtYWtlcyBpdAorICAgICAgICBwb3NzaWJsZSBmb3IgdGhlIHN5c3RlbSB0byBk
ZXRlcm1pbmUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIEdQVSBwcm9jZXNzLiBJbiBhZGRpdGlvbiwg
Y3JlYXRlIGZvcmVncm91bmQgcHJvY2VzcyBhc3NlcnRpb25zCisgICAgICAgIHdoZW4gbWVkaWEg
aXMgYmVpbmcgcGxheWVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBleGlz
dGluZyB0ZXN0cy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENT
ZXJ2aWNlL0dQVVNlcnZpY2UvSW5mby1pT1MucGxpc3Q6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQ
VVByb2Nlc3MpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAgICAq
IEdQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW06CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpHUFVQcm9jZXNzUHJveHkpOgorICAgICAgICAoV2ViS2l0
OjpHUFVQcm9jZXNzUHJveHk6Om9wZW5HUFVQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChX
ZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9w
YWdhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6Y29udGV4dElERm9y
VmlzaWJpbGl0eVByb3BhZ2F0aW9uIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVRocm90dGxlU3RhdGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsZWFyQXVkaWJsZUFjdGl2aXR5KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNldFdl
YlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVkaWEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRDcmVh
dGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRDcmVhdGVDb250
ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW06CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhQ
cm9jZXNzUG9vbDpjb25maWd1cmF0aW9uOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9z
ZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzXSk6CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgX3JlbW92ZVZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9j
ZXNzXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2dwdVByb2Nlc3NEaWRDcmVhdGVDb250
ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uXSk6CisKIDIwMjAtMDItMjYgIERvbiBPbG1zdGVh
ZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBBbGxvdyBzZXR0aW5nIG9mIHN0
YWNrIHNpemVzIGZvciB0aHJlYWRzCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
UHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuY3BwCShyZXZpc2lvbiAyNTc1MjIpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMyw2ICsxMjMsMTMgQEAgdm9pZCBH
UFVQcm9jZXNzOjppbml0aWFsaXplR1BVUHJvY2VzcyhHUAogI2VuZGlmCiAjZW5kaWYKIAorI2lm
IEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIG1fY29udGV4dEZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbiA9IExheWVySG9zdGluZ0NvbnRleHQ6OmNyZWF0ZUZvckV4dGVybmFs
SG9zdGluZ1Byb2Nlc3MoeworICAgICAgICBtX2NhblNob3dXaGlsZUxvY2tlZAorICAgIH0pOwor
ICAgIHNlbmQoTWVzc2FnZXM6OkdQVVByb2Nlc3NQcm94eTo6RGlkQ3JlYXRlQ29udGV4dEZvclZp
c2liaWxpdHlQcm9wYWdhdGlvbihtX2NvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24tPmNv
bnRleHRJRCgpKSk7CisjZW5kaWYKKwogICAgIFdlYkNvcmU6OnNldFByZXNlbnRpbmdBcHBsaWNh
dGlvblBJRChwYXJhbWV0ZXJzLnBhcmVudFBJRCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuaAkocmV2aXNpb24gMjU3NTIyKQorKysgU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBzdHJ1
Y3QgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIHN0cnVjdCBHUFVQcm9jZXNzU2Vzc2lv
blBhcmFtZXRlcnM7CitjbGFzcyBMYXllckhvc3RpbmdDb250ZXh0OwogCiBjbGFzcyBHUFVQcm9j
ZXNzIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxHUFVQcm9jZXNzPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPEdQVVByb2Nlc3M+IHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShHUFVQcm9jZXNzKTsKQEAgLTk4LDYgKzk5LDEwIEBAIHByaXZh
dGU6CiAjZW5kaWYKICAgICB9OwogICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIEdQVVNlc3Np
b24+IG1fc2Vzc2lvbnM7CisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisg
ICAgc3RkOjp1bmlxdWVfcHRyPExheWVySG9zdGluZ0NvbnRleHQ+IG1fY29udGV4dEZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbjsKKyAgICBib29sIG1fY2FuU2hvd1doaWxlTG9ja2VkIHsgZmFsc2Ug
fTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2lvcy9HUFVQcm9jZXNzSU9TLm1tCShyZXZpc2lvbiAyNTc1MjIp
CisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW0JKHdvcmtp
bmcgY29weSkKQEAgLTI5LDYgKzI5LDggQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBM
QVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKIAogI2ltcG9ydCAi
R1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2ltcG9ydCAiR1BVUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaCIKKyNpbXBvcnQgIkxheWVySG9zdGluZ0NvbnRleHQuaCIKICNpbXBvcnQgIlNh
bmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgPFdlYkNvcmUvTm90SW1w
bGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFj
ZS5oPgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAkocmV2aXNpb24gMjU3
NTIyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMDMsNiArMzAzLDcgQEAgcHVibGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZX1BS
T1BBR0FUSU9OX1ZJRVcpCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlv
bihMYXllckhvc3RpbmdDb250ZXh0SUQpIHsgfQogI2VuZGlmCiAgICAgCiAgICAgdmlydHVhbCB2
b2lkIGRvbmVXaXRoS2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wg
d2FzRXZlbnRIYW5kbGVkKSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAJKHJldmlzaW9uIDI1NzUyMikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNDIsMTAgKzIwNDIsMTMgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVRocm90dGxlU3RhdGUoKQogICAgICAgICBpZiAoIW1f
aXNWaXNpYmxlQWN0aXZpdHkgfHwgIW1faXNWaXNpYmxlQWN0aXZpdHktPmlzVmFsaWQoKSkgewog
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVw
ZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJvY2VzcyBpcyB0YWtpbmcgYSBmb3JlZ3JvdW5kIGFzc2Vy
dGlvbiBiZWNhdXNlIHRoZSB2aWV3IGlzIHZpc2libGUiKTsKICAgICAgICAgICAgIG1faXNWaXNp
YmxlQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgi
VmlldyBpcyB2aXNpYmxlIl9zKS5tb3ZlVG9VbmlxdWVQdHIoKTsKKyAgICAgICAgICAgIGlmIChh
dXRvIGdwdVByb2Nlc3MgPSBHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgpKQor
ICAgICAgICAgICAgICAgIG1faXNWaXNpYmxlQWN0aXZpdHlHUFVQcm9jZXNzID0gZ3B1UHJvY2Vz
cy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5KCJWaWV3IGlzIHZpc2libGUiX3MpLm1v
dmVUb1VuaXF1ZVB0cigpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChtX2lzVmlzaWJsZUFj
dGl2aXR5KSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNp
b24sICJ1cGRhdGVUaHJvdHRsZVN0YXRlOiBVSVByb2Nlc3MgaXMgcmVsZWFzaW5nIGEgZm9yZWdy
b3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgdmlldyBpcyBubyBsb25nZXIgdmlzaWJsZSIpOwog
ICAgICAgICBtX2lzVmlzaWJsZUFjdGl2aXR5ID0gbnVsbHB0cjsKKyAgICAgICAgbV9pc1Zpc2li
bGVBY3Rpdml0eUdQVVByb2Nlc3MgPSBudWxscHRyOwogICAgIH0KIAogICAgIGJvb2wgaXNBdWRp
YmxlID0gbV9hY3Rpdml0eVN0YXRlLmNvbnRhaW5zKEFjdGl2aXR5U3RhdGU6OklzQXVkaWJsZSk7
CkBAIC0yMDUzLDYgKzIwNTYsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlVGhyb3R0bGVT
dGF0ZSgpCiAgICAgICAgIGlmICghbV9pc0F1ZGlibGVBY3Rpdml0eSB8fCAhbV9pc0F1ZGlibGVB
Y3Rpdml0eS0+aXNWYWxpZCgpKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9jZXNzIGlzIHRh
a2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2Ugd2UgYXJlIHBsYXlpbmcgYXVkaW8i
KTsKICAgICAgICAgICAgIG1faXNBdWRpYmxlQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxl
cigpLmZvcmVncm91bmRBY3Rpdml0eSgiVmlldyBpcyBwbGF5aW5nIGF1ZGlvIl9zKS5tb3ZlVG9V
bmlxdWVQdHIoKTsKKyAgICAgICAgICAgIGlmIChhdXRvIGdwdVByb2Nlc3MgPSBHUFVQcm9jZXNz
UHJveHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgpKQorICAgICAgICAgICAgICAgIG1faXNBdWRpYmxl
QWN0aXZpdHlHUFVQcm9jZXNzID0gZ3B1UHJvY2Vzcy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFj
dGl2aXR5KCJWaWV3IGlzIHBsYXlpbmcgYXVkaW8iX3MpLm1vdmVUb1VuaXF1ZVB0cigpOwogICAg
ICAgICB9CiAgICAgICAgIG1fYXVkaWJsZUFjdGl2aXR5VGltZXIuc3RvcCgpOwogICAgIH0gZWxz
ZSBpZiAobV9pc0F1ZGlibGVBY3Rpdml0eSkgewpAQCAtMjA2NiwyMCArMjA3MSwyNiBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6dXBkYXRlVGhyb3R0bGVTdGF0ZSgpCiAgICAgICAgIGlmICghbV9pc0Nh
cHR1cmluZ0FjdGl2aXR5IHx8ICFtX2lzQ2FwdHVyaW5nQWN0aXZpdHktPmlzVmFsaWQoKSkgewog
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVw
ZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJvY2VzcyBpcyB0YWtpbmcgYSBmb3JlZ3JvdW5kIGFzc2Vy
dGlvbiBiZWNhdXNlIG1lZGlhIGNhcHR1cmUgaXMgYWN0aXZlIik7CiAgICAgICAgICAgICBtX2lz
Q2FwdHVyaW5nQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rp
dml0eSgiVmlldyBpcyBjYXB0dXJpbmcgbWVkaWEiX3MpLm1vdmVUb1VuaXF1ZVB0cigpOworICAg
ICAgICAgICAgaWYgKGF1dG8gZ3B1UHJvY2VzcyA9IEdQVVByb2Nlc3NQcm94eTo6c2luZ2xldG9u
SWZDcmVhdGVkKCkpCisgICAgICAgICAgICAgICAgbV9pc0NhcHR1cmluZ0FjdGl2aXR5R1BVUHJv
Y2VzcyA9IGdwdVByb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgiVmlldyBp
cyBjYXB0dXJpbmcgbWVkaWEiX3MpLm1vdmVUb1VuaXF1ZVB0cigpOwogICAgICAgICB9CiAgICAg
fSBlbHNlIGlmIChtX2lzQ2FwdHVyaW5nQWN0aXZpdHkpIHsKICAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVwZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJv
Y2VzcyBpcyByZWxlYXNpbmcgYSBmb3JlZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIG1lZGlhIGNh
cHR1cmUgaXMgbm8gbG9uZ2VyIGFjdGl2ZSIpOwogICAgICAgICBtX2lzQ2FwdHVyaW5nQWN0aXZp
dHkgPSBudWxscHRyOworICAgICAgICBtX2lzQ2FwdHVyaW5nQWN0aXZpdHlHUFVQcm9jZXNzID0g
bnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAobV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3Jp
dHkpIHsKICAgICAgICAgaWYgKCFtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2
aXR5IHx8ICFtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2aXR5LT5pc1ZhbGlk
KCkpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNp
b24sICJ1cGRhdGVUaHJvdHRsZVN0YXRlOiBVSVByb2Nlc3MgaXMgdGFraW5nIGEgZm9yZWdyb3Vu
ZCBhc3NlcnRpb24gYmVjYXVzZSBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSBpcyB0
cnVlIik7CiAgICAgICAgICAgICBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2
aXR5ID0gbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5mb3JlZ3JvdW5kQWN0aXZpdHkoIlZpZXcgYWx3
YXlzIHJ1bnMgYXQgZm9yZWdyb3VuZCBwcmlvcml0eSJfcykubW92ZVRvVW5pcXVlUHRyKCk7Cisg
ICAgICAgICAgICBpZiAoYXV0byBncHVQcm9jZXNzID0gR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0
b25JZkNyZWF0ZWQoKSkKKyAgICAgICAgICAgICAgICBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQ
cmlvcml0eUFjdGl2aXR5R1BVUHJvY2VzcyA9IGdwdVByb2Nlc3MtPnRocm90dGxlcigpLmZvcmVn
cm91bmRBY3Rpdml0eSgiVmlldyBhbHdheXMgcnVucyBhdCBmb3JlZ3JvdW5kIHByaW9yaXR5Il9z
KS5tb3ZlVG9VbmlxdWVQdHIoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAobV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eSkgewogICAgICAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9j
ZXNzIGlzIHJlbGVhc2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgbV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgaXMgbm8gbG9uZ2VyIHRydWUiKTsKICAgICAgICAgbV9h
bHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eSA9IG51bGxwdHI7CisgICAgICAg
IG1fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5QWN0aXZpdHlHUFVQcm9jZXNzID0gbnVs
bHB0cjsKICAgICB9CiAjZW5kaWYKIH0KQEAgLTIwODksNiArMjEwMCw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpjbGVhckF1ZGlibGVBY3Rpdml0eSgKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9jZXNzIGlz
IHJlbGVhc2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2Ugd2UgYXJlIG5vIGxvbmdl
ciBwbGF5aW5nIGF1ZGlvIik7CiAgICAgbV9pc0F1ZGlibGVBY3Rpdml0eSA9IG51bGxwdHI7Cisg
ICAgbV9pc0F1ZGlibGVBY3Rpdml0eUdQVVByb2Nlc3MgPSBudWxscHRyOwogfQogI2VuZGlmCiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyNTc1
MjIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBj
b3B5KQpAQCAtMTE2Niw2ICsxMTY2LDcgQEAgcHVibGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZ
X1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCk7CisgICAgdm9pZCBkaWRDcmVhdGVD
b250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0Nv
bnRleHRJRCk7CiAgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJREZvclZpc2liaWxp
dHlQcm9wYWdhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uOyB9CiAjZW5kaWYKIApAQCAtMjM5Myw2ICsyMzk0LDEwIEBAIHByaXZhdGU6CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4g
bV9pc0F1ZGlibGVBY3Rpdml0eTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc1Rocm90dGxl
cjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzQ2FwdHVyaW5nQWN0aXZpdHk7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4gbV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJv
Y2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzVmlzaWJsZUFjdGl2aXR5R1BV
UHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3Vu
ZEFjdGl2aXR5PiBtX2lzQXVkaWJsZUFjdGl2aXR5R1BVUHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvY2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzQ2FwdHVyaW5n
QWN0aXZpdHlHUFVQcm9jZXNzOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzVGhyb3R0bGVy
OjpGb3JlZ3JvdW5kQWN0aXZpdHk+IG1fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5QWN0
aXZpdHlHUFVQcm9jZXNzOwogICAgIFJ1bkxvb3A6OlRpbWVyPFdlYlBhZ2VQcm94eT4gbV9hdWRp
YmxlQWN0aXZpdHlUaW1lcjsKICNlbmRpZgogICAgIGJvb2wgbV9pbml0aWFsQ2FwaXRhbGl6YXRp
b25FbmFibGVkIHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDI1NzUyMikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM4OCw2ICsyMzg4LDcg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0V2ViUHJvY2Vzc0lzUGxheQogCiAgICAgICAgIEFT
U0VSVCghbV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uKTsKICAgICAgICAgbV91aVBy
b2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbWFrZVVuaXF1ZTxQcm9jZXNzQXNzZXJ0aW9u
PihnZXRDdXJyZW50UHJvY2Vzc0lEKCksICJXZWJLaXQgTWVkaWEgUGxheWJhY2siX3MsIEFzc2Vy
dGlvblN0YXRlOjpGb3JlZ3JvdW5kLCBBc3NlcnRpb25SZWFzb246Ok1lZGlhUGxheWJhY2spOwor
ICAgICAgICBtX2dwdVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbWFrZVVuaXF1ZTxQ
cm9jZXNzQXNzZXJ0aW9uPihHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbigpLnByb2Nlc3NJZGVu
dGlmaWVyKCksICJXZWJLaXQgTWVkaWEgUGxheWJhY2siX3MsIEFzc2VydGlvblN0YXRlOjpGb3Jl
Z3JvdW5kLCBBc3NlcnRpb25SZWFzb246Ok1lZGlhUGxheWJhY2spOwogICAgIH0KIAogICAgIGF1
dG8gcmVzdWx0ID0gbV9wcm9jZXNzZXNQbGF5aW5nQXVkaWJsZU1lZGlhLmFkZChwcm9jZXNzSUQs
IG51bGxwdHIpOwpAQCAtMjQxMCw2ICsyNDExLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6Y2xl
YXJXZWJQcm9jZXNzSXNQbAogCiAgICAgICAgIEFTU0VSVChtX3VpUHJvY2Vzc01lZGlhUGxheWJh
Y2tBc3NlcnRpb24pOwogICAgICAgICBtX3VpUHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24g
PSBudWxscHRyOworICAgICAgICBtX2dwdVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0g
bnVsbHB0cjsKICAgICB9CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaAkocmV2aXNpb24gMjU3NTIyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNzk5LDYgKzc5OSw3IEBAIHByaXZh
dGU6CiAKICAgICBIYXNoTWFwPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1
ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4+IG1fcHJvY2Vzc2VzUGxheWluZ0F1ZGlibGVNZWRpYTsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NNZWRpYVBs
YXliYWNrQXNzZXJ0aW9uOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzQXNzZXJ0aW9uPiBt
X2dwdVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uOwogCiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgIC8vIEZJWE1FOiBEZWxheWVkIHByb2Nlc3MgbGF1bmNoIGlzIGN1cnJlbnRseSBkaXNhYmxl
ZCBvbiBpT1MgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKHJkYXI6Ly9wcm9ibGVtLzQ5MDc0MTMx
KS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAko
cmV2aXNpb24gMjU3NTIyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc0NSw2ICsxNzQ1LDE0IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjplbmFibGVTZXJ2aWNlV29ya2UKICNlbmRpZgogfQogCisjaWYgSEFWRShWSVNJ
QklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkQ3JlYXRl
Q29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdD
b250ZXh0SUQgY29udGV4dElEKQoreworICAgIGZvciAoYXV0byYgcGFnZSA6IGNvcHlUb1ZlY3Rv
ck9mPFJlZlB0cjxXZWJQYWdlUHJveHk+PihtX3BhZ2VNYXAudmFsdWVzKCkpKQorICAgICAgICBw
YWdlLT5kaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
KGNvbnRleHRJRCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRl
ZiBNRVNTQUdFX0NIRUNLCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuaAkocmV2aXNpb24gMjU3NTIyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRl
ICJBUElVc2VySW5pdGlhdGVkQWN0aW9uLmgiCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc1By
b3h5LmgiCiAjaW5jbHVkZSAiQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmgi
CisjaW5jbHVkZSAiTGF5ZXJIb3N0aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNl
aXZlck1hcC5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9TdG9yZS5oIgogI2luY2x1ZGUgIlByb2Nl
c3NMYXVuY2hlci5oIgpAQCAtMzY0LDYgKzM2NSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRI
YXNJc3N1ZWRBdHRhY2htZW50RWxlbWVudFJlbGF0ZWRTYW5kYm94RXh0ZW5zaW9ucygpIHsgbV9o
YXNJc3N1ZWRBdHRhY2htZW50RWxlbWVudFJlbGF0ZWRTYW5kYm94RXh0ZW5zaW9ucyA9IHRydWU7
IH0KICNlbmRpZgogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAg
dm9pZCBkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
KExheWVySG9zdGluZ0NvbnRleHRJRCk7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIFdlYlBy
b2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYsIFdlYnNpdGVEYXRhU3RvcmUqLCBJc1ByZXdhcm1l
ZCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBh
Z2VQcm94eUNvY29hLm1tCShyZXZpc2lvbiAyNTc1MjIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzA3LDYg
KzMwNywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpCiAgICAg
bV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24gPSBjb250ZXh0SUQ7CiAgICAgcGFn
ZUNsaWVudCgpLmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oY29udGV4
dElEKTsKIH0KKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nl
c3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJ
RCkKK3sKKyAgICBwYWdlQ2xpZW50KCkuZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZp
c2liaWxpdHlQcm9wYWdhdGlvbihjb250ZXh0SUQpOworfQogI2VuZGlmCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQ
cm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVBy
b2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI1NzUyMikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsNyArMTI0
LDcgQEAgR1BVUHJvY2Vzc1Byb3h5JiBHUFVQcm9jZXNzUHJveHk6OnNpbmdsZQogCiBHUFVQcm9j
ZXNzUHJveHk6OkdQVVByb2Nlc3NQcm94eSgpCiAgICAgOiBBdXhpbGlhcnlQcm9jZXNzUHJveHko
KQotICAgICwgbV90aHJvdHRsZXIoKnRoaXMsIGZhbHNlKQorICAgICwgbV90aHJvdHRsZXIoKnRo
aXMsIHRydWUpCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNlTW9ja0NhcHR1
cmVEZXZpY2VzKE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjptb2NrUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlckVuYWJsZWQoKSkKICNlbmRpZgpAQCAtMTgyLDYgKzE4MiwxMSBAQCB2b2lk
IEdQVVByb2Nlc3NQcm94eTo6Z2V0R1BVUHJvY2Vzc0Nvbm5lCiB2b2lkIEdQVVByb2Nlc3NQcm94
eTo6b3BlbkdQVVByb2Nlc3NDb25uZWN0aW9uKENvbm5lY3Rpb25SZXF1ZXN0SWRlbnRpZmllciBj
b25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIsIFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1By
b3h5KQogewogICAgIGFkZFNlc3Npb24od2ViUHJvY2Vzc1Byb3h5LndlYnNpdGVEYXRhU3RvcmUo
KSk7CisgICAgCisgICAgaWYgKG1fY29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKQor
ICAgICAgICB3ZWJQcm9jZXNzUHJveHkuZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZp
c2liaWxpdHlQcm9wYWdhdGlvbihtX2NvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbik7
CisgICAgZWxzZQorICAgICAgICBtX3Byb2Nlc3Nlc1BlbmRpbmdWaXNpYmlsaXR5UHJvcGFnYXRp
b25Ob3RpZmljYXRpb24uYXBwZW5kKG1ha2VXZWFrUHRyKHdlYlByb2Nlc3NQcm94eSkpOwogCiAg
ICAgYXV0byYgY29ubmVjdGlvbiA9ICp0aGlzLT5jb25uZWN0aW9uKCk7CiAKQEAgLTMzMCw2ICsz
MzUsMjIgQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OnJlbW92ZVNlc3Npb24oUEFMOgogICAgICAg
ICBzZW5kKE1lc3NhZ2VzOjpHUFVQcm9jZXNzOjpSZW1vdmVTZXNzaW9uIHsgc2Vzc2lvbklEIH0s
IDApOwogfQogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCit2b2lkIEdQ
VVByb2Nlc3NQcm94eTo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihM
YXllckhvc3RpbmdDb250ZXh0SUQgY29udGV4dElEKQoreworICAgIG1fY29udGV4dElERm9yVmlz
aWJpbGl0eVByb3BhZ2F0aW9uID0gY29udGV4dElEOworCisgICAgYXV0byBwcm9jZXNzZXMgPSBX
VEZNb3ZlKG1fcHJvY2Vzc2VzUGVuZGluZ1Zpc2liaWxpdHlQcm9wYWdhdGlvbk5vdGlmaWNhdGlv
bik7CisgICAgZm9yIChhdXRvJiBwcm9jZXNzIDogcHJvY2Vzc2VzKQorICAgICAgICBwcm9jZXNz
LT5kaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKGNv
bnRleHRJRCk7Cit9CisKK0xheWVySG9zdGluZ0NvbnRleHRJRCBHUFVQcm9jZXNzUHJveHk6OmNv
bnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
Y29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uOworfQorI2VuZGlmCisKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwpJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjU3NTIyKQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJBdXhpbGlhcnlQcm9jZXNzUHJv
eHkuaCIKICNpbmNsdWRlICJHUFVQcm9jZXNzUHJveHlNZXNzYWdlc1JlcGxpZXMuaCIKKyNpbmNs
dWRlICJMYXllckhvc3RpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiUHJvY2Vzc0xhdW5jaGVyLmgi
CiAjaW5jbHVkZSAiUHJvY2Vzc1Rocm90dGxlci5oIgogI2luY2x1ZGUgIlByb2Nlc3NUaHJvdHRs
ZXJDbGllbnQuaCIKQEAgLTY2LDYgKzY3LDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVtb3Zl
U2Vzc2lvbihQQUw6OlNlc3Npb25JRCk7CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJ
T05fVklFVykKKyAgICBMYXllckhvc3RpbmdDb250ZXh0SUQgY29udGV4dElERm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uKCkgY29uc3Q7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBH
UFVQcm9jZXNzUHJveHkoKTsKICAgICB+R1BVUHJvY2Vzc1Byb3h5KCk7CkBAIC05Miw5ICs5Nywx
NCBAQCBwcml2YXRlOgogICAgIHZvaWQgb3BlbkdQVVByb2Nlc3NDb25uZWN0aW9uKENvbm5lY3Rp
b25SZXF1ZXN0SWRlbnRpZmllciwgV2ViUHJvY2Vzc1Byb3h5Jik7CiAKICAgICAvLyBJUEM6OkNv
bm5lY3Rpb246OkNsaWVudAorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRDbG9zZShJUEM6OkNv
bm5lY3Rpb24mKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1l
LCBJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgb3ZlcnJpZGU7CiAKKyNpZiBIQVZF
KFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICB2b2lkIGRpZENyZWF0ZUNvbnRleHRG
b3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEKTsKKyNlbmRpZgor
CiAgICAgc3RhdGljIEdQVVByb2Nlc3NQcm94eSogbV9zaW5nbGV0b247CiAKICAgICBzdHJ1Y3Qg
Q29ubmVjdGlvblJlcXVlc3QgewpAQCAtMTExLDYgKzEyMSwxMSBAQCBwcml2YXRlOgogICAgIHVp
bnQ2NF90IG1fb3JpZW50YXRpb24geyAwIH07CiAjZW5kaWYKICAgICBIYXNoU2V0PFBBTDo6U2Vz
c2lvbklEPiBtX3Nlc3Npb25JRHM7CisKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05f
VklFVykKKyAgICBMYXllckhvc3RpbmdDb250ZXh0SUQgbV9jb250ZXh0SURGb3JWaXNpYmlsaXR5
UHJvcGFnYXRpb24geyAwIH07CisgICAgVmVjdG9yPFdlYWtQdHI8V2ViUHJvY2Vzc1Byb3h5Pj4g
bV9wcm9jZXNzZXNQZW5kaW5nVmlzaWJpbGl0eVByb3BhZ2F0aW9uTm90aWZpY2F0aW9uOworI2Vu
ZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgkocmV2
aXNpb24gMjU3NTIyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQ
cm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMjMsNiArMjMsMTEgQEAKICNpZiBF
TkFCTEUoR1BVX1BST0NFU1MpCiAKIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3NQcm94eSBOb3RSZWZD
b3VudGVkIHsKKworI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIERp
ZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oV2ViS2l0OjpMYXllckhvc3Rp
bmdDb250ZXh0SUQgY29udGV4dElEKTsKKyNlbmRpZgorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUo
R1BVX1BST0NFU1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MuaAkocmV2aXNpb24gMjU3NTIyKQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgJKHdvcmtpbmcgY29weSkKQEAgLTcyLDYgKzcy
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlbGF1bmNoUHJvY2VzcygpIG92ZXJyaWRlOwog
I2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQogICAgIHZvaWQgZGlkQ3JlYXRl
Q29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQpIG92
ZXJyaWRlOworICAgIHZvaWQgZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxp
dHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQpIG92ZXJyaWRlOwogI2VuZGlmCiAg
ICAgdm9pZCBwYWdlQ2xvc2VkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBwcmVmZXJlbmNlc0RpZENo
YW5nZSgpIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbQkocmV2aXNpb24gMjU3NTIyKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0y
MTgsNiArMjE4LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZENyZWF0ZUNvbnRleHRGb3IK
IHsKICAgICBbbV9jb250ZW50VmlldyBfcHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmls
aXR5UHJvcGFnYXRpb25dOwogfQorCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDcmVhdGVDb250
ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRl
eHRJRCkKK3sKKyAgICBbbV9jb250ZW50VmlldyBfZ3B1UHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRG
b3JWaXNpYmlsaXR5UHJvcGFnYXRpb25dOworfQogI2VuZGlmCiAKIHZvaWQgUGFnZUNsaWVudElt
cGw6OnBhZ2VDbG9zZWQoKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlldy5oCShyZXZpc2lvbiAyNTc1MjIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsNiArMTAwLDcgQEAg
Y2xhc3MgV2ViUHJvY2Vzc1Bvb2w7CiAtICh2b2lkKV9kaWRSZWxhdW5jaFByb2Nlc3M7CiAjaWYg
SEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAtICh2b2lkKV9wcm9jZXNzRGlkQ3Jl
YXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbjsKKy0gKHZvaWQpX2dwdVByb2Nlc3NE
aWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uOwogI2VuZGlmCiAtICh2b2lk
KV9zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nUm9vdFZpZXc6KFVJVmlldyAqKXJvb3RWaWV3Owog
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQko
cmV2aXNpb24gMjU3NTIyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBvcnQgIkFQSVBh
Z2VDb25maWd1cmF0aW9uLmgiCiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5SU9TLmgiCiAjaW1wb3J0
ICJGdWxsc2NyZWVuQ2xpZW50LmgiCisjaW1wb3J0ICJHUFVQcm9jZXNzUHJveHkuaCIKICNpbXBv
cnQgIklucHV0Vmlld1VwZGF0ZURlZmVycmVyLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1w
b3J0ICJQYWdlQ2xpZW50SW1wbElPUy5oIgpAQCAtMTM0LDYgKzEzNSw3IEBAIC0gKHZvaWQpcmVk
byAKIAogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQogICAgIFJldGFpblB0
cjxfVUlMYXllckhvc3RWaWV3PiBfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldzsKKyAgICBSZXRh
aW5QdHI8X1VJTGF5ZXJIb3N0Vmlldz4gX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQ
cm9jZXNzOwogI2VuZGlmCiAKICAgICBXZWJDb3JlOjpIaXN0b3JpY2FsVmVsb2NpdHlEYXRhIF9o
aXN0b3JpY2FsS2luZW1hdGljRGF0YTsKQEAgLTE5OSw2ICsyMDEsNyBAQCAtIChpbnN0YW5jZXR5
cGUpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0CiAKICNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFH
QVRJT05fVklFVykKICAgICBbc2VsZiBfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3XTsK
KyAgICBbc2VsZiBfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vzc107
CiAjZW5kaWYKIAogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRk
T2JzZXJ2ZXI6c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbFJlc2lnbkFj
dGl2ZTopIG5hbWU6VUlBcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmVOb3RpZmljYXRpb24gb2Jq
ZWN0OltVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXV07CkBAIC0yMjksNiArMjMyLDI0
IEBAIC0gKHZvaWQpX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldwogICAgIFtzZWxmIGFk
ZFN1YnZpZXc6X3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcuZ2V0KCldOwogfQogCistICh2b2lk
KV9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzCit7CisgICAgaWYg
KCFXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6c2luZ2xldG9uSWZDcmVhdGVkKCkpCisgICAgICAg
IHJldHVybjsKKyAgICBhdXRvIHByb2Nlc3NJZGVudGlmaWVyID0gV2ViS2l0OjpHUFVQcm9jZXNz
UHJveHk6OnNpbmdsZXRvbigpLnByb2Nlc3NJZGVudGlmaWVyKCk7CisgICAgYXV0byBjb250ZXh0
SUQgPSBXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6c2luZ2xldG9uKCkuY29udGV4dElERm9yVmlz
aWJpbGl0eVByb3BhZ2F0aW9uKCk7CisgICAgaWYgKCFwcm9jZXNzSWRlbnRpZmllciB8fCAhY29u
dGV4dElEKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoX3Zpc2liaWxpdHlQcm9wYWdhdGlv
blZpZXdGb3JHUFVQcm9jZXNzKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBQcm9wYWdhdGUg
dGhlIHZpZXcncyB2aXNpYmlsaXR5IHN0YXRlIHRvIHRoZSBHUFUgcHJvY2VzcyBzbyB0aGF0IGl0
IGlzIG1hcmtlZCBhcyAiRm9yZWdyb3VuZCBSdW5uaW5nIiB3aGVuIG5lY2Vzc2FyeS4KKyAgICBf
dmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MgPSBhZG9wdE5TKFtbX1VJTGF5
ZXJIb3N0VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RaZXJvIHBpZDpwcm9jZXNzSWRl
bnRpZmllciBjb250ZXh0SUQ6Y29udGV4dElEXSk7CisgICAgUkVMRUFTRV9MT0coUHJvY2Vzcywg
IkNyZWF0ZWQgdmlzaWJpbGl0eSBwcm9wYWdhdGlvbiB2aWV3ICVwIChjb250ZXh0SUQ6ICV1KSBm
b3IgR1BVIHByb2Nlc3Mgd2l0aCBQSUQgJWQiLCBfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0Zv
ckdQVVByb2Nlc3MuZ2V0KCksIGNvbnRleHRJRCwgcHJvY2Vzc0lkZW50aWZpZXIpOworICAgIFtz
ZWxmIGFkZFN1YnZpZXc6X3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzLmdl
dCgpXTsKK30KKwogLSAodm9pZClfcmVtb3ZlVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldwogewog
ICAgIGlmICghX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcpCkBAIC0yMzgsNiArMjU5LDE2IEBA
IC0gKHZvaWQpX3JlbW92ZVZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcKICAgICBbX3Zpc2liaWxp
dHlQcm9wYWdhdGlvblZpZXcgcmVtb3ZlRnJvbVN1cGVydmlld107CiAgICAgX3Zpc2liaWxpdHlQ
cm9wYWdhdGlvblZpZXcgPSBudWxscHRyOwogfQorCistICh2b2lkKV9yZW1vdmVWaXNpYmlsaXR5
UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzcworeworICAgIGlmICghX3Zpc2liaWxpdHlQcm9w
YWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzKQorICAgICAgICByZXR1cm47CisKKyAgICBSRUxFQVNF
X0xPRyhQcm9jZXNzLCAiUmVtb3ZpbmcgdmlzaWJpbGl0eSBwcm9wYWdhdGlvbiB2aWV3ICVwIiwg
X3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzLmdldCgpKTsKKyAgICBbX3Zp
c2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzIHJlbW92ZUZyb21TdXBlcnZpZXdd
OworICAgIF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzcyA9IG51bGxwdHI7
Cit9CiAjZW5kaWYKIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFt
ZSBwcm9jZXNzUG9vbDooTmFrZWRSZWY8V2ViS2l0OjpXZWJQcm9jZXNzUG9vbD4pcHJvY2Vzc1Bv
b2wgY29uZmlndXJhdGlvbjooUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpY29uZmlndXJh
dGlvbiB3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3CkBAIC02MTEsNiArNjQyLDExIEBAIC0g
KHZvaWQpX3Byb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWIKIHsKICAgICBbc2VsZiBfc2V0
dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3XTsKIH0KKworLSAodm9pZClfZ3B1UHJvY2Vzc0Rp
ZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24KK3sKKyAgICBbc2VsZiBfc2V0
dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vzc107Cit9CiAjZW5kaWYKIAog
LSAodm9pZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uJilsYXllclRyZWVUcmFuc2FjdGlvbgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391805</attachid>
            <date>2020-02-26 16:30:14 -0800</date>
            <delta_ts>2020-02-27 10:13:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208250-20200226163014.patch</filename>
            <type>text/plain</type>
            <size>25276</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU2IEBACisyMDIwLTAyLTI2ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBUaGUgR1BVIHByb2Nl
c3MgbmV2ZXIgcnVucyBhcyBhIGZvcmVncm91bmQgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgR1BVIHByb2Nlc3Mg
YWx3YXlzIHJ1bnMgaW4gdGhlIGJhY2tncm91bmQsIGFuZCBuZXZlciBnb2VzIGludG8gdGhlIGZv
cmVncm91bmQgbW9kZSwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yIG1lZGlhCisgICAgICAgIHBsYXli
YWNrIG9uIGlPUy4gVGhpcyBpcyBhZGRyZXNzZWQgYnkgY3JlYXRpbmcgYSBsYXllciBpbiB0aGUg
R1BVIHByb2Nlc3MsIHdob3NlIGNvbnRleHQgSUQgaXMgdXNlZCB0byBjcmVhdGUgYSB2aXNpYmls
aXR5CisgICAgICAgIHByb3BhZ2F0aW9uIHZpZXcgaW4gdGhlIFVJIHByb2Nlc3MuIFRoaXMgaXMg
ZG9uZSBpbiB0aGUgc2FtZSB3YXkgYXMgaXQgaXMgZG9uZSBmb3IgdGhlIFdlYkNvbnRlbnQgcHJv
Y2Vzcy4gVGhpcyBtYWtlcyBpdAorICAgICAgICBwb3NzaWJsZSBmb3IgdGhlIHN5c3RlbSB0byBk
ZXRlcm1pbmUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIEdQVSBwcm9jZXNzLiBJbiBhZGRpdGlvbiwg
Y3JlYXRlIGZvcmVncm91bmQgcHJvY2VzcyBhc3NlcnRpb25zCisgICAgICAgIHdoZW4gbWVkaWEg
aXMgYmVpbmcgcGxheWVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBleGlz
dGluZyB0ZXN0cy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENT
ZXJ2aWNlL0dQVVNlcnZpY2UvSW5mby1pT1MucGxpc3Q6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQ
VVByb2Nlc3MpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAgICAq
IEdQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW06CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpHUFVQcm9jZXNzUHJveHkpOgorICAgICAgICAoV2ViS2l0
OjpHUFVQcm9jZXNzUHJveHk6Om9wZW5HUFVQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChX
ZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9w
YWdhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6Y29udGV4dElERm9y
VmlzaWJpbGl0eVByb3BhZ2F0aW9uIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVRocm90dGxlU3RhdGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsZWFyQXVkaWJsZUFjdGl2aXR5KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNldFdl
YlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVkaWEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRDcmVh
dGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRDcmVhdGVDb250
ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW06CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhQ
cm9jZXNzUG9vbDpjb25maWd1cmF0aW9uOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9z
ZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzXSk6CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgX3JlbW92ZVZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9j
ZXNzXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2dwdVByb2Nlc3NEaWRDcmVhdGVDb250
ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uXSk6CisKIDIwMjAtMDItMjYgIERvbiBPbG1zdGVh
ZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBBbGxvdyBzZXR0aW5nIG9mIHN0
YWNrIHNpemVzIGZvciB0aHJlYWRzCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
UHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuY3BwCShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMyw2ICsxMjMsMTMgQEAgdm9pZCBH
UFVQcm9jZXNzOjppbml0aWFsaXplR1BVUHJvY2VzcyhHUAogI2VuZGlmCiAjZW5kaWYKIAorI2lm
IEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIG1fY29udGV4dEZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbiA9IExheWVySG9zdGluZ0NvbnRleHQ6OmNyZWF0ZUZvckV4dGVybmFs
SG9zdGluZ1Byb2Nlc3MoeworICAgICAgICBtX2NhblNob3dXaGlsZUxvY2tlZAorICAgIH0pOwor
ICAgIHNlbmQoTWVzc2FnZXM6OkdQVVByb2Nlc3NQcm94eTo6RGlkQ3JlYXRlQ29udGV4dEZvclZp
c2liaWxpdHlQcm9wYWdhdGlvbihtX2NvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24tPmNv
bnRleHRJRCgpKSk7CisjZW5kaWYKKwogICAgIFdlYkNvcmU6OnNldFByZXNlbnRpbmdBcHBsaWNh
dGlvblBJRChwYXJhbWV0ZXJzLnBhcmVudFBJRCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuaAkocmV2aXNpb24gMjU3NTI2KQorKysgU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBzdHJ1
Y3QgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIHN0cnVjdCBHUFVQcm9jZXNzU2Vzc2lv
blBhcmFtZXRlcnM7CitjbGFzcyBMYXllckhvc3RpbmdDb250ZXh0OwogCiBjbGFzcyBHUFVQcm9j
ZXNzIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxHUFVQcm9jZXNzPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPEdQVVByb2Nlc3M+IHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShHUFVQcm9jZXNzKTsKQEAgLTk4LDYgKzk5LDEwIEBAIHByaXZh
dGU6CiAjZW5kaWYKICAgICB9OwogICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIEdQVVNlc3Np
b24+IG1fc2Vzc2lvbnM7CisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisg
ICAgc3RkOjp1bmlxdWVfcHRyPExheWVySG9zdGluZ0NvbnRleHQ+IG1fY29udGV4dEZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbjsKKyAgICBib29sIG1fY2FuU2hvd1doaWxlTG9ja2VkIHsgZmFsc2Ug
fTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2lvcy9HUFVQcm9jZXNzSU9TLm1tCShyZXZpc2lvbiAyNTc1MjYp
CisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW0JKHdvcmtp
bmcgY29weSkKQEAgLTI5LDYgKzI5LDggQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBM
QVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKIAogI2ltcG9ydCAi
R1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2ltcG9ydCAiR1BVUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaCIKKyNpbXBvcnQgIkxheWVySG9zdGluZ0NvbnRleHQuaCIKICNpbXBvcnQgIlNh
bmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgPFdlYkNvcmUvTm90SW1w
bGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFj
ZS5oPgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAkocmV2aXNpb24gMjU3
NTI2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMDMsNiArMzAzLDcgQEAgcHVibGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZX1BS
T1BBR0FUSU9OX1ZJRVcpCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlv
bihMYXllckhvc3RpbmdDb250ZXh0SUQpIHsgfQogI2VuZGlmCiAgICAgCiAgICAgdmlydHVhbCB2
b2lkIGRvbmVXaXRoS2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wg
d2FzRXZlbnRIYW5kbGVkKSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAJKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNDIsMTAgKzIwNDIsMTMgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVRocm90dGxlU3RhdGUoKQogICAgICAgICBpZiAoIW1f
aXNWaXNpYmxlQWN0aXZpdHkgfHwgIW1faXNWaXNpYmxlQWN0aXZpdHktPmlzVmFsaWQoKSkgewog
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVw
ZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJvY2VzcyBpcyB0YWtpbmcgYSBmb3JlZ3JvdW5kIGFzc2Vy
dGlvbiBiZWNhdXNlIHRoZSB2aWV3IGlzIHZpc2libGUiKTsKICAgICAgICAgICAgIG1faXNWaXNp
YmxlQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgi
VmlldyBpcyB2aXNpYmxlIl9zKS5tb3ZlVG9VbmlxdWVQdHIoKTsKKyAgICAgICAgICAgIGlmIChh
dXRvIGdwdVByb2Nlc3MgPSBHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgpKQor
ICAgICAgICAgICAgICAgIG1faXNWaXNpYmxlQWN0aXZpdHlHUFVQcm9jZXNzID0gZ3B1UHJvY2Vz
cy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5KCJWaWV3IGlzIHZpc2libGUiX3MpLm1v
dmVUb1VuaXF1ZVB0cigpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChtX2lzVmlzaWJsZUFj
dGl2aXR5KSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNp
b24sICJ1cGRhdGVUaHJvdHRsZVN0YXRlOiBVSVByb2Nlc3MgaXMgcmVsZWFzaW5nIGEgZm9yZWdy
b3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgdmlldyBpcyBubyBsb25nZXIgdmlzaWJsZSIpOwog
ICAgICAgICBtX2lzVmlzaWJsZUFjdGl2aXR5ID0gbnVsbHB0cjsKKyAgICAgICAgbV9pc1Zpc2li
bGVBY3Rpdml0eUdQVVByb2Nlc3MgPSBudWxscHRyOwogICAgIH0KIAogICAgIGJvb2wgaXNBdWRp
YmxlID0gbV9hY3Rpdml0eVN0YXRlLmNvbnRhaW5zKEFjdGl2aXR5U3RhdGU6OklzQXVkaWJsZSk7
CkBAIC0yMDUzLDYgKzIwNTYsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlVGhyb3R0bGVT
dGF0ZSgpCiAgICAgICAgIGlmICghbV9pc0F1ZGlibGVBY3Rpdml0eSB8fCAhbV9pc0F1ZGlibGVB
Y3Rpdml0eS0+aXNWYWxpZCgpKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9jZXNzIGlzIHRh
a2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2Ugd2UgYXJlIHBsYXlpbmcgYXVkaW8i
KTsKICAgICAgICAgICAgIG1faXNBdWRpYmxlQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxl
cigpLmZvcmVncm91bmRBY3Rpdml0eSgiVmlldyBpcyBwbGF5aW5nIGF1ZGlvIl9zKS5tb3ZlVG9V
bmlxdWVQdHIoKTsKKyAgICAgICAgICAgIGlmIChhdXRvIGdwdVByb2Nlc3MgPSBHUFVQcm9jZXNz
UHJveHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgpKQorICAgICAgICAgICAgICAgIG1faXNBdWRpYmxl
QWN0aXZpdHlHUFVQcm9jZXNzID0gZ3B1UHJvY2Vzcy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFj
dGl2aXR5KCJWaWV3IGlzIHBsYXlpbmcgYXVkaW8iX3MpLm1vdmVUb1VuaXF1ZVB0cigpOwogICAg
ICAgICB9CiAgICAgICAgIG1fYXVkaWJsZUFjdGl2aXR5VGltZXIuc3RvcCgpOwogICAgIH0gZWxz
ZSBpZiAobV9pc0F1ZGlibGVBY3Rpdml0eSkgewpAQCAtMjA2NiwyMCArMjA3MSwyNiBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6dXBkYXRlVGhyb3R0bGVTdGF0ZSgpCiAgICAgICAgIGlmICghbV9pc0Nh
cHR1cmluZ0FjdGl2aXR5IHx8ICFtX2lzQ2FwdHVyaW5nQWN0aXZpdHktPmlzVmFsaWQoKSkgewog
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVw
ZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJvY2VzcyBpcyB0YWtpbmcgYSBmb3JlZ3JvdW5kIGFzc2Vy
dGlvbiBiZWNhdXNlIG1lZGlhIGNhcHR1cmUgaXMgYWN0aXZlIik7CiAgICAgICAgICAgICBtX2lz
Q2FwdHVyaW5nQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rp
dml0eSgiVmlldyBpcyBjYXB0dXJpbmcgbWVkaWEiX3MpLm1vdmVUb1VuaXF1ZVB0cigpOworICAg
ICAgICAgICAgaWYgKGF1dG8gZ3B1UHJvY2VzcyA9IEdQVVByb2Nlc3NQcm94eTo6c2luZ2xldG9u
SWZDcmVhdGVkKCkpCisgICAgICAgICAgICAgICAgbV9pc0NhcHR1cmluZ0FjdGl2aXR5R1BVUHJv
Y2VzcyA9IGdwdVByb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgiVmlldyBp
cyBjYXB0dXJpbmcgbWVkaWEiX3MpLm1vdmVUb1VuaXF1ZVB0cigpOwogICAgICAgICB9CiAgICAg
fSBlbHNlIGlmIChtX2lzQ2FwdHVyaW5nQWN0aXZpdHkpIHsKICAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVwZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJv
Y2VzcyBpcyByZWxlYXNpbmcgYSBmb3JlZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIG1lZGlhIGNh
cHR1cmUgaXMgbm8gbG9uZ2VyIGFjdGl2ZSIpOwogICAgICAgICBtX2lzQ2FwdHVyaW5nQWN0aXZp
dHkgPSBudWxscHRyOworICAgICAgICBtX2lzQ2FwdHVyaW5nQWN0aXZpdHlHUFVQcm9jZXNzID0g
bnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAobV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3Jp
dHkpIHsKICAgICAgICAgaWYgKCFtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2
aXR5IHx8ICFtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2aXR5LT5pc1ZhbGlk
KCkpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNp
b24sICJ1cGRhdGVUaHJvdHRsZVN0YXRlOiBVSVByb2Nlc3MgaXMgdGFraW5nIGEgZm9yZWdyb3Vu
ZCBhc3NlcnRpb24gYmVjYXVzZSBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSBpcyB0
cnVlIik7CiAgICAgICAgICAgICBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2
aXR5ID0gbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5mb3JlZ3JvdW5kQWN0aXZpdHkoIlZpZXcgYWx3
YXlzIHJ1bnMgYXQgZm9yZWdyb3VuZCBwcmlvcml0eSJfcykubW92ZVRvVW5pcXVlUHRyKCk7Cisg
ICAgICAgICAgICBpZiAoYXV0byBncHVQcm9jZXNzID0gR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0
b25JZkNyZWF0ZWQoKSkKKyAgICAgICAgICAgICAgICBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQ
cmlvcml0eUFjdGl2aXR5R1BVUHJvY2VzcyA9IGdwdVByb2Nlc3MtPnRocm90dGxlcigpLmZvcmVn
cm91bmRBY3Rpdml0eSgiVmlldyBhbHdheXMgcnVucyBhdCBmb3JlZ3JvdW5kIHByaW9yaXR5Il9z
KS5tb3ZlVG9VbmlxdWVQdHIoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAobV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eSkgewogICAgICAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9j
ZXNzIGlzIHJlbGVhc2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgbV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgaXMgbm8gbG9uZ2VyIHRydWUiKTsKICAgICAgICAgbV9h
bHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eSA9IG51bGxwdHI7CisgICAgICAg
IG1fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5QWN0aXZpdHlHUFVQcm9jZXNzID0gbnVs
bHB0cjsKICAgICB9CiAjZW5kaWYKIH0KQEAgLTIwODksNiArMjEwMCw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpjbGVhckF1ZGlibGVBY3Rpdml0eSgKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9jZXNzIGlz
IHJlbGVhc2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2Ugd2UgYXJlIG5vIGxvbmdl
ciBwbGF5aW5nIGF1ZGlvIik7CiAgICAgbV9pc0F1ZGlibGVBY3Rpdml0eSA9IG51bGxwdHI7Cisg
ICAgbV9pc0F1ZGlibGVBY3Rpdml0eUdQVVByb2Nlc3MgPSBudWxscHRyOwogfQogI2VuZGlmCiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyNTc1
MjYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBj
b3B5KQpAQCAtMTE2Niw2ICsxMTY2LDcgQEAgcHVibGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZ
X1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCk7CisgICAgdm9pZCBkaWRDcmVhdGVD
b250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0Nv
bnRleHRJRCk7CiAgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJREZvclZpc2liaWxp
dHlQcm9wYWdhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uOyB9CiAjZW5kaWYKIApAQCAtMjM5Myw2ICsyMzk0LDEwIEBAIHByaXZhdGU6CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4g
bV9pc0F1ZGlibGVBY3Rpdml0eTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc1Rocm90dGxl
cjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzQ2FwdHVyaW5nQWN0aXZpdHk7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4gbV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJv
Y2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzVmlzaWJsZUFjdGl2aXR5R1BV
UHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3Vu
ZEFjdGl2aXR5PiBtX2lzQXVkaWJsZUFjdGl2aXR5R1BVUHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvY2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzQ2FwdHVyaW5n
QWN0aXZpdHlHUFVQcm9jZXNzOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzVGhyb3R0bGVy
OjpGb3JlZ3JvdW5kQWN0aXZpdHk+IG1fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5QWN0
aXZpdHlHUFVQcm9jZXNzOwogICAgIFJ1bkxvb3A6OlRpbWVyPFdlYlBhZ2VQcm94eT4gbV9hdWRp
YmxlQWN0aXZpdHlUaW1lcjsKICNlbmRpZgogICAgIGJvb2wgbV9pbml0aWFsQ2FwaXRhbGl6YXRp
b25FbmFibGVkIHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM4OCw2ICsyMzg4LDcg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0V2ViUHJvY2Vzc0lzUGxheQogCiAgICAgICAgIEFT
U0VSVCghbV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uKTsKICAgICAgICAgbV91aVBy
b2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbWFrZVVuaXF1ZTxQcm9jZXNzQXNzZXJ0aW9u
PihnZXRDdXJyZW50UHJvY2Vzc0lEKCksICJXZWJLaXQgTWVkaWEgUGxheWJhY2siX3MsIEFzc2Vy
dGlvblN0YXRlOjpGb3JlZ3JvdW5kLCBBc3NlcnRpb25SZWFzb246Ok1lZGlhUGxheWJhY2spOwor
ICAgICAgICBtX2dwdVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbWFrZVVuaXF1ZTxQ
cm9jZXNzQXNzZXJ0aW9uPihHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbigpLnByb2Nlc3NJZGVu
dGlmaWVyKCksICJXZWJLaXQgTWVkaWEgUGxheWJhY2siX3MsIEFzc2VydGlvblN0YXRlOjpGb3Jl
Z3JvdW5kLCBBc3NlcnRpb25SZWFzb246Ok1lZGlhUGxheWJhY2spOwogICAgIH0KIAogICAgIGF1
dG8gcmVzdWx0ID0gbV9wcm9jZXNzZXNQbGF5aW5nQXVkaWJsZU1lZGlhLmFkZChwcm9jZXNzSUQs
IG51bGxwdHIpOwpAQCAtMjQxMCw2ICsyNDExLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6Y2xl
YXJXZWJQcm9jZXNzSXNQbAogCiAgICAgICAgIEFTU0VSVChtX3VpUHJvY2Vzc01lZGlhUGxheWJh
Y2tBc3NlcnRpb24pOwogICAgICAgICBtX3VpUHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24g
PSBudWxscHRyOworICAgICAgICBtX2dwdVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0g
bnVsbHB0cjsKICAgICB9CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaAkocmV2aXNpb24gMjU3NTI2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNzk5LDYgKzc5OSw3IEBAIHByaXZh
dGU6CiAKICAgICBIYXNoTWFwPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1
ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4+IG1fcHJvY2Vzc2VzUGxheWluZ0F1ZGlibGVNZWRpYTsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NNZWRpYVBs
YXliYWNrQXNzZXJ0aW9uOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzQXNzZXJ0aW9uPiBt
X2dwdVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uOwogCiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgIC8vIEZJWE1FOiBEZWxheWVkIHByb2Nlc3MgbGF1bmNoIGlzIGN1cnJlbnRseSBkaXNhYmxl
ZCBvbiBpT1MgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKHJkYXI6Ly9wcm9ibGVtLzQ5MDc0MTMx
KS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAko
cmV2aXNpb24gMjU3NTI2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc0NSw2ICsxNzQ1LDE0IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjplbmFibGVTZXJ2aWNlV29ya2UKICNlbmRpZgogfQogCisjaWYgSEFWRShWSVNJ
QklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkQ3JlYXRl
Q29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdD
b250ZXh0SUQgY29udGV4dElEKQoreworICAgIGZvciAoYXV0byYgcGFnZSA6IGNvcHlUb1ZlY3Rv
ck9mPFJlZlB0cjxXZWJQYWdlUHJveHk+PihtX3BhZ2VNYXAudmFsdWVzKCkpKQorICAgICAgICBw
YWdlLT5kaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
KGNvbnRleHRJRCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRl
ZiBNRVNTQUdFX0NIRUNLCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuaAkocmV2aXNpb24gMjU3NTI2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRl
ICJBUElVc2VySW5pdGlhdGVkQWN0aW9uLmgiCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc1By
b3h5LmgiCiAjaW5jbHVkZSAiQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmgi
CisjaW5jbHVkZSAiTGF5ZXJIb3N0aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNl
aXZlck1hcC5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9TdG9yZS5oIgogI2luY2x1ZGUgIlByb2Nl
c3NMYXVuY2hlci5oIgpAQCAtMzY0LDYgKzM2NSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRI
YXNJc3N1ZWRBdHRhY2htZW50RWxlbWVudFJlbGF0ZWRTYW5kYm94RXh0ZW5zaW9ucygpIHsgbV9o
YXNJc3N1ZWRBdHRhY2htZW50RWxlbWVudFJlbGF0ZWRTYW5kYm94RXh0ZW5zaW9ucyA9IHRydWU7
IH0KICNlbmRpZgogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAg
dm9pZCBkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
KExheWVySG9zdGluZ0NvbnRleHRJRCk7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIFdlYlBy
b2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYsIFdlYnNpdGVEYXRhU3RvcmUqLCBJc1ByZXdhcm1l
ZCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBh
Z2VQcm94eUNvY29hLm1tCShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzA3LDYg
KzMwNywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpCiAgICAg
bV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24gPSBjb250ZXh0SUQ7CiAgICAgcGFn
ZUNsaWVudCgpLmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oY29udGV4
dElEKTsKIH0KKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nl
c3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJ
RCkKK3sKKyAgICBwYWdlQ2xpZW50KCkuZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZp
c2liaWxpdHlQcm9wYWdhdGlvbihjb250ZXh0SUQpOworfQogI2VuZGlmCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQ
cm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVBy
b2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsNyArMTI0
LDcgQEAgR1BVUHJvY2Vzc1Byb3h5JiBHUFVQcm9jZXNzUHJveHk6OnNpbmdsZQogCiBHUFVQcm9j
ZXNzUHJveHk6OkdQVVByb2Nlc3NQcm94eSgpCiAgICAgOiBBdXhpbGlhcnlQcm9jZXNzUHJveHko
KQotICAgICwgbV90aHJvdHRsZXIoKnRoaXMsIGZhbHNlKQorICAgICwgbV90aHJvdHRsZXIoKnRo
aXMsIHRydWUpCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNlTW9ja0NhcHR1
cmVEZXZpY2VzKE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjptb2NrUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlckVuYWJsZWQoKSkKICNlbmRpZgpAQCAtMTgyLDYgKzE4MiwxMyBAQCB2b2lk
IEdQVVByb2Nlc3NQcm94eTo6Z2V0R1BVUHJvY2Vzc0Nvbm5lCiB2b2lkIEdQVVByb2Nlc3NQcm94
eTo6b3BlbkdQVVByb2Nlc3NDb25uZWN0aW9uKENvbm5lY3Rpb25SZXF1ZXN0SWRlbnRpZmllciBj
b25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIsIFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1By
b3h5KQogewogICAgIGFkZFNlc3Npb24od2ViUHJvY2Vzc1Byb3h5LndlYnNpdGVEYXRhU3RvcmUo
KSk7CisgICAgCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgaWYg
KG1fY29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKQorICAgICAgICB3ZWJQcm9jZXNz
UHJveHkuZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlv
bihtX2NvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbik7CisgICAgZWxzZQorICAgICAg
ICBtX3Byb2Nlc3Nlc1BlbmRpbmdWaXNpYmlsaXR5UHJvcGFnYXRpb25Ob3RpZmljYXRpb24uYXBw
ZW5kKG1ha2VXZWFrUHRyKHdlYlByb2Nlc3NQcm94eSkpOworI2VuZGlmCiAKICAgICBhdXRvJiBj
b25uZWN0aW9uID0gKnRoaXMtPmNvbm5lY3Rpb24oKTsKIApAQCAtMzMwLDYgKzMzNywyMiBAQCB2
b2lkIEdQVVByb2Nlc3NQcm94eTo6cmVtb3ZlU2Vzc2lvbihQQUw6CiAgICAgICAgIHNlbmQoTWVz
c2FnZXM6OkdQVVByb2Nlc3M6OlJlbW92ZVNlc3Npb24geyBzZXNzaW9uSUQgfSwgMCk7CiB9CiAK
KyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKK3ZvaWQgR1BVUHJvY2Vzc1By
b3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGlu
Z0NvbnRleHRJRCBjb250ZXh0SUQpCit7CisgICAgbV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJv
cGFnYXRpb24gPSBjb250ZXh0SUQ7CisKKyAgICBhdXRvIHByb2Nlc3NlcyA9IFdURk1vdmUobV9w
cm9jZXNzZXNQZW5kaW5nVmlzaWJpbGl0eVByb3BhZ2F0aW9uTm90aWZpY2F0aW9uKTsKKyAgICBm
b3IgKGF1dG8mIHByb2Nlc3MgOiBwcm9jZXNzZXMpCisgICAgICAgIHByb2Nlc3MtPmRpZENyZWF0
ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oY29udGV4dElEKTsK
K30KKworTGF5ZXJIb3N0aW5nQ29udGV4dElEIEdQVVByb2Nlc3NQcm94eTo6Y29udGV4dElERm9y
VmlzaWJpbGl0eVByb3BhZ2F0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jb250ZXh0SURG
b3JWaXNpYmlsaXR5UHJvcGFnYXRpb247Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAg
LTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NQcm94eS5oIgogI2lu
Y2x1ZGUgIkdQVVByb2Nlc3NQcm94eU1lc3NhZ2VzUmVwbGllcy5oIgorI2luY2x1ZGUgIkxheWVy
SG9zdGluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJQcm9jZXNzTGF1bmNoZXIuaCIKICNpbmNsdWRl
ICJQcm9jZXNzVGhyb3R0bGVyLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc1Rocm90dGxlckNsaWVudC5o
IgpAQCAtNjYsNiArNjcsMTAgQEAgcHVibGljOgogCiAgICAgdm9pZCByZW1vdmVTZXNzaW9uKFBB
TDo6U2Vzc2lvbklEKTsKIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQor
ICAgIExheWVySG9zdGluZ0NvbnRleHRJRCBjb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRp
b24oKSBjb25zdDsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEdQVVByb2Nlc3NQ
cm94eSgpOwogICAgIH5HUFVQcm9jZXNzUHJveHkoKTsKQEAgLTkyLDkgKzk3LDE0IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBvcGVuR1BVUHJvY2Vzc0Nvbm5lY3Rpb24oQ29ubmVjdGlvblJlcXVlc3RJ
ZGVudGlmaWVyLCBXZWJQcm9jZXNzUHJveHkmKTsKIAogICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6
Q2xpZW50CisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6
OkRlY29kZXImKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYp
IG92ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3Ry
aW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lKSBvdmVycmlkZTsKIAorI2lmIEhBVkUoVklTSUJJTElU
WV9QUk9QQUdBVElPTl9WSUVXKQorICAgIHZvaWQgZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxp
dHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQpOworI2VuZGlmCisKICAgICBzdGF0
aWMgR1BVUHJvY2Vzc1Byb3h5KiBtX3NpbmdsZXRvbjsKIAogICAgIHN0cnVjdCBDb25uZWN0aW9u
UmVxdWVzdCB7CkBAIC0xMTEsNiArMTIxLDExIEBAIHByaXZhdGU6CiAgICAgdWludDY0X3QgbV9v
cmllbnRhdGlvbiB7IDAgfTsKICNlbmRpZgogICAgIEhhc2hTZXQ8UEFMOjpTZXNzaW9uSUQ+IG1f
c2Vzc2lvbklEczsKKworI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAg
IExheWVySG9zdGluZ0NvbnRleHRJRCBtX2NvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlv
biB7IDAgfTsKKyAgICBWZWN0b3I8V2Vha1B0cjxXZWJQcm9jZXNzUHJveHk+PiBtX3Byb2Nlc3Nl
c1BlbmRpbmdWaXNpYmlsaXR5UHJvcGFnYXRpb25Ob3RpZmljYXRpb247CisjZW5kaWYKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BV
L0dQVVByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNTc1
MjYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lm1lc3Nh
Z2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw2ICsyMywxMSBAQAogI2lmIEVOQUJMRShHUFVf
UFJPQ0VTUykKIAogbWVzc2FnZXMgLT4gR1BVUHJvY2Vzc1Byb3h5IE5vdFJlZkNvdW50ZWQgewor
CisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgRGlkQ3JlYXRlQ29u
dGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihXZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJ
RCBjb250ZXh0SUQpOworI2VuZGlmCisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VT
UykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5oCShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MuaAkod29ya2luZyBjb3B5KQpAQCAtNzIsNiArNzIsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgZGlkUmVsYXVuY2hQcm9jZXNzKCkgb3ZlcnJpZGU7CiAjaWYgSEFWRShW
SVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9y
VmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkgb3ZlcnJpZGU7Cisg
ICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0
aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkgb3ZlcnJpZGU7CiAjZW5kaWYKICAgICB2b2lkIHBh
Z2VDbG9zZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIHByZWZlcmVuY2VzRGlkQ2hhbmdlKCkgb3Zl
cnJpZGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLm1tCShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTIxOCw2ICsyMTgs
MTEgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ3JlYXRlQ29udGV4dEZvcgogewogICAgIFtt
X2NvbnRlbnRWaWV3IF9wcm9jZXNzRGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdh
dGlvbl07CiB9CisKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVBy
b2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEKQorewor
ICAgIFttX2NvbnRlbnRWaWV3IF9ncHVQcm9jZXNzRGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxp
dHlQcm9wYWdhdGlvbl07Cit9CiAjZW5kaWYKIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6cGFnZUNs
b3NlZCgpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
LmgJKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMCw2ICsxMDAsNyBAQCBjbGFzcyBXZWJQ
cm9jZXNzUG9vbDsKIC0gKHZvaWQpX2RpZFJlbGF1bmNoUHJvY2VzczsKICNpZiBIQVZFKFZJU0lC
SUxJVFlfUFJPUEFHQVRJT05fVklFVykKIC0gKHZvaWQpX3Byb2Nlc3NEaWRDcmVhdGVDb250ZXh0
Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uOworLSAodm9pZClfZ3B1UHJvY2Vzc0RpZENyZWF0ZUNv
bnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb247CiAjZW5kaWYKIC0gKHZvaWQpX3NldEFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdSb290VmlldzooVUlWaWV3ICopcm9vdFZpZXc7CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCShyZXZpc2lvbiAy
NTc1MjYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAiQVBJUGFnZUNvbmZpZ3Vy
YXRpb24uaCIKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlJT1MuaCIKICNpbXBvcnQgIkZ1bGxzY3Jl
ZW5DbGllbnQuaCIKKyNpbXBvcnQgIkdQVVByb2Nlc3NQcm94eS5oIgogI2ltcG9ydCAiSW5wdXRW
aWV3VXBkYXRlRGVmZXJyZXIuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIlBhZ2VD
bGllbnRJbXBsSU9TLmgiCkBAIC0xMzQsNiArMTM1LDcgQEAgLSAodm9pZClyZWRvIAogCiAjaWYg
SEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgUmV0YWluUHRyPF9VSUxheWVy
SG9zdFZpZXc+IF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3OworICAgIFJldGFpblB0cjxfVUlM
YXllckhvc3RWaWV3PiBfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3M7CiAj
ZW5kaWYKIAogICAgIFdlYkNvcmU6Okhpc3RvcmljYWxWZWxvY2l0eURhdGEgX2hpc3RvcmljYWxL
aW5lbWF0aWNEYXRhOwpAQCAtMTk5LDYgKzIwMSw3IEBAIC0gKGluc3RhbmNldHlwZSlfY29tbW9u
SW5pdGlhbGl6YXRpb25XaXQKIAogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVX
KQogICAgIFtzZWxmIF9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXddOworICAgIFtzZWxm
IF9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzXTsKICNlbmRpZgog
CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpz
ZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlOikgbmFt
ZTpVSUFwcGxpY2F0aW9uV2lsbFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBw
bGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dXTsKQEAgLTIyOSw2ICsyMzIsMjQgQEAgLSAodm9p
ZClfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3CiAgICAgW3NlbGYgYWRkU3Vidmlldzpf
dmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldy5nZXQoKV07CiB9CiAKKy0gKHZvaWQpX3NldHVwVmlz
aWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MKK3sKKyAgICBpZiAoIVdlYktpdDo6
R1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b25JZkNyZWF0ZWQoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIGF1dG8gcHJvY2Vzc0lkZW50aWZpZXIgPSBXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6c2lu
Z2xldG9uKCkucHJvY2Vzc0lkZW50aWZpZXIoKTsKKyAgICBhdXRvIGNvbnRleHRJRCA9IFdlYktp
dDo6R1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24oKS5jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJv
cGFnYXRpb24oKTsKKyAgICBpZiAoIXByb2Nlc3NJZGVudGlmaWVyIHx8ICFjb250ZXh0SUQpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQ
VVByb2Nlc3MpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFByb3BhZ2F0ZSB0aGUgdmlldydz
IHZpc2liaWxpdHkgc3RhdGUgdG8gdGhlIEdQVSBwcm9jZXNzIHNvIHRoYXQgaXQgaXMgbWFya2Vk
IGFzICJGb3JlZ3JvdW5kIFJ1bm5pbmciIHdoZW4gbmVjZXNzYXJ5LgorICAgIF92aXNpYmlsaXR5
UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzcyA9IGFkb3B0TlMoW1tfVUlMYXllckhvc3RWaWV3
IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gcGlkOnByb2Nlc3NJZGVudGlmaWVyIGNv
bnRleHRJRDpjb250ZXh0SURdKTsKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzLCAiQ3JlYXRlZCB2
aXNpYmlsaXR5IHByb3BhZ2F0aW9uIHZpZXcgJXAgKGNvbnRleHRJRDogJXUpIGZvciBHUFUgcHJv
Y2VzcyB3aXRoIFBJRCAlZCIsIF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vz
cy5nZXQoKSwgY29udGV4dElELCBwcm9jZXNzSWRlbnRpZmllcik7CisgICAgW3NlbGYgYWRkU3Vi
dmlldzpfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MuZ2V0KCldOworfQor
CiAtICh2b2lkKV9yZW1vdmVWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3CiB7CiAgICAgaWYgKCFf
dmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldykKQEAgLTIzOCw2ICsyNTksMTYgQEAgLSAodm9pZClf
cmVtb3ZlVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldwogICAgIFtfdmlzaWJpbGl0eVByb3BhZ2F0
aW9uVmlldyByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKICAgICBfdmlzaWJpbGl0eVByb3BhZ2F0aW9u
VmlldyA9IG51bGxwdHI7CiB9CisKKy0gKHZvaWQpX3JlbW92ZVZpc2liaWxpdHlQcm9wYWdhdGlv
blZpZXdGb3JHUFVQcm9jZXNzCit7CisgICAgaWYgKCFfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmll
d0ZvckdQVVByb2Nlc3MpCisgICAgICAgIHJldHVybjsKKworICAgIFJFTEVBU0VfTE9HKFByb2Nl
c3MsICJSZW1vdmluZyB2aXNpYmlsaXR5IHByb3BhZ2F0aW9uIHZpZXcgJXAiLCBfdmlzaWJpbGl0
eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MuZ2V0KCkpOworICAgIFtfdmlzaWJpbGl0eVBy
b3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MgcmVtb3ZlRnJvbVN1cGVydmlld107CisgICAgX3Zp
c2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzID0gbnVsbHB0cjsKK30KICNlbmRp
ZgogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIHByb2Nlc3NQ
b29sOihOYWtlZFJlZjxXZWJLaXQ6OldlYlByb2Nlc3NQb29sPilwcm9jZXNzUG9vbCBjb25maWd1
cmF0aW9uOihSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJiljb25maWd1cmF0aW9uIHdlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKQEAgLTYxMSw2ICs2NDIsMTEgQEAgLSAodm9pZClfcHJv
Y2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYgogewogICAgIFtzZWxmIF9zZXR1cFZpc2liaWxp
dHlQcm9wYWdhdGlvblZpZXddOwogfQorCistICh2b2lkKV9ncHVQcm9jZXNzRGlkQ3JlYXRlQ29u
dGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbgoreworICAgIFtzZWxmIF9zZXR1cFZpc2liaWxp
dHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzXTsKK30KICNlbmRpZgogCiAtICh2b2lkKV9k
aWRDb21taXRMYXllclRyZWU6KGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rp
b24mKWxheWVyVHJlZVRyYW5zYWN0aW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391888</attachid>
            <date>2020-02-27 10:13:33 -0800</date>
            <delta_ts>2020-02-27 10:53:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208250-20200227101332.patch</filename>
            <type>text/plain</type>
            <size>25263</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU2IEBACisyMDIwLTAyLTI2ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBUaGUgR1BVIHByb2Nl
c3MgbmV2ZXIgcnVucyBhcyBhIGZvcmVncm91bmQgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgR1BVIHByb2Nlc3Mg
YWx3YXlzIHJ1bnMgaW4gdGhlIGJhY2tncm91bmQsIGFuZCBuZXZlciBnb2VzIGludG8gdGhlIGZv
cmVncm91bmQgbW9kZSwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yIG1lZGlhCisgICAgICAgIHBsYXli
YWNrIG9uIGlPUy4gVGhpcyBpcyBhZGRyZXNzZWQgYnkgY3JlYXRpbmcgYSBsYXllciBpbiB0aGUg
R1BVIHByb2Nlc3MsIHdob3NlIGNvbnRleHQgSUQgaXMgdXNlZCB0byBjcmVhdGUgYSB2aXNpYmls
aXR5CisgICAgICAgIHByb3BhZ2F0aW9uIHZpZXcgaW4gdGhlIFVJIHByb2Nlc3MuIFRoaXMgaXMg
ZG9uZSBpbiB0aGUgc2FtZSB3YXkgYXMgaXQgaXMgZG9uZSBmb3IgdGhlIFdlYkNvbnRlbnQgcHJv
Y2Vzcy4gVGhpcyBtYWtlcyBpdAorICAgICAgICBwb3NzaWJsZSBmb3IgdGhlIHN5c3RlbSB0byBk
ZXRlcm1pbmUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIEdQVSBwcm9jZXNzLiBJbiBhZGRpdGlvbiwg
Y3JlYXRlIGZvcmVncm91bmQgcHJvY2VzcyBhc3NlcnRpb25zCisgICAgICAgIHdoZW4gbWVkaWEg
aXMgYmVpbmcgcGxheWVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBleGlz
dGluZyB0ZXN0cy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENT
ZXJ2aWNlL0dQVVNlcnZpY2UvSW5mby1pT1MucGxpc3Q6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQ
VVByb2Nlc3MpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAgICAq
IEdQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW06CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpHUFVQcm9jZXNzUHJveHkpOgorICAgICAgICAoV2ViS2l0
OjpHUFVQcm9jZXNzUHJveHk6Om9wZW5HUFVQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChX
ZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9w
YWdhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6Y29udGV4dElERm9y
VmlzaWJpbGl0eVByb3BhZ2F0aW9uIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVRocm90dGxlU3RhdGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsZWFyQXVkaWJsZUFjdGl2aXR5KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNldFdl
YlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVkaWEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRDcmVh
dGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRDcmVhdGVDb250
ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW06CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhQ
cm9jZXNzUG9vbDpjb25maWd1cmF0aW9uOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9z
ZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzXSk6CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgX3JlbW92ZVZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9j
ZXNzXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2dwdVByb2Nlc3NEaWRDcmVhdGVDb250
ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uXSk6CisKIDIwMjAtMDItMjYgIERvbiBPbG1zdGVh
ZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBBbGxvdyBzZXR0aW5nIG9mIHN0
YWNrIHNpemVzIGZvciB0aHJlYWRzCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
UHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuY3BwCShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMyw2ICsxMjMsMTMgQEAgdm9pZCBH
UFVQcm9jZXNzOjppbml0aWFsaXplR1BVUHJvY2VzcyhHUAogI2VuZGlmCiAjZW5kaWYKIAorI2lm
IEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIG1fY29udGV4dEZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbiA9IExheWVySG9zdGluZ0NvbnRleHQ6OmNyZWF0ZUZvckV4dGVybmFs
SG9zdGluZ1Byb2Nlc3MoeworICAgICAgICBtX2NhblNob3dXaGlsZUxvY2tlZAorICAgIH0pOwor
ICAgIHNlbmQoTWVzc2FnZXM6OkdQVVByb2Nlc3NQcm94eTo6RGlkQ3JlYXRlQ29udGV4dEZvclZp
c2liaWxpdHlQcm9wYWdhdGlvbihtX2NvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24tPmNv
bnRleHRJRCgpKSk7CisjZW5kaWYKKwogICAgIFdlYkNvcmU6OnNldFByZXNlbnRpbmdBcHBsaWNh
dGlvblBJRChwYXJhbWV0ZXJzLnBhcmVudFBJRCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuaAkocmV2aXNpb24gMjU3NTI2KQorKysgU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBzdHJ1
Y3QgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIHN0cnVjdCBHUFVQcm9jZXNzU2Vzc2lv
blBhcmFtZXRlcnM7CitjbGFzcyBMYXllckhvc3RpbmdDb250ZXh0OwogCiBjbGFzcyBHUFVQcm9j
ZXNzIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxHUFVQcm9jZXNzPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPEdQVVByb2Nlc3M+IHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShHUFVQcm9jZXNzKTsKQEAgLTk4LDYgKzk5LDEwIEBAIHByaXZh
dGU6CiAjZW5kaWYKICAgICB9OwogICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIEdQVVNlc3Np
b24+IG1fc2Vzc2lvbnM7CisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisg
ICAgc3RkOjp1bmlxdWVfcHRyPExheWVySG9zdGluZ0NvbnRleHQ+IG1fY29udGV4dEZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbjsKKyAgICBib29sIG1fY2FuU2hvd1doaWxlTG9ja2VkIHsgZmFsc2Ug
fTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2lvcy9HUFVQcm9jZXNzSU9TLm1tCShyZXZpc2lvbiAyNTc1MjYp
CisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW0JKHdvcmtp
bmcgY29weSkKQEAgLTI5LDYgKzI5LDggQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBM
QVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKIAogI2ltcG9ydCAi
R1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2ltcG9ydCAiR1BVUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaCIKKyNpbXBvcnQgIkxheWVySG9zdGluZ0NvbnRleHQuaCIKICNpbXBvcnQgIlNh
bmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgPFdlYkNvcmUvTm90SW1w
bGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFj
ZS5oPgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAkocmV2aXNpb24gMjU3
NTI2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMDMsNiArMzAzLDcgQEAgcHVibGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZX1BS
T1BBR0FUSU9OX1ZJRVcpCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlv
bihMYXllckhvc3RpbmdDb250ZXh0SUQpIHsgfQogI2VuZGlmCiAgICAgCiAgICAgdmlydHVhbCB2
b2lkIGRvbmVXaXRoS2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wg
d2FzRXZlbnRIYW5kbGVkKSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAJKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNDIsMTAgKzIwNDIsMTMgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVRocm90dGxlU3RhdGUoKQogICAgICAgICBpZiAoIW1f
aXNWaXNpYmxlQWN0aXZpdHkgfHwgIW1faXNWaXNpYmxlQWN0aXZpdHktPmlzVmFsaWQoKSkgewog
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVw
ZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJvY2VzcyBpcyB0YWtpbmcgYSBmb3JlZ3JvdW5kIGFzc2Vy
dGlvbiBiZWNhdXNlIHRoZSB2aWV3IGlzIHZpc2libGUiKTsKICAgICAgICAgICAgIG1faXNWaXNp
YmxlQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgi
VmlldyBpcyB2aXNpYmxlIl9zKS5tb3ZlVG9VbmlxdWVQdHIoKTsKKyAgICAgICAgICAgIGlmIChh
dXRvIGdwdVByb2Nlc3MgPSBHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgpKQor
ICAgICAgICAgICAgICAgIG1faXNWaXNpYmxlQWN0aXZpdHlHUFVQcm9jZXNzID0gZ3B1UHJvY2Vz
cy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5KCJWaWV3IGlzIHZpc2libGUiX3MpLm1v
dmVUb1VuaXF1ZVB0cigpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChtX2lzVmlzaWJsZUFj
dGl2aXR5KSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNp
b24sICJ1cGRhdGVUaHJvdHRsZVN0YXRlOiBVSVByb2Nlc3MgaXMgcmVsZWFzaW5nIGEgZm9yZWdy
b3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgdmlldyBpcyBubyBsb25nZXIgdmlzaWJsZSIpOwog
ICAgICAgICBtX2lzVmlzaWJsZUFjdGl2aXR5ID0gbnVsbHB0cjsKKyAgICAgICAgbV9pc1Zpc2li
bGVBY3Rpdml0eUdQVVByb2Nlc3MgPSBudWxscHRyOwogICAgIH0KIAogICAgIGJvb2wgaXNBdWRp
YmxlID0gbV9hY3Rpdml0eVN0YXRlLmNvbnRhaW5zKEFjdGl2aXR5U3RhdGU6OklzQXVkaWJsZSk7
CkBAIC0yMDUzLDYgKzIwNTYsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlVGhyb3R0bGVT
dGF0ZSgpCiAgICAgICAgIGlmICghbV9pc0F1ZGlibGVBY3Rpdml0eSB8fCAhbV9pc0F1ZGlibGVB
Y3Rpdml0eS0+aXNWYWxpZCgpKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9jZXNzIGlzIHRh
a2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2Ugd2UgYXJlIHBsYXlpbmcgYXVkaW8i
KTsKICAgICAgICAgICAgIG1faXNBdWRpYmxlQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxl
cigpLmZvcmVncm91bmRBY3Rpdml0eSgiVmlldyBpcyBwbGF5aW5nIGF1ZGlvIl9zKS5tb3ZlVG9V
bmlxdWVQdHIoKTsKKyAgICAgICAgICAgIGlmIChhdXRvIGdwdVByb2Nlc3MgPSBHUFVQcm9jZXNz
UHJveHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgpKQorICAgICAgICAgICAgICAgIG1faXNBdWRpYmxl
QWN0aXZpdHlHUFVQcm9jZXNzID0gZ3B1UHJvY2Vzcy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFj
dGl2aXR5KCJWaWV3IGlzIHBsYXlpbmcgYXVkaW8iX3MpLm1vdmVUb1VuaXF1ZVB0cigpOwogICAg
ICAgICB9CiAgICAgICAgIG1fYXVkaWJsZUFjdGl2aXR5VGltZXIuc3RvcCgpOwogICAgIH0gZWxz
ZSBpZiAobV9pc0F1ZGlibGVBY3Rpdml0eSkgewpAQCAtMjA2NiwyMCArMjA3MSwyNiBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6dXBkYXRlVGhyb3R0bGVTdGF0ZSgpCiAgICAgICAgIGlmICghbV9pc0Nh
cHR1cmluZ0FjdGl2aXR5IHx8ICFtX2lzQ2FwdHVyaW5nQWN0aXZpdHktPmlzVmFsaWQoKSkgewog
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVw
ZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJvY2VzcyBpcyB0YWtpbmcgYSBmb3JlZ3JvdW5kIGFzc2Vy
dGlvbiBiZWNhdXNlIG1lZGlhIGNhcHR1cmUgaXMgYWN0aXZlIik7CiAgICAgICAgICAgICBtX2lz
Q2FwdHVyaW5nQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rp
dml0eSgiVmlldyBpcyBjYXB0dXJpbmcgbWVkaWEiX3MpLm1vdmVUb1VuaXF1ZVB0cigpOworICAg
ICAgICAgICAgaWYgKGF1dG8gZ3B1UHJvY2VzcyA9IEdQVVByb2Nlc3NQcm94eTo6c2luZ2xldG9u
SWZDcmVhdGVkKCkpCisgICAgICAgICAgICAgICAgbV9pc0NhcHR1cmluZ0FjdGl2aXR5R1BVUHJv
Y2VzcyA9IGdwdVByb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgiVmlldyBp
cyBjYXB0dXJpbmcgbWVkaWEiX3MpLm1vdmVUb1VuaXF1ZVB0cigpOwogICAgICAgICB9CiAgICAg
fSBlbHNlIGlmIChtX2lzQ2FwdHVyaW5nQWN0aXZpdHkpIHsKICAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVwZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJv
Y2VzcyBpcyByZWxlYXNpbmcgYSBmb3JlZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIG1lZGlhIGNh
cHR1cmUgaXMgbm8gbG9uZ2VyIGFjdGl2ZSIpOwogICAgICAgICBtX2lzQ2FwdHVyaW5nQWN0aXZp
dHkgPSBudWxscHRyOworICAgICAgICBtX2lzQ2FwdHVyaW5nQWN0aXZpdHlHUFVQcm9jZXNzID0g
bnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAobV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3Jp
dHkpIHsKICAgICAgICAgaWYgKCFtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2
aXR5IHx8ICFtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2aXR5LT5pc1ZhbGlk
KCkpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNp
b24sICJ1cGRhdGVUaHJvdHRsZVN0YXRlOiBVSVByb2Nlc3MgaXMgdGFraW5nIGEgZm9yZWdyb3Vu
ZCBhc3NlcnRpb24gYmVjYXVzZSBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSBpcyB0
cnVlIik7CiAgICAgICAgICAgICBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2
aXR5ID0gbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5mb3JlZ3JvdW5kQWN0aXZpdHkoIlZpZXcgYWx3
YXlzIHJ1bnMgYXQgZm9yZWdyb3VuZCBwcmlvcml0eSJfcykubW92ZVRvVW5pcXVlUHRyKCk7Cisg
ICAgICAgICAgICBpZiAoYXV0byBncHVQcm9jZXNzID0gR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0
b25JZkNyZWF0ZWQoKSkKKyAgICAgICAgICAgICAgICBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQ
cmlvcml0eUFjdGl2aXR5R1BVUHJvY2VzcyA9IGdwdVByb2Nlc3MtPnRocm90dGxlcigpLmZvcmVn
cm91bmRBY3Rpdml0eSgiVmlldyBhbHdheXMgcnVucyBhdCBmb3JlZ3JvdW5kIHByaW9yaXR5Il9z
KS5tb3ZlVG9VbmlxdWVQdHIoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAobV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eSkgewogICAgICAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9j
ZXNzIGlzIHJlbGVhc2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgbV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgaXMgbm8gbG9uZ2VyIHRydWUiKTsKICAgICAgICAgbV9h
bHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eSA9IG51bGxwdHI7CisgICAgICAg
IG1fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5QWN0aXZpdHlHUFVQcm9jZXNzID0gbnVs
bHB0cjsKICAgICB9CiAjZW5kaWYKIH0KQEAgLTIwODksNiArMjEwMCw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpjbGVhckF1ZGlibGVBY3Rpdml0eSgKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9jZXNzIGlz
IHJlbGVhc2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2Ugd2UgYXJlIG5vIGxvbmdl
ciBwbGF5aW5nIGF1ZGlvIik7CiAgICAgbV9pc0F1ZGlibGVBY3Rpdml0eSA9IG51bGxwdHI7Cisg
ICAgbV9pc0F1ZGlibGVBY3Rpdml0eUdQVVByb2Nlc3MgPSBudWxscHRyOwogfQogI2VuZGlmCiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyNTc1
MjYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBj
b3B5KQpAQCAtMTE2Niw2ICsxMTY2LDcgQEAgcHVibGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZ
X1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCk7CisgICAgdm9pZCBkaWRDcmVhdGVD
b250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0Nv
bnRleHRJRCk7CiAgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJREZvclZpc2liaWxp
dHlQcm9wYWdhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uOyB9CiAjZW5kaWYKIApAQCAtMjM5Myw2ICsyMzk0LDEwIEBAIHByaXZhdGU6CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4g
bV9pc0F1ZGlibGVBY3Rpdml0eTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc1Rocm90dGxl
cjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzQ2FwdHVyaW5nQWN0aXZpdHk7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4gbV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJv
Y2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzVmlzaWJsZUFjdGl2aXR5R1BV
UHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3Vu
ZEFjdGl2aXR5PiBtX2lzQXVkaWJsZUFjdGl2aXR5R1BVUHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvY2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzQ2FwdHVyaW5n
QWN0aXZpdHlHUFVQcm9jZXNzOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzVGhyb3R0bGVy
OjpGb3JlZ3JvdW5kQWN0aXZpdHk+IG1fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5QWN0
aXZpdHlHUFVQcm9jZXNzOwogICAgIFJ1bkxvb3A6OlRpbWVyPFdlYlBhZ2VQcm94eT4gbV9hdWRp
YmxlQWN0aXZpdHlUaW1lcjsKICNlbmRpZgogICAgIGJvb2wgbV9pbml0aWFsQ2FwaXRhbGl6YXRp
b25FbmFibGVkIHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM4OCw2ICsyMzg4LDcg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0V2ViUHJvY2Vzc0lzUGxheQogCiAgICAgICAgIEFT
U0VSVCghbV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uKTsKICAgICAgICAgbV91aVBy
b2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbWFrZVVuaXF1ZTxQcm9jZXNzQXNzZXJ0aW9u
PihnZXRDdXJyZW50UHJvY2Vzc0lEKCksICJXZWJLaXQgTWVkaWEgUGxheWJhY2siX3MsIEFzc2Vy
dGlvblN0YXRlOjpGb3JlZ3JvdW5kLCBBc3NlcnRpb25SZWFzb246Ok1lZGlhUGxheWJhY2spOwor
ICAgICAgICBtX2dwdVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbWFrZVVuaXF1ZTxQ
cm9jZXNzQXNzZXJ0aW9uPihHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbigpLnByb2Nlc3NJZGVu
dGlmaWVyKCksICJXZWJLaXQgTWVkaWEgUGxheWJhY2siX3MsIEFzc2VydGlvblN0YXRlOjpGb3Jl
Z3JvdW5kLCBBc3NlcnRpb25SZWFzb246Ok1lZGlhUGxheWJhY2spOwogICAgIH0KIAogICAgIGF1
dG8gcmVzdWx0ID0gbV9wcm9jZXNzZXNQbGF5aW5nQXVkaWJsZU1lZGlhLmFkZChwcm9jZXNzSUQs
IG51bGxwdHIpOwpAQCAtMjQxMCw2ICsyNDExLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6Y2xl
YXJXZWJQcm9jZXNzSXNQbAogCiAgICAgICAgIEFTU0VSVChtX3VpUHJvY2Vzc01lZGlhUGxheWJh
Y2tBc3NlcnRpb24pOwogICAgICAgICBtX3VpUHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24g
PSBudWxscHRyOworICAgICAgICBtX2dwdVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0g
bnVsbHB0cjsKICAgICB9CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaAkocmV2aXNpb24gMjU3NTI2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNzk5LDYgKzc5OSw3IEBAIHByaXZh
dGU6CiAKICAgICBIYXNoTWFwPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1
ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4+IG1fcHJvY2Vzc2VzUGxheWluZ0F1ZGlibGVNZWRpYTsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NNZWRpYVBs
YXliYWNrQXNzZXJ0aW9uOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzQXNzZXJ0aW9uPiBt
X2dwdVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uOwogCiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgIC8vIEZJWE1FOiBEZWxheWVkIHByb2Nlc3MgbGF1bmNoIGlzIGN1cnJlbnRseSBkaXNhYmxl
ZCBvbiBpT1MgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgKHJkYXI6Ly9wcm9ibGVtLzQ5MDc0MTMx
KS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAko
cmV2aXNpb24gMjU3NTI2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc0NSw2ICsxNzQ1LDE0IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjplbmFibGVTZXJ2aWNlV29ya2UKICNlbmRpZgogfQogCisjaWYgSEFWRShWSVNJ
QklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkQ3JlYXRl
Q29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdD
b250ZXh0SUQgY29udGV4dElEKQoreworICAgIGZvciAoYXV0byYgcGFnZSA6IGNvcHlUb1ZlY3Rv
ck9mPFJlZlB0cjxXZWJQYWdlUHJveHk+PihtX3BhZ2VNYXAudmFsdWVzKCkpKQorICAgICAgICBw
YWdlLT5kaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
KGNvbnRleHRJRCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRl
ZiBNRVNTQUdFX0NIRUNLCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuaAkocmV2aXNpb24gMjU3NTI2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDEwIEBACiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogCisjaWYgSEFW
RShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisjaW5jbHVkZSAiTGF5ZXJIb3N0aW5nQ29u
dGV4dC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgTmF2aWdhdGlvbjsKIGNs
YXNzIFBhZ2VDb25maWd1cmF0aW9uOwpAQCAtMzY0LDYgKzM2OCwxMCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRIYXNJc3N1ZWRBdHRhY2htZW50RWxlbWVudFJlbGF0ZWRTYW5kYm94RXh0ZW5zaW9u
cygpIHsgbV9oYXNJc3N1ZWRBdHRhY2htZW50RWxlbWVudFJlbGF0ZWRTYW5kYm94RXh0ZW5zaW9u
cyA9IHRydWU7IH0KICNlbmRpZgogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJ
RVcpCisgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCk7CisjZW5kaWYKKwogcHJvdGVjdGVkOgog
ICAgIFdlYlByb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYsIFdlYnNpdGVEYXRhU3RvcmUqLCBJ
c1ByZXdhcm1lZCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBh
Z2VQcm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQkod29ya2luZyBjb3B5KQpA
QCAtMzA3LDYgKzMwNywxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ3JlYXRlQ29udGV4dEZv
clZpCiAgICAgbV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24gPSBjb250ZXh0SUQ7
CiAgICAgcGFnZUNsaWVudCgpLmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRp
b24oY29udGV4dElEKTsKIH0KKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUNvbnRleHRJ
bkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElE
IGNvbnRleHRJRCkKK3sKKyAgICBwYWdlQ2xpZW50KCkuZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJv
Y2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihjb250ZXh0SUQpOworfQogI2VuZGlmCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
R1BVL0dQVVByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjQsNyArMTI0LDcgQEAgR1BVUHJvY2Vzc1Byb3h5JiBHUFVQcm9jZXNzUHJveHk6OnNpbmdsZQog
CiBHUFVQcm9jZXNzUHJveHk6OkdQVVByb2Nlc3NQcm94eSgpCiAgICAgOiBBdXhpbGlhcnlQcm9j
ZXNzUHJveHkoKQotICAgICwgbV90aHJvdHRsZXIoKnRoaXMsIGZhbHNlKQorICAgICwgbV90aHJv
dHRsZXIoKnRoaXMsIHRydWUpCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNl
TW9ja0NhcHR1cmVEZXZpY2VzKE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjptb2NrUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQoKSkKICNlbmRpZgpAQCAtMTgyLDYgKzE4Miwx
MyBAQCB2b2lkIEdQVVByb2Nlc3NQcm94eTo6Z2V0R1BVUHJvY2Vzc0Nvbm5lCiB2b2lkIEdQVVBy
b2Nlc3NQcm94eTo6b3BlbkdQVVByb2Nlc3NDb25uZWN0aW9uKENvbm5lY3Rpb25SZXF1ZXN0SWRl
bnRpZmllciBjb25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIsIFdlYlByb2Nlc3NQcm94eSYgd2Vi
UHJvY2Vzc1Byb3h5KQogewogICAgIGFkZFNlc3Npb24od2ViUHJvY2Vzc1Byb3h5LndlYnNpdGVE
YXRhU3RvcmUoKSk7CisgICAgCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcp
CisgICAgaWYgKG1fY29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKQorICAgICAgICB3
ZWJQcm9jZXNzUHJveHkuZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQ
cm9wYWdhdGlvbihtX2NvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbik7CisgICAgZWxz
ZQorICAgICAgICBtX3Byb2Nlc3Nlc1BlbmRpbmdWaXNpYmlsaXR5UHJvcGFnYXRpb25Ob3RpZmlj
YXRpb24uYXBwZW5kKG1ha2VXZWFrUHRyKHdlYlByb2Nlc3NQcm94eSkpOworI2VuZGlmCiAKICAg
ICBhdXRvJiBjb25uZWN0aW9uID0gKnRoaXMtPmNvbm5lY3Rpb24oKTsKIApAQCAtMzMwLDYgKzMz
NywyNCBAQCB2b2lkIEdQVVByb2Nlc3NQcm94eTo6cmVtb3ZlU2Vzc2lvbihQQUw6CiAgICAgICAg
IHNlbmQoTWVzc2FnZXM6OkdQVVByb2Nlc3M6OlJlbW92ZVNlc3Npb24geyBzZXNzaW9uSUQgfSwg
MCk7CiB9CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKK3ZvaWQgR1BV
UHJvY2Vzc1Byb3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExh
eWVySG9zdGluZ0NvbnRleHRJRCBjb250ZXh0SUQpCit7CisgICAgbV9jb250ZXh0SURGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24gPSBjb250ZXh0SUQ7CisKKyAgICBhdXRvIHByb2Nlc3NlcyA9IFdU
Rk1vdmUobV9wcm9jZXNzZXNQZW5kaW5nVmlzaWJpbGl0eVByb3BhZ2F0aW9uTm90aWZpY2F0aW9u
KTsKKyAgICBmb3IgKGF1dG8mIHByb2Nlc3MgOiBwcm9jZXNzZXMpIHsKKyAgICAgICAgaWYgKHBy
b2Nlc3MpCisgICAgICAgICAgICBwcm9jZXNzLT5kaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNz
Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKGNvbnRleHRJRCk7CisgICAgfQorfQorCitMYXllckhv
c3RpbmdDb250ZXh0SUQgR1BVUHJvY2Vzc1Byb3h5Ojpjb250ZXh0SURGb3JWaXNpYmlsaXR5UHJv
cGFnYXRpb24oKSBjb25zdAoreworICAgIHJldHVybiBtX2NvbnRleHRJREZvclZpc2liaWxpdHlQ
cm9wYWdhdGlvbjsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVm
IE1FU1NBR0VfQ0hFQ0sKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BV
UHJvY2Vzc1Byb3h5LmgJKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBA
QAogCiAjaW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSAiR1BVUHJv
Y2Vzc1Byb3h5TWVzc2FnZXNSZXBsaWVzLmgiCisjaW5jbHVkZSAiTGF5ZXJIb3N0aW5nQ29udGV4
dC5oIgogI2luY2x1ZGUgIlByb2Nlc3NMYXVuY2hlci5oIgogI2luY2x1ZGUgIlByb2Nlc3NUaHJv
dHRsZXIuaCIKICNpbmNsdWRlICJQcm9jZXNzVGhyb3R0bGVyQ2xpZW50LmgiCkBAIC02Niw2ICs2
NywxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbW92ZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQp
OwogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgTGF5ZXJIb3N0
aW5nQ29udGV4dElEIGNvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbigpIGNvbnN0Owor
I2VuZGlmCisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgR1BVUHJvY2Vzc1Byb3h5KCk7CiAgICAg
fkdQVVByb2Nlc3NQcm94eSgpOwpAQCAtOTIsOSArOTcsMTQgQEAgcHJpdmF0ZToKICAgICB2b2lk
IG9wZW5HUFVQcm9jZXNzQ29ubmVjdGlvbihDb25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIsIFdl
YlByb2Nlc3NQcm94eSYpOwogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKKyAgICB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92
ZXJyaWRlOwogICAgIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpT
dHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2Ug
bWVzc2FnZU5hbWUpIG92ZXJyaWRlOwogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9O
X1ZJRVcpCisgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
KExheWVySG9zdGluZ0NvbnRleHRJRCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBHUFVQcm9jZXNz
UHJveHkqIG1fc2luZ2xldG9uOwogCiAgICAgc3RydWN0IENvbm5lY3Rpb25SZXF1ZXN0IHsKQEAg
LTExMSw2ICsxMjEsMTEgQEAgcHJpdmF0ZToKICAgICB1aW50NjRfdCBtX29yaWVudGF0aW9uIHsg
MCB9OwogI2VuZGlmCiAgICAgSGFzaFNldDxQQUw6OlNlc3Npb25JRD4gbV9zZXNzaW9uSURzOwor
CisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgTGF5ZXJIb3N0aW5n
Q29udGV4dElEIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uIHsgMCB9OworICAg
IFZlY3RvcjxXZWFrUHRyPFdlYlByb2Nlc3NQcm94eT4+IG1fcHJvY2Vzc2VzUGVuZGluZ1Zpc2li
aWxpdHlQcm9wYWdhdGlvbk5vdGlmaWNhdGlvbjsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQ
VS9HUFVQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTIzLDYgKzIzLDExIEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiBt
ZXNzYWdlcyAtPiBHUFVQcm9jZXNzUHJveHkgTm90UmVmQ291bnRlZCB7CisKKyNpZiBIQVZFKFZJ
U0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICBEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJp
bGl0eVByb3BhZ2F0aW9uKFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJRCk7
CisjZW5kaWYKKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgJKHJldmlz
aW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5oCSh3b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBkaWRSZWxhdW5jaFByb2Nlc3MoKSBvdmVycmlkZTsKICNpZiBIQVZFKFZJU0lCSUxJVFlfUFJP
UEFHQVRJT05fVklFVykKICAgICB2b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJv
cGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZENy
ZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0
aW5nQ29udGV4dElEKSBvdmVycmlkZTsKICNlbmRpZgogICAgIHZvaWQgcGFnZUNsb3NlZCgpIG92
ZXJyaWRlOwogICAgIHZvaWQgcHJlZmVyZW5jZXNEaWRDaGFuZ2UoKSBvdmVycmlkZTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0J
KHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjE4LDYgKzIxOCwxMSBAQCB2b2lkIFBh
Z2VDbGllbnRJbXBsOjpkaWRDcmVhdGVDb250ZXh0Rm9yCiB7CiAgICAgW21fY29udGVudFZpZXcg
X3Byb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uXTsKIH0KKwor
dm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQpCit7CisgICAgW21fY29udGVu
dFZpZXcgX2dwdVByb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
XTsKK30KICNlbmRpZgogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpwYWdlQ2xvc2VkKCkKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaAkocmV2aXNpb24g
MjU3NTI2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaAko
d29ya2luZyBjb3B5KQpAQCAtMTAwLDYgKzEwMCw3IEBAIGNsYXNzIFdlYlByb2Nlc3NQb29sOwog
LSAodm9pZClfZGlkUmVsYXVuY2hQcm9jZXNzOwogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdB
VElPTl9WSUVXKQogLSAodm9pZClfcHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5
UHJvcGFnYXRpb247CistICh2b2lkKV9ncHVQcm9jZXNzRGlkQ3JlYXRlQ29udGV4dEZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbjsKICNlbmRpZgogLSAodm9pZClfc2V0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ1Jvb3RWaWV3OihVSVZpZXcgKilyb290VmlldzsKIApJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0JKHJldmlzaW9uIDI1NzUyNikKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0zMSw2ICszMSw3IEBACiAjaW1wb3J0ICJBUElQYWdlQ29uZmlndXJhdGlvbi5oIgogI2lt
cG9ydCAiQWNjZXNzaWJpbGl0eUlPUy5oIgogI2ltcG9ydCAiRnVsbHNjcmVlbkNsaWVudC5oIgor
I2ltcG9ydCAiR1BVUHJvY2Vzc1Byb3h5LmgiCiAjaW1wb3J0ICJJbnB1dFZpZXdVcGRhdGVEZWZl
cnJlci5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiUGFnZUNsaWVudEltcGxJT1Mu
aCIKQEAgLTEzNCw2ICsxMzUsNyBAQCAtICh2b2lkKXJlZG8gCiAKICNpZiBIQVZFKFZJU0lCSUxJ
VFlfUFJPUEFHQVRJT05fVklFVykKICAgICBSZXRhaW5QdHI8X1VJTGF5ZXJIb3N0Vmlldz4gX3Zp
c2liaWxpdHlQcm9wYWdhdGlvblZpZXc7CisgICAgUmV0YWluUHRyPF9VSUxheWVySG9zdFZpZXc+
IF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzczsKICNlbmRpZgogCiAgICAg
V2ViQ29yZTo6SGlzdG9yaWNhbFZlbG9jaXR5RGF0YSBfaGlzdG9yaWNhbEtpbmVtYXRpY0RhdGE7
CkBAIC0xOTksNiArMjAxLDcgQEAgLSAoaW5zdGFuY2V0eXBlKV9jb21tb25Jbml0aWFsaXphdGlv
bldpdAogCiAjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgW3NlbGYg
X3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld107CisgICAgW3NlbGYgX3NldHVwVmlzaWJp
bGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3NdOwogI2VuZGlmCiAKICAgICBbW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6
QHNlbGVjdG9yKF9hcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmU6KSBuYW1lOlVJQXBwbGljYXRp
b25XaWxsUmVzaWduQWN0aXZlTm90aWZpY2F0aW9uIG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFy
ZWRBcHBsaWNhdGlvbl1dOwpAQCAtMjI5LDYgKzIzMiwyNCBAQCAtICh2b2lkKV9zZXR1cFZpc2li
aWxpdHlQcm9wYWdhdGlvblZpZXcKICAgICBbc2VsZiBhZGRTdWJ2aWV3Ol92aXNpYmlsaXR5UHJv
cGFnYXRpb25WaWV3LmdldCgpXTsKIH0KIAorLSAodm9pZClfc2V0dXBWaXNpYmlsaXR5UHJvcGFn
YXRpb25WaWV3Rm9yR1BVUHJvY2VzcworeworICAgIGlmICghV2ViS2l0OjpHUFVQcm9jZXNzUHJv
eHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgpKQorICAgICAgICByZXR1cm47CisgICAgYXV0byBwcm9j
ZXNzSWRlbnRpZmllciA9IFdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24oKS5wcm9j
ZXNzSWRlbnRpZmllcigpOworICAgIGF1dG8gY29udGV4dElEID0gV2ViS2l0OjpHUFVQcm9jZXNz
UHJveHk6OnNpbmdsZXRvbigpLmNvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbigpOwor
ICAgIGlmICghcHJvY2Vzc0lkZW50aWZpZXIgfHwgIWNvbnRleHRJRCkKKyAgICAgICAgcmV0dXJu
OworCisgICAgaWYgKF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzcykKKyAg
ICAgICAgcmV0dXJuOworCisgICAgLy8gUHJvcGFnYXRlIHRoZSB2aWV3J3MgdmlzaWJpbGl0eSBz
dGF0ZSB0byB0aGUgR1BVIHByb2Nlc3Mgc28gdGhhdCBpdCBpcyBtYXJrZWQgYXMgIkZvcmVncm91
bmQgUnVubmluZyIgd2hlbiBuZWNlc3NhcnkuCisgICAgX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZp
ZXdGb3JHUFVQcm9jZXNzID0gYWRvcHROUyhbW19VSUxheWVySG9zdFZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6Q0dSZWN0WmVybyBwaWQ6cHJvY2Vzc0lkZW50aWZpZXIgY29udGV4dElEOmNvbnRl
eHRJRF0pOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJDcmVhdGVkIHZpc2liaWxpdHkgcHJv
cGFnYXRpb24gdmlldyAlcCAoY29udGV4dElEOiAldSkgZm9yIEdQVSBwcm9jZXNzIHdpdGggUElE
ICVkIiwgX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzLmdldCgpLCBjb250
ZXh0SUQsIHByb2Nlc3NJZGVudGlmaWVyKTsKKyAgICBbc2VsZiBhZGRTdWJ2aWV3Ol92aXNpYmls
aXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vzcy5nZXQoKV07Cit9CisKIC0gKHZvaWQpX3Jl
bW92ZVZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcKIHsKICAgICBpZiAoIV92aXNpYmlsaXR5UHJv
cGFnYXRpb25WaWV3KQpAQCAtMjM4LDYgKzI1OSwxNiBAQCAtICh2b2lkKV9yZW1vdmVWaXNpYmls
aXR5UHJvcGFnYXRpb25WaWV3CiAgICAgW192aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3IHJlbW92
ZUZyb21TdXBlcnZpZXddOwogICAgIF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3ID0gbnVsbHB0
cjsKIH0KKworLSAodm9pZClfcmVtb3ZlVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVBy
b2Nlc3MKK3sKKyAgICBpZiAoIV92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vz
cykKKyAgICAgICAgcmV0dXJuOworCisgICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIlJlbW92aW5n
IHZpc2liaWxpdHkgcHJvcGFnYXRpb24gdmlldyAlcCIsIF92aXNpYmlsaXR5UHJvcGFnYXRpb25W
aWV3Rm9yR1BVUHJvY2Vzcy5nZXQoKSk7CisgICAgW192aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3
Rm9yR1BVUHJvY2VzcyByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAgICBfdmlzaWJpbGl0eVByb3Bh
Z2F0aW9uVmlld0ZvckdQVVByb2Nlc3MgPSBudWxscHRyOworfQogI2VuZGlmCiAKIC0gKGluc3Rh
bmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgcHJvY2Vzc1Bvb2w6KE5ha2VkUmVm
PFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w+KXByb2Nlc3NQb29sIGNvbmZpZ3VyYXRpb246KFJlZjxB
UEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKWNvbmZpZ3VyYXRpb24gd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldwpAQCAtNjExLDYgKzY0MiwxMSBAQCAtICh2b2lkKV9wcm9jZXNzRGlkQ3JlYXRl
Q29udGV4dEZvclZpc2liCiB7CiAgICAgW3NlbGYgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9u
Vmlld107CiB9CisKKy0gKHZvaWQpX2dwdVByb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJp
bGl0eVByb3BhZ2F0aW9uCit7CisgICAgW3NlbGYgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9u
Vmlld0ZvckdQVVByb2Nlc3NdOworfQogI2VuZGlmCiAKIC0gKHZvaWQpX2RpZENvbW1pdExheWVy
VHJlZTooY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYpbGF5ZXJUcmVl
VHJhbnNhY3Rpb24K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391892</attachid>
            <date>2020-02-27 10:53:38 -0800</date>
            <delta_ts>2020-02-27 14:19:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208250-20200227105337.patch</filename>
            <type>text/plain</type>
            <size>25353</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU2IEBACisyMDIwLTAyLTI2ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBUaGUgR1BVIHByb2Nl
c3MgbmV2ZXIgcnVucyBhcyBhIGZvcmVncm91bmQgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgR1BVIHByb2Nlc3Mg
YWx3YXlzIHJ1bnMgaW4gdGhlIGJhY2tncm91bmQsIGFuZCBuZXZlciBnb2VzIGludG8gdGhlIGZv
cmVncm91bmQgbW9kZSwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yIG1lZGlhCisgICAgICAgIHBsYXli
YWNrIG9uIGlPUy4gVGhpcyBpcyBhZGRyZXNzZWQgYnkgY3JlYXRpbmcgYSBsYXllciBpbiB0aGUg
R1BVIHByb2Nlc3MsIHdob3NlIGNvbnRleHQgSUQgaXMgdXNlZCB0byBjcmVhdGUgYSB2aXNpYmls
aXR5CisgICAgICAgIHByb3BhZ2F0aW9uIHZpZXcgaW4gdGhlIFVJIHByb2Nlc3MuIFRoaXMgaXMg
ZG9uZSBpbiB0aGUgc2FtZSB3YXkgYXMgaXQgaXMgZG9uZSBmb3IgdGhlIFdlYkNvbnRlbnQgcHJv
Y2Vzcy4gVGhpcyBtYWtlcyBpdAorICAgICAgICBwb3NzaWJsZSBmb3IgdGhlIHN5c3RlbSB0byBk
ZXRlcm1pbmUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIEdQVSBwcm9jZXNzLiBJbiBhZGRpdGlvbiwg
Y3JlYXRlIGZvcmVncm91bmQgcHJvY2VzcyBhc3NlcnRpb25zCisgICAgICAgIHdoZW4gbWVkaWEg
aXMgYmVpbmcgcGxheWVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBleGlz
dGluZyB0ZXN0cy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvRW50cnlQb2ludC9Db2NvYS9YUENT
ZXJ2aWNlL0dQVVNlcnZpY2UvSW5mby1pT1MucGxpc3Q6CisgICAgICAgICogR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQ
VVByb2Nlc3MpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oOgorICAgICAgICAq
IEdQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW06CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpHUFVQcm9jZXNzUHJveHkpOgorICAgICAgICAoV2ViS2l0
OjpHUFVQcm9jZXNzUHJveHk6Om9wZW5HUFVQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgIChX
ZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9w
YWdhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6Y29udGV4dElERm9y
VmlzaWJpbGl0eVByb3BhZ2F0aW9uIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVRocm90dGxlU3RhdGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNsZWFyQXVkaWJsZUFjdGl2aXR5KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNldFdl
YlByb2Nlc3NJc1BsYXlpbmdBdWRpYmxlTWVkaWEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNzSXNQbGF5aW5nQXVkaWJsZU1lZGlhKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRDcmVh
dGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRDcmVhdGVDb250
ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW06CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhQ
cm9jZXNzUG9vbDpjb25maWd1cmF0aW9uOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9z
ZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzXSk6CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgX3JlbW92ZVZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9j
ZXNzXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2dwdVByb2Nlc3NEaWRDcmVhdGVDb250
ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uXSk6CisKIDIwMjAtMDItMjYgIERvbiBPbG1zdGVh
ZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBBbGxvdyBzZXR0aW5nIG9mIHN0
YWNrIHNpemVzIGZvciB0aHJlYWRzCkluZGV4OiBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
UHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3MuY3BwCShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMyw2ICsxMjMsMTMgQEAgdm9pZCBH
UFVQcm9jZXNzOjppbml0aWFsaXplR1BVUHJvY2VzcyhHUAogI2VuZGlmCiAjZW5kaWYKIAorI2lm
IEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIG1fY29udGV4dEZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbiA9IExheWVySG9zdGluZ0NvbnRleHQ6OmNyZWF0ZUZvckV4dGVybmFs
SG9zdGluZ1Byb2Nlc3MoeworICAgICAgICBtX2NhblNob3dXaGlsZUxvY2tlZAorICAgIH0pOwor
ICAgIHNlbmQoTWVzc2FnZXM6OkdQVVByb2Nlc3NQcm94eTo6RGlkQ3JlYXRlQ29udGV4dEZvclZp
c2liaWxpdHlQcm9wYWdhdGlvbihtX2NvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24tPmNv
bnRleHRJRCgpKSk7CisjZW5kaWYKKwogICAgIFdlYkNvcmU6OnNldFByZXNlbnRpbmdBcHBsaWNh
dGlvblBJRChwYXJhbWV0ZXJzLnBhcmVudFBJRCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVVByb2Nlc3MuaAkocmV2aXNpb24gMjU3NTI2KQorKysgU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CiBzdHJ1
Y3QgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKIHN0cnVjdCBHUFVQcm9jZXNzU2Vzc2lv
blBhcmFtZXRlcnM7CitjbGFzcyBMYXllckhvc3RpbmdDb250ZXh0OwogCiBjbGFzcyBHUFVQcm9j
ZXNzIDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3MsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxHUFVQcm9jZXNzPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPEdQVVByb2Nlc3M+IHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShHUFVQcm9jZXNzKTsKQEAgLTk4LDYgKzk5LDEwIEBAIHByaXZh
dGU6CiAjZW5kaWYKICAgICB9OwogICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIEdQVVNlc3Np
b24+IG1fc2Vzc2lvbnM7CisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisg
ICAgc3RkOjp1bmlxdWVfcHRyPExheWVySG9zdGluZ0NvbnRleHQ+IG1fY29udGV4dEZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbjsKKyAgICBib29sIG1fY2FuU2hvd1doaWxlTG9ja2VkIHsgZmFsc2Ug
fTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2lvcy9HUFVQcm9jZXNzSU9TLm1tCShyZXZpc2lvbiAyNTc1MjYp
CisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvaW9zL0dQVVByb2Nlc3NJT1MubW0JKHdvcmtp
bmcgY29weSkKQEAgLTI5LDYgKzI5LDggQEAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIFBM
QVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKIAogI2ltcG9ydCAi
R1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2ltcG9ydCAiR1BVUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaCIKKyNpbXBvcnQgIkxheWVySG9zdGluZ0NvbnRleHQuaCIKICNpbXBvcnQgIlNh
bmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgPFdlYkNvcmUvTm90SW1w
bGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFj
ZS5oPgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAkocmV2aXNpb24gMjU3
NTI2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMDMsNiArMzAzLDcgQEAgcHVibGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZX1BS
T1BBR0FUSU9OX1ZJRVcpCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlv
bihMYXllckhvc3RpbmdDb250ZXh0SUQpIHsgfQogI2VuZGlmCiAgICAgCiAgICAgdmlydHVhbCB2
b2lkIGRvbmVXaXRoS2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGJvb2wg
d2FzRXZlbnRIYW5kbGVkKSA9IDA7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAJKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNDIsMTAgKzIwNDIsMTMgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVRocm90dGxlU3RhdGUoKQogICAgICAgICBpZiAoIW1f
aXNWaXNpYmxlQWN0aXZpdHkgfHwgIW1faXNWaXNpYmxlQWN0aXZpdHktPmlzVmFsaWQoKSkgewog
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVw
ZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJvY2VzcyBpcyB0YWtpbmcgYSBmb3JlZ3JvdW5kIGFzc2Vy
dGlvbiBiZWNhdXNlIHRoZSB2aWV3IGlzIHZpc2libGUiKTsKICAgICAgICAgICAgIG1faXNWaXNp
YmxlQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgi
VmlldyBpcyB2aXNpYmxlIl9zKS5tb3ZlVG9VbmlxdWVQdHIoKTsKKyAgICAgICAgICAgIGlmIChh
dXRvIGdwdVByb2Nlc3MgPSBHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgpKQor
ICAgICAgICAgICAgICAgIG1faXNWaXNpYmxlQWN0aXZpdHlHUFVQcm9jZXNzID0gZ3B1UHJvY2Vz
cy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFjdGl2aXR5KCJWaWV3IGlzIHZpc2libGUiX3MpLm1v
dmVUb1VuaXF1ZVB0cigpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChtX2lzVmlzaWJsZUFj
dGl2aXR5KSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNp
b24sICJ1cGRhdGVUaHJvdHRsZVN0YXRlOiBVSVByb2Nlc3MgaXMgcmVsZWFzaW5nIGEgZm9yZWdy
b3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgdmlldyBpcyBubyBsb25nZXIgdmlzaWJsZSIpOwog
ICAgICAgICBtX2lzVmlzaWJsZUFjdGl2aXR5ID0gbnVsbHB0cjsKKyAgICAgICAgbV9pc1Zpc2li
bGVBY3Rpdml0eUdQVVByb2Nlc3MgPSBudWxscHRyOwogICAgIH0KIAogICAgIGJvb2wgaXNBdWRp
YmxlID0gbV9hY3Rpdml0eVN0YXRlLmNvbnRhaW5zKEFjdGl2aXR5U3RhdGU6OklzQXVkaWJsZSk7
CkBAIC0yMDUzLDYgKzIwNTYsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlVGhyb3R0bGVT
dGF0ZSgpCiAgICAgICAgIGlmICghbV9pc0F1ZGlibGVBY3Rpdml0eSB8fCAhbV9pc0F1ZGlibGVB
Y3Rpdml0eS0+aXNWYWxpZCgpKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9jZXNzIGlzIHRh
a2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2Ugd2UgYXJlIHBsYXlpbmcgYXVkaW8i
KTsKICAgICAgICAgICAgIG1faXNBdWRpYmxlQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxl
cigpLmZvcmVncm91bmRBY3Rpdml0eSgiVmlldyBpcyBwbGF5aW5nIGF1ZGlvIl9zKS5tb3ZlVG9V
bmlxdWVQdHIoKTsKKyAgICAgICAgICAgIGlmIChhdXRvIGdwdVByb2Nlc3MgPSBHUFVQcm9jZXNz
UHJveHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgpKQorICAgICAgICAgICAgICAgIG1faXNBdWRpYmxl
QWN0aXZpdHlHUFVQcm9jZXNzID0gZ3B1UHJvY2Vzcy0+dGhyb3R0bGVyKCkuZm9yZWdyb3VuZEFj
dGl2aXR5KCJWaWV3IGlzIHBsYXlpbmcgYXVkaW8iX3MpLm1vdmVUb1VuaXF1ZVB0cigpOwogICAg
ICAgICB9CiAgICAgICAgIG1fYXVkaWJsZUFjdGl2aXR5VGltZXIuc3RvcCgpOwogICAgIH0gZWxz
ZSBpZiAobV9pc0F1ZGlibGVBY3Rpdml0eSkgewpAQCAtMjA2NiwyMCArMjA3MSwyNiBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6dXBkYXRlVGhyb3R0bGVTdGF0ZSgpCiAgICAgICAgIGlmICghbV9pc0Nh
cHR1cmluZ0FjdGl2aXR5IHx8ICFtX2lzQ2FwdHVyaW5nQWN0aXZpdHktPmlzVmFsaWQoKSkgewog
ICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVw
ZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJvY2VzcyBpcyB0YWtpbmcgYSBmb3JlZ3JvdW5kIGFzc2Vy
dGlvbiBiZWNhdXNlIG1lZGlhIGNhcHR1cmUgaXMgYWN0aXZlIik7CiAgICAgICAgICAgICBtX2lz
Q2FwdHVyaW5nQWN0aXZpdHkgPSBtX3Byb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rp
dml0eSgiVmlldyBpcyBjYXB0dXJpbmcgbWVkaWEiX3MpLm1vdmVUb1VuaXF1ZVB0cigpOworICAg
ICAgICAgICAgaWYgKGF1dG8gZ3B1UHJvY2VzcyA9IEdQVVByb2Nlc3NQcm94eTo6c2luZ2xldG9u
SWZDcmVhdGVkKCkpCisgICAgICAgICAgICAgICAgbV9pc0NhcHR1cmluZ0FjdGl2aXR5R1BVUHJv
Y2VzcyA9IGdwdVByb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eSgiVmlldyBp
cyBjYXB0dXJpbmcgbWVkaWEiX3MpLm1vdmVUb1VuaXF1ZVB0cigpOwogICAgICAgICB9CiAgICAg
fSBlbHNlIGlmIChtX2lzQ2FwdHVyaW5nQWN0aXZpdHkpIHsKICAgICAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRChQcm9jZXNzU3VzcGVuc2lvbiwgInVwZGF0ZVRocm90dGxlU3RhdGU6IFVJUHJv
Y2VzcyBpcyByZWxlYXNpbmcgYSBmb3JlZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIG1lZGlhIGNh
cHR1cmUgaXMgbm8gbG9uZ2VyIGFjdGl2ZSIpOwogICAgICAgICBtX2lzQ2FwdHVyaW5nQWN0aXZp
dHkgPSBudWxscHRyOworICAgICAgICBtX2lzQ2FwdHVyaW5nQWN0aXZpdHlHUFVQcm9jZXNzID0g
bnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAobV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3Jp
dHkpIHsKICAgICAgICAgaWYgKCFtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2
aXR5IHx8ICFtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2aXR5LT5pc1ZhbGlk
KCkpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoUHJvY2Vzc1N1c3BlbnNp
b24sICJ1cGRhdGVUaHJvdHRsZVN0YXRlOiBVSVByb2Nlc3MgaXMgdGFraW5nIGEgZm9yZWdyb3Vu
ZCBhc3NlcnRpb24gYmVjYXVzZSBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSBpcyB0
cnVlIik7CiAgICAgICAgICAgICBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eUFjdGl2
aXR5ID0gbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5mb3JlZ3JvdW5kQWN0aXZpdHkoIlZpZXcgYWx3
YXlzIHJ1bnMgYXQgZm9yZWdyb3VuZCBwcmlvcml0eSJfcykubW92ZVRvVW5pcXVlUHRyKCk7Cisg
ICAgICAgICAgICBpZiAoYXV0byBncHVQcm9jZXNzID0gR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0
b25JZkNyZWF0ZWQoKSkKKyAgICAgICAgICAgICAgICBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQ
cmlvcml0eUFjdGl2aXR5R1BVUHJvY2VzcyA9IGdwdVByb2Nlc3MtPnRocm90dGxlcigpLmZvcmVn
cm91bmRBY3Rpdml0eSgiVmlldyBhbHdheXMgcnVucyBhdCBmb3JlZ3JvdW5kIHByaW9yaXR5Il9z
KS5tb3ZlVG9VbmlxdWVQdHIoKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAobV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eSkgewogICAgICAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9j
ZXNzIGlzIHJlbGVhc2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgbV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgaXMgbm8gbG9uZ2VyIHRydWUiKTsKICAgICAgICAgbV9h
bHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eSA9IG51bGxwdHI7CisgICAgICAg
IG1fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5QWN0aXZpdHlHUFVQcm9jZXNzID0gbnVs
bHB0cjsKICAgICB9CiAjZW5kaWYKIH0KQEAgLTIwODksNiArMjEwMCw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpjbGVhckF1ZGlibGVBY3Rpdml0eSgKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKFByb2Nlc3NTdXNwZW5zaW9uLCAidXBkYXRlVGhyb3R0bGVTdGF0ZTogVUlQcm9jZXNzIGlz
IHJlbGVhc2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2Ugd2UgYXJlIG5vIGxvbmdl
ciBwbGF5aW5nIGF1ZGlvIik7CiAgICAgbV9pc0F1ZGlibGVBY3Rpdml0eSA9IG51bGxwdHI7Cisg
ICAgbV9pc0F1ZGlibGVBY3Rpdml0eUdQVVByb2Nlc3MgPSBudWxscHRyOwogfQogI2VuZGlmCiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyNTc1
MjYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBj
b3B5KQpAQCAtMTE2Niw2ICsxMTY2LDcgQEAgcHVibGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZ
X1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCk7CisgICAgdm9pZCBkaWRDcmVhdGVD
b250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0Nv
bnRleHRJRCk7CiAgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJREZvclZpc2liaWxp
dHlQcm9wYWdhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uOyB9CiAjZW5kaWYKIApAQCAtMjM5Myw2ICsyMzk0LDEwIEBAIHByaXZhdGU6CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4g
bV9pc0F1ZGlibGVBY3Rpdml0eTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc1Rocm90dGxl
cjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzQ2FwdHVyaW5nQWN0aXZpdHk7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eT4gbV9hbHdheXNS
dW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHlBY3Rpdml0eTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJv
Y2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzVmlzaWJsZUFjdGl2aXR5R1BV
UHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3Vu
ZEFjdGl2aXR5PiBtX2lzQXVkaWJsZUFjdGl2aXR5R1BVUHJvY2VzczsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvY2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3VuZEFjdGl2aXR5PiBtX2lzQ2FwdHVyaW5n
QWN0aXZpdHlHUFVQcm9jZXNzOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9jZXNzVGhyb3R0bGVy
OjpGb3JlZ3JvdW5kQWN0aXZpdHk+IG1fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5QWN0
aXZpdHlHUFVQcm9jZXNzOwogICAgIFJ1bkxvb3A6OlRpbWVyPFdlYlBhZ2VQcm94eT4gbV9hdWRp
YmxlQWN0aXZpdHlUaW1lcjsKICNlbmRpZgogICAgIGJvb2wgbV9pbml0aWFsQ2FwaXRhbGl6YXRp
b25FbmFibGVkIHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM4OCw2ICsyMzg4LDEw
IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldFdlYlByb2Nlc3NJc1BsYXkKIAogICAgICAgICBB
U1NFUlQoIW1fdWlQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbik7CiAgICAgICAgIG1fdWlQ
cm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbiA9IG1ha2VVbmlxdWU8UHJvY2Vzc0Fzc2VydGlv
bj4oZ2V0Q3VycmVudFByb2Nlc3NJRCgpLCAiV2ViS2l0IE1lZGlhIFBsYXliYWNrIl9zLCBBc3Nl
cnRpb25TdGF0ZTo6Rm9yZWdyb3VuZCwgQXNzZXJ0aW9uUmVhc29uOjpNZWRpYVBsYXliYWNrKTsK
KyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisgICAgICAgIGlmIChHUFVQcm9jZXNzUHJveHk6OnNp
bmdsZXRvbklmQ3JlYXRlZCgpKQorICAgICAgICAgICAgbV9ncHVQcm9jZXNzTWVkaWFQbGF5YmFj
a0Fzc2VydGlvbiA9IG1ha2VVbmlxdWU8UHJvY2Vzc0Fzc2VydGlvbj4oR1BVUHJvY2Vzc1Byb3h5
OjpzaW5nbGV0b24oKS5wcm9jZXNzSWRlbnRpZmllcigpLCAiV2ViS2l0IE1lZGlhIFBsYXliYWNr
Il9zLCBBc3NlcnRpb25TdGF0ZTo6Rm9yZWdyb3VuZCwgQXNzZXJ0aW9uUmVhc29uOjpNZWRpYVBs
YXliYWNrKTsKKyNlbmRpZgogICAgIH0KIAogICAgIGF1dG8gcmVzdWx0ID0gbV9wcm9jZXNzZXNQ
bGF5aW5nQXVkaWJsZU1lZGlhLmFkZChwcm9jZXNzSUQsIG51bGxwdHIpOwpAQCAtMjQxMCw2ICsy
NDE0LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6Y2xlYXJXZWJQcm9jZXNzSXNQbAogCiAgICAg
ICAgIEFTU0VSVChtX3VpUHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24pOwogICAgICAgICBt
X3VpUHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24gPSBudWxscHRyOworICAgICAgICBtX2dw
dVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbnVsbHB0cjsKICAgICB9CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24gMjU3
NTI2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNzk5LDYgKzc5OSw3IEBAIHByaXZhdGU6CiAKICAgICBIYXNoTWFwPFdlYkNv
cmU6OlByb2Nlc3NJZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4+
IG1fcHJvY2Vzc2VzUGxheWluZ0F1ZGlibGVNZWRpYTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJv
Y2Vzc0Fzc2VydGlvbj4gbV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uOworICAgIHN0
ZDo6dW5pcXVlX3B0cjxQcm9jZXNzQXNzZXJ0aW9uPiBtX2dwdVByb2Nlc3NNZWRpYVBsYXliYWNr
QXNzZXJ0aW9uOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIC8vIEZJWE1FOiBEZWxheWVkIHBy
b2Nlc3MgbGF1bmNoIGlzIGN1cnJlbnRseSBkaXNhYmxlZCBvbiBpT1MgZm9yIHBlcmZvcm1hbmNl
IHJlYXNvbnMgKHJkYXI6Ly9wcm9ibGVtLzQ5MDc0MTMxKS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjU3NTI2KQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTc0NSw2ICsxNzQ1LDE0IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjplbmFibGVTZXJ2aWNl
V29ya2UKICNlbmRpZgogfQogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcp
Cit2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZp
c2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQgY29udGV4dElEKQorewor
ICAgIGZvciAoYXV0byYgcGFnZSA6IGNvcHlUb1ZlY3Rvck9mPFJlZlB0cjxXZWJQYWdlUHJveHk+
PihtX3BhZ2VNYXAudmFsdWVzKCkpKQorICAgICAgICBwYWdlLT5kaWRDcmVhdGVDb250ZXh0SW5H
UFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKGNvbnRleHRJRCk7Cit9CisjZW5kaWYK
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjU3NTI2
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTU1LDYgKzU1LDEwIEBACiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9O
X1ZJRVcpCisjaW5jbHVkZSAiTGF5ZXJIb3N0aW5nQ29udGV4dC5oIgorI2VuZGlmCisKIG5hbWVz
cGFjZSBBUEkgewogY2xhc3MgTmF2aWdhdGlvbjsKIGNsYXNzIFBhZ2VDb25maWd1cmF0aW9uOwpA
QCAtMzY0LDYgKzM2OCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRIYXNJc3N1ZWRBdHRhY2ht
ZW50RWxlbWVudFJlbGF0ZWRTYW5kYm94RXh0ZW5zaW9ucygpIHsgbV9oYXNJc3N1ZWRBdHRhY2ht
ZW50RWxlbWVudFJlbGF0ZWRTYW5kYm94RXh0ZW5zaW9ucyA9IHRydWU7IH0KICNlbmRpZgogCisj
aWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgdm9pZCBkaWRDcmVhdGVD
b250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0Nv
bnRleHRJRCk7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIFdlYlByb2Nlc3NQcm94eShXZWJQ
cm9jZXNzUG9vbCYsIFdlYnNpdGVEYXRhU3RvcmUqLCBJc1ByZXdhcm1lZCk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1t
CShyZXZpc2lvbiAyNTc1MjYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
YWdlUHJveHlDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNywxMSBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6ZGlkQ3JlYXRlQ29udGV4dEZvclZpCiAgICAgbV9jb250ZXh0SURGb3JW
aXNpYmlsaXR5UHJvcGFnYXRpb24gPSBjb250ZXh0SUQ7CiAgICAgcGFnZUNsaWVudCgpLmRpZENy
ZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oY29udGV4dElEKTsKIH0KKwordm9p
ZCBXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5
UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJRCkKK3sKKyAgICBwYWdl
Q2xpZW50KCkuZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdh
dGlvbihjb250ZXh0SUQpOworfQogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAJ
KHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsNyArMTI0LDcgQEAgR1BVUHJvY2Vz
c1Byb3h5JiBHUFVQcm9jZXNzUHJveHk6OnNpbmdsZQogCiBHUFVQcm9jZXNzUHJveHk6OkdQVVBy
b2Nlc3NQcm94eSgpCiAgICAgOiBBdXhpbGlhcnlQcm9jZXNzUHJveHkoKQotICAgICwgbV90aHJv
dHRsZXIoKnRoaXMsIGZhbHNlKQorICAgICwgbV90aHJvdHRsZXIoKnRoaXMsIHRydWUpCiAjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICAsIG1fdXNlTW9ja0NhcHR1cmVEZXZpY2VzKE1vY2tS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjptb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlckVu
YWJsZWQoKSkKICNlbmRpZgpAQCAtMTgyLDYgKzE4MiwxMyBAQCB2b2lkIEdQVVByb2Nlc3NQcm94
eTo6Z2V0R1BVUHJvY2Vzc0Nvbm5lCiB2b2lkIEdQVVByb2Nlc3NQcm94eTo6b3BlbkdQVVByb2Nl
c3NDb25uZWN0aW9uKENvbm5lY3Rpb25SZXF1ZXN0SWRlbnRpZmllciBjb25uZWN0aW9uUmVxdWVz
dElkZW50aWZpZXIsIFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vzc1Byb3h5KQogewogICAgIGFk
ZFNlc3Npb24od2ViUHJvY2Vzc1Byb3h5LndlYnNpdGVEYXRhU3RvcmUoKSk7CisgICAgCisjaWYg
SEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgaWYgKG1fY29udGV4dElERm9y
VmlzaWJpbGl0eVByb3BhZ2F0aW9uKQorICAgICAgICB3ZWJQcm9jZXNzUHJveHkuZGlkQ3JlYXRl
Q29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihtX2NvbnRleHRJREZv
clZpc2liaWxpdHlQcm9wYWdhdGlvbik7CisgICAgZWxzZQorICAgICAgICBtX3Byb2Nlc3Nlc1Bl
bmRpbmdWaXNpYmlsaXR5UHJvcGFnYXRpb25Ob3RpZmljYXRpb24uYXBwZW5kKG1ha2VXZWFrUHRy
KHdlYlByb2Nlc3NQcm94eSkpOworI2VuZGlmCiAKICAgICBhdXRvJiBjb25uZWN0aW9uID0gKnRo
aXMtPmNvbm5lY3Rpb24oKTsKIApAQCAtMzMwLDYgKzMzNywyNCBAQCB2b2lkIEdQVVByb2Nlc3NQ
cm94eTo6cmVtb3ZlU2Vzc2lvbihQQUw6CiAgICAgICAgIHNlbmQoTWVzc2FnZXM6OkdQVVByb2Nl
c3M6OlJlbW92ZVNlc3Npb24geyBzZXNzaW9uSUQgfSwgMCk7CiB9CiAKKyNpZiBIQVZFKFZJU0lC
SUxJVFlfUFJPUEFHQVRJT05fVklFVykKK3ZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpkaWRDcmVhdGVD
b250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCBjb250
ZXh0SUQpCit7CisgICAgbV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24gPSBjb250
ZXh0SUQ7CisKKyAgICBhdXRvIHByb2Nlc3NlcyA9IFdURk1vdmUobV9wcm9jZXNzZXNQZW5kaW5n
VmlzaWJpbGl0eVByb3BhZ2F0aW9uTm90aWZpY2F0aW9uKTsKKyAgICBmb3IgKGF1dG8mIHByb2Nl
c3MgOiBwcm9jZXNzZXMpIHsKKyAgICAgICAgaWYgKHByb2Nlc3MpCisgICAgICAgICAgICBwcm9j
ZXNzLT5kaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
KGNvbnRleHRJRCk7CisgICAgfQorfQorCitMYXllckhvc3RpbmdDb250ZXh0SUQgR1BVUHJvY2Vz
c1Byb3h5Ojpjb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oKSBjb25zdAoreworICAg
IHJldHVybiBtX2NvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbjsKK30KKyNlbmRpZgor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0sKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgJKHJldmlzaW9u
IDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHku
aAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQXV4aWxpYXJ5
UHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vzc1Byb3h5TWVzc2FnZXNSZXBsaWVz
LmgiCisjaW5jbHVkZSAiTGF5ZXJIb3N0aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIlByb2Nlc3NM
YXVuY2hlci5oIgogI2luY2x1ZGUgIlByb2Nlc3NUaHJvdHRsZXIuaCIKICNpbmNsdWRlICJQcm9j
ZXNzVGhyb3R0bGVyQ2xpZW50LmgiCkBAIC02Niw2ICs2NywxMCBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHJlbW92ZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQpOwogCisjaWYgSEFWRShWSVNJQklMSVRZ
X1BST1BBR0FUSU9OX1ZJRVcpCisgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJREZv
clZpc2liaWxpdHlQcm9wYWdhdGlvbigpIGNvbnN0OworI2VuZGlmCisKIHByaXZhdGU6CiAgICAg
ZXhwbGljaXQgR1BVUHJvY2Vzc1Byb3h5KCk7CiAgICAgfkdQVVByb2Nlc3NQcm94eSgpOwpAQCAt
OTIsOSArOTcsMTQgQEAgcHJpdmF0ZToKICAgICB2b2lkIG9wZW5HUFVQcm9jZXNzQ29ubmVjdGlv
bihDb25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIsIFdlYlByb2Nlc3NQcm94eSYpOwogCiAgICAg
Ly8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkQ2xv
c2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRSZWNlaXZlSW52YWxp
ZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJl
Y2VpdmVyTmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOwog
CisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgdm9pZCBkaWRDcmVh
dGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCk7
CisjZW5kaWYKKwogICAgIHN0YXRpYyBHUFVQcm9jZXNzUHJveHkqIG1fc2luZ2xldG9uOwogCiAg
ICAgc3RydWN0IENvbm5lY3Rpb25SZXF1ZXN0IHsKQEAgLTExMSw2ICsxMjEsMTEgQEAgcHJpdmF0
ZToKICAgICB1aW50NjRfdCBtX29yaWVudGF0aW9uIHsgMCB9OwogI2VuZGlmCiAgICAgSGFzaFNl
dDxQQUw6OlNlc3Npb25JRD4gbV9zZXNzaW9uSURzOworCisjaWYgSEFWRShWSVNJQklMSVRZX1BS
T1BBR0FUSU9OX1ZJRVcpCisgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIG1fY29udGV4dElERm9y
VmlzaWJpbGl0eVByb3BhZ2F0aW9uIHsgMCB9OworICAgIFZlY3RvcjxXZWFrUHRyPFdlYlByb2Nl
c3NQcm94eT4+IG1fcHJvY2Vzc2VzUGVuZGluZ1Zpc2liaWxpdHlQcm9wYWdhdGlvbk5vdGlmaWNh
dGlvbjsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkubWVzc2Fn
ZXMuaW4JKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDEx
IEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzUHJv
eHkgTm90UmVmQ291bnRlZCB7CisKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklF
VykKKyAgICBEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKFdlYktpdDo6
TGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJRCk7CisjZW5kaWYKKwogfQogCiAjZW5kaWYg
Ly8gRU5BQkxFKEdQVV9QUk9DRVNTKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgJKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCSh3b3JraW5nIGNvcHkpCkBA
IC03Miw2ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWxhdW5jaFByb2Nlc3MoKSBv
dmVycmlkZTsKICNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKICAgICB2b2lk
IGRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29u
dGV4dElEKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NG
b3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEKSBvdmVycmlkZTsK
ICNlbmRpZgogICAgIHZvaWQgcGFnZUNsb3NlZCgpIG92ZXJyaWRlOwogICAgIHZvaWQgcHJlZmVy
ZW5jZXNEaWRDaGFuZ2UoKSBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0JKHJldmlzaW9uIDI1NzUyNikKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMjE4LDYgKzIxOCwxMSBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDcmVhdGVD
b250ZXh0Rm9yCiB7CiAgICAgW21fY29udGVudFZpZXcgX3Byb2Nlc3NEaWRDcmVhdGVDb250ZXh0
Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uXTsKIH0KKwordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlk
Q3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhv
c3RpbmdDb250ZXh0SUQpCit7CisgICAgW21fY29udGVudFZpZXcgX2dwdVByb2Nlc3NEaWRDcmVh
dGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uXTsKK30KICNlbmRpZgogCiB2b2lkIFBh
Z2VDbGllbnRJbXBsOjpwYWdlQ2xvc2VkKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXcuaAkocmV2aXNpb24gMjU3NTI2KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMTAwLDYg
KzEwMCw3IEBAIGNsYXNzIFdlYlByb2Nlc3NQb29sOwogLSAodm9pZClfZGlkUmVsYXVuY2hQcm9j
ZXNzOwogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQogLSAodm9pZClfcHJv
Y2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb247CistICh2b2lkKV9n
cHVQcm9jZXNzRGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbjsKICNlbmRp
ZgogLSAodm9pZClfc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jvb3RWaWV3OihVSVZpZXcgKily
b290VmlldzsKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXcubW0JKHJldmlzaW9uIDI1NzUyNikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW1w
b3J0ICJBUElQYWdlQ29uZmlndXJhdGlvbi5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUlPUy5o
IgogI2ltcG9ydCAiRnVsbHNjcmVlbkNsaWVudC5oIgorI2ltcG9ydCAiR1BVUHJvY2Vzc1Byb3h5
LmgiCiAjaW1wb3J0ICJJbnB1dFZpZXdVcGRhdGVEZWZlcnJlci5oIgogI2ltcG9ydCAiTG9nZ2lu
Zy5oIgogI2ltcG9ydCAiUGFnZUNsaWVudEltcGxJT1MuaCIKQEAgLTEzNCw2ICsxMzUsNyBAQCAt
ICh2b2lkKXJlZG8gCiAKICNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKICAg
ICBSZXRhaW5QdHI8X1VJTGF5ZXJIb3N0Vmlldz4gX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXc7
CisgICAgUmV0YWluUHRyPF9VSUxheWVySG9zdFZpZXc+IF92aXNpYmlsaXR5UHJvcGFnYXRpb25W
aWV3Rm9yR1BVUHJvY2VzczsKICNlbmRpZgogCiAgICAgV2ViQ29yZTo6SGlzdG9yaWNhbFZlbG9j
aXR5RGF0YSBfaGlzdG9yaWNhbEtpbmVtYXRpY0RhdGE7CkBAIC0xOTksNiArMjAxLDcgQEAgLSAo
aW5zdGFuY2V0eXBlKV9jb21tb25Jbml0aWFsaXphdGlvbldpdAogCiAjaWYgSEFWRShWSVNJQklM
SVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgW3NlbGYgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0
aW9uVmlld107CisgICAgW3NlbGYgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQ
VVByb2Nlc3NdOwogI2VuZGlmCiAKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRD
ZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9hcHBsaWNhdGlvbldp
bGxSZXNpZ25BY3RpdmU6KSBuYW1lOlVJQXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlTm90aWZp
Y2F0aW9uIG9iamVjdDpbVUlBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl1dOwpAQCAtMjI5
LDYgKzIzMiwyNCBAQCAtICh2b2lkKV9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcKICAg
ICBbc2VsZiBhZGRTdWJ2aWV3Ol92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3LmdldCgpXTsKIH0K
IAorLSAodm9pZClfc2V0dXBWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vzcwor
eworICAgIGlmICghV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgp
KQorICAgICAgICByZXR1cm47CisgICAgYXV0byBwcm9jZXNzSWRlbnRpZmllciA9IFdlYktpdDo6
R1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b24oKS5wcm9jZXNzSWRlbnRpZmllcigpOworICAgIGF1
dG8gY29udGV4dElEID0gV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbigpLmNvbnRl
eHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbigpOworICAgIGlmICghcHJvY2Vzc0lkZW50aWZp
ZXIgfHwgIWNvbnRleHRJRCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKF92aXNpYmlsaXR5
UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzcykKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8g
UHJvcGFnYXRlIHRoZSB2aWV3J3MgdmlzaWJpbGl0eSBzdGF0ZSB0byB0aGUgR1BVIHByb2Nlc3Mg
c28gdGhhdCBpdCBpcyBtYXJrZWQgYXMgIkZvcmVncm91bmQgUnVubmluZyIgd2hlbiBuZWNlc3Nh
cnkuCisgICAgX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzID0gYWRvcHRO
UyhbW19VSUxheWVySG9zdFZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0WmVybyBwaWQ6
cHJvY2Vzc0lkZW50aWZpZXIgY29udGV4dElEOmNvbnRleHRJRF0pOworICAgIFJFTEVBU0VfTE9H
KFByb2Nlc3MsICJDcmVhdGVkIHZpc2liaWxpdHkgcHJvcGFnYXRpb24gdmlldyAlcCAoY29udGV4
dElEOiAldSkgZm9yIEdQVSBwcm9jZXNzIHdpdGggUElEICVkIiwgX3Zpc2liaWxpdHlQcm9wYWdh
dGlvblZpZXdGb3JHUFVQcm9jZXNzLmdldCgpLCBjb250ZXh0SUQsIHByb2Nlc3NJZGVudGlmaWVy
KTsKKyAgICBbc2VsZiBhZGRTdWJ2aWV3Ol92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BV
UHJvY2Vzcy5nZXQoKV07Cit9CisKIC0gKHZvaWQpX3JlbW92ZVZpc2liaWxpdHlQcm9wYWdhdGlv
blZpZXcKIHsKICAgICBpZiAoIV92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3KQpAQCAtMjM4LDYg
KzI1OSwxNiBAQCAtICh2b2lkKV9yZW1vdmVWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3CiAgICAg
W192aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3IHJlbW92ZUZyb21TdXBlcnZpZXddOwogICAgIF92
aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3ID0gbnVsbHB0cjsKIH0KKworLSAodm9pZClfcmVtb3Zl
VmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MKK3sKKyAgICBpZiAoIV92aXNp
YmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzcykKKyAgICAgICAgcmV0dXJuOworCisg
ICAgUkVMRUFTRV9MT0coUHJvY2VzcywgIlJlbW92aW5nIHZpc2liaWxpdHkgcHJvcGFnYXRpb24g
dmlldyAlcCIsIF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vzcy5nZXQoKSk7
CisgICAgW192aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzcyByZW1vdmVGcm9t
U3VwZXJ2aWV3XTsKKyAgICBfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3Mg
PSBudWxscHRyOworfQogI2VuZGlmCiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihD
R1JlY3QpZnJhbWUgcHJvY2Vzc1Bvb2w6KE5ha2VkUmVmPFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w+
KXByb2Nlc3NQb29sIGNvbmZpZ3VyYXRpb246KFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYm
KWNvbmZpZ3VyYXRpb24gd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldwpAQCAtNjExLDYgKzY0
MiwxMSBAQCAtICh2b2lkKV9wcm9jZXNzRGlkQ3JlYXRlQ29udGV4dEZvclZpc2liCiB7CiAgICAg
W3NlbGYgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld107CiB9CisKKy0gKHZvaWQpX2dw
dVByb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uCit7CisgICAg
W3NlbGYgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3NdOworfQog
I2VuZGlmCiAKIC0gKHZvaWQpX2RpZENvbW1pdExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbiYpbGF5ZXJUcmVlVHJhbnNhY3Rpb24K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391916</attachid>
            <date>2020-02-27 14:19:54 -0800</date>
            <delta_ts>2020-02-27 15:01:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208250-20200227141953.patch</filename>
            <type>text/plain</type>
            <size>22646</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc1ODUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU3IEBACisyMDIwLTAyLTI3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBUaGUgR1BVIHByb2Nl
c3MgbmV2ZXIgcnVucyBhcyBhIGZvcmVncm91bmQgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgR1BVIHByb2Nlc3Mg
YWx3YXlzIHJ1bnMgaW4gdGhlIGJhY2tncm91bmQsIGFuZCBuZXZlciBnb2VzIGludG8gdGhlIGZv
cmVncm91bmQgbW9kZSwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yIG1lZGlhCisgICAgICAgIHBsYXli
YWNrIG9uIGlPUy4gVGhpcyBpcyBhZGRyZXNzZWQgYnkgY3JlYXRpbmcgYSBsYXllciBpbiB0aGUg
R1BVIHByb2Nlc3MsIHdob3NlIGNvbnRleHQgSUQgaXMgdXNlZCB0byBjcmVhdGUgYSB2aXNpYmls
aXR5CisgICAgICAgIHByb3BhZ2F0aW9uIHZpZXcgaW4gdGhlIFVJIHByb2Nlc3MuIFRoaXMgaXMg
ZG9uZSBpbiB0aGUgc2FtZSB3YXkgYXMgaXQgaXMgZG9uZSBmb3IgdGhlIFdlYkNvbnRlbnQgcHJv
Y2Vzcy4gVGhpcyBtYWtlcyBpdAorICAgICAgICBwb3NzaWJsZSBmb3IgdGhlIHN5c3RlbSB0byBk
ZXRlcm1pbmUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIEdQVSBwcm9jZXNzLiBJbiBhZGRpdGlvbiwg
Y3JlYXRlIGZvcmVncm91bmQgcHJvY2VzcyBhc3NlcnRpb25zCisgICAgICAgIHdoZW4gbWVkaWEg
aXMgYmVpbmcgcGxheWVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBleGlz
dGluZyB0ZXN0cy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9jZXNzKToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2lvcy9HUFVQ
cm9jZXNzSU9TLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDcmVhdGVDb250ZXh0SW5H
UFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
R1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94
eTo6R1BVUHJvY2Vzc1Byb3h5KToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5Ojpv
cGVuR1BVUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJv
eHk6OmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAgICAo
V2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OmNvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlv
biBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50
OjpkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6Z3B1UHJvY2Vzc0NyYXNoZWQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Z3B1UHJvY2Vzc0NyYXNoZWQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6c2V0V2ViUHJvY2Vzc0lzUGxheWluZ0F1ZGlibGVN
ZWRpYSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjbGVhcldlYlByb2Nlc3NJ
c1BsYXlpbmdBdWRpYmxlTWVkaWEpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmdwdVByb2Nlc3NDcmFzaGVkKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlz
aWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsOjpkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmdwdVByb2Nl
c3NDcmFzaGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aFByb2Nlc3NQb29sOmNvbmZpZ3VyYXRp
b246XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0
aW9uVmlld0ZvckdQVVByb2Nlc3NdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcmVtb3Zl
VmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3NdKToKKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBfZ3B1UHJvY2Vzc0NyYXNoZWRdKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBfZ3B1UHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb25dKToK
KwogMjAyMC0wMi0yNyAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgdW5pZmllZCBzb3VyY2UgYnVpbGRzIGZpeC4KSW5kZXg6
IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDI1NzU4MSkK
KysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTIzLDYgKzEyMywxMyBAQCB2b2lkIEdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9j
ZXNzKEdQCiAjZW5kaWYKICNlbmRpZgogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9O
X1ZJRVcpCisgICAgbV9jb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uID0gTGF5ZXJIb3N0
aW5nQ29udGV4dDo6Y3JlYXRlRm9yRXh0ZXJuYWxIb3N0aW5nUHJvY2Vzcyh7CisgICAgICAgIG1f
Y2FuU2hvd1doaWxlTG9ja2VkCisgICAgfSk7CisgICAgc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vz
c1Byb3h5OjpEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKG1fY29udGV4
dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbi0+Y29udGV4dElEKCkpKTsKKyNlbmRpZgorCiAgICAg
V2ViQ29yZTo6c2V0UHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKHBhcmFtZXRlcnMucGFyZW50UElE
KTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCShyZXZpc2lv
biAyNTc1ODEpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzczsKIHN0cnVjdCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzOwogc3RydWN0IEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVyczsKK2NsYXNzIExheWVySG9z
dGluZ0NvbnRleHQ7CiAKIGNsYXNzIEdQVVByb2Nlc3MgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vz
cywgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEdQVVByb2Nlc3M+LCBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8R1BVUHJvY2Vzcz4gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdQVVByb2Nl
c3MpOwpAQCAtOTgsNiArOTksMTAgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIH07CiAgICAgSGFz
aE1hcDxQQUw6OlNlc3Npb25JRCwgR1BVU2Vzc2lvbj4gbV9zZXNzaW9uczsKKyNpZiBIQVZFKFZJ
U0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8TGF5ZXJIb3N0
aW5nQ29udGV4dD4gbV9jb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uOworICAgIGJvb2wg
bV9jYW5TaG93V2hpbGVMb2NrZWQgeyBmYWxzZSB9OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9pb3MvR1BVUHJvY2Vz
c0lPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvaW9zL0dQVVBy
b2Nlc3NJT1MubW0JKHJldmlzaW9uIDI1NzU4MSkKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9pb3MvR1BVUHJvY2Vzc0lPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksOCBAQAog
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRG
T1JNKE1BQ0NBVEFMWVNUKQogCiAjaW1wb3J0ICJHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgiCisjaW1wb3J0ICJHUFVQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgorI2ltcG9ydCAiTGF5ZXJI
b3N0aW5nQ29udGV4dC5oIgogI2ltcG9ydCAiU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVy
cy5oIgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9XZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCShyZXZpc2lvbiAyNTc1ODEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwNCw4ICszMDQsMTMgQEAgcHVi
bGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgdmlydHVh
bCB2b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0
aW5nQ29udGV4dElEKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlQ29udGV4dEluR1BV
UHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQpIHsg
fQogI2VuZGlmCi0gICAgCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisgICAgdmlydHVhbCB2
b2lkIGdwdVByb2Nlc3NDcmFzaGVkKCkgeyB9CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCBk
b25lV2l0aEtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmLCBib29sIHdhc0V2
ZW50SGFuZGxlZCkgPSAwOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgdmlydHVhbCB2
b2lkIGRvbmVXaXRoVG91Y2hFdmVudChjb25zdCBOYXRpdmVXZWJUb3VjaEV2ZW50JiwgYm9vbCB3
YXNFdmVudEhhbmRsZWQpID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAkocmV2aXNpb24gMjU3NTgxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTkzNiw2ICs5OTM2LDEzIEBAIHZv
aWQgV2ViUGFnZVByb3h5OjpjbGVhclByZXZhbGVudERvbWFpbnMKIH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQordm9pZCBXZWJQYWdlUHJveHk6OmdwdVByb2Nlc3NDcmFzaGVk
KCkKK3sKKyAgICBwYWdlQ2xpZW50KCkuZ3B1UHJvY2Vzc0NyYXNoZWQoKTsKK30KKyNlbmRpZgor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FUkdFX1dIRUVMX0VWRU5UUwpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDI1NzU4MSkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTY4LDkgKzExNjgsMTQgQEAgcHVibGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZX1BS
T1BBR0FUSU9OX1ZJRVcpCiAgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCk7CisgICAgdm9pZCBkaWRDcmVhdGVDb250
ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRl
eHRJRCk7CiAgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJREZvclZpc2liaWxpdHlQ
cm9wYWdhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVByb3Bh
Z2F0aW9uOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKyAgICB2b2lkIGdw
dVByb2Nlc3NDcmFzaGVkKCk7CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCBlbnRlckFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRleHQmKTsKICAgICB2aXJ0
dWFsIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCk7CiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRl
eHQmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJ
KHJldmlzaW9uIDI1NzU4MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzI0LDYgKzcyNCw5IEBAIHZvaWQgV2ViUHJvY2Vz
c1Bvb2w6OmdldE5ldHdvcmtQcm9jZXNzQ28KIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmdwdVByb2Nl
c3NDcmFzaGVkKFByb2Nlc3NJRCBpZGVudGlmaWVyKQogewogICAgIG1fY2xpZW50LmdwdVByb2Nl
c3NEaWRDcmFzaCh0aGlzLCBpZGVudGlmaWVyKTsKKyAgICBWZWN0b3I8UmVmUHRyPFdlYlByb2Nl
c3NQcm94eT4+IHByb2Nlc3NlcyA9IG1fcHJvY2Vzc2VzOworICAgIGZvciAoYXV0byYgcHJvY2Vz
cyA6IHByb2Nlc3NlcykKKyAgICAgICAgcHJvY2Vzcy0+Z3B1UHJvY2Vzc0NyYXNoZWQoKTsKICAg
ICB0ZXJtaW5hdGVBbGxXZWJDb250ZW50UHJvY2Vzc2VzKCk7CiB9CiAKQEAgLTIzODcsNiArMjM5
MCwxMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRXZWJQcm9jZXNzSXNQbGF5CiAKICAgICAg
ICAgQVNTRVJUKCFtX3VpUHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24pOwogICAgICAgICBt
X3VpUHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24gPSBtYWtlVW5pcXVlPFByb2Nlc3NBc3Nl
cnRpb24+KGdldEN1cnJlbnRQcm9jZXNzSUQoKSwgIldlYktpdCBNZWRpYSBQbGF5YmFjayJfcywg
QXNzZXJ0aW9uU3RhdGU6OkZvcmVncm91bmQsIEFzc2VydGlvblJlYXNvbjo6TWVkaWFQbGF5YmFj
ayk7CisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgICAgICBpZiAoR1BVUHJvY2Vzc1Byb3h5
OjpzaW5nbGV0b25JZkNyZWF0ZWQoKSkKKyAgICAgICAgICAgIG1fZ3B1UHJvY2Vzc01lZGlhUGxh
eWJhY2tBc3NlcnRpb24gPSBtYWtlVW5pcXVlPFByb2Nlc3NBc3NlcnRpb24+KEdQVVByb2Nlc3NQ
cm94eTo6c2luZ2xldG9uKCkucHJvY2Vzc0lkZW50aWZpZXIoKSwgIldlYktpdCBNZWRpYSBQbGF5
YmFjayJfcywgQXNzZXJ0aW9uU3RhdGU6OkZvcmVncm91bmQsIEFzc2VydGlvblJlYXNvbjo6TWVk
aWFQbGF5YmFjayk7CisjZW5kaWYKICAgICB9CiAKICAgICBhdXRvIHJlc3VsdCA9IG1fcHJvY2Vz
c2VzUGxheWluZ0F1ZGlibGVNZWRpYS5hZGQocHJvY2Vzc0lELCBudWxscHRyKTsKQEAgLTI0MDks
NiArMjQxNiw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNsZWFyV2ViUHJvY2Vzc0lzUGwKIAog
ICAgICAgICBBU1NFUlQobV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uKTsKICAgICAg
ICAgbV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbnVsbHB0cjsKKyAgICAgICAg
bV9ncHVQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbiA9IG51bGxwdHI7CiAgICAgfQogfQog
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHJldmlzaW9u
IDI1NzU4MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHdv
cmtpbmcgY29weSkKQEAgLTc5OSw2ICs3OTksNyBAQCBwcml2YXRlOgogCiAgICAgSGFzaE1hcDxX
ZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NBc3NlcnRp
b24+PiBtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVkaWE7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PFByb2Nlc3NBc3NlcnRpb24+IG1fdWlQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbjsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV9ncHVQcm9jZXNzTWVkaWFQbGF5
YmFja0Fzc2VydGlvbjsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICAvLyBGSVhNRTogRGVsYXll
ZCBwcm9jZXNzIGxhdW5jaCBpcyBjdXJyZW50bHkgZGlzYWJsZWQgb24gaU9TIGZvciBwZXJmb3Jt
YW5jZSByZWFzb25zIChyZGFyOi8vcHJvYmxlbS80OTA3NDEzMSkuCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI1NzU4MSkKKysr
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTcwNiw2ICs3MDYsMTIgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmdldEdQVVByb2Nl
c3NDb25uZQogewogICAgIG1fcHJvY2Vzc1Bvb2wtPmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKCp0
aGlzLCBXVEZNb3ZlKHJlcGx5KSk7CiB9CisKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpncHVQcm9j
ZXNzQ3Jhc2hlZCgpCit7CisgICAgZm9yIChhdXRvJiBwYWdlIDogY29weVRvVmVjdG9yT2Y8UmVm
UHRyPFdlYlBhZ2VQcm94eT4+KG1fcGFnZU1hcC52YWx1ZXMoKSkpCisgICAgICAgIHBhZ2UtPmdw
dVByb2Nlc3NDcmFzaGVkKCk7Cit9CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShDT0NPQSkKQEAg
LTE3NDUsNiArMTc1MSwxNCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZW5hYmxlU2VydmljZVdv
cmtlCiAjZW5kaWYKIH0KIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQor
dm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJRCkKK3sKKyAg
ICBmb3IgKGF1dG8mIHBhZ2UgOiBjb3B5VG9WZWN0b3JPZjxSZWZQdHI8V2ViUGFnZVByb3h5Pj4o
bV9wYWdlTWFwLnZhbHVlcygpKSkKKyAgICAgICAgcGFnZS0+ZGlkQ3JlYXRlQ29udGV4dEluR1BV
UHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihjb250ZXh0SUQpOworfQorI2VuZGlmCisK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHJldmlzaW9uIDI1NzU4MSkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCSh3b3JraW5nIGNv
cHkpCkBAIC01NSw2ICs1NSwxMCBAQAogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvV2Vha0hhc2hTZXQuaD4KIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9W
SUVXKQorI2luY2x1ZGUgIkxheWVySG9zdGluZ0NvbnRleHQuaCIKKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgQVBJIHsKIGNsYXNzIE5hdmlnYXRpb247CiBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbjsKQEAg
LTM2NCw2ICszNjgsMTQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SGFzSXNzdWVkQXR0YWNobWVu
dEVsZW1lbnRSZWxhdGVkU2FuZGJveEV4dGVuc2lvbnMoKSB7IG1faGFzSXNzdWVkQXR0YWNobWVu
dEVsZW1lbnRSZWxhdGVkU2FuZGJveEV4dGVuc2lvbnMgPSB0cnVlOyB9CiAjZW5kaWYKIAorI2lm
IEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIHZvaWQgZGlkQ3JlYXRlQ29u
dGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250
ZXh0SUQpOworI2VuZGlmCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisgICAgdm9pZCBncHVQ
cm9jZXNzQ3Jhc2hlZCgpOworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBXZWJQcm9jZXNzUHJv
eHkoV2ViUHJvY2Vzc1Bvb2wmLCBXZWJzaXRlRGF0YVN0b3JlKiwgSXNQcmV3YXJtZWQpOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlD
b2NvYS5tbQkocmV2aXNpb24gMjU3NTgxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsMTEg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUNvbnRleHRGb3JWaQogICAgIG1fY29udGV4
dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uID0gY29udGV4dElEOwogICAgIHBhZ2VDbGllbnQo
KS5kaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKGNvbnRleHRJRCk7CiB9
CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlz
aWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCBjb250ZXh0SUQpCit7Cisg
ICAgcGFnZUNsaWVudCgpLmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5
UHJvcGFnYXRpb24oY29udGV4dElEKTsKK30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwCShyZXZpc2lvbiAyNTc1ODEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUv
R1BVUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI0LDcgKzEyNCw3IEBAIEdQ
VVByb2Nlc3NQcm94eSYgR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGUKIAogR1BVUHJvY2Vzc1Byb3h5
OjpHUFVQcm9jZXNzUHJveHkoKQogICAgIDogQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5KCkKLSAgICAs
IG1fdGhyb3R0bGVyKCp0aGlzLCBmYWxzZSkKKyAgICAsIG1fdGhyb3R0bGVyKCp0aGlzLCB0cnVl
KQogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgLCBtX3VzZU1vY2tDYXB0dXJlRGV2aWNl
cyhNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6bW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJFbmFibGVkKCkpCiAjZW5kaWYKQEAgLTE4Miw2ICsxODIsMTMgQEAgdm9pZCBHUFVQcm9j
ZXNzUHJveHk6OmdldEdQVVByb2Nlc3NDb25uZQogdm9pZCBHUFVQcm9jZXNzUHJveHk6Om9wZW5H
UFVQcm9jZXNzQ29ubmVjdGlvbihDb25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIgY29ubmVjdGlv
blJlcXVlc3RJZGVudGlmaWVyLCBXZWJQcm9jZXNzUHJveHkmIHdlYlByb2Nlc3NQcm94eSkKIHsK
ICAgICBhZGRTZXNzaW9uKHdlYlByb2Nlc3NQcm94eS53ZWJzaXRlRGF0YVN0b3JlKCkpOworICAg
IAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIGlmIChtX2NvbnRl
eHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbikKKyAgICAgICAgd2ViUHJvY2Vzc1Byb3h5LmRp
ZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24obV9jb250
ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOworICAgIGVsc2UKKyAgICAgICAgbV9wcm9j
ZXNzZXNQZW5kaW5nVmlzaWJpbGl0eVByb3BhZ2F0aW9uTm90aWZpY2F0aW9uLmFwcGVuZChtYWtl
V2Vha1B0cih3ZWJQcm9jZXNzUHJveHkpKTsKKyNlbmRpZgogCiAgICAgYXV0byYgY29ubmVjdGlv
biA9ICp0aGlzLT5jb25uZWN0aW9uKCk7CiAKQEAgLTMzMCw2ICszMzcsMjQgQEAgdm9pZCBHUFVQ
cm9jZXNzUHJveHk6OnJlbW92ZVNlc3Npb24oUEFMOgogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpH
UFVQcm9jZXNzOjpSZW1vdmVTZXNzaW9uIHsgc2Vzc2lvbklEIH0sIDApOwogfQogCisjaWYgSEFW
RShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCit2b2lkIEdQVVByb2Nlc3NQcm94eTo6ZGlk
Q3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0
SUQgY29udGV4dElEKQoreworICAgIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
ID0gY29udGV4dElEOworCisgICAgYXV0byBwcm9jZXNzZXMgPSBXVEZNb3ZlKG1fcHJvY2Vzc2Vz
UGVuZGluZ1Zpc2liaWxpdHlQcm9wYWdhdGlvbk5vdGlmaWNhdGlvbik7CisgICAgZm9yIChhdXRv
JiBwcm9jZXNzIDogcHJvY2Vzc2VzKSB7CisgICAgICAgIGlmIChwcm9jZXNzKQorICAgICAgICAg
ICAgcHJvY2Vzcy0+ZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9w
YWdhdGlvbihjb250ZXh0SUQpOworICAgIH0KK30KKworTGF5ZXJIb3N0aW5nQ29udGV4dElEIEdQ
VVByb2Nlc3NQcm94eTo6Y29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb247Cit9Cisj
ZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oCShy
ZXZpc2lvbiAyNTc1ODEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vz
c1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkF1
eGlsaWFyeVByb2Nlc3NQcm94eS5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NQcm94eU1lc3NhZ2Vz
UmVwbGllcy5oIgorI2luY2x1ZGUgIkxheWVySG9zdGluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJQ
cm9jZXNzTGF1bmNoZXIuaCIKICNpbmNsdWRlICJQcm9jZXNzVGhyb3R0bGVyLmgiCiAjaW5jbHVk
ZSAiUHJvY2Vzc1Rocm90dGxlckNsaWVudC5oIgpAQCAtNjYsNiArNjcsMTAgQEAgcHVibGljOgog
CiAgICAgdm9pZCByZW1vdmVTZXNzaW9uKFBBTDo6U2Vzc2lvbklEKTsKIAorI2lmIEhBVkUoVklT
SUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIExheWVySG9zdGluZ0NvbnRleHRJRCBjb250
ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oKSBjb25zdDsKKyNlbmRpZgorCiBwcml2YXRl
OgogICAgIGV4cGxpY2l0IEdQVVByb2Nlc3NQcm94eSgpOwogICAgIH5HUFVQcm9jZXNzUHJveHko
KTsKQEAgLTkyLDkgKzk3LDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBvcGVuR1BVUHJvY2Vzc0Nv
bm5lY3Rpb24oQ29ubmVjdGlvblJlcXVlc3RJZGVudGlmaWVyLCBXZWJQcm9jZXNzUHJveHkmKTsK
IAogICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CisgICAgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBvdmVycmlkZTsKICAgICB2b2lk
IGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjZWl2
ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1l
c3NhZ2VSZWNlaXZlck5hbWUsIElQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VOYW1lKSBvdmVy
cmlkZTsKIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIHZvaWQg
ZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250
ZXh0SUQpOworI2VuZGlmCisKICAgICBzdGF0aWMgR1BVUHJvY2Vzc1Byb3h5KiBtX3NpbmdsZXRv
bjsKIAogICAgIHN0cnVjdCBDb25uZWN0aW9uUmVxdWVzdCB7CkBAIC0xMTEsNiArMTIxLDExIEBA
IHByaXZhdGU6CiAgICAgdWludDY0X3QgbV9vcmllbnRhdGlvbiB7IDAgfTsKICNlbmRpZgogICAg
IEhhc2hTZXQ8UEFMOjpTZXNzaW9uSUQ+IG1fc2Vzc2lvbklEczsKKworI2lmIEhBVkUoVklTSUJJ
TElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIExheWVySG9zdGluZ0NvbnRleHRJRCBtX2NvbnRl
eHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbiB7IDAgfTsKKyAgICBWZWN0b3I8V2Vha1B0cjxX
ZWJQcm9jZXNzUHJveHk+PiBtX3Byb2Nlc3Nlc1BlbmRpbmdWaXNpYmlsaXR5UHJvcGFnYXRpb25O
b3RpZmljYXRpb247CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNTc1ODEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw2
ICsyMywxMSBAQAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAogbWVzc2FnZXMgLT4gR1BVUHJv
Y2Vzc1Byb3h5IE5vdFJlZkNvdW50ZWQgeworCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FU
SU9OX1ZJRVcpCisgICAgRGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihX
ZWJLaXQ6OkxheWVySG9zdGluZ0NvbnRleHRJRCBjb250ZXh0SUQpOworI2VuZGlmCisKIH0KIAog
I2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCShyZXZpc2lvbiAyNTc1ODEpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAkod29ya2luZyBj
b3B5KQpAQCAtNzIsNiArNzIsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlbGF1bmNoUHJv
Y2VzcygpIG92ZXJyaWRlOwogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQog
ICAgIHZvaWQgZGlkQ3JlYXRlQ29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhv
c3RpbmdDb250ZXh0SUQpIG92ZXJyaWRlOworICAgIHZvaWQgZGlkQ3JlYXRlQ29udGV4dEluR1BV
UHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQpIG92
ZXJyaWRlOworI2VuZGlmCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgIHZvaWQgZ3B1UHJv
Y2Vzc0NyYXNoZWQoKSBvdmVycmlkZTsKICNlbmRpZgogICAgIHZvaWQgcGFnZUNsb3NlZCgpIG92
ZXJyaWRlOwogICAgIHZvaWQgcHJlZmVyZW5jZXNEaWRDaGFuZ2UoKSBvdmVycmlkZTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0J
KHJldmlzaW9uIDI1NzU4MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSwxOCBAQCB2b2lkIFBh
Z2VDbGllbnRJbXBsOjpkaWRDcmVhdGVDb250ZXh0Rm9yCiB7CiAgICAgW21fY29udGVudFZpZXcg
X3Byb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uXTsKIH0KKwor
dm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2li
aWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQpCit7CisgICAgW21fY29udGVu
dFZpZXcgX2dwdVByb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9u
XTsKK30KKyNlbmRpZgorCisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQordm9pZCBQYWdlQ2xpZW50
SW1wbDo6Z3B1UHJvY2Vzc0NyYXNoZWQoKQoreworICAgIFttX2NvbnRlbnRWaWV3IF9ncHVQcm9j
ZXNzQ3Jhc2hlZF07Cit9CiAjZW5kaWYKIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6cGFnZUNsb3Nl
ZCgpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3LmgJ
KHJldmlzaW9uIDI1NzU4MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEwICs5NiwxNCBAQCBjbGFzcyBXZWJQcm9j
ZXNzUG9vbDsKIAogLSAoc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eT4p
X2NyZWF0ZURyYXdpbmdBcmVhUHJveHk6KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Jilwcm9jZXNz
OwogLSAodm9pZClfcHJvY2Vzc0RpZEV4aXQ7CisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorLSAo
dm9pZClfZ3B1UHJvY2Vzc0NyYXNoZWQ7CisjZW5kaWYKIC0gKHZvaWQpX3Byb2Nlc3NXaWxsU3dh
cDsKIC0gKHZvaWQpX2RpZFJlbGF1bmNoUHJvY2VzczsKICNpZiBIQVZFKFZJU0lCSUxJVFlfUFJP
UEFHQVRJT05fVklFVykKIC0gKHZvaWQpX3Byb2Nlc3NEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJp
bGl0eVByb3BhZ2F0aW9uOworLSAodm9pZClfZ3B1UHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JW
aXNpYmlsaXR5UHJvcGFnYXRpb247CiAjZW5kaWYKIC0gKHZvaWQpX3NldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdSb290VmlldzooVUlWaWV3ICopcm9vdFZpZXc7CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCShyZXZpc2lvbiAyNTc1ODEpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCAiQVBJUGFnZUNvbmZpZ3VyYXRpb24uaCIK
ICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlJT1MuaCIKICNpbXBvcnQgIkZ1bGxzY3JlZW5DbGllbnQu
aCIKKyNpbXBvcnQgIkdQVVByb2Nlc3NQcm94eS5oIgogI2ltcG9ydCAiSW5wdXRWaWV3VXBkYXRl
RGVmZXJyZXIuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIlBhZ2VDbGllbnRJbXBs
SU9TLmgiCkBAIC0xMzQsNiArMTM1LDcgQEAgLSAodm9pZClyZWRvIAogCiAjaWYgSEFWRShWSVNJ
QklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgUmV0YWluUHRyPF9VSUxheWVySG9zdFZpZXc+
IF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3OworICAgIFJldGFpblB0cjxfVUlMYXllckhvc3RW
aWV3PiBfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3M7CiAjZW5kaWYKIAog
ICAgIFdlYkNvcmU6Okhpc3RvcmljYWxWZWxvY2l0eURhdGEgX2hpc3RvcmljYWxLaW5lbWF0aWNE
YXRhOwpAQCAtMTk5LDYgKzIwMSw3IEBAIC0gKGluc3RhbmNldHlwZSlfY29tbW9uSW5pdGlhbGl6
YXRpb25XaXQKIAogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQogICAgIFtz
ZWxmIF9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXddOworICAgIFtzZWxmIF9zZXR1cFZp
c2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzXTsKICNlbmRpZgogCiAgICAgW1tO
U05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVj
dG9yOkBzZWxlY3RvcihfYXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlOikgbmFtZTpVSUFwcGxp
Y2F0aW9uV2lsbFJlc2lnbkFjdGl2ZU5vdGlmaWNhdGlvbiBvYmplY3Q6W1VJQXBwbGljYXRpb24g
c2hhcmVkQXBwbGljYXRpb25dXTsKQEAgLTIyOSw2ICsyMzIsMjQgQEAgLSAodm9pZClfc2V0dXBW
aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3CiAgICAgW3NlbGYgYWRkU3VidmlldzpfdmlzaWJpbGl0
eVByb3BhZ2F0aW9uVmlldy5nZXQoKV07CiB9CiAKKy0gKHZvaWQpX3NldHVwVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MKK3sKKyAgICBpZiAoIVdlYktpdDo6R1BVUHJvY2Vz
c1Byb3h5OjpzaW5nbGV0b25JZkNyZWF0ZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGF1dG8g
cHJvY2Vzc0lkZW50aWZpZXIgPSBXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6c2luZ2xldG9uKCku
cHJvY2Vzc0lkZW50aWZpZXIoKTsKKyAgICBhdXRvIGNvbnRleHRJRCA9IFdlYktpdDo6R1BVUHJv
Y2Vzc1Byb3h5OjpzaW5nbGV0b24oKS5jb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24o
KTsKKyAgICBpZiAoIXByb2Nlc3NJZGVudGlmaWVyIHx8ICFjb250ZXh0SUQpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3Mp
CisgICAgICAgIHJldHVybjsKKworICAgIC8vIFByb3BhZ2F0ZSB0aGUgdmlldydzIHZpc2liaWxp
dHkgc3RhdGUgdG8gdGhlIEdQVSBwcm9jZXNzIHNvIHRoYXQgaXQgaXMgbWFya2VkIGFzICJGb3Jl
Z3JvdW5kIFJ1bm5pbmciIHdoZW4gbmVjZXNzYXJ5LgorICAgIF92aXNpYmlsaXR5UHJvcGFnYXRp
b25WaWV3Rm9yR1BVUHJvY2VzcyA9IGFkb3B0TlMoW1tfVUlMYXllckhvc3RWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOkNHUmVjdFplcm8gcGlkOnByb2Nlc3NJZGVudGlmaWVyIGNvbnRleHRJRDpj
b250ZXh0SURdKTsKKyAgICBSRUxFQVNFX0xPRyhQcm9jZXNzLCAiQ3JlYXRlZCB2aXNpYmlsaXR5
IHByb3BhZ2F0aW9uIHZpZXcgJXAgKGNvbnRleHRJRDogJXUpIGZvciBHUFUgcHJvY2VzcyB3aXRo
IFBJRCAlZCIsIF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vzcy5nZXQoKSwg
Y29udGV4dElELCBwcm9jZXNzSWRlbnRpZmllcik7CisgICAgW3NlbGYgYWRkU3Vidmlldzpfdmlz
aWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MuZ2V0KCldOworfQorCiAtICh2b2lk
KV9yZW1vdmVWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3CiB7CiAgICAgaWYgKCFfdmlzaWJpbGl0
eVByb3BhZ2F0aW9uVmlldykKQEAgLTIzOCw2ICsyNTksMTYgQEAgLSAodm9pZClfcmVtb3ZlVmlz
aWJpbGl0eVByb3BhZ2F0aW9uVmlldwogICAgIFtfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldyBy
ZW1vdmVGcm9tU3VwZXJ2aWV3XTsKICAgICBfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlldyA9IG51
bGxwdHI7CiB9CisKKy0gKHZvaWQpX3JlbW92ZVZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JH
UFVQcm9jZXNzCit7CisgICAgaWYgKCFfdmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVBy
b2Nlc3MpCisgICAgICAgIHJldHVybjsKKworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJSZW1v
dmluZyB2aXNpYmlsaXR5IHByb3BhZ2F0aW9uIHZpZXcgJXAiLCBfdmlzaWJpbGl0eVByb3BhZ2F0
aW9uVmlld0ZvckdQVVByb2Nlc3MuZ2V0KCkpOworICAgIFtfdmlzaWJpbGl0eVByb3BhZ2F0aW9u
Vmlld0ZvckdQVVByb2Nlc3MgcmVtb3ZlRnJvbVN1cGVydmlld107CisgICAgX3Zpc2liaWxpdHlQ
cm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzID0gbnVsbHB0cjsKK30KICNlbmRpZgogCiAtIChp
bnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIHByb2Nlc3NQb29sOihOYWtl
ZFJlZjxXZWJLaXQ6OldlYlByb2Nlc3NQb29sPilwcm9jZXNzUG9vbCBjb25maWd1cmF0aW9uOihS
ZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJiljb25maWd1cmF0aW9uIHdlYlZpZXc6KFdLV2Vi
VmlldyAqKXdlYlZpZXcKQEAgLTU5MSw2ICs2MjIsMTMgQEAgLSAodm9pZClfcHJvY2Vzc0RpZEV4
aXQKICAgICBfaXNQcmludGluZ1RvUERGID0gTk87CiB9CiAKKyNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpCistICh2b2lkKV9ncHVQcm9jZXNzQ3Jhc2hlZAoreworICAgIFtzZWxmIF9yZW1vdmVWaXNp
YmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vzc107Cit9CisjZW5kaWYKKwogLSAodm9p
ZClfcHJvY2Vzc1dpbGxTd2FwCiB7CiAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSBkbyBzb21ldGhp
bmcgZGlmZmVyZW50bHk/CkBAIC02MTEsNiArNjQ5LDExIEBAIC0gKHZvaWQpX3Byb2Nlc3NEaWRD
cmVhdGVDb250ZXh0Rm9yVmlzaWIKIHsKICAgICBbc2VsZiBfc2V0dXBWaXNpYmlsaXR5UHJvcGFn
YXRpb25WaWV3XTsKIH0KKworLSAodm9pZClfZ3B1UHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JW
aXNpYmlsaXR5UHJvcGFnYXRpb24KK3sKKyAgICBbc2VsZiBfc2V0dXBWaXNpYmlsaXR5UHJvcGFn
YXRpb25WaWV3Rm9yR1BVUHJvY2Vzc107Cit9CiAjZW5kaWYKIAogLSAodm9pZClfZGlkQ29tbWl0
TGF5ZXJUcmVlOihjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJilsYXll
clRyZWVUcmFuc2FjdGlvbgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391925</attachid>
            <date>2020-02-27 15:01:10 -0800</date>
            <delta_ts>2020-02-27 18:42:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208250-20200227150109.patch</filename>
            <type>text/plain</type>
            <size>22315</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTc1ODUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU3IEBACisyMDIwLTAyLTI3ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBUaGUgR1BVIHByb2Nl
c3MgbmV2ZXIgcnVucyBhcyBhIGZvcmVncm91bmQgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4MjUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgR1BVIHByb2Nlc3Mg
YWx3YXlzIHJ1bnMgaW4gdGhlIGJhY2tncm91bmQsIGFuZCBuZXZlciBnb2VzIGludG8gdGhlIGZv
cmVncm91bmQgbW9kZSwgd2hpY2ggaXMgcmVxdWlyZWQgZm9yIG1lZGlhCisgICAgICAgIHBsYXli
YWNrIG9uIGlPUy4gVGhpcyBpcyBhZGRyZXNzZWQgYnkgY3JlYXRpbmcgYSBsYXllciBpbiB0aGUg
R1BVIHByb2Nlc3MsIHdob3NlIGNvbnRleHQgSUQgaXMgdXNlZCB0byBjcmVhdGUgYSB2aXNpYmls
aXR5CisgICAgICAgIHByb3BhZ2F0aW9uIHZpZXcgaW4gdGhlIFVJIHByb2Nlc3MuIFRoaXMgaXMg
ZG9uZSBpbiB0aGUgc2FtZSB3YXkgYXMgaXQgaXMgZG9uZSBmb3IgdGhlIFdlYkNvbnRlbnQgcHJv
Y2Vzcy4gVGhpcyBtYWtlcyBpdAorICAgICAgICBwb3NzaWJsZSBmb3IgdGhlIHN5c3RlbSB0byBk
ZXRlcm1pbmUgdGhlIHZpc2liaWxpdHkgb2YgdGhlIEdQVSBwcm9jZXNzLiBJbiBhZGRpdGlvbiwg
Y3JlYXRlIGZvcmVncm91bmQgcHJvY2VzcyBhc3NlcnRpb25zCisgICAgICAgIHdoZW4gbWVkaWEg
aXMgYmVpbmcgcGxheWVkLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBleGlz
dGluZyB0ZXN0cy4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9jZXNzKToKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2lvcy9HUFVQ
cm9jZXNzSU9TLm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDcmVhdGVDb250ZXh0SW5H
UFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
R1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94
eTo6R1BVUHJvY2Vzc1Byb3h5KToKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5Ojpv
cGVuR1BVUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJv
eHk6OmRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24pOgorICAgICAgICAo
V2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OmNvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlv
biBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50
OjpkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6Z3B1UHJvY2Vzc0NyYXNoZWQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Z3B1UHJvY2Vzc0NyYXNoZWQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6c2V0V2ViUHJvY2Vzc0lzUGxheWluZ0F1ZGlibGVN
ZWRpYSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjbGVhcldlYlByb2Nlc3NJ
c1BsYXlpbmdBdWRpYmxlTWVkaWEpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmdwdVByb2Nlc3NDcmFzaGVkKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlz
aWJpbGl0eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsOjpkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0
eVByb3BhZ2F0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmdwdVByb2Nl
c3NDcmFzaGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aFByb2Nlc3NQb29sOmNvbmZpZ3VyYXRp
b246XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0
aW9uVmlld0ZvckdQVVByb2Nlc3NdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcmVtb3Zl
VmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3NdKToKKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBfZ3B1UHJvY2Vzc0NyYXNoZWRdKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBfZ3B1UHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb25dKToK
KwogMjAyMC0wMi0yNyAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgdW5pZmllZCBzb3VyY2UgYnVpbGRzIGZpeC4KSW5kZXg6
IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDI1NzU4MSkK
KysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTIzLDYgKzEyMywxMyBAQCB2b2lkIEdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9j
ZXNzKEdQCiAjZW5kaWYKICNlbmRpZgogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9O
X1ZJRVcpCisgICAgbV9jb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uID0gTGF5ZXJIb3N0
aW5nQ29udGV4dDo6Y3JlYXRlRm9yRXh0ZXJuYWxIb3N0aW5nUHJvY2Vzcyh7CisgICAgICAgIG1f
Y2FuU2hvd1doaWxlTG9ja2VkCisgICAgfSk7CisgICAgc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vz
c1Byb3h5OjpEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKG1fY29udGV4
dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbi0+Y29udGV4dElEKCkpKTsKKyNlbmRpZgorCiAgICAg
V2ViQ29yZTo6c2V0UHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKHBhcmFtZXRlcnMucGFyZW50UElE
KTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCShyZXZpc2lv
biAyNTc1ODEpCisrKyBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzczsKIHN0cnVjdCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzOwogc3RydWN0IEdQVVByb2Nlc3NTZXNzaW9uUGFyYW1ldGVyczsKK2NsYXNzIExheWVySG9z
dGluZ0NvbnRleHQ7CiAKIGNsYXNzIEdQVVByb2Nlc3MgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vz
cywgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEdQVVByb2Nlc3M+LCBwdWJsaWMgQ2FuTWFr
ZVdlYWtQdHI8R1BVUHJvY2Vzcz4gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdQVVByb2Nl
c3MpOwpAQCAtOTgsNiArOTksMTAgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIH07CiAgICAgSGFz
aE1hcDxQQUw6OlNlc3Npb25JRCwgR1BVU2Vzc2lvbj4gbV9zZXNzaW9uczsKKyNpZiBIQVZFKFZJ
U0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8TGF5ZXJIb3N0
aW5nQ29udGV4dD4gbV9jb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uOworICAgIGJvb2wg
bV9jYW5TaG93V2hpbGVMb2NrZWQgeyBmYWxzZSB9OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9pb3MvR1BVUHJvY2Vz
c0lPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvaW9zL0dQVVBy
b2Nlc3NJT1MubW0JKHJldmlzaW9uIDI1NzU4MSkKKysrIFNvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9pb3MvR1BVUHJvY2Vzc0lPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksOCBAQAog
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRG
T1JNKE1BQ0NBVEFMWVNUKQogCiAjaW1wb3J0ICJHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgiCisjaW1wb3J0ICJHUFVQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgorI2ltcG9ydCAiTGF5ZXJI
b3N0aW5nQ29udGV4dC5oIgogI2ltcG9ydCAiU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVy
cy5oIgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9XZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCShyZXZpc2lvbiAyNTc1ODEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwNCw4ICszMDQsMTMgQEAgcHVi
bGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCiAgICAgdmlydHVh
bCB2b2lkIGRpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0
aW5nQ29udGV4dElEKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlQ29udGV4dEluR1BV
UHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250ZXh0SUQpIHsg
fQogI2VuZGlmCi0gICAgCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisgICAgdmlydHVhbCB2
b2lkIGdwdVByb2Nlc3NDcmFzaGVkKCkgeyB9CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCBk
b25lV2l0aEtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmLCBib29sIHdhc0V2
ZW50SGFuZGxlZCkgPSAwOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgdmlydHVhbCB2
b2lkIGRvbmVXaXRoVG91Y2hFdmVudChjb25zdCBOYXRpdmVXZWJUb3VjaEV2ZW50JiwgYm9vbCB3
YXNFdmVudEhhbmRsZWQpID0gMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAkocmV2aXNpb24gMjU3NTgxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTkzNiw2ICs5OTM2LDEzIEBAIHZv
aWQgV2ViUGFnZVByb3h5OjpjbGVhclByZXZhbGVudERvbWFpbnMKIH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKEdQVV9QUk9DRVNTKQordm9pZCBXZWJQYWdlUHJveHk6OmdwdVByb2Nlc3NDcmFzaGVk
KCkKK3sKKyAgICBwYWdlQ2xpZW50KCkuZ3B1UHJvY2Vzc0NyYXNoZWQoKTsKK30KKyNlbmRpZgor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FUkdFX1dIRUVMX0VWRU5UUwpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDI1NzU4MSkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTY4LDkgKzExNjgsMTQgQEAgcHVibGljOgogCiAjaWYgSEFWRShWSVNJQklMSVRZX1BS
T1BBR0FUSU9OX1ZJRVcpCiAgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCk7CisgICAgdm9pZCBkaWRDcmVhdGVDb250
ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRl
eHRJRCk7CiAgICAgTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJREZvclZpc2liaWxpdHlQ
cm9wYWdhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVByb3Bh
Z2F0aW9uOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKKyAgICB2b2lkIGdw
dVByb2Nlc3NDcmFzaGVkKCk7CisjZW5kaWYKKwogICAgIHZpcnR1YWwgdm9pZCBlbnRlckFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRleHQmKTsKICAgICB2aXJ0
dWFsIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCk7CiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRl
eHQmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJ
KHJldmlzaW9uIDI1NzU4MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzI0LDYgKzcyNCw5IEBAIHZvaWQgV2ViUHJvY2Vz
c1Bvb2w6OmdldE5ldHdvcmtQcm9jZXNzQ28KIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmdwdVByb2Nl
c3NDcmFzaGVkKFByb2Nlc3NJRCBpZGVudGlmaWVyKQogewogICAgIG1fY2xpZW50LmdwdVByb2Nl
c3NEaWRDcmFzaCh0aGlzLCBpZGVudGlmaWVyKTsKKyAgICBWZWN0b3I8UmVmUHRyPFdlYlByb2Nl
c3NQcm94eT4+IHByb2Nlc3NlcyA9IG1fcHJvY2Vzc2VzOworICAgIGZvciAoYXV0byYgcHJvY2Vz
cyA6IHByb2Nlc3NlcykKKyAgICAgICAgcHJvY2Vzcy0+Z3B1UHJvY2Vzc0NyYXNoZWQoKTsKICAg
ICB0ZXJtaW5hdGVBbGxXZWJDb250ZW50UHJvY2Vzc2VzKCk7CiB9CiAKQEAgLTIzODcsNiArMjM5
MCwxMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRXZWJQcm9jZXNzSXNQbGF5CiAKICAgICAg
ICAgQVNTRVJUKCFtX3VpUHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24pOwogICAgICAgICBt
X3VpUHJvY2Vzc01lZGlhUGxheWJhY2tBc3NlcnRpb24gPSBtYWtlVW5pcXVlPFByb2Nlc3NBc3Nl
cnRpb24+KGdldEN1cnJlbnRQcm9jZXNzSUQoKSwgIldlYktpdCBNZWRpYSBQbGF5YmFjayJfcywg
QXNzZXJ0aW9uU3RhdGU6OkZvcmVncm91bmQsIEFzc2VydGlvblJlYXNvbjo6TWVkaWFQbGF5YmFj
ayk7CisjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQorICAgICAgICBpZiAoR1BVUHJvY2Vzc1Byb3h5
OjpzaW5nbGV0b25JZkNyZWF0ZWQoKSkKKyAgICAgICAgICAgIG1fZ3B1UHJvY2Vzc01lZGlhUGxh
eWJhY2tBc3NlcnRpb24gPSBtYWtlVW5pcXVlPFByb2Nlc3NBc3NlcnRpb24+KEdQVVByb2Nlc3NQ
cm94eTo6c2luZ2xldG9uKCkucHJvY2Vzc0lkZW50aWZpZXIoKSwgIldlYktpdCBNZWRpYSBQbGF5
YmFjayJfcywgQXNzZXJ0aW9uU3RhdGU6OkZvcmVncm91bmQsIEFzc2VydGlvblJlYXNvbjo6TWVk
aWFQbGF5YmFjayk7CisjZW5kaWYKICAgICB9CiAKICAgICBhdXRvIHJlc3VsdCA9IG1fcHJvY2Vz
c2VzUGxheWluZ0F1ZGlibGVNZWRpYS5hZGQocHJvY2Vzc0lELCBudWxscHRyKTsKQEAgLTI0MDks
NiArMjQxNiw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNsZWFyV2ViUHJvY2Vzc0lzUGwKIAog
ICAgICAgICBBU1NFUlQobV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uKTsKICAgICAg
ICAgbV91aVByb2Nlc3NNZWRpYVBsYXliYWNrQXNzZXJ0aW9uID0gbnVsbHB0cjsKKyAgICAgICAg
bV9ncHVQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbiA9IG51bGxwdHI7CiAgICAgfQogfQog
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHJldmlzaW9u
IDI1NzU4MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHdv
cmtpbmcgY29weSkKQEAgLTc5OSw2ICs3OTksNyBAQCBwcml2YXRlOgogCiAgICAgSGFzaE1hcDxX
ZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NBc3NlcnRp
b24+PiBtX3Byb2Nlc3Nlc1BsYXlpbmdBdWRpYmxlTWVkaWE7CiAgICAgc3RkOjp1bmlxdWVfcHRy
PFByb2Nlc3NBc3NlcnRpb24+IG1fdWlQcm9jZXNzTWVkaWFQbGF5YmFja0Fzc2VydGlvbjsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UHJvY2Vzc0Fzc2VydGlvbj4gbV9ncHVQcm9jZXNzTWVkaWFQbGF5
YmFja0Fzc2VydGlvbjsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICAvLyBGSVhNRTogRGVsYXll
ZCBwcm9jZXNzIGxhdW5jaCBpcyBjdXJyZW50bHkgZGlzYWJsZWQgb24gaU9TIGZvciBwZXJmb3Jt
YW5jZSByZWFzb25zIChyZGFyOi8vcHJvYmxlbS80OTA3NDEzMSkuCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI1NzU4MSkKKysr
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTcwNiw2ICs3MDYsMTIgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmdldEdQVVByb2Nl
c3NDb25uZQogewogICAgIG1fcHJvY2Vzc1Bvb2wtPmdldEdQVVByb2Nlc3NDb25uZWN0aW9uKCp0
aGlzLCBXVEZNb3ZlKHJlcGx5KSk7CiB9CisKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpncHVQcm9j
ZXNzQ3Jhc2hlZCgpCit7CisgICAgZm9yIChhdXRvJiBwYWdlIDogY29weVRvVmVjdG9yT2Y8UmVm
UHRyPFdlYlBhZ2VQcm94eT4+KG1fcGFnZU1hcC52YWx1ZXMoKSkpCisgICAgICAgIHBhZ2UtPmdw
dVByb2Nlc3NDcmFzaGVkKCk7Cit9CiAjZW5kaWYKIAogI2lmICFQTEFURk9STShDT0NPQSkKQEAg
LTE3NDUsNiArMTc1MSwxNCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZW5hYmxlU2VydmljZVdv
cmtlCiAjZW5kaWYKIH0KIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQor
dm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNp
YmlsaXR5UHJvcGFnYXRpb24oTGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJRCkKK3sKKyAg
ICBmb3IgKGF1dG8mIHBhZ2UgOiBjb3B5VG9WZWN0b3JPZjxSZWZQdHI8V2ViUGFnZVByb3h5Pj4o
bV9wYWdlTWFwLnZhbHVlcygpKSkKKyAgICAgICAgcGFnZS0+ZGlkQ3JlYXRlQ29udGV4dEluR1BV
UHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihjb250ZXh0SUQpOworfQorI2VuZGlmCisK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHJldmlzaW9uIDI1NzU4MSkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCSh3b3JraW5nIGNv
cHkpCkBAIC01NSw2ICs1NSwxMCBAQAogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvV2Vha0hhc2hTZXQuaD4KIAorI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9W
SUVXKQorI2luY2x1ZGUgIkxheWVySG9zdGluZ0NvbnRleHQuaCIKKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgQVBJIHsKIGNsYXNzIE5hdmlnYXRpb247CiBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbjsKQEAg
LTM2NCw2ICszNjgsMTQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SGFzSXNzdWVkQXR0YWNobWVu
dEVsZW1lbnRSZWxhdGVkU2FuZGJveEV4dGVuc2lvbnMoKSB7IG1faGFzSXNzdWVkQXR0YWNobWVu
dEVsZW1lbnRSZWxhdGVkU2FuZGJveEV4dGVuc2lvbnMgPSB0cnVlOyB9CiAjZW5kaWYKIAorI2lm
IEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQorICAgIHZvaWQgZGlkQ3JlYXRlQ29u
dGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdhdGlvbihMYXllckhvc3RpbmdDb250
ZXh0SUQpOworI2VuZGlmCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisgICAgdm9pZCBncHVQ
cm9jZXNzQ3Jhc2hlZCgpOworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBXZWJQcm9jZXNzUHJv
eHkoV2ViUHJvY2Vzc1Bvb2wmLCBXZWJzaXRlRGF0YVN0b3JlKiwgSXNQcmV3YXJtZWQpOwogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlD
b2NvYS5tbQkocmV2aXNpb24gMjU3NTgxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsMTEg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZENyZWF0ZUNvbnRleHRGb3JWaQogICAgIG1fY29udGV4
dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uID0gY29udGV4dElEOwogICAgIHBhZ2VDbGllbnQo
KS5kaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKGNvbnRleHRJRCk7CiB9
CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlz
aWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCBjb250ZXh0SUQpCit7Cisg
ICAgcGFnZUNsaWVudCgpLmRpZENyZWF0ZUNvbnRleHRJbkdQVVByb2Nlc3NGb3JWaXNpYmlsaXR5
UHJvcGFnYXRpb24oY29udGV4dElEKTsKK30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuY3BwCShyZXZpc2lvbiAyNTc1ODEpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUv
R1BVUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyLDYgKzE4MiwxMyBAQCB2
b2lkIEdQVVByb2Nlc3NQcm94eTo6Z2V0R1BVUHJvY2Vzc0Nvbm5lCiB2b2lkIEdQVVByb2Nlc3NQ
cm94eTo6b3BlbkdQVVByb2Nlc3NDb25uZWN0aW9uKENvbm5lY3Rpb25SZXF1ZXN0SWRlbnRpZmll
ciBjb25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIsIFdlYlByb2Nlc3NQcm94eSYgd2ViUHJvY2Vz
c1Byb3h5KQogewogICAgIGFkZFNlc3Npb24od2ViUHJvY2Vzc1Byb3h5LndlYnNpdGVEYXRhU3Rv
cmUoKSk7CisgICAgCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAg
aWYgKG1fY29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKQorICAgICAgICB3ZWJQcm9j
ZXNzUHJveHkuZGlkQ3JlYXRlQ29udGV4dEluR1BVUHJvY2Vzc0ZvclZpc2liaWxpdHlQcm9wYWdh
dGlvbihtX2NvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbik7CisgICAgZWxzZQorICAg
ICAgICBtX3Byb2Nlc3Nlc1BlbmRpbmdWaXNpYmlsaXR5UHJvcGFnYXRpb25Ob3RpZmljYXRpb24u
YXBwZW5kKG1ha2VXZWFrUHRyKHdlYlByb2Nlc3NQcm94eSkpOworI2VuZGlmCiAKICAgICBhdXRv
JiBjb25uZWN0aW9uID0gKnRoaXMtPmNvbm5lY3Rpb24oKTsKIApAQCAtMzMwLDYgKzMzNywyNCBA
QCB2b2lkIEdQVVByb2Nlc3NQcm94eTo6cmVtb3ZlU2Vzc2lvbihQQUw6CiAgICAgICAgIHNlbmQo
TWVzc2FnZXM6OkdQVVByb2Nlc3M6OlJlbW92ZVNlc3Npb24geyBzZXNzaW9uSUQgfSwgMCk7CiB9
CiAKKyNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKK3ZvaWQgR1BVUHJvY2Vz
c1Byb3h5OjpkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9z
dGluZ0NvbnRleHRJRCBjb250ZXh0SUQpCit7CisgICAgbV9jb250ZXh0SURGb3JWaXNpYmlsaXR5
UHJvcGFnYXRpb24gPSBjb250ZXh0SUQ7CisKKyAgICBhdXRvIHByb2Nlc3NlcyA9IFdURk1vdmUo
bV9wcm9jZXNzZXNQZW5kaW5nVmlzaWJpbGl0eVByb3BhZ2F0aW9uTm90aWZpY2F0aW9uKTsKKyAg
ICBmb3IgKGF1dG8mIHByb2Nlc3MgOiBwcm9jZXNzZXMpIHsKKyAgICAgICAgaWYgKHByb2Nlc3Mp
CisgICAgICAgICAgICBwcm9jZXNzLT5kaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9jZXNzRm9yVmlz
aWJpbGl0eVByb3BhZ2F0aW9uKGNvbnRleHRJRCk7CisgICAgfQorfQorCitMYXllckhvc3RpbmdD
b250ZXh0SUQgR1BVUHJvY2Vzc1Byb3h5Ojpjb250ZXh0SURGb3JWaXNpYmlsaXR5UHJvcGFnYXRp
b24oKSBjb25zdAoreworICAgIHJldHVybiBtX2NvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdh
dGlvbjsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NB
R0VfQ0hFQ0sKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJv
eHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vz
c1Byb3h5LmgJKHJldmlzaW9uIDI1NzU4MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQ
VS9HUFVQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogCiAj
aW5jbHVkZSAiQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSAiR1BVUHJvY2Vzc1By
b3h5TWVzc2FnZXNSZXBsaWVzLmgiCisjaW5jbHVkZSAiTGF5ZXJIb3N0aW5nQ29udGV4dC5oIgog
I2luY2x1ZGUgIlByb2Nlc3NMYXVuY2hlci5oIgogI2luY2x1ZGUgIlByb2Nlc3NUaHJvdHRsZXIu
aCIKICNpbmNsdWRlICJQcm9jZXNzVGhyb3R0bGVyQ2xpZW50LmgiCkBAIC02Niw2ICs2NywxMCBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHJlbW92ZVNlc3Npb24oUEFMOjpTZXNzaW9uSUQpOwogCisj
aWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgTGF5ZXJIb3N0aW5nQ29u
dGV4dElEIGNvbnRleHRJREZvclZpc2liaWxpdHlQcm9wYWdhdGlvbigpIGNvbnN0OworI2VuZGlm
CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgR1BVUHJvY2Vzc1Byb3h5KCk7CiAgICAgfkdQVVBy
b2Nlc3NQcm94eSgpOwpAQCAtOTIsOSArOTcsMTQgQEAgcHJpdmF0ZToKICAgICB2b2lkIG9wZW5H
UFVQcm9jZXNzQ29ubmVjdGlvbihDb25uZWN0aW9uUmVxdWVzdElkZW50aWZpZXIsIFdlYlByb2Nl
c3NQcm94eSYpOwogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKKyAgICB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRl
OwogICAgIHZvaWQgZGlkQ2xvc2UoSVBDOjpDb25uZWN0aW9uJikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdS
ZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2Fn
ZU5hbWUpIG92ZXJyaWRlOwogCisjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcp
CisgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVy
SG9zdGluZ0NvbnRleHRJRCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBHUFVQcm9jZXNzUHJveHkq
IG1fc2luZ2xldG9uOwogCiAgICAgc3RydWN0IENvbm5lY3Rpb25SZXF1ZXN0IHsKQEAgLTExMSw2
ICsxMjEsMTEgQEAgcHJpdmF0ZToKICAgICB1aW50NjRfdCBtX29yaWVudGF0aW9uIHsgMCB9Owog
I2VuZGlmCiAgICAgSGFzaFNldDxQQUw6OlNlc3Npb25JRD4gbV9zZXNzaW9uSURzOworCisjaWYg
SEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJRVcpCisgICAgTGF5ZXJIb3N0aW5nQ29udGV4
dElEIG1fY29udGV4dElERm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uIHsgMCB9OworICAgIFZlY3Rv
cjxXZWFrUHRyPFdlYlByb2Nlc3NQcm94eT4+IG1fcHJvY2Vzc2VzUGVuZGluZ1Zpc2liaWxpdHlQ
cm9wYWdhdGlvbk5vdGlmaWNhdGlvbjsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzUHJveHkubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI1NzU4MSkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29w
eSkKQEAgLTIzLDYgKzIzLDExIEBACiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCiBtZXNzYWdl
cyAtPiBHUFVQcm9jZXNzUHJveHkgTm90UmVmQ291bnRlZCB7CisKKyNpZiBIQVZFKFZJU0lCSUxJ
VFlfUFJPUEFHQVRJT05fVklFVykKKyAgICBEaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uKFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEIGNvbnRleHRJRCk7CisjZW5k
aWYKKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgJKHJldmlzaW9uIDI1
NzU4MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5o
CSh3b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3MiwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlk
UmVsYXVuY2hQcm9jZXNzKCkgb3ZlcnJpZGU7CiAjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FU
SU9OX1ZJRVcpCiAgICAgdm9pZCBkaWRDcmVhdGVDb250ZXh0Rm9yVmlzaWJpbGl0eVByb3BhZ2F0
aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRDcmVhdGVD
b250ZXh0SW5HUFVQcm9jZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0Nv
bnRleHRJRCkgb3ZlcnJpZGU7CisjZW5kaWYKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCisgICAg
dm9pZCBncHVQcm9jZXNzQ3Jhc2hlZCgpIG92ZXJyaWRlOwogI2VuZGlmCiAgICAgdm9pZCBwYWdl
Q2xvc2VkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBwcmVmZXJlbmNlc0RpZENoYW5nZSgpIG92ZXJy
aWRlOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5tbQkocmV2aXNpb24gMjU3NTgxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDE4
IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZENyZWF0ZUNvbnRleHRGb3IKIHsKICAgICBbbV9j
b250ZW50VmlldyBfcHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRp
b25dOwogfQorCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDcmVhdGVDb250ZXh0SW5HUFVQcm9j
ZXNzRm9yVmlzaWJpbGl0eVByb3BhZ2F0aW9uKExheWVySG9zdGluZ0NvbnRleHRJRCkKK3sKKyAg
ICBbbV9jb250ZW50VmlldyBfZ3B1UHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYmlsaXR5
UHJvcGFnYXRpb25dOworfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCit2b2lk
IFBhZ2VDbGllbnRJbXBsOjpncHVQcm9jZXNzQ3Jhc2hlZCgpCit7CisgICAgW21fY29udGVudFZp
ZXcgX2dwdVByb2Nlc3NDcmFzaGVkXTsKK30KICNlbmRpZgogCiB2b2lkIFBhZ2VDbGllbnRJbXBs
OjpwYWdlQ2xvc2VkKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXcuaAkocmV2aXNpb24gMjU3NTgxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAtOTYsMTAgKzk2LDE0IEBAIGNs
YXNzIFdlYlByb2Nlc3NQb29sOwogCiAtIChzdGQ6OnVuaXF1ZV9wdHI8V2ViS2l0OjpEcmF3aW5n
QXJlYVByb3h5PilfY3JlYXRlRHJhd2luZ0FyZWFQcm94eTooV2ViS2l0OjpXZWJQcm9jZXNzUHJv
eHkmKXByb2Nlc3M7CiAtICh2b2lkKV9wcm9jZXNzRGlkRXhpdDsKKyNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpCistICh2b2lkKV9ncHVQcm9jZXNzQ3Jhc2hlZDsKKyNlbmRpZgogLSAodm9pZClfcHJv
Y2Vzc1dpbGxTd2FwOwogLSAodm9pZClfZGlkUmVsYXVuY2hQcm9jZXNzOwogI2lmIEhBVkUoVklT
SUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQogLSAodm9pZClfcHJvY2Vzc0RpZENyZWF0ZUNvbnRl
eHRGb3JWaXNpYmlsaXR5UHJvcGFnYXRpb247CistICh2b2lkKV9ncHVQcm9jZXNzRGlkQ3JlYXRl
Q29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbjsKICNlbmRpZgogLSAodm9pZClfc2V0QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ1Jvb3RWaWV3OihVSVZpZXcgKilyb290VmlldzsKIApJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0JKHJldmlzaW9u
IDI1NzU4MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW1wb3J0ICJBUElQYWdlQ29uZmln
dXJhdGlvbi5oIgogI2ltcG9ydCAiQWNjZXNzaWJpbGl0eUlPUy5oIgogI2ltcG9ydCAiRnVsbHNj
cmVlbkNsaWVudC5oIgorI2ltcG9ydCAiR1BVUHJvY2Vzc1Byb3h5LmgiCiAjaW1wb3J0ICJJbnB1
dFZpZXdVcGRhdGVEZWZlcnJlci5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiUGFn
ZUNsaWVudEltcGxJT1MuaCIKQEAgLTEzNCw2ICsxMzUsNyBAQCAtICh2b2lkKXJlZG8gCiAKICNp
ZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKICAgICBSZXRhaW5QdHI8X1VJTGF5
ZXJIb3N0Vmlldz4gX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXc7CisgICAgUmV0YWluUHRyPF9V
SUxheWVySG9zdFZpZXc+IF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzczsK
ICNlbmRpZgogCiAgICAgV2ViQ29yZTo6SGlzdG9yaWNhbFZlbG9jaXR5RGF0YSBfaGlzdG9yaWNh
bEtpbmVtYXRpY0RhdGE7CkBAIC0xOTksNiArMjAxLDcgQEAgLSAoaW5zdGFuY2V0eXBlKV9jb21t
b25Jbml0aWFsaXphdGlvbldpdAogCiAjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FUSU9OX1ZJ
RVcpCiAgICAgW3NlbGYgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld107CisgICAgW3Nl
bGYgX3NldHVwVmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3NdOwogI2VuZGlm
CiAKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVy
OnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9hcHBsaWNhdGlvbldpbGxSZXNpZ25BY3RpdmU6KSBu
YW1lOlVJQXBwbGljYXRpb25XaWxsUmVzaWduQWN0aXZlTm90aWZpY2F0aW9uIG9iamVjdDpbVUlB
cHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl1dOwpAQCAtMjI5LDYgKzIzMiwyNCBAQCAtICh2
b2lkKV9zZXR1cFZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcKICAgICBbc2VsZiBhZGRTdWJ2aWV3
Ol92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3LmdldCgpXTsKIH0KIAorLSAodm9pZClfc2V0dXBW
aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzcworeworICAgIGlmICghV2ViS2l0
OjpHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgpKQorICAgICAgICByZXR1cm47
CisgICAgYXV0byBwcm9jZXNzSWRlbnRpZmllciA9IFdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5Ojpz
aW5nbGV0b24oKS5wcm9jZXNzSWRlbnRpZmllcigpOworICAgIGF1dG8gY29udGV4dElEID0gV2Vi
S2l0OjpHUFVQcm9jZXNzUHJveHk6OnNpbmdsZXRvbigpLmNvbnRleHRJREZvclZpc2liaWxpdHlQ
cm9wYWdhdGlvbigpOworICAgIGlmICghcHJvY2Vzc0lkZW50aWZpZXIgfHwgIWNvbnRleHRJRCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKF92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9y
R1BVUHJvY2VzcykKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gUHJvcGFnYXRlIHRoZSB2aWV3
J3MgdmlzaWJpbGl0eSBzdGF0ZSB0byB0aGUgR1BVIHByb2Nlc3Mgc28gdGhhdCBpdCBpcyBtYXJr
ZWQgYXMgIkZvcmVncm91bmQgUnVubmluZyIgd2hlbiBuZWNlc3NhcnkuCisgICAgX3Zpc2liaWxp
dHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzID0gYWRvcHROUyhbW19VSUxheWVySG9zdFZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0WmVybyBwaWQ6cHJvY2Vzc0lkZW50aWZpZXIg
Y29udGV4dElEOmNvbnRleHRJRF0pOworICAgIFJFTEVBU0VfTE9HKFByb2Nlc3MsICJDcmVhdGVk
IHZpc2liaWxpdHkgcHJvcGFnYXRpb24gdmlldyAlcCAoY29udGV4dElEOiAldSkgZm9yIEdQVSBw
cm9jZXNzIHdpdGggUElEICVkIiwgX3Zpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9j
ZXNzLmdldCgpLCBjb250ZXh0SUQsIHByb2Nlc3NJZGVudGlmaWVyKTsKKyAgICBbc2VsZiBhZGRT
dWJ2aWV3Ol92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vzcy5nZXQoKV07Cit9
CisKIC0gKHZvaWQpX3JlbW92ZVZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXcKIHsKICAgICBpZiAo
IV92aXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3KQpAQCAtMjM4LDYgKzI1OSwxNiBAQCAtICh2b2lk
KV9yZW1vdmVWaXNpYmlsaXR5UHJvcGFnYXRpb25WaWV3CiAgICAgW192aXNpYmlsaXR5UHJvcGFn
YXRpb25WaWV3IHJlbW92ZUZyb21TdXBlcnZpZXddOwogICAgIF92aXNpYmlsaXR5UHJvcGFnYXRp
b25WaWV3ID0gbnVsbHB0cjsKIH0KKworLSAodm9pZClfcmVtb3ZlVmlzaWJpbGl0eVByb3BhZ2F0
aW9uVmlld0ZvckdQVVByb2Nlc3MKK3sKKyAgICBpZiAoIV92aXNpYmlsaXR5UHJvcGFnYXRpb25W
aWV3Rm9yR1BVUHJvY2VzcykKKyAgICAgICAgcmV0dXJuOworCisgICAgUkVMRUFTRV9MT0coUHJv
Y2VzcywgIlJlbW92aW5nIHZpc2liaWxpdHkgcHJvcGFnYXRpb24gdmlldyAlcCIsIF92aXNpYmls
aXR5UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2Vzcy5nZXQoKSk7CisgICAgW192aXNpYmlsaXR5
UHJvcGFnYXRpb25WaWV3Rm9yR1BVUHJvY2VzcyByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAgICBf
dmlzaWJpbGl0eVByb3BhZ2F0aW9uVmlld0ZvckdQVVByb2Nlc3MgPSBudWxscHRyOworfQogI2Vu
ZGlmCiAKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgcHJvY2Vz
c1Bvb2w6KE5ha2VkUmVmPFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w+KXByb2Nlc3NQb29sIGNvbmZp
Z3VyYXRpb246KFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYmKWNvbmZpZ3VyYXRpb24gd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldwpAQCAtNTkxLDYgKzYyMiwxMyBAQCAtICh2b2lkKV9w
cm9jZXNzRGlkRXhpdAogICAgIF9pc1ByaW50aW5nVG9QREYgPSBOTzsKIH0KIAorI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykKKy0gKHZvaWQpX2dwdVByb2Nlc3NDcmFzaGVkCit7CisgICAgW3NlbGYg
X3JlbW92ZVZpc2liaWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzXTsKK30KKyNlbmRp
ZgorCiAtICh2b2lkKV9wcm9jZXNzV2lsbFN3YXAKIHsKICAgICAvLyBGSVhNRTogU2hvdWxkIHdl
IGRvIHNvbWV0aGluZyBkaWZmZXJlbnRseT8KQEAgLTYxMSw2ICs2NDksMTEgQEAgLSAodm9pZClf
cHJvY2Vzc0RpZENyZWF0ZUNvbnRleHRGb3JWaXNpYgogewogICAgIFtzZWxmIF9zZXR1cFZpc2li
aWxpdHlQcm9wYWdhdGlvblZpZXddOwogfQorCistICh2b2lkKV9ncHVQcm9jZXNzRGlkQ3JlYXRl
Q29udGV4dEZvclZpc2liaWxpdHlQcm9wYWdhdGlvbgoreworICAgIFtzZWxmIF9zZXR1cFZpc2li
aWxpdHlQcm9wYWdhdGlvblZpZXdGb3JHUFVQcm9jZXNzXTsKK30KICNlbmRpZgogCiAtICh2b2lk
KV9kaWRDb21taXRMYXllclRyZWU6KGNvbnN0IFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24mKWxheWVyVHJlZVRyYW5zYWN0aW9uCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>