<?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>183231</bug_id>
          
          <creation_ts>2018-02-28 16:18:47 -0800</creation_ts>
          <short_desc>Scrollbar preferences are ignored when the WebContent process doesn&apos;t have access to the WindowServer.</short_desc>
          <delta_ts>2018-03-01 13:18:16 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1402766</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-02-28 16:18:47 -0800</bug_when>
    <thetext>When the WebContent process doesn&apos;t have access to the WindowServer, the scrollbars are always of the overlay type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402767</commentid>
    <comment_count>1</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-02-28 16:19:36 -0800</bug_when>
    <thetext>&lt;rdar://problem/37793457&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402772</commentid>
    <comment_count>2</comment_count>
      <attachid>334784</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-02-28 16:32:46 -0800</bug_when>
    <thetext>Created attachment 334784
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402787</commentid>
    <comment_count>3</comment_count>
      <attachid>334784</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-02-28 17:12:21 -0800</bug_when>
    <thetext>Comment on attachment 334784
Patch

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

&gt; Source/WebKit/WebProcess/WebProcess.cpp:222
&gt; +

You can revert this change and make the patch smaller! :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402789</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-02-28 17:15:49 -0800</bug_when>
    <thetext>Build errors:

In file included from ./platform/mac/NSScrollerImpDetails.mm:29:
./platform/mac/NSScrollerImpDetails.h:39:17: error: no type named &apos;optional&apos; in namespace &apos;std&apos;
    static std::optional&lt;bool&gt; m_useOverlayScrollbars;
           ~~~~~^
./platform/mac/NSScrollerImpDetails.h:39:25: error: expected member name or &apos;;&apos; after declaration specifiers
    static std::optional&lt;bool&gt; m_useOverlayScrollbars;
    ~~~~~~~~~~~~~~~~~~~~^
In file included from /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebCore/unified-sources/UnifiedSource46-mm.mm:1:
./platform/mac/NSScrollerImpDetails.mm:37:36: error: no member named &apos;m_useOverlayScrollbars&apos; in &apos;WebCore::ScrollerStyle&apos;
std::optional&lt;bool&gt; ScrollerStyle::m_useOverlayScrollbars;
                    ~~~~~~~~~~~~~~~^
3 errors generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402791</commentid>
    <comment_count>5</comment_count>
      <attachid>334784</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-02-28 17:16:44 -0800</bug_when>
    <thetext>Comment on attachment 334784
Patch

I think this seems good overall, but fails to build on any of the mac platforms. This might be an SDK difference between Sierra and High Sierra. Likely just a missing include. r- to fix the build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402924</commentid>
    <comment_count>6</comment_count>
      <attachid>334821</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-01 10:12:22 -0800</bug_when>
    <thetext>Created attachment 334821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402940</commentid>
    <comment_count>7</comment_count>
      <attachid>334826</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-01 10:44:10 -0800</bug_when>
    <thetext>Created attachment 334826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402941</commentid>
    <comment_count>8</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-01 10:48:57 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #5)
&gt; Comment on attachment 334784 [details]
&gt; Patch
&gt; 
&gt; I think this seems good overall, but fails to build on any of the mac
&gt; platforms. This might be an SDK difference between Sierra and High Sierra.
&gt; Likely just a missing include. r- to fix the build.

Thanks for reviewing! It seems to build on the bots now :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402949</commentid>
    <comment_count>9</comment_count>
      <attachid>334821</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-03-01 11:13:24 -0800</bug_when>
    <thetext>Comment on attachment 334821
Patch

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

r=me

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:2518
&gt; +		93500F3213FDE3BE0099EC24 /* NSScrollerImpDetails.h in Headers */ = {isa = PBXBuildFile; fileRef = 93500F3113FDE3BE0099EC24 /* NSScrollerImpDetails.h */; settings = {ATTRIBUTES = (Private, ); }; };

Did you change this on purpose? Fine if you did, but sometimes Xcode shuffles things around for arbitrary reasons (and you could revert this to make the patch smaller and easier to apply)

&gt; Source/WebKit/WebProcess/WebProcess.cpp:222
&gt; +

Please revert this whitespace-only change.

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:65
&gt; +#endif

We usually have these conditional includes in a separate area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402958</commentid>
    <comment_count>10</comment_count>
      <attachid>334829</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-01 11:32:33 -0800</bug_when>
    <thetext>Created attachment 334829
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402961</commentid>
    <comment_count>11</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-01 11:34:11 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #9)
&gt; Comment on attachment 334821 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=334821&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:2518
&gt; &gt; +		93500F3213FDE3BE0099EC24 /* NSScrollerImpDetails.h in Headers */ = {isa = PBXBuildFile; fileRef = 93500F3113FDE3BE0099EC24 /* NSScrollerImpDetails.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; 
&gt; Did you change this on purpose? Fine if you did, but sometimes Xcode
&gt; shuffles things around for arbitrary reasons (and you could revert this to
&gt; make the patch smaller and easier to apply)
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebProcess.cpp:222
&gt; &gt; +
&gt; 
&gt; Please revert this whitespace-only change.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:65
&gt; &gt; +#endif
&gt; 
&gt; We usually have these conditional includes in a separate area.

I have uploaded a modified patch for landing. Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403001</commentid>
    <comment_count>12</comment_count>
      <attachid>334829</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-01 12:55:35 -0800</bug_when>
    <thetext>Comment on attachment 334829
Patch

Rejecting attachment 334829 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 334829, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/6724526</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403011</commentid>
    <comment_count>13</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2018-03-01 13:18:16 -0800</bug_when>
    <thetext>Committed r229140: &lt;https://trac.webkit.org/changeset/229140/webkit&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334784</attachid>
            <date>2018-02-28 16:32:46 -0800</date>
            <delta_ts>2018-03-01 10:12:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183231-20180228163245.patch</filename>
            <type>text/plain</type>
            <size>16950</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyODk1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE4LTAyLTI4ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTY3JvbGxiYXIgcHJlZmVy
ZW5jZXMgYXJlIGlnbm9yZWQgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGRvZXNuJ3QgaGF2
ZSBhY2Nlc3MgdG8gdGhlIFdpbmRvd1NlcnZlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzIzMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzc3
OTM0NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFdp
bmRvd1NlcnZlciwgdGhlIHNjcm9sbGJhcnMgYXJlIGFsd2F5cyBvZiB0aGUgb3ZlcmxheSB0eXBl
LgorICAgICAgICBUaGUgbm90aWZpY2F0aW9uIGFib3V0IHNjcm9sbGJhciBwcmVmZXJlbmNlcyBp
cyBuZXZlciByZWNlaXZlZCBieSB0aGUgV2ViQ29udGVudCBwcm9jZXNzIHdoZW4gdGhlcmUgaXMg
bm8KKyAgICAgICAgV2luZG93U2VydmVyIGFjY2Vzcy4gVGhpcyBjYW4gYmUgZml4ZWQgYnkgYWRk
aW5nIGFuIG9ic2VydmVyIG9mIHNjcm9sbGJhciBwcmVmZXJlbmNlcyBpbiB0aGUgVUkgcHJvY2Vz
cywgYW5kCisgICAgICAgIG5vdGlmeWluZyB0aGUgV2ViUHJvY2VzcyBhYm91dCB0aGlzIGJ5IHNl
bmRpbmcgaXQgYSBtZXNzYWdlLiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGFsc28gY29udGFpbiB0aGUg
cHJlZmVycmVkCisgICAgICAgIHNjcm9sbGJhciB0eXBlLCBzaW5jZSB0aGUgY2FsbCAnW05TU2Ny
b2xsZXIgcHJlZmVycmVkU2Nyb2xsZXJTdHlsZV0nIHdpbGwgYWx3YXlzIHJldHVybiB0aGUgb3Zl
cmxheSBzdHlsZSB3aGVuCisgICAgICAgIHRoZXJlIGlzIG5vIFdpbmRvd1NlcnZlciBhY2Nlc3Mu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9OU1Njcm9sbGVySW1wRGV0YWlscy5oOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9OU1Njcm9sbGVySW1wRGV0YWlscy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGVyU3R5
bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxl
clN0eWxlOjpzZXRVc2VPdmVybGF5U2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpyZWNv
bW1lbmRlZFNjcm9sbGVyU3R5bGUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9T
Y3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFj
OjpTY3JvbGxBbmltYXRvck1hYyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1h
Yzo6bW91c2VFbnRlcmVkU2Nyb2xsYmFyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yTWFjOjptb3VzZUV4aXRlZFNjcm9sbGJhciBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c2hvdWxkU2Nyb2xsYmFyUGFydGljaXBhdGVJbkhpdFRl
c3RpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjpyZWdpc3RlclNjcm9sbGJhcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6c2Nyb2xsYmFyVGhpY2tuZXNzKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjp1c2VzT3ZlcmxheVNjcm9sbGJh
cnNDaGFuZ2VkKToKKwogMjAxOC0wMi0yMyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFtSZW5kZXJUcmVlQnVpbGRlcl0gTWFrZSBSZW5kZXJUcmVlQnVpbGRlcjo6
KiBjbGFzc2VzIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjg5NTQp
CisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTI1MTUsNyArMjUxNSw3IEBACiAJCTkzNENDMTBBMEVEQjIyMzkwMEE2
NThGMiAvKiBTY3JpcHRTb3VyY2VDb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5MzRDQzEwOTBFREIyMjM5MDBBNjU4RjIgLyogU2NyaXB0U291cmNl
Q29kZS5oICovOyB9OwogCQk5MzRGNzEzQTBENUE2RjEwMDAwMThENjkgLyogQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5MzRGNzEzOTBENUE2RjEwMDAwMThENjkgLyogQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VCYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJOTM0RjcxM0MwRDVBNkYxOTAwMDE4RDY5IC8qIFJlc291cmNlRXJyb3JCYXNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzRGNzEzQjBENUE2RjE5
MDAwMThENjkgLyogUmVzb3VyY2VFcnJvckJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk5MzUwMEYzMjEzRkRFM0JFMDA5OUVDMjQgLyogTlNT
Y3JvbGxlckltcERldGFpbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzNTAwRjMxMTNGREUzQkUwMDk5RUMyNCAvKiBOU1Njcm9sbGVySW1wRGV0YWls
cy5oICovOyB9OworCQk5MzUwMEYzMjEzRkRFM0JFMDA5OUVDMjQgLyogTlNTY3JvbGxlckltcERl
dGFpbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
NTAwRjMxMTNGREUzQkUwMDk5RUMyNCAvKiBOU1Njcm9sbGVySW1wRGV0YWlscy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzNTIwN0JFMDlCRDQx
MEEwMEYyMDM4RCAvKiBMb2NhbGl6ZWRTdHJpbmdzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzUyMDdCRDA5QkQ0MTBBMDBGMjAzOEQgLyogTG9jYWxp
emVkU3RyaW5ncy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTkzNUM0NzYzMDlBQzRDRTYwMEE2QUFCNCAvKiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RS
ZXN1bHRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
MzVDNDc2MjA5QUM0Q0U2MDBBNkFBQjQgLyogTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cy5o
ICovOyB9OwogCQk5MzVDNDc2ODA5QUM0RDQzMDBBNkFBQjQgLyogUGxhdGZvcm1LZXlib2FyZEV2
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzVD
NDc2NjA5QUM0RDQzMDBBNkFBQjQgLyogUGxhdGZvcm1LZXlib2FyZEV2ZW50LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9OU1Njcm9sbGVySW1wRGV0YWlscy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9OU1Njcm9sbGVySW1wRGV0YWlscy5oCShyZXZpc2lv
biAyMjg5NTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTlNTY3JvbGxlckltcERl
dGFpbHMuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMjksNyArMjksMTUgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1OU1Njcm9sbGVyU3R5bGUgcmVjb21tZW5kZWRTY3JvbGxlclN0eWxlKCk7CitjbGFzcyBTY3Jv
bGxlclN0eWxlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgTlNTY3JvbGxlclN0eWxlIHJlY29tbWVu
ZGVkU2Nyb2xsZXJTdHlsZSgpOworCisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0
VXNlT3ZlcmxheVNjcm9sbGJhcnMoYm9vbCk7CisgICAgCitwcml2YXRlOgorICAgIHN0YXRpYyBz
dGQ6Om9wdGlvbmFsPGJvb2w+IG1fdXNlT3ZlcmxheVNjcm9sbGJhcnM7Cit9OwogCiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9OU1Njcm9sbGVySW1wRGV0YWlscy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTlNTY3JvbGxlckltcERl
dGFpbHMubW0JKHJldmlzaW9uIDIyODk1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9OU1Njcm9sbGVySW1wRGV0YWlscy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzQsMTMgKzM0LDIz
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotTlNTY3JvbGxlclN0eWxlIHJlY29tbWVuZGVk
U2Nyb2xsZXJTdHlsZSgpCitzdGQ6Om9wdGlvbmFsPGJvb2w+IFNjcm9sbGVyU3R5bGU6Om1fdXNl
T3ZlcmxheVNjcm9sbGJhcnM7CisKK05TU2Nyb2xsZXJTdHlsZSBTY3JvbGxlclN0eWxlOjpyZWNv
bW1lbmRlZFNjcm9sbGVyU3R5bGUoKQogeworICAgIGlmIChtX3VzZU92ZXJsYXlTY3JvbGxiYXJz
Lmhhc192YWx1ZSgpKQorICAgICAgICByZXR1cm4gKm1fdXNlT3ZlcmxheVNjcm9sbGJhcnMgPyBO
U1Njcm9sbGVyU3R5bGVPdmVybGF5IDogTlNTY3JvbGxlclN0eWxlTGVnYWN5OworICAgIAogICAg
IGlmIChEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3M6OnVzZXNPdmVybGF5U2Nyb2xsYmFycygpKQog
ICAgICAgICByZXR1cm4gTlNTY3JvbGxlclN0eWxlT3ZlcmxheTsKICAgICByZXR1cm4gW05TU2Ny
b2xsZXIgcHJlZmVycmVkU2Nyb2xsZXJTdHlsZV07CiB9CiAKK3ZvaWQgU2Nyb2xsZXJTdHlsZTo6
c2V0VXNlT3ZlcmxheVNjcm9sbGJhcnMoYm9vbCB1c2VPdmVybGF5U2Nyb2xsYmFycykKK3sKKyAg
ICBtX3VzZU92ZXJsYXlTY3JvbGxiYXJzID0gdXNlT3ZlcmxheVNjcm9sbGJhcnM7Cit9CisKIH0K
IAogI2VuZGlmIC8vIFVTRShBUFBLSVQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCShyZXZpc2lvbiAyMjg5NTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTYzNSw3ICs2MzUsNyBAQCBTY3JvbGxBbmltYXRvck1hYzo6U2Nyb2xsQW5pbWF0b3JN
YWMoU2NyCiAgICAgbV9zY3JvbGxlckltcFBhaXJEZWxlZ2F0ZSA9IGFkb3B0TlMoW1tXZWJTY3Jv
bGxlckltcFBhaXJEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhTY3JvbGxhYmxlQXJlYTomc2Nyb2xs
YWJsZUFyZWFdKTsKICAgICBtX3Njcm9sbGVySW1wUGFpciA9IGFkb3B0TlMoW1tOU1Njcm9sbGVy
SW1wUGFpciBhbGxvY10gaW5pdF0pOwogICAgIFttX3Njcm9sbGVySW1wUGFpciBzZXREZWxlZ2F0
ZTptX3Njcm9sbGVySW1wUGFpckRlbGVnYXRlLmdldCgpXTsKLSAgICBbbV9zY3JvbGxlckltcFBh
aXIgc2V0U2Nyb2xsZXJTdHlsZTpyZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKV07CisgICAgW21f
c2Nyb2xsZXJJbXBQYWlyIHNldFNjcm9sbGVyU3R5bGU6U2Nyb2xsZXJTdHlsZTo6cmVjb21tZW5k
ZWRTY3JvbGxlclN0eWxlKCldOwogfQogCiBTY3JvbGxBbmltYXRvck1hYzo6flNjcm9sbEFuaW1h
dG9yTWFjKCkKQEAgLTgxNSw3ICs4MTUsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjptb3Vz
ZU1vdmVkSW5Db250CiB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjptb3VzZUVudGVyZWRTY3JvbGxi
YXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpIGNvbnN0CiB7CiAgICAgLy8gQXQgdGhpcyB0aW1lLCBv
bmx5IGxlZ2FjeSBzY3JvbGxiYXJzIG5lZWRzIHRvIHNlbmQgbm90aWZpY2F0aW9ucyBoZXJlLgot
ICAgIGlmIChyZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKSAhPSBOU1Njcm9sbGVyU3R5bGVMZWdh
Y3kpCisgICAgaWYgKFNjcm9sbGVyU3R5bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpICE9
IE5TU2Nyb2xsZXJTdHlsZUxlZ2FjeSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKFttX3Nj
cm9sbGVySW1wUGFpciBvdmVybGF5U2Nyb2xsZXJTdGF0ZUlzTG9ja2VkXSkKQEAgLTgyOCw3ICs4
MjgsNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjptb3VzZUVudGVyZWRTY3JvCiB2b2lkIFNj
cm9sbEFuaW1hdG9yTWFjOjptb3VzZUV4aXRlZFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJh
cikgY29uc3QKIHsKICAgICAvLyBBdCB0aGlzIHRpbWUsIG9ubHkgbGVnYWN5IHNjcm9sbGJhcnMg
bmVlZHMgdG8gc2VuZCBub3RpZmljYXRpb25zIGhlcmUuCi0gICAgaWYgKHJlY29tbWVuZGVkU2Ny
b2xsZXJTdHlsZSgpICE9IE5TU2Nyb2xsZXJTdHlsZUxlZ2FjeSkKKyAgICBpZiAoU2Nyb2xsZXJT
dHlsZTo6cmVjb21tZW5kZWRTY3JvbGxlclN0eWxlKCkgIT0gTlNTY3JvbGxlclN0eWxlTGVnYWN5
KQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoW21fc2Nyb2xsZXJJbXBQYWlyIG92ZXJsYXlT
Y3JvbGxlclN0YXRlSXNMb2NrZWRdKQpAQCAtMTA0Nyw3ICsxMDQ3LDcgQEAgdm9pZCBTY3JvbGxB
bmltYXRvck1hYzo6aG9yaXpvbnRhbFNjcm9sbAogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2hv
dWxkU2Nyb2xsYmFyUGFydGljaXBhdGVJbkhpdFRlc3RpbmcoU2Nyb2xsYmFyKiBzY3JvbGxiYXIp
CiB7CiAgICAgLy8gTm9uLW92ZXJsYXkgc2Nyb2xsYmFycyBzaG91bGQgYWx3YXlzIHBhcnRpY2lw
YXRlIGluIGhpdCB0ZXN0aW5nLgotICAgIGlmIChyZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKSAh
PSBOU1Njcm9sbGVyU3R5bGVPdmVybGF5KQorICAgIGlmIChTY3JvbGxlclN0eWxlOjpyZWNvbW1l
bmRlZFNjcm9sbGVyU3R5bGUoKSAhPSBOU1Njcm9sbGVyU3R5bGVPdmVybGF5KQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKIAogICAgIGlmIChzY3JvbGxiYXItPmlzQWxwaGFMb2NrZWQoKSkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0J
KHJldmlzaW9uIDIyODk1NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxi
YXJUaGVtZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTcxLDcgKzE3MSw3IEBAIHZvaWQgU2Ny
b2xsYmFyVGhlbWVNYWM6OnJlZ2lzdGVyU2Nyb2xsYmEKICAgICAgICAgcmV0dXJuOwogCiAgICAg
Ym9vbCBpc0hvcml6b250YWwgPSBzY3JvbGxiYXIub3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFs
U2Nyb2xsYmFyOwotICAgIE5TU2Nyb2xsZXJJbXAgKnNjcm9sbGVySW1wID0gW05TU2Nyb2xsZXJJ
bXAgc2Nyb2xsZXJJbXBXaXRoU3R5bGU6cmVjb21tZW5kZWRTY3JvbGxlclN0eWxlKCkgY29udHJv
bFNpemU6c2Nyb2xsYmFyQ29udHJvbFNpemVUb05TQ29udHJvbFNpemUoc2Nyb2xsYmFyLmNvbnRy
b2xTaXplKCkpIGhvcml6b250YWw6aXNIb3Jpem9udGFsIHJlcGxhY2luZ1Njcm9sbGVySW1wOm5p
bF07CisgICAgTlNTY3JvbGxlckltcCAqc2Nyb2xsZXJJbXAgPSBbTlNTY3JvbGxlckltcCBzY3Jv
bGxlckltcFdpdGhTdHlsZTpTY3JvbGxlclN0eWxlOjpyZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUo
KSBjb250cm9sU2l6ZTpzY3JvbGxiYXJDb250cm9sU2l6ZVRvTlNDb250cm9sU2l6ZShzY3JvbGxi
YXIuY29udHJvbFNpemUoKSkgaG9yaXpvbnRhbDppc0hvcml6b250YWwgcmVwbGFjaW5nU2Nyb2xs
ZXJJbXA6bmlsXTsKICAgICBzY3JvbGxiYXJNYXAoKS0+YWRkKCZzY3JvbGxiYXIsIHNjcm9sbGVy
SW1wKTsKICAgICBkaWRDcmVhdGVTY3JvbGxlckltcChzY3JvbGxiYXIpOwogICAgIHVwZGF0ZUVu
YWJsZWRTdGF0ZShzY3JvbGxiYXIpOwpAQCAtMjQ3LDcgKzI0Nyw3IEBAIHZvaWQgU2Nyb2xsYmFy
VGhlbWVNYWM6OnByZWZlcmVuY2VzQ2hhbmcKIGludCBTY3JvbGxiYXJUaGVtZU1hYzo6c2Nyb2xs
YmFyVGhpY2tuZXNzKFNjcm9sbGJhckNvbnRyb2xTaXplIGNvbnRyb2xTaXplLCBTY3JvbGxiYXJF
eHBhbnNpb25TdGF0ZSBleHBhbnNpb25TdGF0ZSkKIHsKICAgICBCRUdJTl9CTE9DS19PQkpDX0VY
Q0VQVElPTlM7Ci0gICAgTlNTY3JvbGxlckltcCAqc2Nyb2xsZXJJbXAgPSBbTlNTY3JvbGxlcklt
cCBzY3JvbGxlckltcFdpdGhTdHlsZTpyZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKSBjb250cm9s
U2l6ZTpzY3JvbGxiYXJDb250cm9sU2l6ZVRvTlNDb250cm9sU2l6ZShjb250cm9sU2l6ZSkgaG9y
aXpvbnRhbDpOTyByZXBsYWNpbmdTY3JvbGxlckltcDpuaWxdOworICAgIE5TU2Nyb2xsZXJJbXAg
KnNjcm9sbGVySW1wID0gW05TU2Nyb2xsZXJJbXAgc2Nyb2xsZXJJbXBXaXRoU3R5bGU6U2Nyb2xs
ZXJTdHlsZTo6cmVjb21tZW5kZWRTY3JvbGxlclN0eWxlKCkgY29udHJvbFNpemU6c2Nyb2xsYmFy
Q29udHJvbFNpemVUb05TQ29udHJvbFNpemUoY29udHJvbFNpemUpIGhvcml6b250YWw6Tk8gcmVw
bGFjaW5nU2Nyb2xsZXJJbXA6bmlsXTsKICAgICBbc2Nyb2xsZXJJbXAgc2V0RXhwYW5kZWQ6KGV4
cGFuc2lvblN0YXRlID09IFNjcm9sbGJhckV4cGFuc2lvblN0YXRlOjpFeHBhbmRlZCldOwogICAg
IHJldHVybiBbc2Nyb2xsZXJJbXAgdHJhY2tCb3hXaWR0aF07CiAgICAgRU5EX0JMT0NLX09CSkNf
RVhDRVBUSU9OUzsKQEAgLTI2MCw3ICsyNjAsNyBAQCBib29sIFNjcm9sbGJhclRoZW1lTWFjOjp1
c2VzT3ZlcmxheVNjcm9sCiAKIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnVzZXNPdmVybGF5U2Ny
b2xsYmFyc0NoYW5nZWQoKQogewotICAgIGdVc2VzT3ZlcmxheVNjcm9sbGJhcnMgPSByZWNvbW1l
bmRlZFNjcm9sbGVyU3R5bGUoKSA9PSBOU1Njcm9sbGVyU3R5bGVPdmVybGF5OworICAgIGdVc2Vz
T3ZlcmxheVNjcm9sbGJhcnMgPSBTY3JvbGxlclN0eWxlOjpyZWNvbW1lbmRlZFNjcm9sbGVyU3R5
bGUoKSA9PSBOU1Njcm9sbGVyU3R5bGVPdmVybGF5OwogfQogCiB2b2lkIFNjcm9sbGJhclRoZW1l
TWFjOjp1cGRhdGVTY3JvbGxiYXJPdmVybGF5U3R5bGUoU2Nyb2xsYmFyJiBzY3JvbGxiYXIpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwkocmV2aXNpb24gMjI5MTExKQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAorMjAxOC0wMi0yOCAgUGVyIEFybmUgVm9s
bGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2Nyb2xsYmFyIHByZWZlcmVuY2Vz
IGFyZSBpZ25vcmVkIHdoZW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBkb2Vzbid0IGhhdmUgYWNj
ZXNzIHRvIHRoZSBXaW5kb3dTZXJ2ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xODMyMzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM3NzkzNDU3
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4g
dGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBkb2Vzbid0IGhhdmUgYWNjZXNzIHRvIHRoZSBXaW5kb3dT
ZXJ2ZXIsIHRoZSBzY3JvbGxiYXJzIGFyZSBhbHdheXMgb2YgdGhlIG92ZXJsYXkgdHlwZS4KKyAg
ICAgICAgVGhlIG5vdGlmaWNhdGlvbiBhYm91dCBzY3JvbGxiYXIgcHJlZmVyZW5jZXMgaXMgbmV2
ZXIgcmVjZWl2ZWQgYnkgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyB3aGVuIHRoZXJlIGlzIG5vCisg
ICAgICAgIFdpbmRvd1NlcnZlciBhY2Nlc3MuIFRoaXMgY2FuIGJlIGZpeGVkIGJ5IGFkZGluZyBh
biBvYnNlcnZlciBvZiBzY3JvbGxiYXIgcHJlZmVyZW5jZXMgaW4gdGhlIFVJIHByb2Nlc3MsIGFu
ZAorICAgICAgICBub3RpZnlpbmcgdGhlIFdlYlByb2Nlc3MgYWJvdXQgdGhpcyBieSBzZW5kaW5n
IGl0IGEgbWVzc2FnZS4gVGhpcyBtZXNzYWdlIHNob3VsZCBhbHNvIGNvbnRhaW4gdGhlIHByZWZl
cnJlZAorICAgICAgICBzY3JvbGxiYXIgdHlwZSwgc2luY2UgdGhlIGNhbGwgJ1tOU1Njcm9sbGVy
IHByZWZlcnJlZFNjcm9sbGVyU3R5bGVdJyB3aWxsIGFsd2F5cyByZXR1cm4gdGhlIG92ZXJsYXkg
c3R5bGUgd2hlbgorICAgICAgICB0aGVyZSBpcyBubyBXaW5kb3dTZXJ2ZXIgYWNjZXNzLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9u
T2JzZXJ2ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzOjppbml0aWFsaXplUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpzY3JvbGxlclN0eWxlUHJlZmVyZW5jZUNoYW5nZWQpOgorCiAyMDE4LTAy
LTI4ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBh
IHNlY29uZCB0aWVyIG9mIHByZXZhbGVuY2UgdG8gZmFjaWxpdGF0ZSB0ZWxlbWV0cnkgb24gdmVy
eSBwcmV2YWxlbnQgZG9tYWlucwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5oCShyZXZpc2lvbiAyMjg5NTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oCSh3b3JraW5nIGNvcHkpCkBAIC01ODIsNiArNTgyLDcgQEAgcHJpdmF0
ZToKICAgICBSZXRhaW5QdHI8TlNPYmplY3Q+IG1fYXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9u
Tm90aWZpY2F0aW9uT2JzZXJ2ZXI7CiAgICAgUmV0YWluUHRyPE5TT2JqZWN0PiBtX2F1dG9tYXRp
Y1F1b3RlU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXI7CiAgICAgUmV0YWluUHRyPE5T
T2JqZWN0PiBtX2F1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25Ob3RpZmljYXRpb25PYnNlcnZlcjsK
KyAgICBSZXRhaW5QdHI8TlNPYmplY3Q+IG1fc2Nyb2xsZXJTdHlsZU5vdGlmaWNhdGlvbk9ic2Vy
dmVyOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEhpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VT
YW1wbGVyPiBtX2hpZ2hQZXJmb3JtYW5jZUdyYXBoaWNzVXNhZ2VTYW1wbGVyOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyPiBtX3BlckFjdGl2aXR5
U3RhdGVDUFVVc2FnZVNhbXBsZXI7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDIyODk1NCkKKysr
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHdv
cmtpbmcgY29weSkKQEAgLTU1OCw2ICs1NTgsMTIgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVn
aXN0ZXJOb3RpZmljYXRpbwogICAgICAgICBUZXh0Q2hlY2tlcjo6ZGlkQ2hhbmdlQXV0b21hdGlj
RGFzaFN1YnN0aXR1dGlvbkVuYWJsZWQoKTsKICAgICAgICAgdGV4dENoZWNrZXJTdGF0ZUNoYW5n
ZWQoKTsKICAgICB9XTsKKyAgICAKKyAgICBtX3Njcm9sbGVyU3R5bGVOb3RpZmljYXRpb25PYnNl
cnZlciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJG
b3JOYW1lOk5TUHJlZmVycmVkU2Nyb2xsZXJTdHlsZURpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmpl
Y3Q6bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpe
KE5TTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKKyAgICAgICAgYXV0byBzY3JvbGxiYXJT
dHlsZSA9IFtOU1Njcm9sbGVyIHByZWZlcnJlZFNjcm9sbGVyU3R5bGVdOworICAgICAgICBmb3Ig
KGF1dG8mIHByb2Nlc3NQb29sIDogV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bv
b2xzKCkpCisgICAgICAgICAgICBwcm9jZXNzUG9vbC0+c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzOjpTY3JvbGxlclN0eWxlUHJlZmVyZW5jZUNoYW5nZWQoc2Nyb2xsYmFy
U3R5bGUpKTsKKyAgICB9XTsKICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TKQogfQogCkBAIC01Njks
NiArNTc1LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdAogICAg
IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9h
dXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25Ob3RpZmljYXRpb25PYnNlcnZlci5nZXQoKV07CiAg
ICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpt
X2F1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwog
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6
bV9hdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwor
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6
bV9zY3JvbGxlclN0eWxlTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogI2VuZGlmIC8vICFQ
TEFURk9STShJT1MpCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAJKHJldmlzaW9uIDIyODk1NCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDcgKzIxOSw3IEBAIFdlYlByb2Nlc3M6
On5XZWJQcm9jZXNzKCkKIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3MoY29uc3Qg
Q2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAg
IE1lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpzZXRTaGFyZWRQcm92aWRlcihXZWJNZXNzYWdl
UG9ydENoYW5uZWxQcm92aWRlcjo6c2luZ2xldG9uKCkpOwotICAgIAorCiAjaWYgUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMAogICAgIC8v
IFRoaXMgY2FsbCBpcyBuZWVkZWQgd2hlbiB0aGUgV2ViUHJvY2VzcyBpcyBub3QgcnVubmluZyB0
aGUgTlNBcHBsaWNhdGlvbiBldmVudCBsb29wLgogICAgIC8vIE90aGVyd2lzZSwgY2FsbGluZyBl
bmFibGVTYW5kYm94U3R5bGVGaWxlUXVhcmFudGluZSgpIHdpbGwgZmFpbC4KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkocmV2aXNpb24gMjI4OTU0KQorKysgU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzcyLDYg
KzM3Miw3IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCiAgICAgdm9pZCBzZXRTY3JlZW5Qcm9wZXJ0aWVz
KGNvbnN0IEhhc2hNYXA8dWludDMyX3QsIFdlYkNvcmU6OlNjcmVlblByb3BlcnRpZXM+Jik7Cisg
ICAgdm9pZCBzY3JvbGxlclN0eWxlUHJlZmVyZW5jZUNoYW5nZWQoYm9vbCB1c2VPdmVybGF5U2Ny
b2xsYmFycyk7CiAjZW5kaWYKIAogICAgIFJlZlB0cjxXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3M+
IG1fd2ViQ29ubmVjdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyMjg5NTQpCisrKyBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTI2
LDYgKzEyNiw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAg
IE1lc3NhZ2VzQXZhaWxhYmxlRm9yUG9ydChzdHJ1Y3QgV2ViQ29yZTo6TWVzc2FnZVBvcnRJZGVu
dGlmaWVyIHBvcnQpCiAKICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNDAwCi0gICAgU2V0U2NyZWVuUHJvcGVydGllcyhIYXNoTWFwPHVp
bnQzMl90LCBXZWJDb3JlOjpTY3JlZW5Qcm9wZXJ0aWVzPiBzY3JlZW5Qcm9wZXJ0aWVzKTsKKyAg
ICBTZXRTY3JlZW5Qcm9wZXJ0aWVzKEhhc2hNYXA8dWludDMyX3QsIFdlYkNvcmU6OlNjcmVlblBy
b3BlcnRpZXM+IHNjcmVlblByb3BlcnRpZXMpCisgICAgU2Nyb2xsZXJTdHlsZVByZWZlcmVuY2VD
aGFuZ2VkKGJvb2wgdXNlT3ZlbGF5U2Nyb2xsYmFycykKICNlbmRpZgogfQpJbmRleDogU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZp
c2lvbiAyMjg5NTQpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1Nyw3IEBACiAjaW1wb3J0IDxXZWJD
b3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9nSW5pdGlhbGl6YXRp
b24uaD4KICNpbXBvcnQgPFdlYkNvcmUvTWVtb3J5UmVsZWFzZS5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9OU1Njcm9sbGVySW1wRGV0YWlscy5oPgogI2ltcG9ydCA8V2ViQ29yZS9QZXJmb3JtYW5jZUxv
Z2dpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVOU1VSTEV4dHJhcy5oPgpAQCAtNTU2LDQgKzU1NywxMSBA
QCB2b2lkIFdlYlByb2Nlc3M6OmFjY2Vzc2liaWxpdHlQcm9jZXNzU3VzCiB9CiAjZW5kaWYKIAor
I2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE0MDAKK3ZvaWQgV2ViUHJvY2Vzczo6c2Nyb2xsZXJTdHlsZVByZWZlcmVuY2VDaGFuZ2VkKGJv
b2wgdXNlT3ZlcmxheVNjcm9sbGJhcnMpCit7CisgICAgU2Nyb2xsZXJTdHlsZTo6c2V0VXNlT3Zl
cmxheVNjcm9sbGJhcnModXNlT3ZlcmxheVNjcm9sbGJhcnMpOworfQorI2VuZGlmICAgIAorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334821</attachid>
            <date>2018-03-01 10:12:22 -0800</date>
            <delta_ts>2018-03-01 11:13:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183231-20180301101220.patch</filename>
            <type>text/plain</type>
            <size>19247</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE4LTAzLTAxICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTY3JvbGxiYXIgcHJlZmVy
ZW5jZXMgYXJlIGlnbm9yZWQgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGRvZXNuJ3QgaGF2
ZSBhY2Nlc3MgdG8gdGhlIFdpbmRvd1NlcnZlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzIzMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzc3
OTM0NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFdp
bmRvd1NlcnZlciwgdGhlIHNjcm9sbGJhcnMgYXJlIGFsd2F5cyBvZiB0aGUgb3ZlcmxheSB0eXBl
LgorICAgICAgICBUaGUgbm90aWZpY2F0aW9uIGFib3V0IHNjcm9sbGJhciBwcmVmZXJlbmNlcyBp
cyBuZXZlciByZWNlaXZlZCBieSB0aGUgV2ViQ29udGVudCBwcm9jZXNzIHdoZW4gdGhlcmUgaXMg
bm8KKyAgICAgICAgV2luZG93U2VydmVyIGFjY2Vzcy4gVGhpcyBjYW4gYmUgZml4ZWQgYnkgYWRk
aW5nIGFuIG9ic2VydmVyIG9mIHNjcm9sbGJhciBwcmVmZXJlbmNlcyBpbiB0aGUgVUkgcHJvY2Vz
cywgYW5kCisgICAgICAgIG5vdGlmeWluZyB0aGUgV2ViUHJvY2VzcyBhYm91dCB0aGlzIGJ5IHNl
bmRpbmcgaXQgYSBtZXNzYWdlLiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGFsc28gY29udGFpbiB0aGUg
cHJlZmVycmVkCisgICAgICAgIHNjcm9sbGJhciB0eXBlLCBzaW5jZSB0aGUgY2FsbCAnW05TU2Ny
b2xsZXIgcHJlZmVycmVkU2Nyb2xsZXJTdHlsZV0nIHdpbGwgYWx3YXlzIHJldHVybiB0aGUgb3Zl
cmxheSBzdHlsZSB3aGVuCisgICAgICAgIHRoZXJlIGlzIG5vIFdpbmRvd1NlcnZlciBhY2Nlc3Mu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9OU1Njcm9sbGVySW1wRGV0YWlscy5oOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9OU1Njcm9sbGVySW1wRGV0YWlscy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGVyU3R5
bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxl
clN0eWxlOjpzZXRVc2VPdmVybGF5U2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpyZWNv
bW1lbmRlZFNjcm9sbGVyU3R5bGUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9T
Y3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFj
OjpTY3JvbGxBbmltYXRvck1hYyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1h
Yzo6bW91c2VFbnRlcmVkU2Nyb2xsYmFyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yTWFjOjptb3VzZUV4aXRlZFNjcm9sbGJhciBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c2hvdWxkU2Nyb2xsYmFyUGFydGljaXBhdGVJbkhpdFRl
c3RpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjpyZWdpc3RlclNjcm9sbGJhcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6c2Nyb2xsYmFyVGhpY2tuZXNzKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjp1c2VzT3ZlcmxheVNjcm9sbGJh
cnNDaGFuZ2VkKToKKwogMjAxOC0wMy0wMSAgQ2hyaXN0b3BoZXIgUmVpZCAgPGNocmlzLnJlaWRA
c29ueS5jb20+CiAKICAgICAgICAgW0N1cmxdIExpbmtlciBlcnJvcnMgaW4gc29tZSBjdXJsIGZp
bGVzIGR1ZSB0byBtaXNzaW5nIGV4cG9ydHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyOTEzMikKKysrIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtMjUxNSw3ICsyNTE1LDcgQEAKIAkJOTM0Q0MxMEEwRURCMjIzOTAwQTY1OEYyIC8q
IFNjcmlwdFNvdXJjZUNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzNENDMTA5MEVEQjIyMzkwMEE2NThGMiAvKiBTY3JpcHRTb3VyY2VDb2RlLmgg
Ki87IH07CiAJCTkzNEY3MTNBMEQ1QTZGMTAwMDAxOEQ2OSAvKiBBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzNEY3MTM5MEQ1QTZGMTAwMDAxOEQ2OSAvKiBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUJhc2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5MzRG
NzEzQzBENUE2RjE5MDAwMThENjkgLyogUmVzb3VyY2VFcnJvckJhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNEY3MTNCMEQ1QTZGMTkwMDAxOEQ2
OSAvKiBSZXNvdXJjZUVycm9yQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0JCTkzNTAwRjMyMTNGREUzQkUwMDk5RUMyNCAvKiBOU1Njcm9sbGVy
SW1wRGV0YWlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTM1MDBGMzExM0ZERTNCRTAwOTlFQzI0IC8qIE5TU2Nyb2xsZXJJbXBEZXRhaWxzLmggKi87
IH07CisJCTkzNTAwRjMyMTNGREUzQkUwMDk5RUMyNCAvKiBOU1Njcm9sbGVySW1wRGV0YWlscy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM1MDBGMzEx
M0ZERTNCRTAwOTlFQzI0IC8qIE5TU2Nyb2xsZXJJbXBEZXRhaWxzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTM1MjA3QkUwOUJENDEwQTAwRjIw
MzhEIC8qIExvY2FsaXplZFN0cmluZ3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzNTIwN0JEMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2NhbGl6ZWRTdHJp
bmdzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
OTM1QzQ3NjMwOUFDNENFNjAwQTZBQUI0IC8qIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNUM0NzYy
MDlBQzRDRTYwMEE2QUFCNCAvKiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmggKi87IH07
CiAJCTkzNUM0NzY4MDlBQzRENDMwMEE2QUFCNCAvKiBQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNUM0NzY2MDlB
QzRENDMwMEE2QUFCNCAvKiBQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjY2NTMsNiArMjY2NTMsNyBAQAog
CQkJCTI5QTgxMjMxMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCBp
biBIZWFkZXJzICovLAogCQkJCUE5MUM5RkJGMUI2NTg2REUwMEFGRkQ1NCAvKiBBY2Nlc3NpYmls
aXR5VHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTkxQzlGQzMxQjY1OUE2NzAwQUZGRDU0IC8q
IEFjY2Vzc2liaWxpdHlUcmVlSXRlbS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTlGMkUwRUIyMDQ3
NUNERTAwNTEyODU1IC8qIEFjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk3QzUyMjI5OTFFMURBRTFDMDAyQ0I4RjcgLyogQWN0aXZlRE9NQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdDRDBCQTA1MUI4Rjc5QzkwMDVDRUJCRSAvKiBBY3RpdmVET01DYWxs
YmFja01pY3JvdGFzay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDNERFNjkwRUE3NUMxRTAwMjND
Q0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzAyOCw3ICsyNzAy
OSw2IEBACiAJCQkJNTEyMEJCQUYxRjFDRUNFNzAwRUZFQkYxIC8qIENvb2tpZVN0b3JhZ2VPYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc0NkFGMjExNEY0RERFNjAwM0U3QTcxIC8qIENv
b3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzRjgwMjAzNTFFOUU0N0JGMDBERUM2MUQg
LyogQ29yZUF1ZGlvQ2FwdHVyZURldmljZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQTlGMkUwRUIy
MDQ3NUNERTAwNTEyODU1IC8qIEFjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQkzRjgwMjAzNzFFOUU0N0M1MDBERUM2MUQgLyogQ29yZUF1ZGlvQ2FwdHVyZURldmlj
ZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3QUZGNDIyMUVGQjE0NDkwMEI1NDVCMyAv
KiBDb3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDdEMzM0
ODFDN0ExNkJGMDAwNDEyOTMgLyogQ29yZVZpZGVvU29mdExpbmsuaCBpbiBIZWFkZXJzICovLApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBE
ZXRhaWxzLmgJKHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9OU1Njcm9sbGVySW1wRGV0YWlscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw5ICsyNywxOSBAQAogCiAjaWYg
VVNFKEFQUEtJVCkKIAorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLU5TU2Nyb2xsZXJTdHlsZSByZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKTsKK2Ns
YXNzIFNjcm9sbGVyU3R5bGUgeworcHVibGljOgorICAgIHN0YXRpYyBOU1Njcm9sbGVyU3R5bGUg
cmVjb21tZW5kZWRTY3JvbGxlclN0eWxlKCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
dm9pZCBzZXRVc2VPdmVybGF5U2Nyb2xsYmFycyhib29sKTsKKyAgICAKK3ByaXZhdGU6CisgICAg
c3RhdGljIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gbV91c2VPdmVybGF5U2Nyb2xsYmFyczsKK307CiAK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRh
aWxzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9OU1Njcm9s
bGVySW1wRGV0YWlscy5tbQkocmV2aXNpb24gMjI5MTMyKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwx
MyArMzQsMjMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1OU1Njcm9sbGVyU3R5bGUgcmVj
b21tZW5kZWRTY3JvbGxlclN0eWxlKCkKK3N0ZDo6b3B0aW9uYWw8Ym9vbD4gU2Nyb2xsZXJTdHls
ZTo6bV91c2VPdmVybGF5U2Nyb2xsYmFyczsKKworTlNTY3JvbGxlclN0eWxlIFNjcm9sbGVyU3R5
bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpCiB7CisgICAgaWYgKG1fdXNlT3ZlcmxheVNj
cm9sbGJhcnMuaGFzX3ZhbHVlKCkpCisgICAgICAgIHJldHVybiAqbV91c2VPdmVybGF5U2Nyb2xs
YmFycyA/IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXkgOiBOU1Njcm9sbGVyU3R5bGVMZWdhY3k7Cisg
ICAgCiAgICAgaWYgKERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6dXNlc092ZXJsYXlTY3JvbGxi
YXJzKCkpCiAgICAgICAgIHJldHVybiBOU1Njcm9sbGVyU3R5bGVPdmVybGF5OwogICAgIHJldHVy
biBbTlNTY3JvbGxlciBwcmVmZXJyZWRTY3JvbGxlclN0eWxlXTsKIH0KIAordm9pZCBTY3JvbGxl
clN0eWxlOjpzZXRVc2VPdmVybGF5U2Nyb2xsYmFycyhib29sIHVzZU92ZXJsYXlTY3JvbGxiYXJz
KQoreworICAgIG1fdXNlT3ZlcmxheVNjcm9sbGJhcnMgPSB1c2VPdmVybGF5U2Nyb2xsYmFyczsK
K30KKwogfQogCiAjZW5kaWYgLy8gVVNFKEFQUEtJVCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0JKHJldmlzaW9uIDIyOTEzMikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQkod29y
a2luZyBjb3B5KQpAQCAtNjM1LDcgKzYzNSw3IEBAIFNjcm9sbEFuaW1hdG9yTWFjOjpTY3JvbGxB
bmltYXRvck1hYyhTY3IKICAgICBtX3Njcm9sbGVySW1wUGFpckRlbGVnYXRlID0gYWRvcHROUyhb
W1dlYlNjcm9sbGVySW1wUGFpckRlbGVnYXRlIGFsbG9jXSBpbml0V2l0aFNjcm9sbGFibGVBcmVh
OiZzY3JvbGxhYmxlQXJlYV0pOwogICAgIG1fc2Nyb2xsZXJJbXBQYWlyID0gYWRvcHROUyhbW05T
U2Nyb2xsZXJJbXBQYWlyIGFsbG9jXSBpbml0XSk7CiAgICAgW21fc2Nyb2xsZXJJbXBQYWlyIHNl
dERlbGVnYXRlOm1fc2Nyb2xsZXJJbXBQYWlyRGVsZWdhdGUuZ2V0KCldOwotICAgIFttX3Njcm9s
bGVySW1wUGFpciBzZXRTY3JvbGxlclN0eWxlOnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpXTsK
KyAgICBbbV9zY3JvbGxlckltcFBhaXIgc2V0U2Nyb2xsZXJTdHlsZTpTY3JvbGxlclN0eWxlOjpy
ZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKV07CiB9CiAKIFNjcm9sbEFuaW1hdG9yTWFjOjp+U2Ny
b2xsQW5pbWF0b3JNYWMoKQpAQCAtODE1LDcgKzgxNSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JN
YWM6Om1vdXNlTW92ZWRJbkNvbnQKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Om1vdXNlRW50ZXJl
ZFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikgY29uc3QKIHsKICAgICAvLyBBdCB0aGlz
IHRpbWUsIG9ubHkgbGVnYWN5IHNjcm9sbGJhcnMgbmVlZHMgdG8gc2VuZCBub3RpZmljYXRpb25z
IGhlcmUuCi0gICAgaWYgKHJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpICE9IE5TU2Nyb2xsZXJT
dHlsZUxlZ2FjeSkKKyAgICBpZiAoU2Nyb2xsZXJTdHlsZTo6cmVjb21tZW5kZWRTY3JvbGxlclN0
eWxlKCkgIT0gTlNTY3JvbGxlclN0eWxlTGVnYWN5KQogICAgICAgICByZXR1cm47CiAKICAgICBp
ZiAoW21fc2Nyb2xsZXJJbXBQYWlyIG92ZXJsYXlTY3JvbGxlclN0YXRlSXNMb2NrZWRdKQpAQCAt
ODI4LDcgKzgyOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Om1vdXNlRW50ZXJlZFNjcm8K
IHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Om1vdXNlRXhpdGVkU2Nyb2xsYmFyKFNjcm9sbGJhciog
c2Nyb2xsYmFyKSBjb25zdAogewogICAgIC8vIEF0IHRoaXMgdGltZSwgb25seSBsZWdhY3kgc2Ny
b2xsYmFycyBuZWVkcyB0byBzZW5kIG5vdGlmaWNhdGlvbnMgaGVyZS4KLSAgICBpZiAocmVjb21t
ZW5kZWRTY3JvbGxlclN0eWxlKCkgIT0gTlNTY3JvbGxlclN0eWxlTGVnYWN5KQorICAgIGlmIChT
Y3JvbGxlclN0eWxlOjpyZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKSAhPSBOU1Njcm9sbGVyU3R5
bGVMZWdhY3kpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChbbV9zY3JvbGxlckltcFBhaXIg
b3ZlcmxheVNjcm9sbGVyU3RhdGVJc0xvY2tlZF0pCkBAIC0xMDQ3LDcgKzEwNDcsNyBAQCB2b2lk
IFNjcm9sbEFuaW1hdG9yTWFjOjpob3Jpem9udGFsU2Nyb2xsCiBib29sIFNjcm9sbEFuaW1hdG9y
TWFjOjpzaG91bGRTY3JvbGxiYXJQYXJ0aWNpcGF0ZUluSGl0VGVzdGluZyhTY3JvbGxiYXIqIHNj
cm9sbGJhcikKIHsKICAgICAvLyBOb24tb3ZlcmxheSBzY3JvbGxiYXJzIHNob3VsZCBhbHdheXMg
cGFydGljaXBhdGUgaW4gaGl0IHRlc3RpbmcuCi0gICAgaWYgKHJlY29tbWVuZGVkU2Nyb2xsZXJT
dHlsZSgpICE9IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXkpCisgICAgaWYgKFNjcm9sbGVyU3R5bGU6
OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpICE9IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKHNjcm9sbGJhci0+aXNBbHBoYUxvY2tlZCgp
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1l
TWFjLmgJKHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxiYXJUaGVtZU1hYy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBAIHB1Ymxp
YzoKICAgICBTY3JvbGxiYXJUaGVtZU1hYygpOwogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1l
TWFjKCk7CiAKLSAgICB2b2lkIHByZWZlcmVuY2VzQ2hhbmdlZCgpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgcHJlZmVyZW5jZXNDaGFuZ2VkKCk7CiAKICAgICB2b2lkIHVwZGF0ZUVuYWJsZWRT
dGF0ZShTY3JvbGxiYXImKSBvdmVycmlkZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQkocmV2aXNpb24gMjI5MTMyKQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzEsNyArMTcxLDcgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cmVnaXN0
ZXJTY3JvbGxiYQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHNj
cm9sbGJhci5vcmllbnRhdGlvbigpID09IEhvcml6b250YWxTY3JvbGxiYXI7Ci0gICAgTlNTY3Jv
bGxlckltcCAqc2Nyb2xsZXJJbXAgPSBbTlNTY3JvbGxlckltcCBzY3JvbGxlckltcFdpdGhTdHls
ZTpyZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKSBjb250cm9sU2l6ZTpzY3JvbGxiYXJDb250cm9s
U2l6ZVRvTlNDb250cm9sU2l6ZShzY3JvbGxiYXIuY29udHJvbFNpemUoKSkgaG9yaXpvbnRhbDpp
c0hvcml6b250YWwgcmVwbGFjaW5nU2Nyb2xsZXJJbXA6bmlsXTsKKyAgICBOU1Njcm9sbGVySW1w
ICpzY3JvbGxlckltcCA9IFtOU1Njcm9sbGVySW1wIHNjcm9sbGVySW1wV2l0aFN0eWxlOlNjcm9s
bGVyU3R5bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpIGNvbnRyb2xTaXplOnNjcm9sbGJh
ckNvbnRyb2xTaXplVG9OU0NvbnRyb2xTaXplKHNjcm9sbGJhci5jb250cm9sU2l6ZSgpKSBob3Jp
em9udGFsOmlzSG9yaXpvbnRhbCByZXBsYWNpbmdTY3JvbGxlckltcDpuaWxdOwogICAgIHNjcm9s
bGJhck1hcCgpLT5hZGQoJnNjcm9sbGJhciwgc2Nyb2xsZXJJbXApOwogICAgIGRpZENyZWF0ZVNj
cm9sbGVySW1wKHNjcm9sbGJhcik7CiAgICAgdXBkYXRlRW5hYmxlZFN0YXRlKHNjcm9sbGJhcik7
CkBAIC0yNDcsNyArMjQ3LDcgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXND
aGFuZwogaW50IFNjcm9sbGJhclRoZW1lTWFjOjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFy
Q29udHJvbFNpemUgY29udHJvbFNpemUsIFNjcm9sbGJhckV4cGFuc2lvblN0YXRlIGV4cGFuc2lv
blN0YXRlKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSAgICBOU1Njcm9s
bGVySW1wICpzY3JvbGxlckltcCA9IFtOU1Njcm9sbGVySW1wIHNjcm9sbGVySW1wV2l0aFN0eWxl
OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpIGNvbnRyb2xTaXplOnNjcm9sbGJhckNvbnRyb2xT
aXplVG9OU0NvbnRyb2xTaXplKGNvbnRyb2xTaXplKSBob3Jpem9udGFsOk5PIHJlcGxhY2luZ1Nj
cm9sbGVySW1wOm5pbF07CisgICAgTlNTY3JvbGxlckltcCAqc2Nyb2xsZXJJbXAgPSBbTlNTY3Jv
bGxlckltcCBzY3JvbGxlckltcFdpdGhTdHlsZTpTY3JvbGxlclN0eWxlOjpyZWNvbW1lbmRlZFNj
cm9sbGVyU3R5bGUoKSBjb250cm9sU2l6ZTpzY3JvbGxiYXJDb250cm9sU2l6ZVRvTlNDb250cm9s
U2l6ZShjb250cm9sU2l6ZSkgaG9yaXpvbnRhbDpOTyByZXBsYWNpbmdTY3JvbGxlckltcDpuaWxd
OwogICAgIFtzY3JvbGxlckltcCBzZXRFeHBhbmRlZDooZXhwYW5zaW9uU3RhdGUgPT0gU2Nyb2xs
YmFyRXhwYW5zaW9uU3RhdGU6OkV4cGFuZGVkKV07CiAgICAgcmV0dXJuIFtzY3JvbGxlckltcCB0
cmFja0JveFdpZHRoXTsKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwpAQCAtMjYwLDcg
KzI2MCw3IEBAIGJvb2wgU2Nyb2xsYmFyVGhlbWVNYWM6OnVzZXNPdmVybGF5U2Nyb2wKIAogdm9p
ZCBTY3JvbGxiYXJUaGVtZU1hYzo6dXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpCiB7Ci0g
ICAgZ1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IHJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpID09
IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXk7CisgICAgZ1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IFNj
cm9sbGVyU3R5bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpID09IE5TU2Nyb2xsZXJTdHls
ZU92ZXJsYXk7CiB9CiAKIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92
ZXJsYXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJhcikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
MjkxMzIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI5IEBACisyMDE4LTAzLTAxICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBTY3JvbGxiYXIgcHJlZmVyZW5jZXMgYXJlIGlnbm9yZWQgd2hlbiB0aGUg
V2ViQ29udGVudCBwcm9jZXNzIGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFdpbmRvd1NlcnZl
ci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzIz
MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzc3OTM0NTc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNz
IGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFdpbmRvd1NlcnZlciwgdGhlIHNjcm9sbGJhcnMg
YXJlIGFsd2F5cyBvZiB0aGUgb3ZlcmxheSB0eXBlLgorICAgICAgICBUaGUgbm90aWZpY2F0aW9u
IGFib3V0IHNjcm9sbGJhciBwcmVmZXJlbmNlcyBpcyBuZXZlciByZWNlaXZlZCBieSB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzIHdoZW4gdGhlcmUgaXMgbm8KKyAgICAgICAgV2luZG93U2VydmVyIGFj
Y2Vzcy4gVGhpcyBjYW4gYmUgZml4ZWQgYnkgYWRkaW5nIGFuIG9ic2VydmVyIG9mIHNjcm9sbGJh
ciBwcmVmZXJlbmNlcyBpbiB0aGUgVUkgcHJvY2VzcywgYW5kCisgICAgICAgIG5vdGlmeWluZyB0
aGUgV2ViUHJvY2VzcyBhYm91dCB0aGlzIGJ5IHNlbmRpbmcgaXQgYSBtZXNzYWdlLiBUaGlzIG1l
c3NhZ2Ugc2hvdWxkIGFsc28gY29udGFpbiB0aGUgcHJlZmVycmVkCisgICAgICAgIHNjcm9sbGJh
ciB0eXBlLCBzaW5jZSB0aGUgY2FsbCAnW05TU2Nyb2xsZXIgcHJlZmVycmVkU2Nyb2xsZXJTdHls
ZV0nIHdpbGwgYWx3YXlzIHJldHVybiB0aGUgb3ZlcmxheSBzdHlsZSB3aGVuCisgICAgICAgIHRo
ZXJlIGlzIG5vIFdpbmRvd1NlcnZlciBhY2Nlc3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNz
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNjcm9sbGVy
U3R5bGVQcmVmZXJlbmNlQ2hhbmdlZCk6CisKIDIwMTgtMDMtMDEgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIyMTUxNCk6
IFtHVEtdIFVJIHByb2Nlc3MgY3Jhc2ggaW4gV2ViS2l0OjpXYXlsYW5kQ29tcG9zaXRvcjo6U3Vy
ZmFjZTo6Zmx1c2hQZW5kaW5nRnJhbWVDYWxsYmFja3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24gMjI5MTMyKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNTgyLDYgKzU4
Miw3IEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPE5TT2JqZWN0PiBtX2F1dG9tYXRpY1NwZWxs
aW5nQ29ycmVjdGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyOwogICAgIFJldGFpblB0cjxOU09iamVj
dD4gbV9hdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyOwogICAg
IFJldGFpblB0cjxOU09iamVjdD4gbV9hdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0
aW9uT2JzZXJ2ZXI7CisgICAgUmV0YWluUHRyPE5TT2JqZWN0PiBtX3Njcm9sbGVyU3R5bGVOb3Rp
ZmljYXRpb25PYnNlcnZlcjsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxIaWdoUGVyZm9ybWFuY2VH
cmFwaGljc1VzYWdlU2FtcGxlcj4gbV9oaWdoUGVyZm9ybWFuY2VHcmFwaGljc1VzYWdlU2FtcGxl
cjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcj4g
bV9wZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VTYW1wbGVyOwpJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lv
biAyMjkxMzIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9v
bENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NTgsNiArNTU4LDEyIEBAIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW8KICAgICAgICAgVGV4dENoZWNrZXI6OmRpZENo
YW5nZUF1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25FbmFibGVkKCk7CiAgICAgICAgIHRleHRDaGVj
a2VyU3RhdGVDaGFuZ2VkKCk7CiAgICAgfV07CisgICAgCisgICAgbV9zY3JvbGxlclN0eWxlTm90
aWZpY2F0aW9uT2JzZXJ2ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJd
IGFkZE9ic2VydmVyRm9yTmFtZTpOU1ByZWZlcnJlZFNjcm9sbGVyU3R5bGVEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVd
IHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CisgICAgICAgIGF1
dG8gc2Nyb2xsYmFyU3R5bGUgPSBbTlNTY3JvbGxlciBwcmVmZXJyZWRTY3JvbGxlclN0eWxlXTsK
KyAgICAgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6
OmFsbFByb2Nlc3NQb29scygpKQorICAgICAgICAgICAgcHJvY2Vzc1Bvb2wtPnNlbmRUb0FsbFBy
b2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U2Nyb2xsZXJTdHlsZVByZWZlcmVuY2VDaGFu
Z2VkKHNjcm9sbGJhclN0eWxlKSk7CisgICAgfV07CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPUykK
IH0KIApAQCAtNTY5LDYgKzU3NSw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJO
b3RpZmljYXQKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92
ZU9ic2VydmVyOm1fYXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uTm90aWZpY2F0aW9uT2JzZXJ2
ZXIuZ2V0KCldOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVt
b3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2Vy
dmVyLmdldCgpXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJl
bW92ZU9ic2VydmVyOm1fYXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2Vy
dmVyLmdldCgpXTsKKyAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJl
bW92ZU9ic2VydmVyOm1fc2Nyb2xsZXJTdHlsZU5vdGlmaWNhdGlvbk9ic2VydmVyLmdldCgpXTsK
ICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TKQogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCShyZXZpc2lvbiAyMjkxMzIpCisrKyBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxOSw3ICsyMTksNyBA
QCBXZWJQcm9jZXNzOjp+V2ViUHJvY2VzcygpCiB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVQ
cm9jZXNzKGNvbnN0IENoaWxkUHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgcGFyYW1l
dGVycykKIHsKICAgICBNZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcjo6c2V0U2hhcmVkUHJvdmlk
ZXIoV2ViTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI6OnNpbmdsZXRvbigpKTsKLSAgICAKKwog
I2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE0MDAKICAgICAvLyBUaGlzIGNhbGwgaXMgbmVlZGVkIHdoZW4gdGhlIFdlYlByb2Nlc3MgaXMg
bm90IHJ1bm5pbmcgdGhlIE5TQXBwbGljYXRpb24gZXZlbnQgbG9vcC4KICAgICAvLyBPdGhlcndp
c2UsIGNhbGxpbmcgZW5hYmxlU2FuZGJveFN0eWxlRmlsZVF1YXJhbnRpbmUoKSB3aWxsIGZhaWwu
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlzaW9uIDIyOTEz
MikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM3MCw5ICszNzAsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJQ
cm9jZXNzTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKICAgICB2b2lk
IGRpZFJlY2VpdmVTeW5jV2ViUHJvY2Vzc01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpE
ZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4mKTsKIAotI2lmIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKKyNpZiBQ
TEFURk9STShNQUMpCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0
MDAKICAgICB2b2lkIHNldFNjcmVlblByb3BlcnRpZXMoY29uc3QgSGFzaE1hcDx1aW50MzJfdCwg
V2ViQ29yZTo6U2NyZWVuUHJvcGVydGllcz4mKTsKICNlbmRpZgorICAgIHZvaWQgc2Nyb2xsZXJT
dHlsZVByZWZlcmVuY2VDaGFuZ2VkKGJvb2wgdXNlT3ZlcmxheVNjcm9sbGJhcnMpOworI2VuZGlm
CiAKICAgICBSZWZQdHI8V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzPiBtX3dlYkNvbm5lY3Rpb247
CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluCShyZXZpc2lvbiAyMjkxMzIpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSwxMCBAQCBt
ZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBDaGVja1Byb2Nlc3NM
b2NhbFBvcnRGb3JBY3Rpdml0eShzdHJ1Y3QgV2ViQ29yZTo6TWVzc2FnZVBvcnRJZGVudGlmaWVy
IHBvcnQsIHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllcikKICAgICBNZXNzYWdlc0F2YWlsYWJs
ZUZvclBvcnQoc3RydWN0IFdlYkNvcmU6Ok1lc3NhZ2VQb3J0SWRlbnRpZmllciBwb3J0KQogCi0j
aWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTQwMAotICAgIFNldFNjcmVlblByb3BlcnRpZXMoSGFzaE1hcDx1aW50MzJfdCwgV2ViQ29yZTo6
U2NyZWVuUHJvcGVydGllcz4gc2NyZWVuUHJvcGVydGllcyk7CisjaWYgUExBVEZPUk0oTUFDKQor
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCisgICAgU2V0U2Ny
ZWVuUHJvcGVydGllcyhIYXNoTWFwPHVpbnQzMl90LCBXZWJDb3JlOjpTY3JlZW5Qcm9wZXJ0aWVz
PiBzY3JlZW5Qcm9wZXJ0aWVzKQorI2VuZGlmCisgICAgU2Nyb2xsZXJTdHlsZVByZWZlcmVuY2VD
aGFuZ2VkKGJvb2wgdXNlT3ZlbGF5U2Nyb2xsYmFycykKICNlbmRpZgogfQpJbmRleDogU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZp
c2lvbiAyMjkxMzIpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw4ICs1NywxMiBAQAogI2ltcG9ydCA8V2Vi
Q29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvZ0luaXRpYWxpemF0
aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL01lbW9yeVJlbGVhc2UuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvTlNTY3JvbGxlckltcERldGFpbHMuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGVyZm9ybWFuY2VM
b2dnaW5nLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgor
I2lmIFBMQVRGT1JNKE1BQykKKyNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsYmFyVGhlbWVNYWMuaD4K
KyNlbmRpZgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlTlNVUkxFeHRyYXMuaD4KICNpbXBvcnQg
PGFsZ29yaXRobT4KICNpbXBvcnQgPGRpc3BhdGNoL2Rpc3BhdGNoLmg+CkBAIC01NTYsNCArNTYw
LDE3IEBAIHZvaWQgV2ViUHJvY2Vzczo6YWNjZXNzaWJpbGl0eVByb2Nlc3NTdXMKIH0KICNlbmRp
ZgogCisjaWYgUExBVEZPUk0oTUFDKQordm9pZCBXZWJQcm9jZXNzOjpzY3JvbGxlclN0eWxlUHJl
ZmVyZW5jZUNoYW5nZWQoYm9vbCB1c2VPdmVybGF5U2Nyb2xsYmFycykKK3sKKyAgICBTY3JvbGxl
clN0eWxlOjpzZXRVc2VPdmVybGF5U2Nyb2xsYmFycyh1c2VPdmVybGF5U2Nyb2xsYmFycyk7CisK
KyAgICBTY3JvbGxiYXJUaGVtZSYgdGhlbWUgPSBTY3JvbGxiYXJUaGVtZTo6dGhlbWUoKTsKKyAg
ICBpZiAodGhlbWUuaXNNb2NrVGhlbWUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc3RhdGlj
X2Nhc3Q8U2Nyb2xsYmFyVGhlbWVNYWMmPih0aGVtZSkucHJlZmVyZW5jZXNDaGFuZ2VkKCk7Cit9
CisjZW5kaWYgICAgCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="353535"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334826</attachid>
            <date>2018-03-01 10:44:10 -0800</date>
            <delta_ts>2018-03-01 10:44:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183231-20180301104408.patch</filename>
            <type>text/plain</type>
            <size>19012</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE4LTAzLTAxICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTY3JvbGxiYXIgcHJlZmVy
ZW5jZXMgYXJlIGlnbm9yZWQgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGRvZXNuJ3QgaGF2
ZSBhY2Nlc3MgdG8gdGhlIFdpbmRvd1NlcnZlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzIzMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzc3
OTM0NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFdp
bmRvd1NlcnZlciwgdGhlIHNjcm9sbGJhcnMgYXJlIGFsd2F5cyBvZiB0aGUgb3ZlcmxheSB0eXBl
LgorICAgICAgICBUaGUgbm90aWZpY2F0aW9uIGFib3V0IHNjcm9sbGJhciBwcmVmZXJlbmNlcyBp
cyBuZXZlciByZWNlaXZlZCBieSB0aGUgV2ViQ29udGVudCBwcm9jZXNzIHdoZW4gdGhlcmUgaXMg
bm8KKyAgICAgICAgV2luZG93U2VydmVyIGFjY2Vzcy4gVGhpcyBjYW4gYmUgZml4ZWQgYnkgYWRk
aW5nIGFuIG9ic2VydmVyIG9mIHNjcm9sbGJhciBwcmVmZXJlbmNlcyBpbiB0aGUgVUkgcHJvY2Vz
cywgYW5kCisgICAgICAgIG5vdGlmeWluZyB0aGUgV2ViUHJvY2VzcyBhYm91dCB0aGlzIGJ5IHNl
bmRpbmcgaXQgYSBtZXNzYWdlLiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGFsc28gY29udGFpbiB0aGUg
cHJlZmVycmVkCisgICAgICAgIHNjcm9sbGJhciB0eXBlLCBzaW5jZSB0aGUgY2FsbCAnW05TU2Ny
b2xsZXIgcHJlZmVycmVkU2Nyb2xsZXJTdHlsZV0nIHdpbGwgYWx3YXlzIHJldHVybiB0aGUgb3Zl
cmxheSBzdHlsZSB3aGVuCisgICAgICAgIHRoZXJlIGlzIG5vIFdpbmRvd1NlcnZlciBhY2Nlc3Mu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9OU1Njcm9sbGVySW1wRGV0YWlscy5oOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9OU1Njcm9sbGVySW1wRGV0YWlscy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGVyU3R5
bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxl
clN0eWxlOjpzZXRVc2VPdmVybGF5U2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpyZWNv
bW1lbmRlZFNjcm9sbGVyU3R5bGUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9T
Y3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFj
OjpTY3JvbGxBbmltYXRvck1hYyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1h
Yzo6bW91c2VFbnRlcmVkU2Nyb2xsYmFyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yTWFjOjptb3VzZUV4aXRlZFNjcm9sbGJhciBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c2hvdWxkU2Nyb2xsYmFyUGFydGljaXBhdGVJbkhpdFRl
c3RpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjpyZWdpc3RlclNjcm9sbGJhcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6c2Nyb2xsYmFyVGhpY2tuZXNzKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjp1c2VzT3ZlcmxheVNjcm9sbGJh
cnNDaGFuZ2VkKToKKwogMjAxOC0wMy0wMSAgQ2hyaXN0b3BoZXIgUmVpZCAgPGNocmlzLnJlaWRA
c29ueS5jb20+CiAKICAgICAgICAgW0N1cmxdIExpbmtlciBlcnJvcnMgaW4gc29tZSBjdXJsIGZp
bGVzIGR1ZSB0byBtaXNzaW5nIGV4cG9ydHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyOTEzMikKKysrIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtMjUxNSw3ICsyNTE1LDcgQEAKIAkJOTM0Q0MxMEEwRURCMjIzOTAwQTY1OEYyIC8q
IFNjcmlwdFNvdXJjZUNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzNENDMTA5MEVEQjIyMzkwMEE2NThGMiAvKiBTY3JpcHRTb3VyY2VDb2RlLmgg
Ki87IH07CiAJCTkzNEY3MTNBMEQ1QTZGMTAwMDAxOEQ2OSAvKiBBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzNEY3MTM5MEQ1QTZGMTAwMDAxOEQ2OSAvKiBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUJhc2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5MzRG
NzEzQzBENUE2RjE5MDAwMThENjkgLyogUmVzb3VyY2VFcnJvckJhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNEY3MTNCMEQ1QTZGMTkwMDAxOEQ2
OSAvKiBSZXNvdXJjZUVycm9yQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0JCTkzNTAwRjMyMTNGREUzQkUwMDk5RUMyNCAvKiBOU1Njcm9sbGVy
SW1wRGV0YWlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTM1MDBGMzExM0ZERTNCRTAwOTlFQzI0IC8qIE5TU2Nyb2xsZXJJbXBEZXRhaWxzLmggKi87
IH07CisJCTkzNTAwRjMyMTNGREUzQkUwMDk5RUMyNCAvKiBOU1Njcm9sbGVySW1wRGV0YWlscy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM1MDBGMzEx
M0ZERTNCRTAwOTlFQzI0IC8qIE5TU2Nyb2xsZXJJbXBEZXRhaWxzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTM1MjA3QkUwOUJENDEwQTAwRjIw
MzhEIC8qIExvY2FsaXplZFN0cmluZ3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzNTIwN0JEMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2NhbGl6ZWRTdHJp
bmdzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
OTM1QzQ3NjMwOUFDNENFNjAwQTZBQUI0IC8qIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNUM0NzYy
MDlBQzRDRTYwMEE2QUFCNCAvKiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmggKi87IH07
CiAJCTkzNUM0NzY4MDlBQzRENDMwMEE2QUFCNCAvKiBQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNUM0NzY2MDlB
QzRENDMwMEE2QUFCNCAvKiBQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjY2NTMsNiArMjY2NTMsNyBAQAog
CQkJCTI5QTgxMjMxMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCBp
biBIZWFkZXJzICovLAogCQkJCUE5MUM5RkJGMUI2NTg2REUwMEFGRkQ1NCAvKiBBY2Nlc3NpYmls
aXR5VHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTkxQzlGQzMxQjY1OUE2NzAwQUZGRDU0IC8q
IEFjY2Vzc2liaWxpdHlUcmVlSXRlbS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTlGMkUwRUIyMDQ3
NUNERTAwNTEyODU1IC8qIEFjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk3QzUyMjI5OTFFMURBRTFDMDAyQ0I4RjcgLyogQWN0aXZlRE9NQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdDRDBCQTA1MUI4Rjc5QzkwMDVDRUJCRSAvKiBBY3RpdmVET01DYWxs
YmFja01pY3JvdGFzay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDNERFNjkwRUE3NUMxRTAwMjND
Q0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzAyOCw3ICsyNzAy
OSw2IEBACiAJCQkJNTEyMEJCQUYxRjFDRUNFNzAwRUZFQkYxIC8qIENvb2tpZVN0b3JhZ2VPYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc0NkFGMjExNEY0RERFNjAwM0U3QTcxIC8qIENv
b3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzRjgwMjAzNTFFOUU0N0JGMDBERUM2MUQg
LyogQ29yZUF1ZGlvQ2FwdHVyZURldmljZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQTlGMkUwRUIy
MDQ3NUNERTAwNTEyODU1IC8qIEFjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQkzRjgwMjAzNzFFOUU0N0M1MDBERUM2MUQgLyogQ29yZUF1ZGlvQ2FwdHVyZURldmlj
ZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3QUZGNDIyMUVGQjE0NDkwMEI1NDVCMyAv
KiBDb3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDdEMzM0
ODFDN0ExNkJGMDAwNDEyOTMgLyogQ29yZVZpZGVvU29mdExpbmsuaCBpbiBIZWFkZXJzICovLApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBE
ZXRhaWxzLmgJKHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9OU1Njcm9sbGVySW1wRGV0YWlscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw5ICsyNywxOSBAQAogCiAjaWYg
VVNFKEFQUEtJVCkKIAorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLU5TU2Nyb2xsZXJTdHlsZSByZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKTsKK2Ns
YXNzIFNjcm9sbGVyU3R5bGUgeworcHVibGljOgorICAgIHN0YXRpYyBOU1Njcm9sbGVyU3R5bGUg
cmVjb21tZW5kZWRTY3JvbGxlclN0eWxlKCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
dm9pZCBzZXRVc2VPdmVybGF5U2Nyb2xsYmFycyhib29sKTsKKyAgICAKK3ByaXZhdGU6CisgICAg
c3RhdGljIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gbV91c2VPdmVybGF5U2Nyb2xsYmFyczsKK307CiAK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRh
aWxzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9OU1Njcm9s
bGVySW1wRGV0YWlscy5tbQkocmV2aXNpb24gMjI5MTMyKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwx
MyArMzQsMjMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1OU1Njcm9sbGVyU3R5bGUgcmVj
b21tZW5kZWRTY3JvbGxlclN0eWxlKCkKK3N0ZDo6b3B0aW9uYWw8Ym9vbD4gU2Nyb2xsZXJTdHls
ZTo6bV91c2VPdmVybGF5U2Nyb2xsYmFyczsKKworTlNTY3JvbGxlclN0eWxlIFNjcm9sbGVyU3R5
bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpCiB7CisgICAgaWYgKG1fdXNlT3ZlcmxheVNj
cm9sbGJhcnMuaGFzX3ZhbHVlKCkpCisgICAgICAgIHJldHVybiAqbV91c2VPdmVybGF5U2Nyb2xs
YmFycyA/IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXkgOiBOU1Njcm9sbGVyU3R5bGVMZWdhY3k7Cisg
ICAgCiAgICAgaWYgKERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6dXNlc092ZXJsYXlTY3JvbGxi
YXJzKCkpCiAgICAgICAgIHJldHVybiBOU1Njcm9sbGVyU3R5bGVPdmVybGF5OwogICAgIHJldHVy
biBbTlNTY3JvbGxlciBwcmVmZXJyZWRTY3JvbGxlclN0eWxlXTsKIH0KIAordm9pZCBTY3JvbGxl
clN0eWxlOjpzZXRVc2VPdmVybGF5U2Nyb2xsYmFycyhib29sIHVzZU92ZXJsYXlTY3JvbGxiYXJz
KQoreworICAgIG1fdXNlT3ZlcmxheVNjcm9sbGJhcnMgPSB1c2VPdmVybGF5U2Nyb2xsYmFyczsK
K30KKwogfQogCiAjZW5kaWYgLy8gVVNFKEFQUEtJVCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0JKHJldmlzaW9uIDIyOTEzMikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQkod29y
a2luZyBjb3B5KQpAQCAtNjM1LDcgKzYzNSw3IEBAIFNjcm9sbEFuaW1hdG9yTWFjOjpTY3JvbGxB
bmltYXRvck1hYyhTY3IKICAgICBtX3Njcm9sbGVySW1wUGFpckRlbGVnYXRlID0gYWRvcHROUyhb
W1dlYlNjcm9sbGVySW1wUGFpckRlbGVnYXRlIGFsbG9jXSBpbml0V2l0aFNjcm9sbGFibGVBcmVh
OiZzY3JvbGxhYmxlQXJlYV0pOwogICAgIG1fc2Nyb2xsZXJJbXBQYWlyID0gYWRvcHROUyhbW05T
U2Nyb2xsZXJJbXBQYWlyIGFsbG9jXSBpbml0XSk7CiAgICAgW21fc2Nyb2xsZXJJbXBQYWlyIHNl
dERlbGVnYXRlOm1fc2Nyb2xsZXJJbXBQYWlyRGVsZWdhdGUuZ2V0KCldOwotICAgIFttX3Njcm9s
bGVySW1wUGFpciBzZXRTY3JvbGxlclN0eWxlOnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpXTsK
KyAgICBbbV9zY3JvbGxlckltcFBhaXIgc2V0U2Nyb2xsZXJTdHlsZTpTY3JvbGxlclN0eWxlOjpy
ZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKV07CiB9CiAKIFNjcm9sbEFuaW1hdG9yTWFjOjp+U2Ny
b2xsQW5pbWF0b3JNYWMoKQpAQCAtODE1LDcgKzgxNSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JN
YWM6Om1vdXNlTW92ZWRJbkNvbnQKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Om1vdXNlRW50ZXJl
ZFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikgY29uc3QKIHsKICAgICAvLyBBdCB0aGlz
IHRpbWUsIG9ubHkgbGVnYWN5IHNjcm9sbGJhcnMgbmVlZHMgdG8gc2VuZCBub3RpZmljYXRpb25z
IGhlcmUuCi0gICAgaWYgKHJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpICE9IE5TU2Nyb2xsZXJT
dHlsZUxlZ2FjeSkKKyAgICBpZiAoU2Nyb2xsZXJTdHlsZTo6cmVjb21tZW5kZWRTY3JvbGxlclN0
eWxlKCkgIT0gTlNTY3JvbGxlclN0eWxlTGVnYWN5KQogICAgICAgICByZXR1cm47CiAKICAgICBp
ZiAoW21fc2Nyb2xsZXJJbXBQYWlyIG92ZXJsYXlTY3JvbGxlclN0YXRlSXNMb2NrZWRdKQpAQCAt
ODI4LDcgKzgyOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Om1vdXNlRW50ZXJlZFNjcm8K
IHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Om1vdXNlRXhpdGVkU2Nyb2xsYmFyKFNjcm9sbGJhciog
c2Nyb2xsYmFyKSBjb25zdAogewogICAgIC8vIEF0IHRoaXMgdGltZSwgb25seSBsZWdhY3kgc2Ny
b2xsYmFycyBuZWVkcyB0byBzZW5kIG5vdGlmaWNhdGlvbnMgaGVyZS4KLSAgICBpZiAocmVjb21t
ZW5kZWRTY3JvbGxlclN0eWxlKCkgIT0gTlNTY3JvbGxlclN0eWxlTGVnYWN5KQorICAgIGlmIChT
Y3JvbGxlclN0eWxlOjpyZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKSAhPSBOU1Njcm9sbGVyU3R5
bGVMZWdhY3kpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChbbV9zY3JvbGxlckltcFBhaXIg
b3ZlcmxheVNjcm9sbGVyU3RhdGVJc0xvY2tlZF0pCkBAIC0xMDQ3LDcgKzEwNDcsNyBAQCB2b2lk
IFNjcm9sbEFuaW1hdG9yTWFjOjpob3Jpem9udGFsU2Nyb2xsCiBib29sIFNjcm9sbEFuaW1hdG9y
TWFjOjpzaG91bGRTY3JvbGxiYXJQYXJ0aWNpcGF0ZUluSGl0VGVzdGluZyhTY3JvbGxiYXIqIHNj
cm9sbGJhcikKIHsKICAgICAvLyBOb24tb3ZlcmxheSBzY3JvbGxiYXJzIHNob3VsZCBhbHdheXMg
cGFydGljaXBhdGUgaW4gaGl0IHRlc3RpbmcuCi0gICAgaWYgKHJlY29tbWVuZGVkU2Nyb2xsZXJT
dHlsZSgpICE9IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXkpCisgICAgaWYgKFNjcm9sbGVyU3R5bGU6
OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpICE9IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKHNjcm9sbGJhci0+aXNBbHBoYUxvY2tlZCgp
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1l
TWFjLmgJKHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxiYXJUaGVtZU1hYy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBAIHB1Ymxp
YzoKICAgICBTY3JvbGxiYXJUaGVtZU1hYygpOwogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1l
TWFjKCk7CiAKLSAgICB2b2lkIHByZWZlcmVuY2VzQ2hhbmdlZCgpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgcHJlZmVyZW5jZXNDaGFuZ2VkKCk7CiAKICAgICB2b2lkIHVwZGF0ZUVuYWJsZWRT
dGF0ZShTY3JvbGxiYXImKSBvdmVycmlkZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQkocmV2aXNpb24gMjI5MTMyKQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzEsNyArMTcxLDcgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cmVnaXN0
ZXJTY3JvbGxiYQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHNj
cm9sbGJhci5vcmllbnRhdGlvbigpID09IEhvcml6b250YWxTY3JvbGxiYXI7Ci0gICAgTlNTY3Jv
bGxlckltcCAqc2Nyb2xsZXJJbXAgPSBbTlNTY3JvbGxlckltcCBzY3JvbGxlckltcFdpdGhTdHls
ZTpyZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKSBjb250cm9sU2l6ZTpzY3JvbGxiYXJDb250cm9s
U2l6ZVRvTlNDb250cm9sU2l6ZShzY3JvbGxiYXIuY29udHJvbFNpemUoKSkgaG9yaXpvbnRhbDpp
c0hvcml6b250YWwgcmVwbGFjaW5nU2Nyb2xsZXJJbXA6bmlsXTsKKyAgICBOU1Njcm9sbGVySW1w
ICpzY3JvbGxlckltcCA9IFtOU1Njcm9sbGVySW1wIHNjcm9sbGVySW1wV2l0aFN0eWxlOlNjcm9s
bGVyU3R5bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpIGNvbnRyb2xTaXplOnNjcm9sbGJh
ckNvbnRyb2xTaXplVG9OU0NvbnRyb2xTaXplKHNjcm9sbGJhci5jb250cm9sU2l6ZSgpKSBob3Jp
em9udGFsOmlzSG9yaXpvbnRhbCByZXBsYWNpbmdTY3JvbGxlckltcDpuaWxdOwogICAgIHNjcm9s
bGJhck1hcCgpLT5hZGQoJnNjcm9sbGJhciwgc2Nyb2xsZXJJbXApOwogICAgIGRpZENyZWF0ZVNj
cm9sbGVySW1wKHNjcm9sbGJhcik7CiAgICAgdXBkYXRlRW5hYmxlZFN0YXRlKHNjcm9sbGJhcik7
CkBAIC0yNDcsNyArMjQ3LDcgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXND
aGFuZwogaW50IFNjcm9sbGJhclRoZW1lTWFjOjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFy
Q29udHJvbFNpemUgY29udHJvbFNpemUsIFNjcm9sbGJhckV4cGFuc2lvblN0YXRlIGV4cGFuc2lv
blN0YXRlKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSAgICBOU1Njcm9s
bGVySW1wICpzY3JvbGxlckltcCA9IFtOU1Njcm9sbGVySW1wIHNjcm9sbGVySW1wV2l0aFN0eWxl
OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpIGNvbnRyb2xTaXplOnNjcm9sbGJhckNvbnRyb2xT
aXplVG9OU0NvbnRyb2xTaXplKGNvbnRyb2xTaXplKSBob3Jpem9udGFsOk5PIHJlcGxhY2luZ1Nj
cm9sbGVySW1wOm5pbF07CisgICAgTlNTY3JvbGxlckltcCAqc2Nyb2xsZXJJbXAgPSBbTlNTY3Jv
bGxlckltcCBzY3JvbGxlckltcFdpdGhTdHlsZTpTY3JvbGxlclN0eWxlOjpyZWNvbW1lbmRlZFNj
cm9sbGVyU3R5bGUoKSBjb250cm9sU2l6ZTpzY3JvbGxiYXJDb250cm9sU2l6ZVRvTlNDb250cm9s
U2l6ZShjb250cm9sU2l6ZSkgaG9yaXpvbnRhbDpOTyByZXBsYWNpbmdTY3JvbGxlckltcDpuaWxd
OwogICAgIFtzY3JvbGxlckltcCBzZXRFeHBhbmRlZDooZXhwYW5zaW9uU3RhdGUgPT0gU2Nyb2xs
YmFyRXhwYW5zaW9uU3RhdGU6OkV4cGFuZGVkKV07CiAgICAgcmV0dXJuIFtzY3JvbGxlckltcCB0
cmFja0JveFdpZHRoXTsKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwpAQCAtMjYwLDcg
KzI2MCw3IEBAIGJvb2wgU2Nyb2xsYmFyVGhlbWVNYWM6OnVzZXNPdmVybGF5U2Nyb2wKIAogdm9p
ZCBTY3JvbGxiYXJUaGVtZU1hYzo6dXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpCiB7Ci0g
ICAgZ1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IHJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpID09
IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXk7CisgICAgZ1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IFNj
cm9sbGVyU3R5bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpID09IE5TU2Nyb2xsZXJTdHls
ZU92ZXJsYXk7CiB9CiAKIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92
ZXJsYXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJhcikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
MjkxMzIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI5IEBACisyMDE4LTAzLTAxICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBTY3JvbGxiYXIgcHJlZmVyZW5jZXMgYXJlIGlnbm9yZWQgd2hlbiB0aGUg
V2ViQ29udGVudCBwcm9jZXNzIGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFdpbmRvd1NlcnZl
ci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzIz
MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzc3OTM0NTc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNz
IGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFdpbmRvd1NlcnZlciwgdGhlIHNjcm9sbGJhcnMg
YXJlIGFsd2F5cyBvZiB0aGUgb3ZlcmxheSB0eXBlLgorICAgICAgICBUaGUgbm90aWZpY2F0aW9u
IGFib3V0IHNjcm9sbGJhciBwcmVmZXJlbmNlcyBpcyBuZXZlciByZWNlaXZlZCBieSB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzIHdoZW4gdGhlcmUgaXMgbm8KKyAgICAgICAgV2luZG93U2VydmVyIGFj
Y2Vzcy4gVGhpcyBjYW4gYmUgZml4ZWQgYnkgYWRkaW5nIGFuIG9ic2VydmVyIG9mIHNjcm9sbGJh
ciBwcmVmZXJlbmNlcyBpbiB0aGUgVUkgcHJvY2VzcywgYW5kCisgICAgICAgIG5vdGlmeWluZyB0
aGUgV2ViUHJvY2VzcyBhYm91dCB0aGlzIGJ5IHNlbmRpbmcgaXQgYSBtZXNzYWdlLiBUaGlzIG1l
c3NhZ2Ugc2hvdWxkIGFsc28gY29udGFpbiB0aGUgcHJlZmVycmVkCisgICAgICAgIHNjcm9sbGJh
ciB0eXBlLCBzaW5jZSB0aGUgY2FsbCAnW05TU2Nyb2xsZXIgcHJlZmVycmVkU2Nyb2xsZXJTdHls
ZV0nIHdpbGwgYWx3YXlzIHJldHVybiB0aGUgb3ZlcmxheSBzdHlsZSB3aGVuCisgICAgICAgIHRo
ZXJlIGlzIG5vIFdpbmRvd1NlcnZlciBhY2Nlc3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNz
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNjcm9sbGVy
U3R5bGVQcmVmZXJlbmNlQ2hhbmdlZCk6CisKIDIwMTgtMDMtMDEgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIyMTUxNCk6
IFtHVEtdIFVJIHByb2Nlc3MgY3Jhc2ggaW4gV2ViS2l0OjpXYXlsYW5kQ29tcG9zaXRvcjo6U3Vy
ZmFjZTo6Zmx1c2hQZW5kaW5nRnJhbWVDYWxsYmFja3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24gMjI5MTMyKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNTgyLDYgKzU4
Miw5IEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPE5TT2JqZWN0PiBtX2F1dG9tYXRpY1NwZWxs
aW5nQ29ycmVjdGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyOwogICAgIFJldGFpblB0cjxOU09iamVj
dD4gbV9hdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyOwogICAg
IFJldGFpblB0cjxOU09iamVjdD4gbV9hdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0
aW9uT2JzZXJ2ZXI7CisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0
MDAKKyAgICBSZXRhaW5QdHI8TlNPYmplY3Q+IG1fc2Nyb2xsZXJTdHlsZU5vdGlmaWNhdGlvbk9i
c2VydmVyOworI2VuZGlmCiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGlnaFBlcmZvcm1hbmNlR3Jh
cGhpY3NVc2FnZVNhbXBsZXI+IG1faGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXI7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI+IG1f
cGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24g
MjI5MTMyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xD
b2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTU4LDYgKzU1OCwxNSBAQCB2b2lkIFdlYlByb2Nl
c3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvCiAgICAgICAgIFRleHRDaGVja2VyOjpkaWRDaGFu
Z2VBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCgpOwogICAgICAgICB0ZXh0Q2hlY2tl
clN0YXRlQ2hhbmdlZCgpOwogICAgIH1dOworCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDE0MDAKKyAgICBtX3Njcm9sbGVyU3R5bGVOb3RpZmljYXRpb25PYnNlcnZl
ciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JO
YW1lOk5TUHJlZmVycmVkU2Nyb2xsZXJTdHlsZURpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6
bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5T
Tm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKKyAgICAgICAgYXV0byBzY3JvbGxiYXJTdHls
ZSA9IFtOU1Njcm9sbGVyIHByZWZlcnJlZFNjcm9sbGVyU3R5bGVdOworICAgICAgICBmb3IgKGF1
dG8mIHByb2Nlc3NQb29sIDogV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xz
KCkpCisgICAgICAgICAgICBwcm9jZXNzUG9vbC0+c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2Vz
OjpXZWJQcm9jZXNzOjpTY3JvbGxlclN0eWxlUHJlZmVyZW5jZUNoYW5nZWQoc2Nyb2xsYmFyU3R5
bGUpKTsKKyAgICB9XTsKKyNlbmRpZgorCiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKIH0KIApA
QCAtNTY5LDYgKzU3OCw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmlj
YXQKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2Vy
dmVyOm1fYXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0
KCldOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2Jz
ZXJ2ZXI6bV9hdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyLmdl
dCgpXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9i
c2VydmVyOm1fYXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyLmdl
dCgpXTsKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMAorICAg
IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9z
Y3JvbGxlclN0eWxlTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOworI2VuZGlmCiAjZW5kaWYg
Ly8gIVBMQVRGT1JNKElPUykKIH0KIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAkocmV2aXNpb24gMjI5MTMyKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNyArMjE5LDcgQEAgV2ViUHJv
Y2Vzczo6fldlYlByb2Nlc3MoKQogdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhj
b25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7
CiAgICAgTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXI6OnNldFNoYXJlZFByb3ZpZGVyKFdlYk1l
c3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpzaW5nbGV0b24oKSk7Ci0gICAgCisKICNpZiBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCiAg
ICAgLy8gVGhpcyBjYWxsIGlzIG5lZWRlZCB3aGVuIHRoZSBXZWJQcm9jZXNzIGlzIG5vdCBydW5u
aW5nIHRoZSBOU0FwcGxpY2F0aW9uIGV2ZW50IGxvb3AuCiAgICAgLy8gT3RoZXJ3aXNlLCBjYWxs
aW5nIGVuYWJsZVNhbmRib3hTdHlsZUZpbGVRdWFyYW50aW5lKCkgd2lsbCBmYWlsLgpJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiAyMjkxMzIpCisrKyBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
NzIsNiArMzcyLDcgQEAgcHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKICAgICB2b2lkIHNldFNjcmVlblByb3Bl
cnRpZXMoY29uc3QgSGFzaE1hcDx1aW50MzJfdCwgV2ViQ29yZTo6U2NyZWVuUHJvcGVydGllcz4m
KTsKKyAgICB2b2lkIHNjcm9sbGVyU3R5bGVQcmVmZXJlbmNlQ2hhbmdlZChib29sIHVzZU92ZXJs
YXlTY3JvbGxiYXJzKTsKICNlbmRpZgogCiAgICAgUmVmUHRyPFdlYkNvbm5lY3Rpb25Ub1VJUHJv
Y2Vzcz4gbV93ZWJDb25uZWN0aW9uOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjYsNiArMTI2LDcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7
CiAgICAgTWVzc2FnZXNBdmFpbGFibGVGb3JQb3J0KHN0cnVjdCBXZWJDb3JlOjpNZXNzYWdlUG9y
dElkZW50aWZpZXIgcG9ydCkKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKLSAgICBTZXRTY3JlZW5Qcm9wZXJ0aWVzKEhhc2hN
YXA8dWludDMyX3QsIFdlYkNvcmU6OlNjcmVlblByb3BlcnRpZXM+IHNjcmVlblByb3BlcnRpZXMp
OworICAgIFNldFNjcmVlblByb3BlcnRpZXMoSGFzaE1hcDx1aW50MzJfdCwgV2ViQ29yZTo6U2Ny
ZWVuUHJvcGVydGllcz4gc2NyZWVuUHJvcGVydGllcykKKyAgICBTY3JvbGxlclN0eWxlUHJlZmVy
ZW5jZUNoYW5nZWQoYm9vbCB1c2VPdmVsYXlTY3JvbGxiYXJzKQogI2VuZGlmCiB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0J
KHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTU3LDggKzU3LDEyIEBACiAjaW1wb3J0
IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9nSW5pdGlh
bGl6YXRpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvTWVtb3J5UmVsZWFzZS5oPgorI2ltcG9ydCA8
V2ViQ29yZS9OU1Njcm9sbGVySW1wRGV0YWlscy5oPgogI2ltcG9ydCA8V2ViQ29yZS9QZXJmb3Jt
YW5jZUxvZ2dpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
Lmg+CisjaWYgUExBVEZPUk0oTUFDKQorI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxiYXJUaGVtZU1h
Yy5oPgorI2VuZGlmCiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVOU1VSTEV4dHJhcy5oPgogI2lt
cG9ydCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KQEAgLTU1Niw0
ICs1NjAsMTcgQEAgdm9pZCBXZWJQcm9jZXNzOjphY2Nlc3NpYmlsaXR5UHJvY2Vzc1N1cwogfQog
I2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNDAwCit2b2lkIFdlYlByb2Nlc3M6OnNjcm9sbGVyU3R5bGVQcmVmZXJlbmNl
Q2hhbmdlZChib29sIHVzZU92ZXJsYXlTY3JvbGxiYXJzKQoreworICAgIFNjcm9sbGVyU3R5bGU6
OnNldFVzZU92ZXJsYXlTY3JvbGxiYXJzKHVzZU92ZXJsYXlTY3JvbGxiYXJzKTsKKworICAgIFNj
cm9sbGJhclRoZW1lJiB0aGVtZSA9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpOworICAgIGlmICh0
aGVtZS5pc01vY2tUaGVtZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBzdGF0aWNfY2FzdDxT
Y3JvbGxiYXJUaGVtZU1hYyY+KHRoZW1lKS5wcmVmZXJlbmNlc0NoYW5nZWQoKTsKK30KKyNlbmRp
ZiAgICAKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334829</attachid>
            <date>2018-03-01 11:32:33 -0800</date>
            <delta_ts>2018-03-01 12:55:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183231-20180301113232.patch</filename>
            <type>text/plain</type>
            <size>18460</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE4LTAzLTAxICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBTY3JvbGxiYXIgcHJlZmVy
ZW5jZXMgYXJlIGlnbm9yZWQgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGRvZXNuJ3QgaGF2
ZSBhY2Nlc3MgdG8gdGhlIFdpbmRvd1NlcnZlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzIzMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzc3
OTM0NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFdp
bmRvd1NlcnZlciwgdGhlIHNjcm9sbGJhcnMgYXJlIGFsd2F5cyBvZiB0aGUgb3ZlcmxheSB0eXBl
LgorICAgICAgICBUaGUgbm90aWZpY2F0aW9uIGFib3V0IHNjcm9sbGJhciBwcmVmZXJlbmNlcyBp
cyBuZXZlciByZWNlaXZlZCBieSB0aGUgV2ViQ29udGVudCBwcm9jZXNzIHdoZW4gdGhlcmUgaXMg
bm8KKyAgICAgICAgV2luZG93U2VydmVyIGFjY2Vzcy4gVGhpcyBjYW4gYmUgZml4ZWQgYnkgYWRk
aW5nIGFuIG9ic2VydmVyIG9mIHNjcm9sbGJhciBwcmVmZXJlbmNlcyBpbiB0aGUgVUkgcHJvY2Vz
cywgYW5kCisgICAgICAgIG5vdGlmeWluZyB0aGUgV2ViUHJvY2VzcyBhYm91dCB0aGlzIGJ5IHNl
bmRpbmcgaXQgYSBtZXNzYWdlLiBUaGlzIG1lc3NhZ2Ugc2hvdWxkIGFsc28gY29udGFpbiB0aGUg
cHJlZmVycmVkCisgICAgICAgIHNjcm9sbGJhciB0eXBlLCBzaW5jZSB0aGUgY2FsbCAnW05TU2Ny
b2xsZXIgcHJlZmVycmVkU2Nyb2xsZXJTdHlsZV0nIHdpbGwgYWx3YXlzIHJldHVybiB0aGUgb3Zl
cmxheSBzdHlsZSB3aGVuCisgICAgICAgIHRoZXJlIGlzIG5vIFdpbmRvd1NlcnZlciBhY2Nlc3Mu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9OU1Njcm9sbGVySW1wRGV0YWlscy5oOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9OU1Njcm9sbGVySW1wRGV0YWlscy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGVyU3R5
bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxl
clN0eWxlOjpzZXRVc2VPdmVybGF5U2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpyZWNv
bW1lbmRlZFNjcm9sbGVyU3R5bGUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9T
Y3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFj
OjpTY3JvbGxBbmltYXRvck1hYyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1h
Yzo6bW91c2VFbnRlcmVkU2Nyb2xsYmFyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yTWFjOjptb3VzZUV4aXRlZFNjcm9sbGJhciBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvck1hYzo6c2hvdWxkU2Nyb2xsYmFyUGFydGljaXBhdGVJbkhpdFRl
c3RpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjpyZWdpc3RlclNjcm9sbGJhcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6c2Nyb2xsYmFyVGhpY2tuZXNzKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjp1c2VzT3ZlcmxheVNjcm9sbGJh
cnNDaGFuZ2VkKToKKwogMjAxOC0wMy0wMSAgQ2hyaXN0b3BoZXIgUmVpZCAgPGNocmlzLnJlaWRA
c29ueS5jb20+CiAKICAgICAgICAgW0N1cmxdIExpbmtlciBlcnJvcnMgaW4gc29tZSBjdXJsIGZp
bGVzIGR1ZSB0byBtaXNzaW5nIGV4cG9ydHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyOTEzMikKKysrIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtMjUxNSw3ICsyNTE1LDcgQEAKIAkJOTM0Q0MxMEEwRURCMjIzOTAwQTY1OEYyIC8q
IFNjcmlwdFNvdXJjZUNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzNENDMTA5MEVEQjIyMzkwMEE2NThGMiAvKiBTY3JpcHRTb3VyY2VDb2RlLmgg
Ki87IH07CiAJCTkzNEY3MTNBMEQ1QTZGMTAwMDAxOEQ2OSAvKiBBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzNEY3MTM5MEQ1QTZGMTAwMDAxOEQ2OSAvKiBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUJhc2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5MzRG
NzEzQzBENUE2RjE5MDAwMThENjkgLyogUmVzb3VyY2VFcnJvckJhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNEY3MTNCMEQ1QTZGMTkwMDAxOEQ2
OSAvKiBSZXNvdXJjZUVycm9yQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0JCTkzNTAwRjMyMTNGREUzQkUwMDk5RUMyNCAvKiBOU1Njcm9sbGVy
SW1wRGV0YWlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTM1MDBGMzExM0ZERTNCRTAwOTlFQzI0IC8qIE5TU2Nyb2xsZXJJbXBEZXRhaWxzLmggKi87
IH07CisJCTkzNTAwRjMyMTNGREUzQkUwMDk5RUMyNCAvKiBOU1Njcm9sbGVySW1wRGV0YWlscy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTM1MDBGMzEx
M0ZERTNCRTAwOTlFQzI0IC8qIE5TU2Nyb2xsZXJJbXBEZXRhaWxzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTM1MjA3QkUwOUJENDEwQTAwRjIw
MzhEIC8qIExvY2FsaXplZFN0cmluZ3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDkzNTIwN0JEMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2NhbGl6ZWRTdHJp
bmdzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
OTM1QzQ3NjMwOUFDNENFNjAwQTZBQUI0IC8qIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNUM0NzYy
MDlBQzRDRTYwMEE2QUFCNCAvKiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmggKi87IH07
CiAJCTkzNUM0NzY4MDlBQzRENDMwMEE2QUFCNCAvKiBQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNUM0NzY2MDlB
QzRENDMwMEE2QUFCNCAvKiBQbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjY2NTMsNiArMjY2NTMsNyBAQAog
CQkJCTI5QTgxMjMxMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCBp
biBIZWFkZXJzICovLAogCQkJCUE5MUM5RkJGMUI2NTg2REUwMEFGRkQ1NCAvKiBBY2Nlc3NpYmls
aXR5VHJlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTkxQzlGQzMxQjY1OUE2NzAwQUZGRDU0IC8q
IEFjY2Vzc2liaWxpdHlUcmVlSXRlbS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTlGMkUwRUIyMDQ3
NUNERTAwNTEyODU1IC8qIEFjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk3QzUyMjI5OTFFMURBRTFDMDAyQ0I4RjcgLyogQWN0aXZlRE9NQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdDRDBCQTA1MUI4Rjc5QzkwMDVDRUJCRSAvKiBBY3RpdmVET01DYWxs
YmFja01pY3JvdGFzay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDNERFNjkwRUE3NUMxRTAwMjND
Q0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzAyOCw3ICsyNzAy
OSw2IEBACiAJCQkJNTEyMEJCQUYxRjFDRUNFNzAwRUZFQkYxIC8qIENvb2tpZVN0b3JhZ2VPYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc0NkFGMjExNEY0RERFNjAwM0U3QTcxIC8qIENv
b3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzRjgwMjAzNTFFOUU0N0JGMDBERUM2MUQg
LyogQ29yZUF1ZGlvQ2FwdHVyZURldmljZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQTlGMkUwRUIy
MDQ3NUNERTAwNTEyODU1IC8qIEFjY2Vzc2libGVTZXRWYWx1ZUV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQkzRjgwMjAzNzFFOUU0N0M1MDBERUM2MUQgLyogQ29yZUF1ZGlvQ2FwdHVyZURldmlj
ZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3QUZGNDIyMUVGQjE0NDkwMEI1NDVCMyAv
KiBDb3JlQXVkaW9DYXB0dXJlU291cmNlSU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDdEMzM0
ODFDN0ExNkJGMDAwNDEyOTMgLyogQ29yZVZpZGVvU29mdExpbmsuaCBpbiBIZWFkZXJzICovLApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBE
ZXRhaWxzLmgJKHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9OU1Njcm9sbGVySW1wRGV0YWlscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw5ICsyNywxOSBAQAogCiAjaWYg
VVNFKEFQUEtJVCkKIAorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLU5TU2Nyb2xsZXJTdHlsZSByZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKTsKK2Ns
YXNzIFNjcm9sbGVyU3R5bGUgeworcHVibGljOgorICAgIHN0YXRpYyBOU1Njcm9sbGVyU3R5bGUg
cmVjb21tZW5kZWRTY3JvbGxlclN0eWxlKCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
dm9pZCBzZXRVc2VPdmVybGF5U2Nyb2xsYmFycyhib29sKTsKKyAgICAKK3ByaXZhdGU6CisgICAg
c3RhdGljIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gbV91c2VPdmVybGF5U2Nyb2xsYmFyczsKK307CiAK
IH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRh
aWxzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9OU1Njcm9s
bGVySW1wRGV0YWlscy5tbQkocmV2aXNpb24gMjI5MTMyKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL05TU2Nyb2xsZXJJbXBEZXRhaWxzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwx
MyArMzQsMjMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1OU1Njcm9sbGVyU3R5bGUgcmVj
b21tZW5kZWRTY3JvbGxlclN0eWxlKCkKK3N0ZDo6b3B0aW9uYWw8Ym9vbD4gU2Nyb2xsZXJTdHls
ZTo6bV91c2VPdmVybGF5U2Nyb2xsYmFyczsKKworTlNTY3JvbGxlclN0eWxlIFNjcm9sbGVyU3R5
bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpCiB7CisgICAgaWYgKG1fdXNlT3ZlcmxheVNj
cm9sbGJhcnMuaGFzX3ZhbHVlKCkpCisgICAgICAgIHJldHVybiAqbV91c2VPdmVybGF5U2Nyb2xs
YmFycyA/IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXkgOiBOU1Njcm9sbGVyU3R5bGVMZWdhY3k7Cisg
ICAgCiAgICAgaWYgKERlcHJlY2F0ZWRHbG9iYWxTZXR0aW5nczo6dXNlc092ZXJsYXlTY3JvbGxi
YXJzKCkpCiAgICAgICAgIHJldHVybiBOU1Njcm9sbGVyU3R5bGVPdmVybGF5OwogICAgIHJldHVy
biBbTlNTY3JvbGxlciBwcmVmZXJyZWRTY3JvbGxlclN0eWxlXTsKIH0KIAordm9pZCBTY3JvbGxl
clN0eWxlOjpzZXRVc2VPdmVybGF5U2Nyb2xsYmFycyhib29sIHVzZU92ZXJsYXlTY3JvbGxiYXJz
KQoreworICAgIG1fdXNlT3ZlcmxheVNjcm9sbGJhcnMgPSB1c2VPdmVybGF5U2Nyb2xsYmFyczsK
K30KKwogfQogCiAjZW5kaWYgLy8gVVNFKEFQUEtJVCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0JKHJldmlzaW9uIDIyOTEzMikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQkod29y
a2luZyBjb3B5KQpAQCAtNjM1LDcgKzYzNSw3IEBAIFNjcm9sbEFuaW1hdG9yTWFjOjpTY3JvbGxB
bmltYXRvck1hYyhTY3IKICAgICBtX3Njcm9sbGVySW1wUGFpckRlbGVnYXRlID0gYWRvcHROUyhb
W1dlYlNjcm9sbGVySW1wUGFpckRlbGVnYXRlIGFsbG9jXSBpbml0V2l0aFNjcm9sbGFibGVBcmVh
OiZzY3JvbGxhYmxlQXJlYV0pOwogICAgIG1fc2Nyb2xsZXJJbXBQYWlyID0gYWRvcHROUyhbW05T
U2Nyb2xsZXJJbXBQYWlyIGFsbG9jXSBpbml0XSk7CiAgICAgW21fc2Nyb2xsZXJJbXBQYWlyIHNl
dERlbGVnYXRlOm1fc2Nyb2xsZXJJbXBQYWlyRGVsZWdhdGUuZ2V0KCldOwotICAgIFttX3Njcm9s
bGVySW1wUGFpciBzZXRTY3JvbGxlclN0eWxlOnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpXTsK
KyAgICBbbV9zY3JvbGxlckltcFBhaXIgc2V0U2Nyb2xsZXJTdHlsZTpTY3JvbGxlclN0eWxlOjpy
ZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKV07CiB9CiAKIFNjcm9sbEFuaW1hdG9yTWFjOjp+U2Ny
b2xsQW5pbWF0b3JNYWMoKQpAQCAtODE1LDcgKzgxNSw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JN
YWM6Om1vdXNlTW92ZWRJbkNvbnQKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Om1vdXNlRW50ZXJl
ZFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikgY29uc3QKIHsKICAgICAvLyBBdCB0aGlz
IHRpbWUsIG9ubHkgbGVnYWN5IHNjcm9sbGJhcnMgbmVlZHMgdG8gc2VuZCBub3RpZmljYXRpb25z
IGhlcmUuCi0gICAgaWYgKHJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpICE9IE5TU2Nyb2xsZXJT
dHlsZUxlZ2FjeSkKKyAgICBpZiAoU2Nyb2xsZXJTdHlsZTo6cmVjb21tZW5kZWRTY3JvbGxlclN0
eWxlKCkgIT0gTlNTY3JvbGxlclN0eWxlTGVnYWN5KQogICAgICAgICByZXR1cm47CiAKICAgICBp
ZiAoW21fc2Nyb2xsZXJJbXBQYWlyIG92ZXJsYXlTY3JvbGxlclN0YXRlSXNMb2NrZWRdKQpAQCAt
ODI4LDcgKzgyOCw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Om1vdXNlRW50ZXJlZFNjcm8K
IHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6Om1vdXNlRXhpdGVkU2Nyb2xsYmFyKFNjcm9sbGJhciog
c2Nyb2xsYmFyKSBjb25zdAogewogICAgIC8vIEF0IHRoaXMgdGltZSwgb25seSBsZWdhY3kgc2Ny
b2xsYmFycyBuZWVkcyB0byBzZW5kIG5vdGlmaWNhdGlvbnMgaGVyZS4KLSAgICBpZiAocmVjb21t
ZW5kZWRTY3JvbGxlclN0eWxlKCkgIT0gTlNTY3JvbGxlclN0eWxlTGVnYWN5KQorICAgIGlmIChT
Y3JvbGxlclN0eWxlOjpyZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKSAhPSBOU1Njcm9sbGVyU3R5
bGVMZWdhY3kpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChbbV9zY3JvbGxlckltcFBhaXIg
b3ZlcmxheVNjcm9sbGVyU3RhdGVJc0xvY2tlZF0pCkBAIC0xMDQ3LDcgKzEwNDcsNyBAQCB2b2lk
IFNjcm9sbEFuaW1hdG9yTWFjOjpob3Jpem9udGFsU2Nyb2xsCiBib29sIFNjcm9sbEFuaW1hdG9y
TWFjOjpzaG91bGRTY3JvbGxiYXJQYXJ0aWNpcGF0ZUluSGl0VGVzdGluZyhTY3JvbGxiYXIqIHNj
cm9sbGJhcikKIHsKICAgICAvLyBOb24tb3ZlcmxheSBzY3JvbGxiYXJzIHNob3VsZCBhbHdheXMg
cGFydGljaXBhdGUgaW4gaGl0IHRlc3RpbmcuCi0gICAgaWYgKHJlY29tbWVuZGVkU2Nyb2xsZXJT
dHlsZSgpICE9IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXkpCisgICAgaWYgKFNjcm9sbGVyU3R5bGU6
OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpICE9IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKHNjcm9sbGJhci0+aXNBbHBoYUxvY2tlZCgp
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1l
TWFjLmgJKHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxiYXJUaGVtZU1hYy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBAIHB1Ymxp
YzoKICAgICBTY3JvbGxiYXJUaGVtZU1hYygpOwogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1l
TWFjKCk7CiAKLSAgICB2b2lkIHByZWZlcmVuY2VzQ2hhbmdlZCgpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgcHJlZmVyZW5jZXNDaGFuZ2VkKCk7CiAKICAgICB2b2lkIHVwZGF0ZUVuYWJsZWRT
dGF0ZShTY3JvbGxiYXImKSBvdmVycmlkZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQkocmV2aXNpb24gMjI5MTMyKQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzEsNyArMTcxLDcgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cmVnaXN0
ZXJTY3JvbGxiYQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIGlzSG9yaXpvbnRhbCA9IHNj
cm9sbGJhci5vcmllbnRhdGlvbigpID09IEhvcml6b250YWxTY3JvbGxiYXI7Ci0gICAgTlNTY3Jv
bGxlckltcCAqc2Nyb2xsZXJJbXAgPSBbTlNTY3JvbGxlckltcCBzY3JvbGxlckltcFdpdGhTdHls
ZTpyZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUoKSBjb250cm9sU2l6ZTpzY3JvbGxiYXJDb250cm9s
U2l6ZVRvTlNDb250cm9sU2l6ZShzY3JvbGxiYXIuY29udHJvbFNpemUoKSkgaG9yaXpvbnRhbDpp
c0hvcml6b250YWwgcmVwbGFjaW5nU2Nyb2xsZXJJbXA6bmlsXTsKKyAgICBOU1Njcm9sbGVySW1w
ICpzY3JvbGxlckltcCA9IFtOU1Njcm9sbGVySW1wIHNjcm9sbGVySW1wV2l0aFN0eWxlOlNjcm9s
bGVyU3R5bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpIGNvbnRyb2xTaXplOnNjcm9sbGJh
ckNvbnRyb2xTaXplVG9OU0NvbnRyb2xTaXplKHNjcm9sbGJhci5jb250cm9sU2l6ZSgpKSBob3Jp
em9udGFsOmlzSG9yaXpvbnRhbCByZXBsYWNpbmdTY3JvbGxlckltcDpuaWxdOwogICAgIHNjcm9s
bGJhck1hcCgpLT5hZGQoJnNjcm9sbGJhciwgc2Nyb2xsZXJJbXApOwogICAgIGRpZENyZWF0ZVNj
cm9sbGVySW1wKHNjcm9sbGJhcik7CiAgICAgdXBkYXRlRW5hYmxlZFN0YXRlKHNjcm9sbGJhcik7
CkBAIC0yNDcsNyArMjQ3LDcgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cHJlZmVyZW5jZXND
aGFuZwogaW50IFNjcm9sbGJhclRoZW1lTWFjOjpzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFy
Q29udHJvbFNpemUgY29udHJvbFNpemUsIFNjcm9sbGJhckV4cGFuc2lvblN0YXRlIGV4cGFuc2lv
blN0YXRlKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKLSAgICBOU1Njcm9s
bGVySW1wICpzY3JvbGxlckltcCA9IFtOU1Njcm9sbGVySW1wIHNjcm9sbGVySW1wV2l0aFN0eWxl
OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpIGNvbnRyb2xTaXplOnNjcm9sbGJhckNvbnRyb2xT
aXplVG9OU0NvbnRyb2xTaXplKGNvbnRyb2xTaXplKSBob3Jpem9udGFsOk5PIHJlcGxhY2luZ1Nj
cm9sbGVySW1wOm5pbF07CisgICAgTlNTY3JvbGxlckltcCAqc2Nyb2xsZXJJbXAgPSBbTlNTY3Jv
bGxlckltcCBzY3JvbGxlckltcFdpdGhTdHlsZTpTY3JvbGxlclN0eWxlOjpyZWNvbW1lbmRlZFNj
cm9sbGVyU3R5bGUoKSBjb250cm9sU2l6ZTpzY3JvbGxiYXJDb250cm9sU2l6ZVRvTlNDb250cm9s
U2l6ZShjb250cm9sU2l6ZSkgaG9yaXpvbnRhbDpOTyByZXBsYWNpbmdTY3JvbGxlckltcDpuaWxd
OwogICAgIFtzY3JvbGxlckltcCBzZXRFeHBhbmRlZDooZXhwYW5zaW9uU3RhdGUgPT0gU2Nyb2xs
YmFyRXhwYW5zaW9uU3RhdGU6OkV4cGFuZGVkKV07CiAgICAgcmV0dXJuIFtzY3JvbGxlckltcCB0
cmFja0JveFdpZHRoXTsKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwpAQCAtMjYwLDcg
KzI2MCw3IEBAIGJvb2wgU2Nyb2xsYmFyVGhlbWVNYWM6OnVzZXNPdmVybGF5U2Nyb2wKIAogdm9p
ZCBTY3JvbGxiYXJUaGVtZU1hYzo6dXNlc092ZXJsYXlTY3JvbGxiYXJzQ2hhbmdlZCgpCiB7Ci0g
ICAgZ1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IHJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpID09
IE5TU2Nyb2xsZXJTdHlsZU92ZXJsYXk7CisgICAgZ1VzZXNPdmVybGF5U2Nyb2xsYmFycyA9IFNj
cm9sbGVyU3R5bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpID09IE5TU2Nyb2xsZXJTdHls
ZU92ZXJsYXk7CiB9CiAKIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnVwZGF0ZVNjcm9sbGJhck92
ZXJsYXlTdHlsZShTY3JvbGxiYXImIHNjcm9sbGJhcikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
MjkxMzIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI5IEBACisyMDE4LTAzLTAxICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBTY3JvbGxiYXIgcHJlZmVyZW5jZXMgYXJlIGlnbm9yZWQgd2hlbiB0aGUg
V2ViQ29udGVudCBwcm9jZXNzIGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFdpbmRvd1NlcnZl
ci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzIz
MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzc3OTM0NTc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNz
IGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFdpbmRvd1NlcnZlciwgdGhlIHNjcm9sbGJhcnMg
YXJlIGFsd2F5cyBvZiB0aGUgb3ZlcmxheSB0eXBlLgorICAgICAgICBUaGUgbm90aWZpY2F0aW9u
IGFib3V0IHNjcm9sbGJhciBwcmVmZXJlbmNlcyBpcyBuZXZlciByZWNlaXZlZCBieSB0aGUgV2Vi
Q29udGVudCBwcm9jZXNzIHdoZW4gdGhlcmUgaXMgbm8KKyAgICAgICAgV2luZG93U2VydmVyIGFj
Y2Vzcy4gVGhpcyBjYW4gYmUgZml4ZWQgYnkgYWRkaW5nIGFuIG9ic2VydmVyIG9mIHNjcm9sbGJh
ciBwcmVmZXJlbmNlcyBpbiB0aGUgVUkgcHJvY2VzcywgYW5kCisgICAgICAgIG5vdGlmeWluZyB0
aGUgV2ViUHJvY2VzcyBhYm91dCB0aGlzIGJ5IHNlbmRpbmcgaXQgYSBtZXNzYWdlLiBUaGlzIG1l
c3NhZ2Ugc2hvdWxkIGFsc28gY29udGFpbiB0aGUgcHJlZmVycmVkCisgICAgICAgIHNjcm9sbGJh
ciB0eXBlLCBzaW5jZSB0aGUgY2FsbCAnW05TU2Nyb2xsZXIgcHJlZmVycmVkU2Nyb2xsZXJTdHls
ZV0nIHdpbGwgYWx3YXlzIHJldHVybiB0aGUgb3ZlcmxheSBzdHlsZSB3aGVuCisgICAgICAgIHRo
ZXJlIGlzIG5vIFdpbmRvd1NlcnZlciBhY2Nlc3MuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNz
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnNjcm9sbGVy
U3R5bGVQcmVmZXJlbmNlQ2hhbmdlZCk6CisKIDIwMTgtMDMtMDEgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIyMTUxNCk6
IFtHVEtdIFVJIHByb2Nlc3MgY3Jhc2ggaW4gV2ViS2l0OjpXYXlsYW5kQ29tcG9zaXRvcjo6U3Vy
ZmFjZTo6Zmx1c2hQZW5kaW5nRnJhbWVDYWxsYmFja3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24gMjI5MTMyKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNTgyLDYgKzU4
Miw5IEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPE5TT2JqZWN0PiBtX2F1dG9tYXRpY1NwZWxs
aW5nQ29ycmVjdGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyOwogICAgIFJldGFpblB0cjxOU09iamVj
dD4gbV9hdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyOwogICAg
IFJldGFpblB0cjxOU09iamVjdD4gbV9hdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uTm90aWZpY2F0
aW9uT2JzZXJ2ZXI7CisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0
MDAKKyAgICBSZXRhaW5QdHI8TlNPYmplY3Q+IG1fc2Nyb2xsZXJTdHlsZU5vdGlmaWNhdGlvbk9i
c2VydmVyOworI2VuZGlmCiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SGlnaFBlcmZvcm1hbmNlR3Jh
cGhpY3NVc2FnZVNhbXBsZXI+IG1faGlnaFBlcmZvcm1hbmNlR3JhcGhpY3NVc2FnZVNhbXBsZXI7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFBlckFjdGl2aXR5U3RhdGVDUFVVc2FnZVNhbXBsZXI+IG1f
cGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlU2FtcGxlcjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQkocmV2aXNpb24g
MjI5MTMyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xD
b2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTU4LDYgKzU1OCwxNSBAQCB2b2lkIFdlYlByb2Nl
c3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvCiAgICAgICAgIFRleHRDaGVja2VyOjpkaWRDaGFu
Z2VBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCgpOwogICAgICAgICB0ZXh0Q2hlY2tl
clN0YXRlQ2hhbmdlZCgpOwogICAgIH1dOworCisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDE0MDAKKyAgICBtX3Njcm9sbGVyU3R5bGVOb3RpZmljYXRpb25PYnNlcnZl
ciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JO
YW1lOk5TUHJlZmVycmVkU2Nyb2xsZXJTdHlsZURpZENoYW5nZU5vdGlmaWNhdGlvbiBvYmplY3Q6
bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5T
Tm90aWZpY2F0aW9uICpub3RpZmljYXRpb24pIHsKKyAgICAgICAgYXV0byBzY3JvbGxiYXJTdHls
ZSA9IFtOU1Njcm9sbGVyIHByZWZlcnJlZFNjcm9sbGVyU3R5bGVdOworICAgICAgICBmb3IgKGF1
dG8mIHByb2Nlc3NQb29sIDogV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xz
KCkpCisgICAgICAgICAgICBwcm9jZXNzUG9vbC0+c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2Vz
OjpXZWJQcm9jZXNzOjpTY3JvbGxlclN0eWxlUHJlZmVyZW5jZUNoYW5nZWQoc2Nyb2xsYmFyU3R5
bGUpKTsKKyAgICB9XTsKKyNlbmRpZgorCiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKIH0KIApA
QCAtNTY5LDYgKzU3OCw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmlj
YXQKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2Vy
dmVyOm1fYXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0
KCldOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2Jz
ZXJ2ZXI6bV9hdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyLmdl
dCgpXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9i
c2VydmVyOm1fYXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyLmdl
dCgpXTsKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMAorICAg
IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9z
Y3JvbGxlclN0eWxlTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOworI2VuZGlmCiAjZW5kaWYg
Ly8gIVBMQVRGT1JNKElPUykKIH0KIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oCShyZXZpc2lvbiAyMjkxMzIpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNzIsNiArMzcyLDcgQEAgcHJpdmF0ZToKIAog
I2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE0MDAKICAgICB2b2lkIHNldFNjcmVlblByb3BlcnRpZXMoY29uc3QgSGFzaE1hcDx1aW50MzJf
dCwgV2ViQ29yZTo6U2NyZWVuUHJvcGVydGllcz4mKTsKKyAgICB2b2lkIHNjcm9sbGVyU3R5bGVQ
cmVmZXJlbmNlQ2hhbmdlZChib29sIHVzZU92ZXJsYXlTY3JvbGxiYXJzKTsKICNlbmRpZgogCiAg
ICAgUmVmUHRyPFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcz4gbV93ZWJDb25uZWN0aW9uOwpJbmRl
eDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4J
KHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsNiArMTI2LDcgQEAgbWVzc2FnZXMg
LT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgTWVzc2FnZXNBdmFpbGFibGVGb3JQ
b3J0KHN0cnVjdCBXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50aWZpZXIgcG9ydCkKIAogI2lmIFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAK
LSAgICBTZXRTY3JlZW5Qcm9wZXJ0aWVzKEhhc2hNYXA8dWludDMyX3QsIFdlYkNvcmU6OlNjcmVl
blByb3BlcnRpZXM+IHNjcmVlblByb3BlcnRpZXMpOworICAgIFNldFNjcmVlblByb3BlcnRpZXMo
SGFzaE1hcDx1aW50MzJfdCwgV2ViQ29yZTo6U2NyZWVuUHJvcGVydGllcz4gc2NyZWVuUHJvcGVy
dGllcykKKyAgICBTY3JvbGxlclN0eWxlUHJlZmVyZW5jZUNoYW5nZWQoYm9vbCB1c2VPdmVsYXlT
Y3JvbGxiYXJzKQogI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDIyOTEzMikKKysrIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTU3LDYgKzU3LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9Mb2dJbml0aWFsaXphdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9NZW1vcnlSZWxlYXNlLmg+CisjaW1wb3J0IDxXZWJDb3JlL05TU2Nyb2xsZXJJbXBEZXRhaWxz
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BlcmZvcm1hbmNlTG9nZ2luZy5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29y
ZU5TVVJMRXh0cmFzLmg+CkBAIC03Niw2ICs3NywxMCBAQAogI2ltcG9ydCA8VUlLaXQvVUlBY2Nl
c3NpYmlsaXR5Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+
CiAKKyNpZiBQTEFURk9STShNQUMpCisjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbGJhclRoZW1lTWFj
Lmg+CisjZW5kaWYKKwogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAjaW1wb3J0IDxBWFJ1
bnRpbWUvQVhEZWZpbmVzLmg+CiAjaW1wb3J0IDxBWFJ1bnRpbWUvQVhOb3RpZmljYXRpb25Db25z
dGFudHMuaD4KQEAgLTU1Niw0ICs1NjEsMTcgQEAgdm9pZCBXZWJQcm9jZXNzOjphY2Nlc3NpYmls
aXR5UHJvY2Vzc1N1cwogfQogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCit2b2lkIFdlYlByb2Nlc3M6OnNjcm9s
bGVyU3R5bGVQcmVmZXJlbmNlQ2hhbmdlZChib29sIHVzZU92ZXJsYXlTY3JvbGxiYXJzKQorewor
ICAgIFNjcm9sbGVyU3R5bGU6OnNldFVzZU92ZXJsYXlTY3JvbGxiYXJzKHVzZU92ZXJsYXlTY3Jv
bGxiYXJzKTsKKworICAgIFNjcm9sbGJhclRoZW1lJiB0aGVtZSA9IFNjcm9sbGJhclRoZW1lOjp0
aGVtZSgpOworICAgIGlmICh0aGVtZS5pc01vY2tUaGVtZSgpKQorICAgICAgICByZXR1cm47CisK
KyAgICBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZU1hYyY+KHRoZW1lKS5wcmVmZXJlbmNlc0No
YW5nZWQoKTsKK30KKyNlbmRpZiAgICAKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="commit-queue"
          id="353550"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>