<?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>180362</bug_id>
          
          <creation_ts>2017-12-04 09:43:01 -0800</creation_ts>
          <short_desc>Get a directory path to SWServers for storing ServiceWorker registrations</short_desc>
          <delta_ts>2017-12-04 17:19:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>Other</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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>berto</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377727</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-12-04 09:43:01 -0800</bug_when>
    <thetext>Get a directory path to SWServers for storing ServiceWorker registrations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377735</commentid>
    <comment_count>1</comment_count>
      <attachid>328356</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-12-04 10:07:31 -0800</bug_when>
    <thetext>Created attachment 328356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377738</commentid>
    <comment_count>2</comment_count>
      <attachid>328356</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-12-04 10:11:37 -0800</bug_when>
    <thetext>Comment on attachment 328356
Patch

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

r=me

&gt; Source/WebKit/ChangeLog:10
&gt; +

Extra blank line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377803</commentid>
    <comment_count>3</comment_count>
      <attachid>328370</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-12-04 12:01:06 -0800</bug_when>
    <thetext>Created attachment 328370
PFL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377806</commentid>
    <comment_count>4</comment_count>
      <attachid>328372</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-12-04 12:08:56 -0800</bug_when>
    <thetext>Created attachment 328372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377808</commentid>
    <comment_count>5</comment_count>
      <attachid>328372</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-12-04 12:09:13 -0800</bug_when>
    <thetext>Comment on attachment 328372
Patch

Waiting for Linux builds on EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377812</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2017-12-04 12:10:18 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377883</commentid>
    <comment_count>7</comment_count>
      <attachid>328372</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-04 13:50:34 -0800</bug_when>
    <thetext>Comment on attachment 328372
Patch

Clearing flags on attachment: 328372

Committed r225490: &lt;https://trac.webkit.org/changeset/225490&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377884</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-04 13:50:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377885</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-04 13:51:48 -0800</bug_when>
    <thetext>&lt;rdar://problem/35838345&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377993</commentid>
    <comment_count>10</comment_count>
      <attachid>328372</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-04 16:42:36 -0800</bug_when>
    <thetext>Comment on attachment 328372
Patch

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

&gt; Source/WebKit/StorageProcess/StorageProcess.cpp:390
&gt; +    ASSERT(!path.isEmpty());

This assertion is hit in case of private browsing mode, at least the private browsing mode used by rwt which changes Document sessionID to emptySessionID.
See https://build.webkit.org/results/Apple%20iOS%2011%20Simulator%20Debug%20WK2%20(Tests)/r225492%20(1416)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377996</commentid>
    <comment_count>11</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-12-04 16:44:13 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #10)
&gt; Comment on attachment 328372 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=328372&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/StorageProcess/StorageProcess.cpp:390
&gt; &gt; +    ASSERT(!path.isEmpty());
&gt; 
&gt; This assertion is hit in case of private browsing mode, at least the private
&gt; browsing mode used by rwt which changes Document sessionID to emptySessionID.
&gt; See
&gt; https://build.webkit.org/results/
&gt; Apple%20iOS%2011%20Simulator%20Debug%20WK2%20(Tests)/r225492%20(1416)/
&gt; results.html

Yup, that&apos;s totally 100% expected. I wasn&apos;t aware any tests ran in private browsing yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378004</commentid>
    <comment_count>12</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-12-04 16:51:24 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378005</commentid>
    <comment_count>13</comment_count>
      <attachid>328412</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-12-04 16:51:25 -0800</bug_when>
    <thetext>Created attachment 328412
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378006</commentid>
    <comment_count>14</comment_count>
      <attachid>328413</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-12-04 16:52:07 -0800</bug_when>
    <thetext>Created attachment 328413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378019</commentid>
    <comment_count>15</comment_count>
      <attachid>328413</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-04 17:19:29 -0800</bug_when>
    <thetext>Comment on attachment 328413
Patch

Clearing flags on attachment: 328413

Committed r225510: &lt;https://trac.webkit.org/changeset/225510&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378020</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-04 17:19:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328356</attachid>
            <date>2017-12-04 10:07:31 -0800</date>
            <delta_ts>2017-12-04 12:08:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180362-20171204100730.patch</filename>
            <type>text/plain</type>
            <size>23684</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDliYWJmNTg1YWVlZDI3
YmNmODc5OGY4YzQ3NjU1ZGIzYzhhNzcxZC4uNGI1ZjUxNTdlOTc2NmRjOWZjMmIzZmNkNDdiNDRi
YTE4YzgwMDhiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTEyLTA0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgYSBkaXJlY3Rvcnkg
cGF0aCB0byBTV1NlcnZlcnMgZm9yIHN0b3JpbmcgU2VydmljZVdvcmtlciByZWdpc3RyYXRpb25z
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIChObyBvYnNlcnZhYmxlIGJlaGF2aW9yIGNoYW5nZSB5ZXQpLgorCisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
V1NlcnZlcjo6U1dTZXJ2ZXIpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuaDoKKwogMjAxNy0xMi0wMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAogICAgICAgICBXVEYgc2hvdWxkbid0IGhhdmUgYm90aCBUaHJlYWQgYW5kIFRocmVh
ZElkZW50aWZpZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZTVjNTEwMWFmZmRjMGI5NmViZWI4NDVjMmM5YTNiY2Fi
ZTkyZWQwZC4uYTY3ZmNmODgwZmQ5ZmRjOWExZWY0MmZiYzc4NzljZjM4YmRlOWY4ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0OCBAQAorMjAxNy0xMi0wNCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgR2V0IGEgZGlyZWN0b3J5IHBhdGggdG8gU1dTZXJ2ZXJzIGZv
ciBzdG9yaW5nIFNlcnZpY2VXb3JrZXIgcmVnaXN0cmF0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM2MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgZ2V0cyBhbGwgb2YgdGhlIHBsdW1i
aW5nIGluIHBsYWNlIGZvciBzcGVjaWZ5aW5nIGEgU2VydmljZVdvcmtlciByZWdpc3RyYXRpb24g
c3RvcmFnZSBwYXRoCisgICAgICAgIGluIGEgcGFydGljdWxhciBXZWJzaXRlRGF0YVN0b3JlLgor
CisKKyAgICAgICAgKiBTaGFyZWQvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvU3RvcmFnZS9TdG9yYWdl
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorCisgICAgICAgICogU3RvcmFnZVByb2Nlc3Mv
U3RvcmFnZVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzczo6aW5p
dGlhbGl6ZVdlYnNpdGVEYXRhU3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vz
czo6c3dTZXJ2ZXJGb3JTZXNzaW9uKToKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TdG9yYWdl
UHJvY2Vzcy5oOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24uY3BwOgorICAgICAgICAoQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNy
ZWF0ZVdpdGhMZWdhY3lPcHRpb25zKToKKyAgICAgICAgKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1
cmF0aW9uOjpjcmVhdGVXaXRoV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24pOgorICAgICAg
ICAoQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OlByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24u
aDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5oOgorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW06
CisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGlyZWN0b3J5KToKKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5
UGxhdGZvcm1EZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRpcmVjdG9yeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmVuc3VyZVN0b3JhZ2VQcm9j
ZXNzQW5kV2Vic2l0ZURhdGFTdG9yZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnJlc29sdmVEaXJlY3Rv
cmllc0lmTmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6c3Rv
cmFnZVByb2Nlc3NQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpy
ZXNvbHZlZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgY29uc3QpOgorCiAyMDE3
LTEyLTAzICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAg
IFdURiBzaG91bGRuJ3QgaGF2ZSBib3RoIFRocmVhZCBhbmQgVGhyZWFkSWRlbnRpZmllcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApp
bmRleCAwZTIzYTBjZWIzNTU5MjhiNThiZTQxNjUxOTVhN2Y1ZjNkNDkxYWJjLi44ZmRlZTdkMWZj
ZjZlZDExNDU2M2UxMzYxMDU0M2YyOGY0NDlmMGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApAQCAtMjAyLDkgKzIwMiwxMCBA
QCB2b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjpzeW5jVGVybWluYXRlV29ya2VyKFNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZQogICAgICAgICBtX3NlcnZlci5zeW5jVGVybWluYXRl
V29ya2VyKCp3b3JrZXIpOwogfQogCi1TV1NlcnZlcjo6U1dTZXJ2ZXIoVW5pcXVlUmVmPFNXT3Jp
Z2luU3RvcmU+JiYgb3JpZ2luU3RvcmUpCitTV1NlcnZlcjo6U1dTZXJ2ZXIoVW5pcXVlUmVmPFNX
T3JpZ2luU3RvcmU+JiYgb3JpZ2luU3RvcmUsIGNvbnN0IFN0cmluZyYgcmVnaXN0cmF0aW9uRGF0
YWJhc2VEaXJlY3RvcnkpCiAgICAgOiBtX29yaWdpblN0b3JlKFdURk1vdmUob3JpZ2luU3RvcmUp
KQogeworICAgIFVOVVNFRF9QQVJBTShyZWdpc3RyYXRpb25EYXRhYmFzZURpcmVjdG9yeSk7CiAg
ICAgYWxsU2VydmVycygpLmFkZCh0aGlzKTsKICAgICBtX3Rhc2tUaHJlYWQgPSBUaHJlYWQ6OmNy
ZWF0ZShBU0NJSUxpdGVyYWwoIlNlcnZpY2VXb3JrZXIgVGFzayBUaHJlYWQiKSwgW3RoaXNdIHsK
ICAgICAgICAgdGFza1RocmVhZEVudHJ5UG9pbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAppbmRleCBkYzZlZjczOTg5ZmFkOTZlZjMy
ZGFkMjdiYzRlOTI3MDJlZTM4YTc5Li43NDM1NzgwOTRhNjc5YjZmYTM3NTZkNTMyN2JlZDAzMzAw
ZDFmNDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlci5oCkBAIC0xMDQsNyArMTA0LDcgQEAgcHVibGljOgogICAgICAgICBJZGVudGlmaWVy
IG1faWRlbnRpZmllcjsKICAgICB9OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgU1dT
ZXJ2ZXIoVW5pcXVlUmVmPFNXT3JpZ2luU3RvcmU+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIGV4
cGxpY2l0IFNXU2VydmVyKFVuaXF1ZVJlZjxTV09yaWdpblN0b3JlPiYmLCBjb25zdCBTdHJpbmcm
IHJlZ2lzdHJhdGlvbkRhdGFiYXNlRGlyZWN0b3J5KTsKICAgICBXRUJDT1JFX0VYUE9SVCB+U1dT
ZXJ2ZXIoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY2xlYXJBbGwoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU3RvcmFnZS9TdG9yYWdlUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggNGZlMzQwNzhkY2Y2ZWViZDQ4NDk5YTRmNGY5
ODliNTU2OWM5N2YwNC4uOGU2NTRmM2Y1M2VkNTBmZmZlYTczMGM0YjZhOWRiZWUwMDMwZjI0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU3RvcmFnZS9T
dG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTM2LDIzICszNiwzMSBAQCBT
dG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6U3RvcmFnZVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMoKQogCiB2b2lkIFN0b3JhZ2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNv
ZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewotI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQogICAgIGVuY29kZXIgPDwgc2Vzc2lvbklEOwotICAgIGVuY29kZXIgPDwgaW5kZXhl
ZERhdGFiYXNlRGlyZWN0b3J5OwotICAgIGVuY29kZXIgPDwgaW5kZXhlZERhdGFiYXNlRGlyZWN0
b3J5RXh0ZW5zaW9uSGFuZGxlOworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorICAgIGVu
Y29kZXIgPDwgaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5IDw8IGluZGV4ZWREYXRhYmFzZURpcmVj
dG9yeUV4dGVuc2lvbkhhbmRsZTsKKyNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
KyAgICBlbmNvZGVyIDw8IHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgPDwgc2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZTsKICNlbmRpZgog
fQogCiBib29sIFN0b3JhZ2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpE
ZWNvZGVyJiBkZWNvZGVyLCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcmVzdWx0
KQogewotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUocmVzdWx0LnNlc3Npb25JRCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyNpZiBFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5pbmRleGVk
RGF0YWJhc2VEaXJlY3RvcnkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShyZXN1bHQuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxl
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09S
S0VSKQorICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EaXJlY3RvcnkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShyZXN1bHQuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeUV4dGVuc2lv
bkhhbmRsZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogCiAgICAgcmV0dXJuIHRy
dWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TdG9yYWdlL1N0b3JhZ2VQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TdG9yYWdl
L1N0b3JhZ2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggNDFjMTk1ZjI5MmVmN2Vl
MTgzNzAzMjBlZTA0Yjc0OWQ5ZDcwYTA0Yy4uZjYwYjUwM2M3MGRkNzYzYTg0MmQzNmRlNjJlYzdk
MGI5NDE3NWQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvU3RvcmFnZS9TdG9y
YWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtNDksNiArNDks
MTEgQEAgc3RydWN0IFN0b3JhZ2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBTdHJp
bmcgaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5OwogICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZSBpbmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKKworI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBTdHJpbmcgc2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRpcmVjdG9yeTsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZTsKKyNlbmRpZgogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3Rv
cmFnZVByb2Nlc3MuY3BwCmluZGV4IDZlN2QwNjRkMmQxOThiNGI1NDczZDAxNzFhM2Y4YWEwY2Fm
ZDYwOTkuLmFkOTU5MGVlNWZlYzg2NDZhYTdkOWY0OWI1MzIyOWEyNTkwYmQ5ZGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwCkBAIC0xNDMs
MTQgKzE0MywyMiBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzOjppbml0aWFsaXplV2Vic2l0ZURhdGFT
dG9yZShjb25zdCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYQogICAgIC8vIElNUE9SVEFOVDog
RG8gbm90IGNoYW5nZSB0aGUgZGlyZWN0b3J5IHN0cnVjdHVyZSBmb3IgaW5kZXhlZCBkYXRhYmFz
ZXMgb24gZGlzayB3aXRob3V0IGZpcnN0IGNvbnN1bHRpbmcgYSByZXZpZXdlciBmcm9tIEFwcGxl
ICg8cmRhcjovL3Byb2JsZW0vMTc0NTQ3MTI+KQogICAgIC8vICoqKioqKioqKgogCi0gICAgYXV0
byBhZGRSZXN1bHQgPSBtX2lkYkRhdGFiYXNlUGF0aHMuYWRkKHBhcmFtZXRlcnMuc2Vzc2lvbklE
LCBTdHJpbmcoKSk7Ci0gICAgaWYgKCFhZGRSZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9IHBhcmFtZXRlcnMuaW5kZXhl
ZERhdGFiYXNlRGlyZWN0b3J5OwotICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5l
bnRseShwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7
Ci0KLSAgICBwb3N0U3RvcmFnZVRhc2soY3JlYXRlQ3Jvc3NUaHJlYWRUYXNrKCp0aGlzLCAmU3Rv
cmFnZVByb2Nlc3M6OmVuc3VyZVBhdGhFeGlzdHMsIHBhcmFtZXRlcnMuaW5kZXhlZERhdGFiYXNl
RGlyZWN0b3J5KSk7CisgICAgYXV0byBhZGRSZXN1bHQgPSBtX2lkYkRhdGFiYXNlUGF0aHMuZW5z
dXJlKHBhcmFtZXRlcnMuc2Vzc2lvbklELCBbcGF0aCA9IHBhcmFtZXRlcnMuaW5kZXhlZERhdGFi
YXNlRGlyZWN0b3J5XSB7CisgICAgICAgIHJldHVybiBwYXRoOworICAgIH0pOworICAgIGlmIChh
ZGRSZXN1bHQuaXNOZXdFbnRyeSkgeworICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1l
UGVybWFuZW50bHkocGFyYW1ldGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25I
YW5kbGUpOworICAgICAgICBwb3N0U3RvcmFnZVRhc2soY3JlYXRlQ3Jvc3NUaHJlYWRUYXNrKCp0
aGlzLCAmU3RvcmFnZVByb2Nlc3M6OmVuc3VyZVBhdGhFeGlzdHMsIHBhcmFtZXRlcnMuaW5kZXhl
ZERhdGFiYXNlRGlyZWN0b3J5KSk7CisgICAgfQorI2VuZGlmCisjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQorICAgIGFkZFJlc3VsdCA9IG1fc3dEYXRhYmFzZVBhdGhzLmVuc3VyZShwYXJhbWV0
ZXJzLnNlc3Npb25JRCwgW3BhdGggPSBwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EaXJlY3RvcnldIHsKKyAgICAgICAgcmV0dXJuIHBhdGg7CisgICAgfSk7CisgICAgaWYgKGFk
ZFJlc3VsdC5pc05ld0VudHJ5KSB7CisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQ
ZXJtYW5lbnRseShwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlF
eHRlbnNpb25IYW5kbGUpOworICAgICAgICBwb3N0U3RvcmFnZVRhc2soY3JlYXRlQ3Jvc3NUaHJl
YWRUYXNrKCp0aGlzLCAmU3RvcmFnZVByb2Nlc3M6OmVuc3VyZVBhdGhFeGlzdHMsIHBhcmFtZXRl
cnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSkpOworICAgIH0KICNlbmRpZgog
fQogCkBAIC0zNzEsMTAgKzM3OSwxNyBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzOjpkaWRHZXRTYW5k
Ym94RXh0ZW5zaW9uc0ZvckJsb2JGaWxlcyh1aW50NjRfdCByZXF1ZXN0SUQsIFNhbgogU1dTZXJ2
ZXImIFN0b3JhZ2VQcm9jZXNzOjpzd1NlcnZlckZvclNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQogewogICAgIGF1dG8gcmVzdWx0ID0gbV9zd1NlcnZlcnMuYWRkKHNlc3Npb25JRCwg
bnVsbHB0cik7Ci0gICAgaWYgKHJlc3VsdC5pc05ld0VudHJ5KQotICAgICAgICByZXN1bHQuaXRl
cmF0b3ItPnZhbHVlID0gc3RkOjptYWtlX3VuaXF1ZTxTV1NlcnZlcj4obWFrZVVuaXF1ZVJlZjxX
ZWJTV09yaWdpblN0b3JlPigpKTsKKyAgICBpZiAoIXJlc3VsdC5pc05ld0VudHJ5KSB7CisgICAg
ICAgIEFTU0VSVChyZXN1bHQuaXRlcmF0b3ItPnZhbHVlKTsKKyAgICAgICAgcmV0dXJuICpyZXN1
bHQuaXRlcmF0b3ItPnZhbHVlOworICAgIH0KKworICAgIGF1dG8gcGF0aCA9IG1fc3dEYXRhYmFz
ZVBhdGhzLmdldChzZXNzaW9uSUQpOworICAgIC8vIFRoZXJlIHNob3VsZCBhbHJlYWR5IGJlIGEg
cmVnaXN0ZXJlZCBwYXRoIGZvciB0aGlzIFBBTDo6U2Vzc2lvbklELgorICAgIC8vIElmIHRoZXJl
J3Mgbm90LCB0aGVuIHdoZXJlIGRpZCB0aGlzIFBBTDo6U2Vzc2lvbklEIGNvbWUgZnJvbT8KKyAg
ICBBU1NFUlQoIXBhdGguaXNFbXB0eSgpKTsKIAotICAgIEFTU0VSVChyZXN1bHQuaXRlcmF0b3It
PnZhbHVlKTsKKyAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0gc3RkOjptYWtlX3VuaXF1ZTxT
V1NlcnZlcj4obWFrZVVuaXF1ZVJlZjxXZWJTV09yaWdpblN0b3JlPigpLCBwYXRoKTsKICAgICBy
ZXR1cm4gKnJlc3VsdC5pdGVyYXRvci0+dmFsdWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuaAppbmRleCA4MTU4N2IwY2FiMDRiNDNiZWFkMjBl
ODdhNTgxMTdmM2VjYzM4ODM0Li4xNzFjN2E2ZTdiMGNlZDAzNDhiNDRiNDMzNWRjMWFhODczYmRl
NGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9j
ZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5o
CkBAIC0xNjEsNiArMTYxLDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxXZWJTV1NlcnZlclRv
Q29udGV4dENvbm5lY3Rpb24+IG1fc2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbjsKICAgICBib29s
IG1fd2FpdGluZ0ZvclNlcnZlclRvQ29udGV4dFByb2Nlc3NDb25uZWN0aW9uIHsgZmFsc2UgfTsK
KyAgICBIYXNoTWFwPFBBTDo6U2Vzc2lvbklELCBTdHJpbmc+IG1fc3dEYXRhYmFzZVBhdGhzOwog
ICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpTV1Nl
cnZlcj4+IG1fc3dTZXJ2ZXJzOwogICAgIEhhc2hNYXA8V2ViQ29yZTo6U1dTZXJ2ZXJDb25uZWN0
aW9uSWRlbnRpZmllciwgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uKj4gbV9zd1NlcnZlckNvbm5lY3Rp
b25zOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwCmluZGV4IGU5Njk0MDZiN2ZjYjgxN2Qy
ZDZlYTA0ZjI3OTM2MDA4NjQ4MGIxMzcuLjIzOWE1ZDllMThkZWNjNDE0NmUzZDkxOGM2NTM3ZDFj
YmFmMjdlNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uY3BwCkBAIC00OSw2ICs0OSw3IEBAIFJlZjxQ
cm9jZXNzUG9vbENvbmZpZ3VyYXRpb24+IFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6Y3JlYXRl
V2l0aExlZ2FjeU9wdGlvbnMoCiAgICAgY29uZmlndXJhdGlvbi0+bV9kaXNrQ2FjaGVEaXJlY3Rv
cnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHROZXR3b3Jr
Q2FjaGVEaXJlY3RvcnkoKTsKICAgICBjb25maWd1cmF0aW9uLT5tX21lZGlhQ2FjaGVEaXJlY3Rv
cnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYUNh
Y2hlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi0+bV9pbmRleGVkREJEYXRhYmFzZURp
cmVjdG9yeSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdElu
ZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCk7CisgICAgY29uZmlndXJhdGlvbi0+bV9zZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVn
YWN5UGxhdGZvcm1EZWZhdWx0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpOwog
ICAgIGNvbmZpZ3VyYXRpb24tPm1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCk7
CiAgICAgY29uZmlndXJhdGlvbi0+bV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeSgpOwogICAgIGNvbmZpZ3VyYXRpb24tPm1fd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnkg
PSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRXZWJTUUxEYXRh
YmFzZURpcmVjdG9yeSgpOwpAQCAtNjYsNiArNjcsNyBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1
cmF0aW9uPiBQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNyZWF0ZVdpdGhXZWJzaXRlRGF0YVN0
bwogICAgIGNvbmZpZ3VyYXRpb24tPm1fZGlza0NhY2hlRGlyZWN0b3J5ID0gbGVnYWN5Q29uZmln
dXJhdGlvbi5uZXR3b3JrQ2FjaGVEaXJlY3Rvcnk7CiAgICAgY29uZmlndXJhdGlvbi0+bV9tZWRp
YUNhY2hlRGlyZWN0b3J5ID0gbGVnYWN5Q29uZmlndXJhdGlvbi5tZWRpYUNhY2hlRGlyZWN0b3J5
OwogICAgIGNvbmZpZ3VyYXRpb24tPm1faW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSBXZWJL
aXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRJbmRleGVkREJEYXRhYmFz
ZURpcmVjdG9yeSgpOworICAgIGNvbmZpZ3VyYXRpb24tPm1fc2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRpcmVjdG9yeSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVm
YXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi0+bV9s
b2NhbFN0b3JhZ2VEaXJlY3RvcnkgPSBsZWdhY3lDb25maWd1cmF0aW9uLmxvY2FsU3RvcmFnZURp
cmVjdG9yeTsKICAgICBjb25maWd1cmF0aW9uLT5tX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnkg
PSBsZWdhY3lDb25maWd1cmF0aW9uLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgY29u
ZmlndXJhdGlvbi0+bV9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5ID0gbGVnYWN5Q29u
ZmlndXJhdGlvbi5yZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5OwpAQCAtODAsNiArODIs
NyBAQCBQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbigp
CiAgICAgLCBtX2Rpc2tDYWNoZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TmV0
d29ya0NhY2hlRGlyZWN0b3J5KCkpCiAgICAgLCBtX21lZGlhQ2FjaGVEaXJlY3RvcnkoV2Vic2l0
ZURhdGFTdG9yZTo6ZGVmYXVsdE1lZGlhQ2FjaGVEaXJlY3RvcnkoKSkKICAgICAsIG1faW5kZXhl
ZERCRGF0YWJhc2VEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdEluZGV4ZWREQkRh
dGFiYXNlRGlyZWN0b3J5KCkpCisgICAgLCBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJl
Y3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
aXJlY3RvcnkoKSkKICAgICAsIG1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3Rv
cmU6OmRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKSkKICAgICAsIG1fd2ViU1FMRGF0YWJh
c2VEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0
b3J5KCkpCiAgICAgLCBtX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9y
ZTo6ZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaApp
bmRleCAxOTZjMmRkNTNjYjM4MzIwZmJkYTAwOGFjNDQ5MWM0ZDgwNmQ3NmI4Li5lMGFiYzAxMWM5
YjdhNjc5ODRmYTg4MjAxMzE1OWFjY2FjYWIxZDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oCkBAIC03
Niw2ICs3Niw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBXVEY6OlN0cmluZyYgaW5kZXhlZERCRGF0
YWJhc2VEaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2luZGV4ZWREQkRhdGFiYXNlRGlyZWN0
b3J5OyB9CiAgICAgdm9pZCBzZXRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeShjb25zdCBXVEY6
OlN0cmluZyYgaW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkpIHsgbV9pbmRleGVkREJEYXRhYmFz
ZURpcmVjdG9yeSA9IGluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5OyB9CiAKKyAgICBjb25zdCBX
VEY6OlN0cmluZyYgc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpIGNvbnN0IHsg
cmV0dXJuIG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeTsgfQorICAgIHZvaWQg
c2V0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeShjb25zdCBXVEY6OlN0cmluZyYg
ZGlyZWN0b3J5KSB7IG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSA9IGRpcmVj
dG9yeTsgfQorICAgIAogICAgIGNvbnN0IFdURjo6U3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhdGgo
KSBjb25zdCB7IHJldHVybiBtX2luamVjdGVkQnVuZGxlUGF0aDsgfQogICAgIHZvaWQgc2V0SW5q
ZWN0ZWRCdW5kbGVQYXRoKGNvbnN0IFdURjo6U3RyaW5nJiBpbmplY3RlZEJ1bmRsZVBhdGgpIHsg
bV9pbmplY3RlZEJ1bmRsZVBhdGggPSBpbmplY3RlZEJ1bmRsZVBhdGg7IH0KIApAQCAtMTQ4LDYg
KzE1MSw3IEBAIHByaXZhdGU6CiAgICAgV1RGOjpTdHJpbmcgbV9kaXNrQ2FjaGVEaXJlY3Rvcnk7
CiAgICAgV1RGOjpTdHJpbmcgbV9tZWRpYUNhY2hlRGlyZWN0b3J5OwogICAgIFdURjo6U3RyaW5n
IG1faW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rvcnk7CisgICAgV1RGOjpTdHJpbmcgbV9zZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5OwogICAgIFdURjo6U3RyaW5nIG1faW5qZWN0ZWRC
dW5kbGVQYXRoOwogICAgIFdURjo6U3RyaW5nIG1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5OwogICAg
IFdURjo6U3RyaW5nIG1fd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuaAppbmRleCBhZTI0NjU5ODI4
MGVhOGIwNGNmNDYzMWU2NjVkOWFlMjRhNmYzM2QyLi5mYjVkNTI3NzRmOWQwYTE1M2QzZjhlOGM1
OGYzNjQzODZmNDhmYjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElXZWJzaXRlRGF0YVN0b3JlLmgKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogICAgIHN0YXRp
YyBTdHJpbmcgZGVmYXVsdE1lZGlhQ2FjaGVEaXJlY3RvcnkoKTsKIAogICAgIHN0YXRpYyBTdHJp
bmcgZGVmYXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCk7CisgICAgc3RhdGljIFN0cmlu
ZyBkZWZhdWx0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpOwogICAgIHN0YXRp
YyBTdHJpbmcgZGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpOwogICAgIHN0YXRpYyBTdHJp
bmcgZGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5n
IGRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2Eu
bW0KaW5kZXggM2ZiZDFiNDAzNmM3MWJmZGRlZjliYmNkZjhlZjNlODY1YTUwZjU4OS4uZTkyZmMz
YzI1NDVhNTdjOTEzYTc1YTY1NzIzMDk5ZDI0MzAxOWI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNv
Y29hLm1tCkBAIC03Miw2ICs3MiwxMSBAQCBTdHJpbmcgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVs
dEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCkKICAgICByZXR1cm4gd2Vic2l0ZURhdGFEaXJl
Y3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oIkluZGV4ZWREQiIpOwogfQogCitTdHJpbmcg
V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rv
cnkoKQoreworICAgIHJldHVybiB3ZWJzaXRlRGF0YURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNl
bnRhdGlvbigiU2VydmljZVdvcmtlcnMiKTsKK30KKwogU3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6
OmRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKQogewogICAgIHJldHVybiB3ZWJzaXRlRGF0
YURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigiTG9jYWxTdG9yYWdlIik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29h
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bQppbmRleCAxMjNjM2QyYjBjZjYyMTk0ODY5NWM5NmJiMTVkMjk3MjU4MzM1OWJlLi5jNWUyZDZj
ODk2MmY3MzNiOWRkNjFhOTg4YjlmNzNhNDY3YWUxM2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTYyLDYgKzYy
LDcgQEAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBOU1N0cmluZyAqV2ViRGF0YWJhc2VE
aXJlY3RvcnlEZWZhdWx0c0tleSA9IEAiV2ViRGF0YWJhc2VEaXJlY3RvcnkiOworTlNTdHJpbmcg
KldlYlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlEZWZhdWx0c0tleSA9IEAiV2Vi
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSI7CiBOU1N0cmluZyAqV2ViS2l0TG9j
YWxDYWNoZURlZmF1bHRzS2V5ID0gQCJXZWJLaXRMb2NhbENhY2hlIjsKIE5TU3RyaW5nICpXZWJT
dG9yYWdlRGlyZWN0b3J5RGVmYXVsdHNLZXkgPSBAIldlYktpdExvY2FsU3RvcmFnZURhdGFiYXNl
UGF0aFByZWZlcmVuY2VLZXkiOwogTlNTdHJpbmcgKldlYktpdEpTQ0pJVEVuYWJsZWREZWZhdWx0
c0tleSA9IEAiV2ViS2l0SlNDSklURW5hYmxlZERlZmF1bHRzS2V5IjsKQEAgLTM4OSw2ICszOTAs
MTYgQEAgU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRJbmRleGVk
REJEYXRhYmFzZURpcmVjdG9yeSgpCiAgICAgcmV0dXJuIEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVu
ZGluZ0NvbXBvbmVudChsZWdhY3lQbGF0Zm9ybURlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9y
eSgpLCAiX19fSW5kZXhlZERCIik7CiB9CiAKK1N0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5
UGxhdGZvcm1EZWZhdWx0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpCit7Cisg
ICAgcmVnaXN0ZXJVc2VyRGVmYXVsdHNJZk5lZWRlZCgpOworCisgICAgTlNTdHJpbmcgKmRpcmVj
dG9yeSA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZvcktl
eTpXZWJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5RGVmYXVsdHNLZXldOworICAg
IGlmICghZGlyZWN0b3J5IHx8ICFbZGlyZWN0b3J5IGlzS2luZE9mQ2xhc3M6W05TU3RyaW5nIGNs
YXNzXV0pCisgICAgICAgIGRpcmVjdG9yeSA9IEAifi9MaWJyYXJ5L1dlYktpdC9TZXJ2aWNlV29y
a2VycyI7CisgICAgcmV0dXJuIHN0cmluZ0J5UmVzb2x2aW5nU3ltbGlua3NJblBhdGgoW2RpcmVj
dG9yeSBzdHJpbmdCeVN0YW5kYXJkaXppbmdQYXRoXSk7Cit9CisKIFN0cmluZyBXZWJQcm9jZXNz
UG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkKIHsKICAg
ICByZWdpc3RlclVzZXJEZWZhdWx0c0lmTmVlZGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggNDVjMDEyZmY1ZTRhZGNlNTg3NWVjOGViNjliYmY4
YmI1YjFiZDYxMS4uYWM3Y2JiY2YxZGYyNGZjM2UxZTM0Njc0NjliY2UxYTMyZGNiOTY5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtNTU5LDYgKzU1
OSwxMiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjplbnN1cmVTdG9yYWdlUHJvY2Vzc0FuZFdlYnNp
dGVEYXRhU3RvcmUoV2Vic2l0ZURhdGFTdG9yZSogcgogICAgICAgICAgICAgU2FuZGJveEV4dGVu
c2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZFdyaXRlRGlyZWN0b3J5KHBhcmFtZXRlcnMuaW5kZXhl
ZERhdGFiYXNlRGlyZWN0b3J5LCBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeUV4
dGVuc2lvbkhhbmRsZSk7CiAgICAgICAgIH0KICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKKyAgICAgICAgaWYgKHBhcmFtZXRlcnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRp
cmVjdG9yeS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMuc2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRpcmVjdG9yeSA9IG1fY29uZmlndXJhdGlvbi0+c2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRpcmVjdG9yeSgpOworICAgICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3Jl
YXRlSGFuZGxlRm9yUmVhZFdyaXRlRGlyZWN0b3J5KHBhcmFtZXRlcnMuc2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRpcmVjdG9yeSwgcGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKKyAgICAgICAgfQorI2VuZGlmCiAKICAgICAgICAg
bV9zdG9yYWdlUHJvY2VzcyA9IFN0b3JhZ2VQcm9jZXNzUHJveHk6OmNyZWF0ZSgqdGhpcyk7CiAg
ICAgICAgIG1fc3RvcmFnZVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpJ
bml0aWFsaXplV2Vic2l0ZURhdGFTdG9yZShwYXJhbWV0ZXJzKSwgMCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCA0MWFhM2MzOGI0NDQ5MjRmNjc4YTQ2YWNm
ZTY0ODk3NWE3Mjk4NjNkLi41ZjE0NTAxNjUyNDgxMWM2NTIyYTQxYjI3Nzc0ZWQzMmNlOTAyNjMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTM5MCw2ICsz
OTAsNyBAQCBwdWJsaWM6CiAgICAgLy8gRklYTUU6IE1vdmUgdGhlc2UgdG8gQVBJOjpXZWJzaXRl
RGF0YVN0b3JlLgogICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0TG9jYWxT
dG9yYWdlRGlyZWN0b3J5KCk7CiAgICAgc3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1
bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOworICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5
UGxhdGZvcm1EZWZhdWx0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpOwogICAg
IHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3Rv
cnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0
b3JhZ2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVs
dE1lZGlhQ2FjaGVEaXJlY3RvcnkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggNTgzZGVjOTA1NzFk
ODI2ODRkNDQ5OTY0MGQzMGNjODc5ZGNhYjcwYS4uMzYxODY5ZTAyODAwZDIxODJkM2FlYTQwYTc3
NGU5ZWRmOGY1NTk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTExMywxMyArMTEzLDEyIEBAIHZv
aWQgV2Vic2l0ZURhdGFTdG9yZTo6cmVzb2x2ZURpcmVjdG9yaWVzSWZOZWNlc3NhcnkoKQogICAg
ICAgICBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0g
cmVzb2x2ZUFuZENyZWF0ZVJlYWRXcml0ZURpcmVjdG9yeUZvclNhbmRib3hFeHRlbnNpb24obV9j
b25maWd1cmF0aW9uLm1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkpOwogICAgIGlmICghbV9jb25m
aWd1cmF0aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0b3J5LmlzRW1wdHkoKSkKICAgICAgICAgbV9y
ZXNvbHZlZENvbmZpZ3VyYXRpb24ud2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkgPSByZXNvbHZlQW5k
Q3JlYXRlUmVhZFdyaXRlRGlyZWN0b3J5Rm9yU2FuZGJveEV4dGVuc2lvbihtX2NvbmZpZ3VyYXRp
b24ud2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkpOwotCiAgICAgaWYgKCFtX2NvbmZpZ3VyYXRpb24u
aW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICBtX3Jlc29sdmVk
Q29uZmlndXJhdGlvbi5pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSA9IHJlc29sdmVBbmRDcmVh
dGVSZWFkV3JpdGVEaXJlY3RvcnlGb3JTYW5kYm94RXh0ZW5zaW9uKG1fY29uZmlndXJhdGlvbi5p
bmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSk7Ci0KKyAgICBpZiAoIW1fY29uZmlndXJhdGlvbi5z
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5LmlzRW1wdHkoKSkKKyAgICAgICAgbV9y
ZXNvbHZlZENvbmZpZ3VyYXRpb24uc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSA9
IHJlc29sdmVBbmRDcmVhdGVSZWFkV3JpdGVEaXJlY3RvcnlGb3JTYW5kYm94RXh0ZW5zaW9uKG1f
Y29uZmlndXJhdGlvbi5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KTsKICAgICBp
ZiAoIW1fY29uZmlndXJhdGlvbi5qYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeS5pc0Vt
cHR5KCkpCiAgICAgICAgIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLmphdmFTY3JpcHRDb25maWd1
cmF0aW9uRGlyZWN0b3J5ID0gcmVzb2x2ZVBhdGhGb3JTYW5kYm94RXh0ZW5zaW9uKG1fY29uZmln
dXJhdGlvbi5qYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeSk7Ci0KICAgICBpZiAoIW1f
Y29uZmlndXJhdGlvbi5jYWNoZVN0b3JhZ2VEaXJlY3RvcnkuaXNFbXB0eSgpICYmIG1fcmVzb2x2
ZWRDb25maWd1cmF0aW9uLmNhY2hlU3RvcmFnZURpcmVjdG9yeS5pc0VtcHR5KCkpCiAgICAgICAg
IG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLmNhY2hlU3RvcmFnZURpcmVjdG9yeSA9IHJlc29sdmVQ
YXRoRm9yU2FuZGJveEV4dGVuc2lvbihtX2NvbmZpZ3VyYXRpb24uY2FjaGVTdG9yYWdlRGlyZWN0
b3J5KTsKIApAQCAtMTM3Niw2ICsxMzc1LDExIEBAIFN0b3JhZ2VQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzIFdlYnNpdGVEYXRhU3RvcmU6OnN0b3JhZ2VQcm9jZXNzUGFyYW1ldGVycygpCiAgICAg
aWYgKCFwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeS5pc0VtcHR5KCkpCiAgICAg
ICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRXcml0ZURpcmVjdG9yeShw
YXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeSwgcGFyYW1ldGVycy5pbmRleGVkRGF0
YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlmCisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorICAgIHBhcmFtZXRlcnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVj
dG9yeSA9IHJlc29sdmVkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpOworICAg
IGlmICghcGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5LmlzRW1w
dHkoKSkKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yUmVhZFdyaXRl
RGlyZWN0b3J5KHBhcmFtZXRlcnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSwg
cGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5RXh0ZW5zaW9uSGFu
ZGxlKTsKKyNlbmRpZgogCiAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKaW5k
ZXggNDYzZjdjNjU4YTExODgxYzljZjY4MjhkOTAyMWY2ZmQzZGRkOGIxNy4uYTEzZjRjYjQ2Y2Ni
Yjc0NmY3NWU4ZGE0ZWJhZTZhOGY3NWE4MmQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaApAQCAtNzksNiArNzks
NyBAQCBwdWJsaWM6CiAKICAgICAgICAgU3RyaW5nIG1lZGlhQ2FjaGVEaXJlY3Rvcnk7CiAgICAg
ICAgIFN0cmluZyBpbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeTsKKyAgICAgICAgU3RyaW5nIHNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnk7CiAgICAgICAgIFN0cmluZyB3ZWJTUUxE
YXRhYmFzZURpcmVjdG9yeTsKICAgICAgICAgU3RyaW5nIGxvY2FsU3RvcmFnZURpcmVjdG9yeTsK
ICAgICAgICAgU3RyaW5nIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7CkBAIC0xMjcsNiArMTI4
LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRKYXZhU2NyaXB0Q29uZmln
dXJhdGlvbkRpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9u
LmphdmFTY3JpcHRDb25maWd1cmF0aW9uRGlyZWN0b3J5OyB9CiAgICAgY29uc3QgU3RyaW5nJiBy
ZXNvbHZlZENvb2tpZVN0b3JhZ2VGaWxlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvbHZlZENvbmZp
Z3VyYXRpb24uY29va2llU3RvcmFnZUZpbGU7IH0KICAgICBjb25zdCBTdHJpbmcmIHJlc29sdmVk
SW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9yZXNvbHZlZENvbmZp
Z3VyYXRpb24uaW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rvcnk7IH0KKyAgICBjb25zdCBTdHJpbmcm
IHJlc29sdmVkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpIGNvbnN0IHsgcmV0
dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJl
Y3Rvcnk7IH0KIAogICAgIFN0b3JhZ2VNYW5hZ2VyKiBzdG9yYWdlTWFuYWdlcigpIHsgcmV0dXJu
IG1fc3RvcmFnZU1hbmFnZXIuZ2V0KCk7IH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328370</attachid>
            <date>2017-12-04 12:01:06 -0800</date>
            <delta_ts>2017-12-04 12:01:56 -0800</delta_ts>
            <desc>PFL</desc>
            <filename>112.patch</filename>
            <type>text/plain</type>
            <size>23676</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDliYWJmNTg1YWVlZDI3
YmNmODc5OGY4YzQ3NjU1ZGIzYzhhNzcxZC4uNGI1ZjUxNTdlOTc2NmRjOWZjMmIzZmNkNDdiNDRi
YTE4YzgwMDhiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTEyLTA0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgYSBkaXJlY3Rvcnkg
cGF0aCB0byBTV1NlcnZlcnMgZm9yIHN0b3JpbmcgU2VydmljZVdvcmtlciByZWdpc3RyYXRpb25z
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIChObyBvYnNlcnZhYmxlIGJlaGF2aW9yIGNoYW5nZSB5ZXQpLgorCisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV1Nl
cnZlcjo6U1dTZXJ2ZXIpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXIuaDoKKwogMjAxNy0xMi0wMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNv
bT4KIAogICAgICAgICBXVEYgc2hvdWxkbid0IGhhdmUgYm90aCBUaHJlYWQgYW5kIFRocmVhZElk
ZW50aWZpZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggZTVjNTEwMWFmZmRjMGI5NmViZWI4NDVjMmM5YTNiY2FiZTky
ZWQwZC4uYTY3ZmNmODgwZmQ5ZmRjOWExZWY0MmZiYzc4NzljZjM4YmRlOWY4ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0NyBAQAorMjAxNy0xMi0wNCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgR2V0IGEgZGlyZWN0b3J5IHBhdGggdG8gU1dTZXJ2ZXJzIGZvciBz
dG9yaW5nIFNlcnZpY2VXb3JrZXIgcmVnaXN0cmF0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM2MgorCisgICAgICAgIFJldmlld2VkIGJ5
IENocmlzIER1bWV6LgorCisgICAgICAgIFRoaXMgZ2V0cyBhbGwgb2YgdGhlIHBsdW1iaW5nIGlu
IHBsYWNlIGZvciBzcGVjaWZ5aW5nIGEgU2VydmljZVdvcmtlciByZWdpc3RyYXRpb24gc3RvcmFn
ZSBwYXRoCisgICAgICAgIGluIGEgcGFydGljdWxhciBXZWJzaXRlRGF0YVN0b3JlLgorCisgICAg
ICAgICogU2hhcmVkL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5j
b2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaDoKKworICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQ
cm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3M6OmluaXRpYWxpemVX
ZWJzaXRlRGF0YVN0b3JlKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3M6OnN3U2Vy
dmVyRm9yU2Vzc2lvbik6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3Mu
aDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
LmNwcDoKKyAgICAgICAgKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpjcmVhdGVXaXRo
TGVnYWN5T3B0aW9ucyk6CisgICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6
Y3JlYXRlV2l0aFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uKToKKyAgICAgICAgKEFQSTo6
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmg6CisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuaDoKKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tOgorICAgICAg
ICAoQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRpcmVjdG9yeSk6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xD
b2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3Jt
RGVmYXVsdEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EaXJlY3RvcnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplbnN1cmVTdG9yYWdlUHJvY2Vzc0FuZFdl
YnNpdGVEYXRhU3RvcmUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpyZXNvbHZlRGlyZWN0b3JpZXNJZk5l
Y2Vzc2FyeSk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnN0b3JhZ2VQcm9j
ZXNzUGFyYW1ldGVycyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6cmVzb2x2ZWRT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5IGNvbnN0KToKKwogMjAxNy0xMi0wMyAg
WXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBXVEYgc2hv
dWxkbid0IGhhdmUgYm90aCBUaHJlYWQgYW5kIFRocmVhZElkZW50aWZpZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggMGUy
M2EwY2ViMzU1OTI4YjU4YmU0MTY1MTk1YTdmNWYzZDQ5MWFiYy4uOGZkZWU3ZDFmY2Y2ZWQxMTQ1
NjNlMTM2MTA1NDNmMjhmNDQ5ZjBjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKQEAgLTIwMiw5ICsyMDIsMTAgQEAgdm9pZCBT
V1NlcnZlcjo6Q29ubmVjdGlvbjo6c3luY1Rlcm1pbmF0ZVdvcmtlcihTZXJ2aWNlV29ya2VySWRl
bnRpZmllciBpZGVudGlmaWUKICAgICAgICAgbV9zZXJ2ZXIuc3luY1Rlcm1pbmF0ZVdvcmtlcigq
d29ya2VyKTsKIH0KIAotU1dTZXJ2ZXI6OlNXU2VydmVyKFVuaXF1ZVJlZjxTV09yaWdpblN0b3Jl
PiYmIG9yaWdpblN0b3JlKQorU1dTZXJ2ZXI6OlNXU2VydmVyKFVuaXF1ZVJlZjxTV09yaWdpblN0
b3JlPiYmIG9yaWdpblN0b3JlLCBjb25zdCBTdHJpbmcmIHJlZ2lzdHJhdGlvbkRhdGFiYXNlRGly
ZWN0b3J5KQogICAgIDogbV9vcmlnaW5TdG9yZShXVEZNb3ZlKG9yaWdpblN0b3JlKSkKIHsKKyAg
ICBVTlVTRURfUEFSQU0ocmVnaXN0cmF0aW9uRGF0YWJhc2VEaXJlY3RvcnkpOwogICAgIGFsbFNl
cnZlcnMoKS5hZGQodGhpcyk7CiAgICAgbV90YXNrVGhyZWFkID0gVGhyZWFkOjpjcmVhdGUoQVND
SUlMaXRlcmFsKCJTZXJ2aWNlV29ya2VyIFRhc2sgVGhyZWFkIiksIFt0aGlzXSB7CiAgICAgICAg
IHRhc2tUaHJlYWRFbnRyeVBvaW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggZGM2ZWY3Mzk4OWZhZDk2ZWYzMmRhZDI3YmM0
ZTkyNzAyZWUzOGE3OS4uNzQzNTc4MDk0YTY3OWI2ZmEzNzU2ZDUzMjdiZWQwMzMwMGQxZjQ5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIu
aApAQCAtMTA0LDcgKzEwNCw3IEBAIHB1YmxpYzoKICAgICAgICAgSWRlbnRpZmllciBtX2lkZW50
aWZpZXI7CiAgICAgfTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIGV4cGxpY2l0IFNXU2VydmVyKFVu
aXF1ZVJlZjxTV09yaWdpblN0b3JlPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNpdCBT
V1NlcnZlcihVbmlxdWVSZWY8U1dPcmlnaW5TdG9yZT4mJiwgY29uc3QgU3RyaW5nJiByZWdpc3Ry
YXRpb25EYXRhYmFzZURpcmVjdG9yeSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgflNXU2VydmVyKCk7
CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFyQWxsKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCmluZGV4IDRmZTM0MDc4ZGNmNmVlYmQ0ODQ5OWE0ZjRmOTg5YjU1Njlj
OTdmMDQuLjhlNjU0ZjNmNTNlZDUwZmZmZWE3MzBjNGI2YTlkYmVlMDAzMGYyNDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1N0b3JhZ2UvU3RvcmFnZVBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC0zNiwyMyArMzYsMzEgQEAgU3RvcmFnZVBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OlN0b3JhZ2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
KCkKIAogdm9pZCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
ICAgICBlbmNvZGVyIDw8IHNlc3Npb25JRDsKLSAgICBlbmNvZGVyIDw8IGluZGV4ZWREYXRhYmFz
ZURpcmVjdG9yeTsKLSAgICBlbmNvZGVyIDw8IGluZGV4ZWREYXRhYmFzZURpcmVjdG9yeUV4dGVu
c2lvbkhhbmRsZTsKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBlbmNvZGVyIDw8
IGluZGV4ZWREYXRhYmFzZURpcmVjdG9yeSA8PCBpbmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRl
bnNpb25IYW5kbGU7CisjZW5kaWYKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgZW5j
b2RlciA8PCBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5IDw8IHNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKIH0KIAogYm9v
bCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYg
ZGVjb2RlciwgU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHJlc3VsdCkKIHsKLSNp
ZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3Vs
dC5zZXNzaW9uSUQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisjaWYgRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaW5kZXhlZERhdGFiYXNl
RGlyZWN0b3J5KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUocmVzdWx0LmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGly
ZWN0b3J5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIAogICAgIHJldHVybiB0cnVlOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU3RvcmFnZS9TdG9yYWdl
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDQxYzE5NWYyOTJlZjdlZTE4MzcwMzIw
ZWUwNGI3NDlkOWQ3MGEwNGMuLmY2MGI1MDNjNzBkZDc2M2E4NDJkMzZkZTYyZWM3ZDBiOTQxNzVk
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1N0b3JhZ2UvU3RvcmFnZVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TdG9yYWdl
L1N0b3JhZ2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTQ5LDYgKzQ5LDExIEBAIHN0
cnVjdCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU3RyaW5nIGluZGV4
ZWREYXRhYmFzZURpcmVjdG9yeTsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaW5kZXhl
ZERhdGFiYXNlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlOwogI2VuZGlmCisKKyNpZiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCisgICAgU3RyaW5nIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJl
Y3Rvcnk7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9y
YWdlUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9j
ZXNzLmNwcAppbmRleCA2ZTdkMDY0ZDJkMTk4YjRiNTQ3M2QwMTcxYTNmOGFhMGNhZmQ2MDk5Li5h
ZDk1OTBlZTVmZWM4NjQ2YWE3ZDlmNDliNTMyMjlhMjU5MGJkOWRkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcApAQCAtMTQzLDE0ICsxNDMs
MjIgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYnNpdGVEYXRhU3RvcmUoY29u
c3QgU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmEKICAgICAvLyBJTVBPUlRBTlQ6IERvIG5vdCBj
aGFuZ2UgdGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgZm9yIGluZGV4ZWQgZGF0YWJhc2VzIG9uIGRp
c2sgd2l0aG91dCBmaXJzdCBjb25zdWx0aW5nIGEgcmV2aWV3ZXIgZnJvbSBBcHBsZSAoPHJkYXI6
Ly9wcm9ibGVtLzE3NDU0NzEyPikKICAgICAvLyAqKioqKioqKioKIAotICAgIGF1dG8gYWRkUmVz
dWx0ID0gbV9pZGJEYXRhYmFzZVBhdGhzLmFkZChwYXJhbWV0ZXJzLnNlc3Npb25JRCwgU3RyaW5n
KCkpOwotICAgIGlmICghYWRkUmVzdWx0LmlzTmV3RW50cnkpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFz
ZURpcmVjdG9yeTsKLSAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFy
YW1ldGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwotCi0gICAg
cG9zdFN0b3JhZ2VUYXNrKGNyZWF0ZUNyb3NzVGhyZWFkVGFzaygqdGhpcywgJlN0b3JhZ2VQcm9j
ZXNzOjplbnN1cmVQYXRoRXhpc3RzLCBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9y
eSkpOworICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9pZGJEYXRhYmFzZVBhdGhzLmVuc3VyZShwYXJh
bWV0ZXJzLnNlc3Npb25JRCwgW3BhdGggPSBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVj
dG9yeV0geworICAgICAgICByZXR1cm4gcGF0aDsKKyAgICB9KTsKKyAgICBpZiAoYWRkUmVzdWx0
LmlzTmV3RW50cnkpIHsKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVu
dGx5KHBhcmFtZXRlcnMuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsK
KyAgICAgICAgcG9zdFN0b3JhZ2VUYXNrKGNyZWF0ZUNyb3NzVGhyZWFkVGFzaygqdGhpcywgJlN0
b3JhZ2VQcm9jZXNzOjplbnN1cmVQYXRoRXhpc3RzLCBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFz
ZURpcmVjdG9yeSkpOworICAgIH0KKyNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
KyAgICBhZGRSZXN1bHQgPSBtX3N3RGF0YWJhc2VQYXRocy5lbnN1cmUocGFyYW1ldGVycy5zZXNz
aW9uSUQsIFtwYXRoID0gcGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0
b3J5XSB7CisgICAgICAgIHJldHVybiBwYXRoOworICAgIH0pOworICAgIGlmIChhZGRSZXN1bHQu
aXNOZXdFbnRyeSkgeworICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50
bHkocGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5RXh0ZW5zaW9u
SGFuZGxlKTsKKyAgICAgICAgcG9zdFN0b3JhZ2VUYXNrKGNyZWF0ZUNyb3NzVGhyZWFkVGFzaygq
dGhpcywgJlN0b3JhZ2VQcm9jZXNzOjplbnN1cmVQYXRoRXhpc3RzLCBwYXJhbWV0ZXJzLnNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkpKTsKKyAgICB9CiAjZW5kaWYKIH0KIApAQCAt
MzcxLDEwICszNzksMTcgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzczo6ZGlkR2V0U2FuZGJveEV4dGVu
c2lvbnNGb3JCbG9iRmlsZXModWludDY0X3QgcmVxdWVzdElELCBTYW4KIFNXU2VydmVyJiBTdG9y
YWdlUHJvY2Vzczo6c3dTZXJ2ZXJGb3JTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkK
IHsKICAgICBhdXRvIHJlc3VsdCA9IG1fc3dTZXJ2ZXJzLmFkZChzZXNzaW9uSUQsIG51bGxwdHIp
OwotICAgIGlmIChyZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52
YWx1ZSA9IHN0ZDo6bWFrZV91bmlxdWU8U1dTZXJ2ZXI+KG1ha2VVbmlxdWVSZWY8V2ViU1dPcmln
aW5TdG9yZT4oKSk7CisgICAgaWYgKCFyZXN1bHQuaXNOZXdFbnRyeSkgeworICAgICAgICBBU1NF
UlQocmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSk7CisgICAgICAgIHJldHVybiAqcmVzdWx0Lml0ZXJh
dG9yLT52YWx1ZTsKKyAgICB9CisKKyAgICBhdXRvIHBhdGggPSBtX3N3RGF0YWJhc2VQYXRocy5n
ZXQoc2Vzc2lvbklEKTsKKyAgICAvLyBUaGVyZSBzaG91bGQgYWxyZWFkeSBiZSBhIHJlZ2lzdGVy
ZWQgcGF0aCBmb3IgdGhpcyBQQUw6OlNlc3Npb25JRC4KKyAgICAvLyBJZiB0aGVyZSdzIG5vdCwg
dGhlbiB3aGVyZSBkaWQgdGhpcyBQQUw6OlNlc3Npb25JRCBjb21lIGZyb20/CisgICAgQVNTRVJU
KCFwYXRoLmlzRW1wdHkoKSk7CiAKLSAgICBBU1NFUlQocmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSk7
CisgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9IHN0ZDo6bWFrZV91bmlxdWU8U1dTZXJ2ZXI+
KG1ha2VVbmlxdWVSZWY8V2ViU1dPcmlnaW5TdG9yZT4oKSwgcGF0aCk7CiAgICAgcmV0dXJuICpy
ZXN1bHQuaXRlcmF0b3ItPnZhbHVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1N0b3JhZ2VQcm9jZXNzLmgKaW5kZXggODE1ODdiMGNhYjA0YjQzYmVhZDIwZTg3YTU4MTE3
ZjNlY2MzODgzNC4uMTcxYzdhNmU3YjBjZWQwMzQ4YjQ0YjQzMzVkYzFhYTg3M2JkZTRiMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuaApAQCAtMTYx
LDYgKzE2MSw3IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8V2ViU1dTZXJ2ZXJUb0NvbnRleHRD
b25uZWN0aW9uPiBtX3NlcnZlclRvQ29udGV4dENvbm5lY3Rpb247CiAgICAgYm9vbCBtX3dhaXRp
bmdGb3JTZXJ2ZXJUb0NvbnRleHRQcm9jZXNzQ29ubmVjdGlvbiB7IGZhbHNlIH07CisgICAgSGFz
aE1hcDxQQUw6OlNlc3Npb25JRCwgU3RyaW5nPiBtX3N3RGF0YWJhc2VQYXRoczsKICAgICBIYXNo
TWFwPFBBTDo6U2Vzc2lvbklELCBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6U1dTZXJ2ZXI+PiBt
X3N3U2VydmVyczsKICAgICBIYXNoTWFwPFdlYkNvcmU6OlNXU2VydmVyQ29ubmVjdGlvbklkZW50
aWZpZXIsIFdlYlNXU2VydmVyQ29ubmVjdGlvbio+IG1fc3dTZXJ2ZXJDb25uZWN0aW9uczsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQ
b29sQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAppbmRleCBlOTY5NDA2YjdmY2I4MTdkMmQ2ZWEwNGYy
NzkzNjAwODY0ODBiMTM3Li4yMzlhNWQ5ZTE4ZGVjYzQxNDZlM2Q5MThjNjUzN2QxY2JhZjI3ZTZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcApAQCAtNDksNiArNDksNyBAQCBSZWY8UHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uPiBQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb246OmNyZWF0ZVdpdGhMZWdh
Y3lPcHRpb25zKAogICAgIGNvbmZpZ3VyYXRpb24tPm1fZGlza0NhY2hlRGlyZWN0b3J5ID0gV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TmV0d29ya0NhY2hlRGly
ZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi0+bV9tZWRpYUNhY2hlRGlyZWN0b3J5ID0gV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TWVkaWFDYWNoZURpcmVj
dG9yeSgpOwogICAgIGNvbmZpZ3VyYXRpb24tPm1faW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rvcnkg
PSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRJbmRleGVkREJE
YXRhYmFzZURpcmVjdG9yeSgpOworICAgIGNvbmZpZ3VyYXRpb24tPm1fc2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRpcmVjdG9yeSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRm
b3JtRGVmYXVsdFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKTsKICAgICBjb25m
aWd1cmF0aW9uLT5tX2xvY2FsU3RvcmFnZURpcmVjdG9yeSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpOwogICAgIGNv
bmZpZ3VyYXRpb24tPm1fbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnko
KTsKICAgICBjb25maWd1cmF0aW9uLT5tX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gV2ViS2l0
OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJl
Y3RvcnkoKTsKQEAgLTY2LDYgKzY3LDcgQEAgUmVmPFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbj4g
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpjcmVhdGVXaXRoV2Vic2l0ZURhdGFTdG8KICAgICBj
b25maWd1cmF0aW9uLT5tX2Rpc2tDYWNoZURpcmVjdG9yeSA9IGxlZ2FjeUNvbmZpZ3VyYXRpb24u
bmV0d29ya0NhY2hlRGlyZWN0b3J5OwogICAgIGNvbmZpZ3VyYXRpb24tPm1fbWVkaWFDYWNoZURp
cmVjdG9yeSA9IGxlZ2FjeUNvbmZpZ3VyYXRpb24ubWVkaWFDYWNoZURpcmVjdG9yeTsKICAgICBj
b25maWd1cmF0aW9uLT5tX2luZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rv
cnkoKTsKKyAgICBjb25maWd1cmF0aW9uLT5tX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJl
Y3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRJbmRl
eGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOwogICAgIGNvbmZpZ3VyYXRpb24tPm1fbG9jYWxTdG9y
YWdlRGlyZWN0b3J5ID0gbGVnYWN5Q29uZmlndXJhdGlvbi5sb2NhbFN0b3JhZ2VEaXJlY3Rvcnk7
CiAgICAgY29uZmlndXJhdGlvbi0+bV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gbGVnYWN5
Q29uZmlndXJhdGlvbi5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OwogICAgIGNvbmZpZ3VyYXRp
b24tPm1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeSA9IGxlZ2FjeUNvbmZpZ3VyYXRp
b24ucmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9yeTsKQEAgLTgwLDYgKzgyLDcgQEAgUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24oKQogICAgICwg
bV9kaXNrQ2FjaGVEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE5ldHdvcmtDYWNo
ZURpcmVjdG9yeSgpKQogICAgICwgbV9tZWRpYUNhY2hlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3Rv
cmU6OmRlZmF1bHRNZWRpYUNhY2hlRGlyZWN0b3J5KCkpCiAgICAgLCBtX2luZGV4ZWREQkRhdGFi
YXNlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRJbmRleGVkREJEYXRhYmFzZURp
cmVjdG9yeSgpKQorICAgICwgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KFdl
YnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5
KCkpCiAgICAgLCBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeShXZWJzaXRlRGF0YVN0b3JlOjpkZWZh
dWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkpCiAgICAgLCBtX3dlYlNRTERhdGFiYXNlRGlyZWN0
b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRXZWJTUUxEYXRhYmFzZURpcmVjdG9yeSgpKQog
ICAgICwgbV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1
bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmgKaW5kZXggMTk2
YzJkZDUzY2IzODMyMGZiZGEwMDhhYzQ0OTFjNGQ4MDZkNzZiOC4uZTBhYmMwMTFjOWI3YTY3OTg0
ZmE4ODIwMTMxNTlhY2NhY2FiMWQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaApAQCAtNzYsNiArNzYs
OSBAQCBwdWJsaWM6CiAgICAgY29uc3QgV1RGOjpTdHJpbmcmIGluZGV4ZWREQkRhdGFiYXNlRGly
ZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeTsgfQog
ICAgIHZvaWQgc2V0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoY29uc3QgV1RGOjpTdHJpbmcm
IGluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KSB7IG1faW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rv
cnkgPSBpbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeTsgfQogCisgICAgY29uc3QgV1RGOjpTdHJp
bmcmIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBt
X3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnk7IH0KKyAgICB2b2lkIHNldFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoY29uc3QgV1RGOjpTdHJpbmcmIGRpcmVjdG9y
eSkgeyBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgPSBkaXJlY3Rvcnk7IH0K
KyAgICAKICAgICBjb25zdCBXVEY6OlN0cmluZyYgaW5qZWN0ZWRCdW5kbGVQYXRoKCkgY29uc3Qg
eyByZXR1cm4gbV9pbmplY3RlZEJ1bmRsZVBhdGg7IH0KICAgICB2b2lkIHNldEluamVjdGVkQnVu
ZGxlUGF0aChjb25zdCBXVEY6OlN0cmluZyYgaW5qZWN0ZWRCdW5kbGVQYXRoKSB7IG1faW5qZWN0
ZWRCdW5kbGVQYXRoID0gaW5qZWN0ZWRCdW5kbGVQYXRoOyB9CiAKQEAgLTE0OCw2ICsxNTEsNyBA
QCBwcml2YXRlOgogICAgIFdURjo6U3RyaW5nIG1fZGlza0NhY2hlRGlyZWN0b3J5OwogICAgIFdU
Rjo6U3RyaW5nIG1fbWVkaWFDYWNoZURpcmVjdG9yeTsKICAgICBXVEY6OlN0cmluZyBtX2luZGV4
ZWREQkRhdGFiYXNlRGlyZWN0b3J5OworICAgIFdURjo6U3RyaW5nIG1fc2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRpcmVjdG9yeTsKICAgICBXVEY6OlN0cmluZyBtX2luamVjdGVkQnVuZGxlUGF0
aDsKICAgICBXVEY6OlN0cmluZyBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeTsKICAgICBXVEY6OlN0
cmluZyBtX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmgKaW5kZXggYWUyNDY1OTgyODBlYThiMDRj
ZjQ2MzFlNjY1ZDlhZTI0YTZmMzNkMi4uZmI1ZDUyNzc0ZjlkMGExNTNkM2Y4ZThjNThmMzY0Mzg2
ZjQ4ZmI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVEYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0
ZURhdGFTdG9yZS5oCkBAIC01OCw2ICs1OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5n
IGRlZmF1bHRNZWRpYUNhY2hlRGlyZWN0b3J5KCk7CiAKICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1
bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOworICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVs
dFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5n
IGRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1
bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7CiAgICAgc3RhdGljIFN0cmluZyBkZWZhdWx0
V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4
IDNmYmQxYjQwMzZjNzFiZmRkZWY5YmJjZGY4ZWYzZTg2NWE1MGY1ODkuLmU5MmZjM2MyNTQ1YTU3
YzkxM2E3NWE2NTcyMzA5OWQyNDMwMTliNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQpA
QCAtNzIsNiArNzIsMTEgQEAgU3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRJbmRleGVk
REJEYXRhYmFzZURpcmVjdG9yeSgpCiAgICAgcmV0dXJuIHdlYnNpdGVEYXRhRGlyZWN0b3J5Rmls
ZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJJbmRleGVkREIiKTsKIH0KIAorU3RyaW5nIFdlYnNpdGVE
YXRhU3RvcmU6OmRlZmF1bHRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KCkKK3sK
KyAgICByZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24o
IlNlcnZpY2VXb3JrZXJzIik7Cit9CisKIFN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0
TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkKIHsKICAgICByZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3Rv
cnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oIkxvY2FsU3RvcmFnZSIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KaW5kZXgg
MTIzYzNkMmIwY2Y2MjE5NDg2OTVjOTZiYjE1ZDI5NzI1ODMzNTliZS4uYzVlMmQ2Yzg5NjJmNzMz
YjlkZDYxYTk4OGI5ZjczYTQ2N2FlMTNjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC02Miw2ICs2Miw3IEBACiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogTlNTdHJpbmcgKldlYkRhdGFiYXNlRGlyZWN0b3J5
RGVmYXVsdHNLZXkgPSBAIldlYkRhdGFiYXNlRGlyZWN0b3J5IjsKK05TU3RyaW5nICpXZWJTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5RGVmYXVsdHNLZXkgPSBAIldlYlNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkiOwogTlNTdHJpbmcgKldlYktpdExvY2FsQ2FjaGVE
ZWZhdWx0c0tleSA9IEAiV2ViS2l0TG9jYWxDYWNoZSI7CiBOU1N0cmluZyAqV2ViU3RvcmFnZURp
cmVjdG9yeURlZmF1bHRzS2V5ID0gQCJXZWJLaXRMb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGhQcmVm
ZXJlbmNlS2V5IjsKIE5TU3RyaW5nICpXZWJLaXRKU0NKSVRFbmFibGVkRGVmYXVsdHNLZXkgPSBA
IldlYktpdEpTQ0pJVEVuYWJsZWREZWZhdWx0c0tleSI7CkBAIC0zODksNiArMzkwLDE2IEBAIFN0
cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0SW5kZXhlZERCRGF0YWJh
c2VEaXJlY3RvcnkoKQogICAgIHJldHVybiBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21w
b25lbnQobGVnYWN5UGxhdGZvcm1EZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKSwgIl9f
X0luZGV4ZWREQiIpOwogfQogCitTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3Jt
RGVmYXVsdFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKQoreworICAgIHJlZ2lz
dGVyVXNlckRlZmF1bHRzSWZOZWVkZWQoKTsKKworICAgIE5TU3RyaW5nICpkaXJlY3RvcnkgPSBb
W05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBvYmplY3RGb3JLZXk6V2ViU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeURlZmF1bHRzS2V5XTsKKyAgICBpZiAoIWRp
cmVjdG9yeSB8fCAhW2RpcmVjdG9yeSBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKQor
ICAgICAgICBkaXJlY3RvcnkgPSBAIn4vTGlicmFyeS9XZWJLaXQvU2VydmljZVdvcmtlcnMiOwor
ICAgIHJldHVybiBzdHJpbmdCeVJlc29sdmluZ1N5bWxpbmtzSW5QYXRoKFtkaXJlY3Rvcnkgc3Ry
aW5nQnlTdGFuZGFyZGl6aW5nUGF0aF0pOworfQorCiBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6Omxl
Z2FjeVBsYXRmb3JtRGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpCiB7CiAgICAgcmVnaXN0
ZXJVc2VyRGVmYXVsdHNJZk5lZWRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwCmluZGV4IDQ1YzAxMmZmNWU0YWRjZTU4NzVlYzhlYjY5YmJmOGJiNWIxYmQ2
MTEuLmFjN2NiYmNmMWRmMjRmYzNlMWUzNDY3NDY5YmNlMWEzMmRjYjk2OWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTU1OSw2ICs1NTksMTIgQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6ZW5zdXJlU3RvcmFnZVByb2Nlc3NBbmRXZWJzaXRlRGF0YVN0
b3JlKFdlYnNpdGVEYXRhU3RvcmUqIHIKICAgICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNy
ZWF0ZUhhbmRsZUZvclJlYWRXcml0ZURpcmVjdG9yeShwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFz
ZURpcmVjdG9yeSwgcGFyYW1ldGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25I
YW5kbGUpOwogICAgICAgICB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisg
ICAgICAgIGlmIChwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnku
aXNFbXB0eSgpKSB7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EaXJlY3RvcnkgPSBtX2NvbmZpZ3VyYXRpb24tPnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EaXJlY3RvcnkoKTsKKyAgICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRs
ZUZvclJlYWRXcml0ZURpcmVjdG9yeShwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EaXJlY3RvcnksIHBhcmFtZXRlcnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9y
eUV4dGVuc2lvbkhhbmRsZSk7CisgICAgICAgIH0KKyNlbmRpZgogCiAgICAgICAgIG1fc3RvcmFn
ZVByb2Nlc3MgPSBTdG9yYWdlUHJvY2Vzc1Byb3h5OjpjcmVhdGUoKnRoaXMpOwogICAgICAgICBt
X3N0b3JhZ2VQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6SW5pdGlhbGl6
ZVdlYnNpdGVEYXRhU3RvcmUocGFyYW1ldGVycyksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmgKaW5kZXggNDFhYTNjMzhiNDQ0OTI0ZjY3OGE0NmFjZmU2NDg5NzVh
NzI5ODYzZC4uNWYxNDUwMTY1MjQ4MTFjNjUyMmE0MWIyNzc3NGVkMzJjZTkwMjYzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC0zOTAsNiArMzkwLDcgQEAg
cHVibGljOgogICAgIC8vIEZJWE1FOiBNb3ZlIHRoZXNlIHRvIEFQSTo6V2Vic2l0ZURhdGFTdG9y
ZS4KICAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdExvY2FsU3RvcmFnZURp
cmVjdG9yeSgpOwogICAgIHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0SW5kZXhl
ZERCRGF0YWJhc2VEaXJlY3RvcnkoKTsKKyAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRmb3Jt
RGVmYXVsdFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKTsKICAgICBzdGF0aWMg
U3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7CiAg
ICAgc3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5KCk7CiAgICAgc3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYUNh
Y2hlRGlyZWN0b3J5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJz
aXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IDU4M2RlYzkwNTcxZDgyNjg0ZDQ0
OTk2NDBkMzBjYzg3OWRjYWI3MGEuLjM2MTg2OWUwMjgwMGQyMTgyZDNhZWE0MGE3NzRlOWVkZjhm
NTU5NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCkBAIC0xMTMsMTMgKzExMywxMiBAQCB2b2lkIFdlYnNp
dGVEYXRhU3RvcmU6OnJlc29sdmVEaXJlY3Rvcmllc0lmTmVjZXNzYXJ5KCkKICAgICAgICAgbV9y
ZXNvbHZlZENvbmZpZ3VyYXRpb24ubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IHJlc29sdmVB
bmRDcmVhdGVSZWFkV3JpdGVEaXJlY3RvcnlGb3JTYW5kYm94RXh0ZW5zaW9uKG1fY29uZmlndXJh
dGlvbi5tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KTsKICAgICBpZiAoIW1fY29uZmlndXJhdGlv
bi53ZWJTUUxEYXRhYmFzZURpcmVjdG9yeS5pc0VtcHR5KCkpCiAgICAgICAgIG1fcmVzb2x2ZWRD
b25maWd1cmF0aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gcmVzb2x2ZUFuZENyZWF0ZVJl
YWRXcml0ZURpcmVjdG9yeUZvclNhbmRib3hFeHRlbnNpb24obV9jb25maWd1cmF0aW9uLndlYlNR
TERhdGFiYXNlRGlyZWN0b3J5KTsKLQogICAgIGlmICghbV9jb25maWd1cmF0aW9uLmluZGV4ZWRE
QkRhdGFiYXNlRGlyZWN0b3J5LmlzRW1wdHkoKSkKICAgICAgICAgbV9yZXNvbHZlZENvbmZpZ3Vy
YXRpb24uaW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSByZXNvbHZlQW5kQ3JlYXRlUmVhZFdy
aXRlRGlyZWN0b3J5Rm9yU2FuZGJveEV4dGVuc2lvbihtX2NvbmZpZ3VyYXRpb24uaW5kZXhlZERC
RGF0YWJhc2VEaXJlY3RvcnkpOwotCisgICAgaWYgKCFtX2NvbmZpZ3VyYXRpb24uc2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeS5pc0VtcHR5KCkpCisgICAgICAgIG1fcmVzb2x2ZWRD
b25maWd1cmF0aW9uLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgPSByZXNvbHZl
QW5kQ3JlYXRlUmVhZFdyaXRlRGlyZWN0b3J5Rm9yU2FuZGJveEV4dGVuc2lvbihtX2NvbmZpZ3Vy
YXRpb24uc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSk7CiAgICAgaWYgKCFtX2Nv
bmZpZ3VyYXRpb24uamF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkuaXNFbXB0eSgpKQog
ICAgICAgICBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi5qYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRp
cmVjdG9yeSA9IHJlc29sdmVQYXRoRm9yU2FuZGJveEV4dGVuc2lvbihtX2NvbmZpZ3VyYXRpb24u
amF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkpOwotCiAgICAgaWYgKCFtX2NvbmZpZ3Vy
YXRpb24uY2FjaGVTdG9yYWdlRGlyZWN0b3J5LmlzRW1wdHkoKSAmJiBtX3Jlc29sdmVkQ29uZmln
dXJhdGlvbi5jYWNoZVN0b3JhZ2VEaXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICBtX3Jlc29s
dmVkQ29uZmlndXJhdGlvbi5jYWNoZVN0b3JhZ2VEaXJlY3RvcnkgPSByZXNvbHZlUGF0aEZvclNh
bmRib3hFeHRlbnNpb24obV9jb25maWd1cmF0aW9uLmNhY2hlU3RvcmFnZURpcmVjdG9yeSk7CiAK
QEAgLTEzNzYsNiArMTM3NSwxMSBAQCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyBX
ZWJzaXRlRGF0YVN0b3JlOjpzdG9yYWdlUHJvY2Vzc1BhcmFtZXRlcnMoKQogICAgIGlmICghcGFy
YW1ldGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JSZWFkV3JpdGVEaXJlY3RvcnkocGFyYW1ldGVy
cy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnksIHBhcmFtZXRlcnMuaW5kZXhlZERhdGFiYXNlRGly
ZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKKyAgICBwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgPSBy
ZXNvbHZlZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKTsKKyAgICBpZiAoIXBh
cmFtZXRlcnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeS5pc0VtcHR5KCkpCisg
ICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRXcml0ZURpcmVjdG9y
eShwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnksIHBhcmFtZXRl
cnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7Cisj
ZW5kaWYKIAogICAgIHJldHVybiBwYXJhbWV0ZXJzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4IDQ2M2Y3
YzY1OGExMTg4MWM5Y2Y2ODI4ZDkwMjFmNmZkM2RkZDhiMTcuLmExM2Y0Y2I0NmNjYmI3NDZmNzVl
OGRhNGViYWU2YThmNzVhODJkOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKQEAgLTc5LDYgKzc5LDcgQEAgcHVi
bGljOgogCiAgICAgICAgIFN0cmluZyBtZWRpYUNhY2hlRGlyZWN0b3J5OwogICAgICAgICBTdHJp
bmcgaW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rvcnk7CisgICAgICAgIFN0cmluZyBzZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5OwogICAgICAgICBTdHJpbmcgd2ViU1FMRGF0YWJhc2VE
aXJlY3Rvcnk7CiAgICAgICAgIFN0cmluZyBsb2NhbFN0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgICAg
IFN0cmluZyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5OwpAQCAtMTI3LDYgKzEyOCw3IEBAIHB1
YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHJlc29sdmVkSmF2YVNjcmlwdENvbmZpZ3VyYXRpb25E
aXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi5qYXZhU2Ny
aXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeTsgfQogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRD
b29raWVTdG9yYWdlRmlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9u
LmNvb2tpZVN0b3JhZ2VGaWxlOyB9CiAgICAgY29uc3QgU3RyaW5nJiByZXNvbHZlZEluZGV4ZWRE
YXRhYmFzZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9u
LmluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5OyB9CisgICAgY29uc3QgU3RyaW5nJiByZXNvbHZl
ZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3Jl
c29sdmVkQ29uZmlndXJhdGlvbi5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5OyB9
CiAKICAgICBTdG9yYWdlTWFuYWdlciogc3RvcmFnZU1hbmFnZXIoKSB7IHJldHVybiBtX3N0b3Jh
Z2VNYW5hZ2VyLmdldCgpOyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328372</attachid>
            <date>2017-12-04 12:08:56 -0800</date>
            <delta_ts>2017-12-04 16:52:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180362-20171204120855.patch</filename>
            <type>text/plain</type>
            <size>26679</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQzZjk2MjMxZjY2OGEx
MmE5ZTU2ZGI3ZTgzN2I5Y2I1Yzk0MDBlOS4uYTMwYjljODRkZDZkNjkxYTdmNzgxYmE4NzAxMGY4
NzdiMmM2Njg1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTEyLTA0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgYSBkaXJlY3Rvcnkg
cGF0aCB0byBTV1NlcnZlcnMgZm9yIHN0b3JpbmcgU2VydmljZVdvcmtlciByZWdpc3RyYXRpb25z
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIChObyBvYnNlcnZhYmxlIGJlaGF2aW9yIGNoYW5nZSB5ZXQpLgorCisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV1Nl
cnZlcjo6U1dTZXJ2ZXIpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXIuaDoKKwogMjAxNy0xMi0wMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gR3N0UGFkIGxlYWtlZCBpbiBXZWJLaXRUZXh0
Q29tYmluZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggNjQzNzUwMmJjZGZkMDdiZWEyMzQ2ZGE4ZTVmMjQ0MWY3YTI1
ZjU4ZC4uMzNkOGZkZTY5NGNlZmZjZTVhZWVhYTdlZmRlZTYzZWU0ZmQ2NTIxYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw1NCBAQAorMjAxNy0xMi0wNCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgR2V0IGEgZGlyZWN0b3J5IHBhdGggdG8gU1dTZXJ2ZXJzIGZvciBz
dG9yaW5nIFNlcnZpY2VXb3JrZXIgcmVnaXN0cmF0aW9ucy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM2MgorCisgICAgICAgIFJldmlld2VkIGJ5
IENocmlzIER1bWV6LgorCisgICAgICAgIFRoaXMgZ2V0cyBhbGwgb2YgdGhlIHBsdW1iaW5nIGlu
IHBsYWNlIGZvciBzcGVjaWZ5aW5nIGEgU2VydmljZVdvcmtlciByZWdpc3RyYXRpb24gc3RvcmFn
ZSBwYXRoCisgICAgICAgIGluIGEgcGFydGljdWxhciBXZWJzaXRlRGF0YVN0b3JlLgorCisgICAg
ICAgICogU2hhcmVkL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5j
b2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaDoKKworICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQ
cm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3M6OmluaXRpYWxpemVX
ZWJzaXRlRGF0YVN0b3JlKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3M6OnN3U2Vy
dmVyRm9yU2Vzc2lvbik6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3Mu
aDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
LmNwcDoKKyAgICAgICAgKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpjcmVhdGVXaXRo
TGVnYWN5T3B0aW9ucyk6CisgICAgICAgIChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbjo6
Y3JlYXRlV2l0aFdlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uKToKKyAgICAgICAgKEFQSTo6
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmg6CisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL0FQSVdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbToKKyAgICAgICAg
KEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
aXJlY3RvcnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9BUElXZWJzaXRlRGF0YVN0
b3JlR0xpYi5jcHA6CisgICAgICAgIChBUEk6OldlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KToKKworICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmVuc3Vy
ZVN0b3JhZ2VQcm9jZXNzQW5kV2Vic2l0ZURhdGFTdG9yZSk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnJl
c29sdmVEaXJlY3Rvcmllc0lmTmVjZXNzYXJ5KToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURh
dGFTdG9yZTo6c3RvcmFnZVByb2Nlc3NQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRl
RGF0YVN0b3JlOjpyZXNvbHZlZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgY29u
c3QpOgorCisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJQcm9jZXNzUG9vbEd0ay5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KToKKworICAgICAgICAqIFVJUHJvY2Vzcy93
cGUvV2ViUHJvY2Vzc1Bvb2xXUEUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9y
eSk6CisKIDIwMTctMTItMDIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEltcGxlbWVudCBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jY2xp
ZW50cy1nZXRhbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlci5jcHAKaW5kZXggMGUyM2EwY2ViMzU1OTI4YjU4YmU0MTY1MTk1YTdmNWYzZDQ5
MWFiYy4uOGZkZWU3ZDFmY2Y2ZWQxMTQ1NjNlMTM2MTA1NDNmMjhmNDQ5ZjBjYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKQEAg
LTIwMiw5ICsyMDIsMTAgQEAgdm9pZCBTV1NlcnZlcjo6Q29ubmVjdGlvbjo6c3luY1Rlcm1pbmF0
ZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWUKICAgICAgICAgbV9zZXJ2
ZXIuc3luY1Rlcm1pbmF0ZVdvcmtlcigqd29ya2VyKTsKIH0KIAotU1dTZXJ2ZXI6OlNXU2VydmVy
KFVuaXF1ZVJlZjxTV09yaWdpblN0b3JlPiYmIG9yaWdpblN0b3JlKQorU1dTZXJ2ZXI6OlNXU2Vy
dmVyKFVuaXF1ZVJlZjxTV09yaWdpblN0b3JlPiYmIG9yaWdpblN0b3JlLCBjb25zdCBTdHJpbmcm
IHJlZ2lzdHJhdGlvbkRhdGFiYXNlRGlyZWN0b3J5KQogICAgIDogbV9vcmlnaW5TdG9yZShXVEZN
b3ZlKG9yaWdpblN0b3JlKSkKIHsKKyAgICBVTlVTRURfUEFSQU0ocmVnaXN0cmF0aW9uRGF0YWJh
c2VEaXJlY3RvcnkpOwogICAgIGFsbFNlcnZlcnMoKS5hZGQodGhpcyk7CiAgICAgbV90YXNrVGhy
ZWFkID0gVGhyZWFkOjpjcmVhdGUoQVNDSUlMaXRlcmFsKCJTZXJ2aWNlV29ya2VyIFRhc2sgVGhy
ZWFkIiksIFt0aGlzXSB7CiAgICAgICAgIHRhc2tUaHJlYWRFbnRyeVBvaW50KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggZGM2
ZWY3Mzk4OWZhZDk2ZWYzMmRhZDI3YmM0ZTkyNzAyZWUzOGE3OS4uNzQzNTc4MDk0YTY3OWI2ZmEz
NzU2ZDUzMjdiZWQwMzMwMGQxZjQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtMTA0LDcgKzEwNCw3IEBAIHB1YmxpYzoKICAg
ICAgICAgSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAgICAgfTsKIAotICAgIFdFQkNPUkVfRVhQ
T1JUIGV4cGxpY2l0IFNXU2VydmVyKFVuaXF1ZVJlZjxTV09yaWdpblN0b3JlPiYmKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBleHBsaWNpdCBTV1NlcnZlcihVbmlxdWVSZWY8U1dPcmlnaW5TdG9yZT4m
JiwgY29uc3QgU3RyaW5nJiByZWdpc3RyYXRpb25EYXRhYmFzZURpcmVjdG9yeSk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgflNXU2VydmVyKCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFy
QWxsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TdG9yYWdlL1N0b3JhZ2VQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1N0b3Jh
Z2UvU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDRmZTM0MDc4ZGNm
NmVlYmQ0ODQ5OWE0ZjRmOTg5YjU1NjljOTdmMDQuLjhlNjU0ZjNmNTNlZDUwZmZmZWE3MzBjNGI2
YTlkYmVlMDAzMGYyNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1N0b3JhZ2Uv
U3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC0z
NiwyMyArMzYsMzEgQEAgU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OlN0b3JhZ2VQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKCkKIAogdm9pZCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSNpZiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICBlbmNvZGVyIDw8IHNlc3Npb25JRDsKLSAgICBl
bmNvZGVyIDw8IGluZGV4ZWREYXRhYmFzZURpcmVjdG9yeTsKLSAgICBlbmNvZGVyIDw8IGluZGV4
ZWREYXRhYmFzZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZTsKKyNpZiBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKKyAgICBlbmNvZGVyIDw8IGluZGV4ZWREYXRhYmFzZURpcmVjdG9yeSA8PCBpbmRl
eGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CisjZW5kaWYKKyNpZiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCisgICAgZW5jb2RlciA8PCBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGlyZWN0b3J5IDw8IHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlFeHRlbnNpb25I
YW5kbGU7CiAjZW5kaWYKIH0KIAogYm9vbCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
czo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMmIHJlc3VsdCkKIHsKLSNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zZXNzaW9uSUQpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShyZXN1bHQuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5KSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmluZGV4ZWREYXRhYmFzZURpcmVjdG9y
eUV4dGVuc2lvbkhhbmRsZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgorI2lmIEVO
QUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
aXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYK
IAogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
U3RvcmFnZS9TdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvU3RvcmFnZS9TdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4
IDQxYzE5NWYyOTJlZjdlZTE4MzcwMzIwZWUwNGI3NDlkOWQ3MGEwNGMuLmY2MGI1MDNjNzBkZDc2
M2E4NDJkMzZkZTYyZWM3ZDBiOTQxNzVkMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1N0b3JhZ2UvU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9TdG9yYWdlL1N0b3JhZ2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgKQEAgLTQ5LDYgKzQ5LDExIEBAIHN0cnVjdCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyB7CiAgICAgU3RyaW5nIGluZGV4ZWREYXRhYmFzZURpcmVjdG9yeTsKICAgICBTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGUgaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxl
OwogI2VuZGlmCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgU3RyaW5nIHNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnk7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7Cisj
ZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcAppbmRleCA2ZTdkMDY0ZDJkMTk4YjRiNTQ3
M2QwMTcxYTNmOGFhMGNhZmQ2MDk5Li5hZDk1OTBlZTVmZWM4NjQ2YWE3ZDlmNDliNTMyMjlhMjU5
MGJkOWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQ
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9j
ZXNzLmNwcApAQCAtMTQzLDE0ICsxNDMsMjIgQEAgdm9pZCBTdG9yYWdlUHJvY2Vzczo6aW5pdGlh
bGl6ZVdlYnNpdGVEYXRhU3RvcmUoY29uc3QgU3RvcmFnZVByb2Nlc3NDcmVhdGlvblBhcmEKICAg
ICAvLyBJTVBPUlRBTlQ6IERvIG5vdCBjaGFuZ2UgdGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgZm9y
IGluZGV4ZWQgZGF0YWJhc2VzIG9uIGRpc2sgd2l0aG91dCBmaXJzdCBjb25zdWx0aW5nIGEgcmV2
aWV3ZXIgZnJvbSBBcHBsZSAoPHJkYXI6Ly9wcm9ibGVtLzE3NDU0NzEyPikKICAgICAvLyAqKioq
KioqKioKIAotICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9pZGJEYXRhYmFzZVBhdGhzLmFkZChwYXJh
bWV0ZXJzLnNlc3Npb25JRCwgU3RyaW5nKCkpOwotICAgIGlmICghYWRkUmVzdWx0LmlzTmV3RW50
cnkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBw
YXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeTsKLSAgICBTYW5kYm94RXh0ZW5zaW9u
Ojpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnlF
eHRlbnNpb25IYW5kbGUpOwotCi0gICAgcG9zdFN0b3JhZ2VUYXNrKGNyZWF0ZUNyb3NzVGhyZWFk
VGFzaygqdGhpcywgJlN0b3JhZ2VQcm9jZXNzOjplbnN1cmVQYXRoRXhpc3RzLCBwYXJhbWV0ZXJz
LmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeSkpOworICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9pZGJE
YXRhYmFzZVBhdGhzLmVuc3VyZShwYXJhbWV0ZXJzLnNlc3Npb25JRCwgW3BhdGggPSBwYXJhbWV0
ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeV0geworICAgICAgICByZXR1cm4gcGF0aDsKKyAg
ICB9KTsKKyAgICBpZiAoYWRkUmVzdWx0LmlzTmV3RW50cnkpIHsKKyAgICAgICAgU2FuZGJveEV4
dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMuaW5kZXhlZERhdGFiYXNlRGly
ZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKKyAgICAgICAgcG9zdFN0b3JhZ2VUYXNrKGNyZWF0ZUNy
b3NzVGhyZWFkVGFzaygqdGhpcywgJlN0b3JhZ2VQcm9jZXNzOjplbnN1cmVQYXRoRXhpc3RzLCBw
YXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeSkpOworICAgIH0KKyNlbmRpZgorI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBhZGRSZXN1bHQgPSBtX3N3RGF0YWJhc2VQYXRo
cy5lbnN1cmUocGFyYW1ldGVycy5zZXNzaW9uSUQsIFtwYXRoID0gcGFyYW1ldGVycy5zZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5XSB7CisgICAgICAgIHJldHVybiBwYXRoOworICAg
IH0pOworICAgIGlmIChhZGRSZXN1bHQuaXNOZXdFbnRyeSkgeworICAgICAgICBTYW5kYm94RXh0
ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKKyAgICAgICAgcG9zdFN0b3JhZ2VUYXNr
KGNyZWF0ZUNyb3NzVGhyZWFkVGFzaygqdGhpcywgJlN0b3JhZ2VQcm9jZXNzOjplbnN1cmVQYXRo
RXhpc3RzLCBwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkpKTsK
KyAgICB9CiAjZW5kaWYKIH0KIApAQCAtMzcxLDEwICszNzksMTcgQEAgdm9pZCBTdG9yYWdlUHJv
Y2Vzczo6ZGlkR2V0U2FuZGJveEV4dGVuc2lvbnNGb3JCbG9iRmlsZXModWludDY0X3QgcmVxdWVz
dElELCBTYW4KIFNXU2VydmVyJiBTdG9yYWdlUHJvY2Vzczo6c3dTZXJ2ZXJGb3JTZXNzaW9uKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKIHsKICAgICBhdXRvIHJlc3VsdCA9IG1fc3dTZXJ2ZXJz
LmFkZChzZXNzaW9uSUQsIG51bGxwdHIpOwotICAgIGlmIChyZXN1bHQuaXNOZXdFbnRyeSkKLSAg
ICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9IHN0ZDo6bWFrZV91bmlxdWU8U1dTZXJ2ZXI+
KG1ha2VVbmlxdWVSZWY8V2ViU1dPcmlnaW5TdG9yZT4oKSk7CisgICAgaWYgKCFyZXN1bHQuaXNO
ZXdFbnRyeSkgeworICAgICAgICBBU1NFUlQocmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSk7CisgICAg
ICAgIHJldHVybiAqcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZTsKKyAgICB9CisKKyAgICBhdXRvIHBh
dGggPSBtX3N3RGF0YWJhc2VQYXRocy5nZXQoc2Vzc2lvbklEKTsKKyAgICAvLyBUaGVyZSBzaG91
bGQgYWxyZWFkeSBiZSBhIHJlZ2lzdGVyZWQgcGF0aCBmb3IgdGhpcyBQQUw6OlNlc3Npb25JRC4K
KyAgICAvLyBJZiB0aGVyZSdzIG5vdCwgdGhlbiB3aGVyZSBkaWQgdGhpcyBQQUw6OlNlc3Npb25J
RCBjb21lIGZyb20/CisgICAgQVNTRVJUKCFwYXRoLmlzRW1wdHkoKSk7CiAKLSAgICBBU1NFUlQo
cmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSk7CisgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9IHN0
ZDo6bWFrZV91bmlxdWU8U1dTZXJ2ZXI+KG1ha2VVbmlxdWVSZWY8V2ViU1dPcmlnaW5TdG9yZT4o
KSwgcGF0aCk7CiAgICAgcmV0dXJuICpyZXN1bHQuaXRlcmF0b3ItPnZhbHVlOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmggYi9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmgKaW5kZXggODE1ODdi
MGNhYjA0YjQzYmVhZDIwZTg3YTU4MTE3ZjNlY2MzODgzNC4uMTcxYzdhNmU3YjBjZWQwMzQ4YjQ0
YjQzMzVkYzFhYTg3M2JkZTRiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJv
Y2Vzcy9TdG9yYWdlUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3Mv
U3RvcmFnZVByb2Nlc3MuaApAQCAtMTYxLDYgKzE2MSw3IEBAIHByaXZhdGU6CiAKICAgICBSZWZQ
dHI8V2ViU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uPiBtX3NlcnZlclRvQ29udGV4dENvbm5l
Y3Rpb247CiAgICAgYm9vbCBtX3dhaXRpbmdGb3JTZXJ2ZXJUb0NvbnRleHRQcm9jZXNzQ29ubmVj
dGlvbiB7IGZhbHNlIH07CisgICAgSGFzaE1hcDxQQUw6OlNlc3Npb25JRCwgU3RyaW5nPiBtX3N3
RGF0YWJhc2VQYXRoczsKICAgICBIYXNoTWFwPFBBTDo6U2Vzc2lvbklELCBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6U1dTZXJ2ZXI+PiBtX3N3U2VydmVyczsKICAgICBIYXNoTWFwPFdlYkNvcmU6
OlNXU2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIFdlYlNXU2VydmVyQ29ubmVjdGlvbio+IG1f
c3dTZXJ2ZXJDb25uZWN0aW9uczsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAppbmRleCBl
OTY5NDA2YjdmY2I4MTdkMmQ2ZWEwNGYyNzkzNjAwODY0ODBiMTM3Li4yMzlhNWQ5ZTE4ZGVjYzQx
NDZlM2Q5MThjNjUzN2QxY2JhZjI3ZTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmNwcApAQCAtNDks
NiArNDksNyBAQCBSZWY8UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBQcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb246OmNyZWF0ZVdpdGhMZWdhY3lPcHRpb25zKAogICAgIGNvbmZpZ3VyYXRpb24tPm1f
ZGlza0NhY2hlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZv
cm1EZWZhdWx0TmV0d29ya0NhY2hlRGlyZWN0b3J5KCk7CiAgICAgY29uZmlndXJhdGlvbi0+bV9t
ZWRpYUNhY2hlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZv
cm1EZWZhdWx0TWVkaWFDYWNoZURpcmVjdG9yeSgpOwogICAgIGNvbmZpZ3VyYXRpb24tPm1faW5k
ZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpsZWdhY3lQ
bGF0Zm9ybURlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOworICAgIGNvbmZpZ3Vy
YXRpb24tPm1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSA9IFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EaXJlY3RvcnkoKTsKICAgICBjb25maWd1cmF0aW9uLT5tX2xvY2FsU3RvcmFnZURpcmVjdG9y
eSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdExvY2FsU3Rv
cmFnZURpcmVjdG9yeSgpOwogICAgIGNvbmZpZ3VyYXRpb24tPm1fbWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeSA9IFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdE1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKICAgICBjb25maWd1cmF0aW9uLT5tX3dlYlNRTERh
dGFiYXNlRGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1E
ZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKTsKQEAgLTY2LDYgKzY3LDcgQEAgUmVmPFBy
b2Nlc3NQb29sQ29uZmlndXJhdGlvbj4gUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpjcmVhdGVX
aXRoV2Vic2l0ZURhdGFTdG8KICAgICBjb25maWd1cmF0aW9uLT5tX2Rpc2tDYWNoZURpcmVjdG9y
eSA9IGxlZ2FjeUNvbmZpZ3VyYXRpb24ubmV0d29ya0NhY2hlRGlyZWN0b3J5OwogICAgIGNvbmZp
Z3VyYXRpb24tPm1fbWVkaWFDYWNoZURpcmVjdG9yeSA9IGxlZ2FjeUNvbmZpZ3VyYXRpb24ubWVk
aWFDYWNoZURpcmVjdG9yeTsKICAgICBjb25maWd1cmF0aW9uLT5tX2luZGV4ZWREQkRhdGFiYXNl
RGlyZWN0b3J5ID0gV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0
SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKTsKKyAgICBjb25maWd1cmF0aW9uLT5tX3NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgPSBXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjps
ZWdhY3lQbGF0Zm9ybURlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOwogICAgIGNv
bmZpZ3VyYXRpb24tPm1fbG9jYWxTdG9yYWdlRGlyZWN0b3J5ID0gbGVnYWN5Q29uZmlndXJhdGlv
bi5sb2NhbFN0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgY29uZmlndXJhdGlvbi0+bV9tZWRpYUtleXNT
dG9yYWdlRGlyZWN0b3J5ID0gbGVnYWN5Q29uZmlndXJhdGlvbi5tZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5OwogICAgIGNvbmZpZ3VyYXRpb24tPm1fcmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVj
dG9yeSA9IGxlZ2FjeUNvbmZpZ3VyYXRpb24ucmVzb3VyY2VMb2FkU3RhdGlzdGljc0RpcmVjdG9y
eTsKQEAgLTgwLDYgKzgyLDcgQEAgUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uOjpQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24oKQogICAgICwgbV9kaXNrQ2FjaGVEaXJlY3RvcnkoV2Vic2l0ZURhdGFT
dG9yZTo6ZGVmYXVsdE5ldHdvcmtDYWNoZURpcmVjdG9yeSgpKQogICAgICwgbV9tZWRpYUNhY2hl
RGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYUNhY2hlRGlyZWN0b3J5KCkp
CiAgICAgLCBtX2luZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRl
ZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpKQorICAgICwgbV9zZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KCkpCiAgICAgLCBtX2xvY2FsU3RvcmFnZURpcmVjdG9y
eShXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkpCiAgICAg
LCBtX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRXZWJT
UUxEYXRhYmFzZURpcmVjdG9yeSgpKQogICAgICwgbV9tZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5
KFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uLmgKaW5kZXggMTk2YzJkZDUzY2IzODMyMGZiZGEwMDhhYzQ0OTFjNGQ4MDZk
NzZiOC4uZTBhYmMwMTFjOWI3YTY3OTg0ZmE4ODIwMTMxNTlhY2NhY2FiMWQ3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24uaApAQCAtNzYsNiArNzYsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgV1RGOjpTdHJp
bmcmIGluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9pbmRleGVk
REJEYXRhYmFzZURpcmVjdG9yeTsgfQogICAgIHZvaWQgc2V0SW5kZXhlZERCRGF0YWJhc2VEaXJl
Y3RvcnkoY29uc3QgV1RGOjpTdHJpbmcmIGluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KSB7IG1f
aW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSBpbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeTsg
fQogCisgICAgY29uc3QgV1RGOjpTdHJpbmcmIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJl
Y3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rv
cnk7IH0KKyAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoY29u
c3QgV1RGOjpTdHJpbmcmIGRpcmVjdG9yeSkgeyBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
aXJlY3RvcnkgPSBkaXJlY3Rvcnk7IH0KKyAgICAKICAgICBjb25zdCBXVEY6OlN0cmluZyYgaW5q
ZWN0ZWRCdW5kbGVQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9pbmplY3RlZEJ1bmRsZVBhdGg7IH0K
ICAgICB2b2lkIHNldEluamVjdGVkQnVuZGxlUGF0aChjb25zdCBXVEY6OlN0cmluZyYgaW5qZWN0
ZWRCdW5kbGVQYXRoKSB7IG1faW5qZWN0ZWRCdW5kbGVQYXRoID0gaW5qZWN0ZWRCdW5kbGVQYXRo
OyB9CiAKQEAgLTE0OCw2ICsxNTEsNyBAQCBwcml2YXRlOgogICAgIFdURjo6U3RyaW5nIG1fZGlz
a0NhY2hlRGlyZWN0b3J5OwogICAgIFdURjo6U3RyaW5nIG1fbWVkaWFDYWNoZURpcmVjdG9yeTsK
ICAgICBXVEY6OlN0cmluZyBtX2luZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5OworICAgIFdURjo6
U3RyaW5nIG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeTsKICAgICBXVEY6OlN0
cmluZyBtX2luamVjdGVkQnVuZGxlUGF0aDsKICAgICBXVEY6OlN0cmluZyBtX2xvY2FsU3RvcmFn
ZURpcmVjdG9yeTsKICAgICBXVEY6OlN0cmluZyBtX3dlYlNRTERhdGFiYXNlRGlyZWN0b3J5Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3Rv
cmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlRGF0YVN0b3JlLmgK
aW5kZXggYWUyNDY1OTgyODBlYThiMDRjZjQ2MzFlNjY1ZDlhZTI0YTZmMzNkMi4uZmI1ZDUyNzc0
ZjlkMGExNTNkM2Y4ZThjNThmMzY0Mzg2ZjQ4ZmI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVEYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC01OCw2ICs1OCw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRNZWRpYUNhY2hlRGlyZWN0b3J5KCk7CiAK
ICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpOwor
ICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rv
cnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRMb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKTsK
ICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7CiAg
ICAgc3RhdGljIFN0cmluZyBkZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0
b3JlQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJV2Vic2l0
ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4IDNmYmQxYjQwMzZjNzFiZmRkZWY5YmJjZGY4ZWYzZTg2
NWE1MGY1ODkuLmU5MmZjM2MyNTQ1YTU3YzkxM2E3NWE2NTcyMzA5OWQyNDMwMTliNGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElXZWJzaXRlRGF0YVN0
b3JlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL0FQSVdl
YnNpdGVEYXRhU3RvcmVDb2NvYS5tbQpAQCAtNzIsNiArNzIsMTEgQEAgU3RyaW5nIFdlYnNpdGVE
YXRhU3RvcmU6OmRlZmF1bHRJbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeSgpCiAgICAgcmV0dXJu
IHdlYnNpdGVEYXRhRGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKCJJbmRleGVkREIi
KTsKIH0KIAorU3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3RvcnlG
aWxlU3lzdGVtUmVwcmVzZW50YXRpb24oIlNlcnZpY2VXb3JrZXJzIik7Cit9CisKIFN0cmluZyBX
ZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkKIHsKICAgICBy
ZXR1cm4gd2Vic2l0ZURhdGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oIkxvY2Fs
U3RvcmFnZSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
QVBJV2Vic2l0ZURhdGFTdG9yZUdMaWIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvQVBJV2Vic2l0ZURhdGFTdG9yZUdMaWIuY3BwCmluZGV4IDQ2NmMwY2Y1ZDU1MTM1Njgz
ZDAxMWEyYTg0NDUxMjMxMDliMDMwMTcuLmViMDI0YmIxNmJjNzQxMTRjMGU2NTQ3NTQzZmM4MTdl
ZmUxOThiNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0FQ
SVdlYnNpdGVEYXRhU3RvcmVHTGliLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9BUElXZWJzaXRlRGF0YVN0b3JlR0xpYi5jcHAKQEAgLTU4LDYgKzU4LDEyIEBAIFN0
cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rvcnko
KQogICAgIHJldHVybiB3ZWJzaXRlRGF0YURpcmVjdG9yeUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlv
bihCQVNFX0RJUkVDVE9SWSBHX0RJUl9TRVBBUkFUT1JfUyAiZGF0YWJhc2VzIiBHX0RJUl9TRVBB
UkFUT1JfUyAiaW5kZXhlZGRiIik7CiB9CiAKK1N0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZh
dWx0U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpCit7CisgICAgLy8gRklYTUU6
IEltcGxlbWVudAorICAgIHJldHVybiB7IH07Cit9CisKIFN0cmluZyBXZWJzaXRlRGF0YVN0b3Jl
OjpkZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkKIHsKICAgICByZXR1cm4gd2Vic2l0ZURh
dGFEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oQkFTRV9ESVJFQ1RPUlkgR19ESVJf
U0VQQVJBVE9SX1MgImxvY2Fsc3RvcmFnZSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KaW5kZXggMTIzYzNkMmIwY2Y2MjE5
NDg2OTVjOTZiYjE1ZDI5NzI1ODMzNTliZS4uYzVlMmQ2Yzg5NjJmNzMzYjlkZDYxYTk4OGI5Zjcz
YTQ2N2FlMTNjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC02Miw2ICs2Miw3IEBACiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAogTlNTdHJpbmcgKldlYkRhdGFiYXNlRGlyZWN0b3J5RGVmYXVsdHNLZXkgPSBA
IldlYkRhdGFiYXNlRGlyZWN0b3J5IjsKK05TU3RyaW5nICpXZWJTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGlyZWN0b3J5RGVmYXVsdHNLZXkgPSBAIldlYlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EaXJlY3RvcnkiOwogTlNTdHJpbmcgKldlYktpdExvY2FsQ2FjaGVEZWZhdWx0c0tleSA9IEAi
V2ViS2l0TG9jYWxDYWNoZSI7CiBOU1N0cmluZyAqV2ViU3RvcmFnZURpcmVjdG9yeURlZmF1bHRz
S2V5ID0gQCJXZWJLaXRMb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGhQcmVmZXJlbmNlS2V5IjsKIE5T
U3RyaW5nICpXZWJLaXRKU0NKSVRFbmFibGVkRGVmYXVsdHNLZXkgPSBAIldlYktpdEpTQ0pJVEVu
YWJsZWREZWZhdWx0c0tleSI7CkBAIC0zODksNiArMzkwLDE2IEBAIFN0cmluZyBXZWJQcm9jZXNz
UG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKQog
ICAgIHJldHVybiBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQobGVnYWN5UGxh
dGZvcm1EZWZhdWx0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoKSwgIl9fX0luZGV4ZWREQiIpOwog
fQogCitTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKQoreworICAgIHJlZ2lzdGVyVXNlckRlZmF1bHRz
SWZOZWVkZWQoKTsKKworICAgIE5TU3RyaW5nICpkaXJlY3RvcnkgPSBbW05TVXNlckRlZmF1bHRz
IHN0YW5kYXJkVXNlckRlZmF1bHRzXSBvYmplY3RGb3JLZXk6V2ViU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRpcmVjdG9yeURlZmF1bHRzS2V5XTsKKyAgICBpZiAoIWRpcmVjdG9yeSB8fCAhW2Rp
cmVjdG9yeSBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKQorICAgICAgICBkaXJlY3Rv
cnkgPSBAIn4vTGlicmFyeS9XZWJLaXQvU2VydmljZVdvcmtlcnMiOworICAgIHJldHVybiBzdHJp
bmdCeVJlc29sdmluZ1N5bWxpbmtzSW5QYXRoKFtkaXJlY3Rvcnkgc3RyaW5nQnlTdGFuZGFyZGl6
aW5nUGF0aF0pOworfQorCiBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVm
YXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpCiB7CiAgICAgcmVnaXN0ZXJVc2VyRGVmYXVsdHNJ
Zk5lZWRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmlu
ZGV4IDQ1YzAxMmZmNWU0YWRjZTU4NzVlYzhlYjY5YmJmOGJiNWIxYmQ2MTEuLmFjN2NiYmNmMWRm
MjRmYzNlMWUzNDY3NDY5YmNlMWEzMmRjYjk2OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTU1OSw2ICs1NTksMTIgQEAgdm9pZCBXZWJQcm9jZXNz
UG9vbDo6ZW5zdXJlU3RvcmFnZVByb2Nlc3NBbmRXZWJzaXRlRGF0YVN0b3JlKFdlYnNpdGVEYXRh
U3RvcmUqIHIKICAgICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJl
YWRXcml0ZURpcmVjdG9yeShwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeSwgcGFy
YW1ldGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogICAgICAg
ICB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIGlmIChwYXJh
bWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkuaXNFbXB0eSgpKSB7Cisg
ICAgICAgICAgICBwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnkg
PSBtX2NvbmZpZ3VyYXRpb24tPnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKTsK
KyAgICAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRXcml0ZURp
cmVjdG9yeShwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnksIHBh
cmFtZXRlcnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeUV4dGVuc2lvbkhhbmRs
ZSk7CisgICAgICAgIH0KKyNlbmRpZgogCiAgICAgICAgIG1fc3RvcmFnZVByb2Nlc3MgPSBTdG9y
YWdlUHJvY2Vzc1Byb3h5OjpjcmVhdGUoKnRoaXMpOwogICAgICAgICBtX3N0b3JhZ2VQcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpTdG9yYWdlUHJvY2Vzczo6SW5pdGlhbGl6ZVdlYnNpdGVEYXRhU3Rv
cmUocGFyYW1ldGVycyksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmgKaW5kZXggNDFhYTNjMzhiNDQ0OTI0ZjY3OGE0NmFjZmU2NDg5NzVhNzI5ODYzZC4uNWYxNDUw
MTY1MjQ4MTFjNjUyMmE0MWIyNzc3NGVkMzJjZTkwMjYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC0zOTAsNiArMzkwLDcgQEAgcHVibGljOgogICAgIC8v
IEZJWE1FOiBNb3ZlIHRoZXNlIHRvIEFQSTo6V2Vic2l0ZURhdGFTdG9yZS4KICAgICBzdGF0aWMg
U3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpOwogICAg
IHN0YXRpYyBTdHJpbmcgbGVnYWN5UGxhdGZvcm1EZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJl
Y3RvcnkoKTsKKyAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBsYXRmb3JtRGVmYXVsdFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGxlZ2FjeVBs
YXRmb3JtRGVmYXVsdFdlYlNRTERhdGFiYXNlRGlyZWN0b3J5KCk7CiAgICAgc3RhdGljIFN0cmlu
ZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCk7CiAgICAg
c3RhdGljIFN0cmluZyBsZWdhY3lQbGF0Zm9ybURlZmF1bHRNZWRpYUNhY2hlRGlyZWN0b3J5KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuY3BwCmluZGV4IDU4M2RlYzkwNTcxZDgyNjg0ZDQ0OTk2NDBkMzBjYzg3OWRj
YWI3MGEuLjM2MTg2OWUwMjgwMGQyMTgyZDNhZWE0MGE3NzRlOWVkZjhmNTU5NjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuY3BwCkBAIC0xMTMsMTMgKzExMywxMiBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnJl
c29sdmVEaXJlY3Rvcmllc0lmTmVjZXNzYXJ5KCkKICAgICAgICAgbV9yZXNvbHZlZENvbmZpZ3Vy
YXRpb24ubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSA9IHJlc29sdmVBbmRDcmVhdGVSZWFkV3Jp
dGVEaXJlY3RvcnlGb3JTYW5kYm94RXh0ZW5zaW9uKG1fY29uZmlndXJhdGlvbi5tZWRpYUtleXNT
dG9yYWdlRGlyZWN0b3J5KTsKICAgICBpZiAoIW1fY29uZmlndXJhdGlvbi53ZWJTUUxEYXRhYmFz
ZURpcmVjdG9yeS5pc0VtcHR5KCkpCiAgICAgICAgIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLndl
YlNRTERhdGFiYXNlRGlyZWN0b3J5ID0gcmVzb2x2ZUFuZENyZWF0ZVJlYWRXcml0ZURpcmVjdG9y
eUZvclNhbmRib3hFeHRlbnNpb24obV9jb25maWd1cmF0aW9uLndlYlNRTERhdGFiYXNlRGlyZWN0
b3J5KTsKLQogICAgIGlmICghbV9jb25maWd1cmF0aW9uLmluZGV4ZWREQkRhdGFiYXNlRGlyZWN0
b3J5LmlzRW1wdHkoKSkKICAgICAgICAgbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24uaW5kZXhlZERC
RGF0YWJhc2VEaXJlY3RvcnkgPSByZXNvbHZlQW5kQ3JlYXRlUmVhZFdyaXRlRGlyZWN0b3J5Rm9y
U2FuZGJveEV4dGVuc2lvbihtX2NvbmZpZ3VyYXRpb24uaW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rv
cnkpOwotCisgICAgaWYgKCFtX2NvbmZpZ3VyYXRpb24uc2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRpcmVjdG9yeS5pc0VtcHR5KCkpCisgICAgICAgIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLnNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgPSByZXNvbHZlQW5kQ3JlYXRlUmVhZFdy
aXRlRGlyZWN0b3J5Rm9yU2FuZGJveEV4dGVuc2lvbihtX2NvbmZpZ3VyYXRpb24uc2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSk7CiAgICAgaWYgKCFtX2NvbmZpZ3VyYXRpb24uamF2
YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICBtX3Jlc29s
dmVkQ29uZmlndXJhdGlvbi5qYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeSA9IHJlc29s
dmVQYXRoRm9yU2FuZGJveEV4dGVuc2lvbihtX2NvbmZpZ3VyYXRpb24uamF2YVNjcmlwdENvbmZp
Z3VyYXRpb25EaXJlY3RvcnkpOwotCiAgICAgaWYgKCFtX2NvbmZpZ3VyYXRpb24uY2FjaGVTdG9y
YWdlRGlyZWN0b3J5LmlzRW1wdHkoKSAmJiBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi5jYWNoZVN0
b3JhZ2VEaXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICBtX3Jlc29sdmVkQ29uZmlndXJhdGlv
bi5jYWNoZVN0b3JhZ2VEaXJlY3RvcnkgPSByZXNvbHZlUGF0aEZvclNhbmRib3hFeHRlbnNpb24o
bV9jb25maWd1cmF0aW9uLmNhY2hlU3RvcmFnZURpcmVjdG9yeSk7CiAKQEAgLTEzNzYsNiArMTM3
NSwxMSBAQCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyBXZWJzaXRlRGF0YVN0b3Jl
OjpzdG9yYWdlUHJvY2Vzc1BhcmFtZXRlcnMoKQogICAgIGlmICghcGFyYW1ldGVycy5pbmRleGVk
RGF0YWJhc2VEaXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpj
cmVhdGVIYW5kbGVGb3JSZWFkV3JpdGVEaXJlY3RvcnkocGFyYW1ldGVycy5pbmRleGVkRGF0YWJh
c2VEaXJlY3RvcnksIHBhcmFtZXRlcnMuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5RXh0ZW5zaW9u
SGFuZGxlKTsKICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBwYXJhbWV0
ZXJzLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkgPSByZXNvbHZlZFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnkoKTsKKyAgICBpZiAoIXBhcmFtZXRlcnMuc2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeS5pc0VtcHR5KCkpCisgICAgICAgIFNhbmRib3hF
eHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvclJlYWRXcml0ZURpcmVjdG9yeShwYXJhbWV0ZXJzLnNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3RvcnksIHBhcmFtZXRlcnMuc2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CisjZW5kaWYKIAogICAgIHJl
dHVybiBwYXJhbWV0ZXJzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4IDQ2M2Y3YzY1OGExMTg4MWM5Y2Y2
ODI4ZDkwMjFmNmZkM2RkZDhiMTcuLmExM2Y0Y2I0NmNjYmI3NDZmNzVlOGRhNGViYWU2YThmNzVh
ODJkOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9XZWJzaXRlRGF0YVN0b3JlLmgKQEAgLTc5LDYgKzc5LDcgQEAgcHVibGljOgogCiAgICAgICAg
IFN0cmluZyBtZWRpYUNhY2hlRGlyZWN0b3J5OwogICAgICAgICBTdHJpbmcgaW5kZXhlZERCRGF0
YWJhc2VEaXJlY3Rvcnk7CisgICAgICAgIFN0cmluZyBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGlyZWN0b3J5OwogICAgICAgICBTdHJpbmcgd2ViU1FMRGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAg
ICAgIFN0cmluZyBsb2NhbFN0b3JhZ2VEaXJlY3Rvcnk7CiAgICAgICAgIFN0cmluZyBtZWRpYUtl
eXNTdG9yYWdlRGlyZWN0b3J5OwpAQCAtMTI3LDYgKzEyOCw3IEBAIHB1YmxpYzoKICAgICBjb25z
dCBTdHJpbmcmIHJlc29sdmVkSmF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkoKSBjb25z
dCB7IHJldHVybiBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi5qYXZhU2NyaXB0Q29uZmlndXJhdGlv
bkRpcmVjdG9yeTsgfQogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRDb29raWVTdG9yYWdlRmls
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLmNvb2tpZVN0b3JhZ2VG
aWxlOyB9CiAgICAgY29uc3QgU3RyaW5nJiByZXNvbHZlZEluZGV4ZWREYXRhYmFzZURpcmVjdG9y
eSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLmluZGV4ZWREQkRhdGFi
YXNlRGlyZWN0b3J5OyB9CisgICAgY29uc3QgU3RyaW5nJiByZXNvbHZlZFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EaXJlY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3Jlc29sdmVkQ29uZmlndXJh
dGlvbi5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5OyB9CiAKICAgICBTdG9yYWdl
TWFuYWdlciogc3RvcmFnZU1hbmFnZXIoKSB7IHJldHVybiBtX3N0b3JhZ2VNYW5hZ2VyLmdldCgp
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJQcm9jZXNz
UG9vbEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc1Bvb2xH
dGsuY3BwCmluZGV4IGI0YTE3MjM5ZjViYzQ0NmRiYzBhNWMwZWJlZTNhYTU4N2NmZjhiOGEuLjIx
NjY5ZmY1NmFiNmE0ZWVjNDY4ZjE2NjA0YjM0MTA4YThhZWZiMjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9XZWJQcm9jZXNzUG9vbEd0ay5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NQb29sR3RrLmNwcApAQCAtMTA2LDYgKzEw
NiwxMSBAQCBTdHJpbmcgV2ViUHJvY2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdEluZGV4
ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCkKICAgICByZXR1cm4gQVBJOjpXZWJzaXRlRGF0YVN0b3Jl
OjpkZWZhdWx0SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKTsKIH0KIAorU3RyaW5nIFdlYlBy
b2Nlc3NQb29sOjpsZWdhY3lQbGF0Zm9ybURlZmF1bHRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gQVBJOjpXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVjdG9yeSgpOworfQorCiBTdHJpbmcgV2ViUHJv
Y2Vzc1Bvb2w6OmxlZ2FjeVBsYXRmb3JtRGVmYXVsdExvY2FsU3RvcmFnZURpcmVjdG9yeSgpCiB7
CiAgICAgcmV0dXJuIEFQSTo6V2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdExvY2FsU3RvcmFnZURp
cmVjdG9yeSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlBy
b2Nlc3NQb29sV1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dwZS9XZWJQcm9jZXNz
UG9vbFdQRS5jcHAKaW5kZXggNzNkODAxYmE5NWNjMGJkNzgxNmYyMjUzODY1ODQ3MWVkMzZjNmQ2
OC4uYjI5YTkyYjgyM2Q5ZmIxY2NjMWQwYTRiZjZmMTBiNTRhOTdiYWY5MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd3BlL1dlYlByb2Nlc3NQb29sV1BFLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc1Bvb2xXUEUuY3BwCkBAIC0xMTEs
NiArMTExLDEzIEBAIFN0cmluZyBXZWJQcm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0
SW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkoKQogICAgIHJldHVybiBXZWJDb3JlOjpGaWxlU3lz
dGVtOjpzdHJpbmdGcm9tRmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGluZGV4ZWREQkRhdGFiYXNl
RGlyZWN0b3J5LmdldCgpKTsKIH0KIAorU3RyaW5nIFdlYlByb2Nlc3NQb29sOjpsZWdhY3lQbGF0
Zm9ybURlZmF1bHRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KCkKK3sKKyAgICAv
LyBGSVhNRTogSW1wbGVtZW50IHdoZW4gaW1wbGVtZW50aW5nIFNlcnZpY2VXb3JrZXJzCisgICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKIFN0cmluZyBXZWJQ
cm9jZXNzUG9vbDo6bGVnYWN5UGxhdGZvcm1EZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkK
IHsKICAgICBHVW5pcXVlUHRyPGdjaGFyPiBzdG9yYWdlRGlyZWN0b3J5KGdfYnVpbGRfZmlsZW5h
bWUoZ19nZXRfdXNlcl9kYXRhX2RpcigpLCAid3BlIiwgImxvY2Fsc3RvcmFnZSIsIG51bGxwdHIp
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328412</attachid>
            <date>2017-12-04 16:51:25 -0800</date>
            <delta_ts>2017-12-04 16:52:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180362-20171204165124.patch</filename>
            <type>text/plain</type>
            <size>1644</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU1MmQ2MTQ3YTE1YTYyZmMw
NjQ2NjgzODVkMGVhNWYyZjAyYTkxYmQuLmM0MTk5YjE3NTVhY2ZiZmRkYzc5YWQyMTE5NDZlMDE3
NzE0OGRkNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMTItMDQgIEJyYWR5IEVp
ZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEZvbGxvd3VwIHRvOgorICAgICAg
ICBHZXQgYSBkaXJlY3RvcnkgcGF0aCB0byBTV1NlcnZlcnMgZm9yIHN0b3JpbmcgU2VydmljZVdv
cmtlciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODAzNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6U3RvcmFnZVByb2Nlc3M6OnN3U2VydmVyRm9yU2Vzc2lvbik6IENoYW5nZSB0aGlz
IEFTU0VSVCB3aGljaCBpcyBpbnZhbGlkIGluIHByaXZhdGUgYnJvd3Npbmcgc2Vzc2lvbnMuCisK
IDIwMTctMTItMDQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAg
IEdldCBhIGRpcmVjdG9yeSBwYXRoIHRvIFNXU2VydmVycyBmb3Igc3RvcmluZyBTZXJ2aWNlV29y
a2VyIHJlZ2lzdHJhdGlvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3Rv
cmFnZVByb2Nlc3MuY3BwCmluZGV4IGFkOTU5MGVlNWZlYzg2NDZhYTdkOWY0OWI1MzIyOWEyNTkw
YmQ5ZGQuLjJmN2E1MDE1NTJkMTJmOTc5NjRkYTk5NzU2ZDhiMGM1NDA4ZjhhZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwCkBAIC0zODcs
NyArMzg3LDcgQEAgU1dTZXJ2ZXImIFN0b3JhZ2VQcm9jZXNzOjpzd1NlcnZlckZvclNlc3Npb24o
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogICAgIGF1dG8gcGF0aCA9IG1fc3dEYXRhYmFzZVBh
dGhzLmdldChzZXNzaW9uSUQpOwogICAgIC8vIFRoZXJlIHNob3VsZCBhbHJlYWR5IGJlIGEgcmVn
aXN0ZXJlZCBwYXRoIGZvciB0aGlzIFBBTDo6U2Vzc2lvbklELgogICAgIC8vIElmIHRoZXJlJ3Mg
bm90LCB0aGVuIHdoZXJlIGRpZCB0aGlzIFBBTDo6U2Vzc2lvbklEIGNvbWUgZnJvbT8KLSAgICBB
U1NFUlQoIXBhdGguaXNFbXB0eSgpKTsKKyAgICBBU1NFUlQoc2Vzc2lvbklELmlzRXBoZW1lcmFs
KCkgfHwgIXBhdGguaXNFbXB0eSgpKTsKIAogICAgIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBz
dGQ6Om1ha2VfdW5pcXVlPFNXU2VydmVyPihtYWtlVW5pcXVlUmVmPFdlYlNXT3JpZ2luU3RvcmU+
KCksIHBhdGgpOwogICAgIHJldHVybiAqcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328413</attachid>
            <date>2017-12-04 16:52:07 -0800</date>
            <delta_ts>2017-12-04 17:19:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180362-20171204165206.patch</filename>
            <type>text/plain</type>
            <size>1628</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU1MmQ2MTQ3YTE1YTYyZmMw
NjQ2NjgzODVkMGVhNWYyZjAyYTkxYmQuLjQ5NDJmYjA1ZmVmZGNiNjFmZjMyOTVjMTJmNzY0NGY5
MWU5YjJkZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMTItMDQgIEJyYWR5IEVp
ZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEZvbGxvd3VwIHRvOgorICAgICAg
ICBHZXQgYSBkaXJlY3RvcnkgcGF0aCB0byBTV1NlcnZlcnMgZm9yIHN0b3JpbmcgU2VydmljZVdv
cmtlciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODAzNjIKKworICAgICAgICBVbnJldmlld2VkLgorCisgICAgICAgICogU3Rv
cmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdl
UHJvY2Vzczo6c3dTZXJ2ZXJGb3JTZXNzaW9uKTogQ2hhbmdlIHRoaXMgQVNTRVJUIHdoaWNoIGlz
IGludmFsaWQgaW4gcHJpdmF0ZSBicm93c2luZyBzZXNzaW9ucy4KKwogMjAxNy0xMi0wNCAgQnJh
ZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IGEgZGlyZWN0b3J5
IHBhdGggdG8gU1dTZXJ2ZXJzIGZvciBzdG9yaW5nIFNlcnZpY2VXb3JrZXIgcmVnaXN0cmF0aW9u
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5jcHAK
aW5kZXggYWQ5NTkwZWU1ZmVjODY0NmFhN2Q5ZjQ5YjUzMjI5YTI1OTBiZDlkZC4uMmY3YTUwMTU1
MmQxMmY5Nzk2NGRhOTk3NTZkOGIwYzU0MDhmOGFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
dG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5jcHAKQEAgLTM4Nyw3ICszODcsNyBAQCBTV1Nl
cnZlciYgU3RvcmFnZVByb2Nlc3M6OnN3U2VydmVyRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQpCiAgICAgYXV0byBwYXRoID0gbV9zd0RhdGFiYXNlUGF0aHMuZ2V0KHNlc3Npb25J
RCk7CiAgICAgLy8gVGhlcmUgc2hvdWxkIGFscmVhZHkgYmUgYSByZWdpc3RlcmVkIHBhdGggZm9y
IHRoaXMgUEFMOjpTZXNzaW9uSUQuCiAgICAgLy8gSWYgdGhlcmUncyBub3QsIHRoZW4gd2hlcmUg
ZGlkIHRoaXMgUEFMOjpTZXNzaW9uSUQgY29tZSBmcm9tPwotICAgIEFTU0VSVCghcGF0aC5pc0Vt
cHR5KCkpOworICAgIEFTU0VSVChzZXNzaW9uSUQuaXNFcGhlbWVyYWwoKSB8fCAhcGF0aC5pc0Vt
cHR5KCkpOwogCiAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9IHN0ZDo6bWFrZV91bmlxdWU8
U1dTZXJ2ZXI+KG1ha2VVbmlxdWVSZWY8V2ViU1dPcmlnaW5TdG9yZT4oKSwgcGF0aCk7CiAgICAg
cmV0dXJuICpyZXN1bHQuaXRlcmF0b3ItPnZhbHVlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>