<?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>168805</bug_id>
          
          <creation_ts>2017-02-23 15:11:57 -0800</creation_ts>
          <short_desc>We should be able to use std::tuples as keys in HashMap</short_desc>
          <delta_ts>2017-02-26 15:36:56 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>jfbastien</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1280523</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-02-23 15:11:57 -0800</bug_when>
    <thetext>We should be able to use std::tuples as keys in HashMap</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280528</commentid>
    <comment_count>1</comment_count>
      <attachid>302587</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-02-23 15:19:56 -0800</bug_when>
    <thetext>Created attachment 302587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280529</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-23 15:21:05 -0800</bug_when>
    <thetext>Attachment 302587 did not pass style-queue:


ERROR: Source/WTF/wtf/HashFunctions.h:262:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280530</commentid>
    <comment_count>3</comment_count>
      <attachid>302587</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-02-23 15:24:47 -0800</bug_when>
    <thetext>Comment on attachment 302587
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280542</commentid>
    <comment_count>4</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-02-23 15:45:28 -0800</bug_when>
    <thetext>For reference: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0029r0.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280581</commentid>
    <comment_count>5</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-02-23 17:13:22 -0800</bug_when>
    <thetext>Looks like the gtk bots are using an outdated version of the stl. Is there any way we can get a newer version? It&apos;s not the end of the world since I can hand roll a constexpr all true function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280587</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-23 17:20:21 -0800</bug_when>
    <thetext>No, we still support building with libstdc++ 4.9, sorry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280611</commentid>
    <comment_count>7</comment_count>
      <attachid>302623</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-02-23 18:22:07 -0800</bug_when>
    <thetext>Created attachment 302623
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280612</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-23 18:24:52 -0800</bug_when>
    <thetext>Attachment 302623 did not pass style-queue:


ERROR: Source/WTF/wtf/HashFunctions.h:261:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280614</commentid>
    <comment_count>9</comment_count>
      <attachid>302624</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-02-23 18:29:59 -0800</bug_when>
    <thetext>Created attachment 302624
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280615</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-23 18:31:43 -0800</bug_when>
    <thetext>Attachment 302624 did not pass style-queue:


ERROR: Source/WTF/wtf/HashFunctions.h:262:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280622</commentid>
    <comment_count>11</comment_count>
      <attachid>302624</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-02-23 19:05:57 -0800</bug_when>
    <thetext>Comment on attachment 302624
Patch

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

&gt; Source/WTF/ChangeLog:8
&gt; +        This patch adds support for using std::tupeles as the key

Typo.

&gt; Source/WTF/wtf/StdLibExtras.h:477
&gt; +    for (InputType element : list)

`InputType&amp;&amp; element : list` is ever-so-slightly better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280632</commentid>
    <comment_count>12</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-02-23 19:40:20 -0800</bug_when>
    <thetext>Ugh GCC sucks... I guess I&apos;ll have to try a specialized function then :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280636</commentid>
    <comment_count>13</comment_count>
      <attachid>302631</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-02-23 20:02:21 -0800</bug_when>
    <thetext>Created attachment 302631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280638</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-23 20:03:45 -0800</bug_when>
    <thetext>Attachment 302631 did not pass style-queue:


ERROR: Source/WTF/wtf/HashFunctions.h:270:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280727</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-02-24 01:07:16 -0800</bug_when>
    <thetext>The EWS that is failing is using gcc 5.4 so the requirements are much higher than 4.9. It built fine here with gcc 6.3. Windows build is failing too :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280762</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-24 05:29:08 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; The EWS that is failing is using gcc 5.4 so the requirements are much higher
&gt; than 4.9. It built fine here with gcc 6.3. Windows build is failing too :-(

And we have to support libstdc++ 5 for as long as possible; that&apos;s a runtime dependency, and as soon as we require newer, we permanently cut off security updates to Ubuntu 16.04. Unfortunate, but there&apos;s nothing to be done about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280781</commentid>
    <comment_count>17</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-02-24 08:52:26 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #15)
&gt; &gt; The EWS that is failing is using gcc 5.4 so the requirements are much higher
&gt; &gt; than 4.9. It built fine here with gcc 6.3. Windows build is failing too :-(
&gt; 
&gt; And we have to support libstdc++ 5 for as long as possible; that&apos;s a runtime
&gt; dependency, and as soon as we require newer, we permanently cut off security
&gt; updates to Ubuntu 16.04. Unfortunate, but there&apos;s nothing to be done about
&gt; it.

FWIW that&apos;s not quite true: the runtime dependency is on the libstdc++ runtime, which is quite small, and on the ABI of some STL classes. Keith is running into issues in purely inlined and header-only code which is ABI-independent.

I&apos;m well aware that assuring binary compatibility is hard, and that maintaining chroots  is a PITA. However, were it necessary it would be possible to update libstdc++ headers while still supporting older systems.

That being said, this issue doesn&apos;t seem to be a sufficient reason to do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280787</commentid>
    <comment_count>18</comment_count>
      <attachid>302670</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-02-24 09:44:54 -0800</bug_when>
    <thetext>Created attachment 302670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280838</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-24 13:11:03 -0800</bug_when>
    <thetext>Attachment 302670 did not pass style-queue:


ERROR: Source/WTF/wtf/HashFunctions.h:266:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280869</commentid>
    <comment_count>20</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-02-24 14:16:30 -0800</bug_when>
    <thetext>Committed r212969: &lt;http://trac.webkit.org/changeset/212969&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280984</commentid>
    <comment_count>21</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-24 20:30:11 -0800</bug_when>
    <thetext>This broke the GTK build:
https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release%20%28Build%29/builds/77620/steps/compile-webkit/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1280986</commentid>
    <comment_count>22</comment_count>
      <attachid>302670</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-24 20:39:55 -0800</bug_when>
    <thetext>Comment on attachment 302670
Patch

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

&gt; Source/WTF/wtf/HashFunctions.h:210
&gt; +        template&lt;typename Bool&gt;

X11/Xlib.h has:
#define Bool int

:D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1281158</commentid>
    <comment_count>23</comment_count>
      <attachid>302670</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-02-26 14:21:56 -0800</bug_when>
    <thetext>Comment on attachment 302670
Patch

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

&gt;&gt; Source/WTF/wtf/HashFunctions.h:210
&gt;&gt; +        template&lt;typename Bool&gt;
&gt; 
&gt; X11/Xlib.h has:
&gt; #define Bool int
&gt; 
&gt; :D

Hahahahahahahahahahahahahahahahahaahahahaghaa</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1281165</commentid>
    <comment_count>24</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-26 15:36:56 -0800</bug_when>
    <thetext>Yeah, Xlib.h is terrible. It&apos;s not the first time we&apos;ve had a conflict like this due to that header, although this particular one is new to me. I can&apos;t even call it a namespace conflict, since it doesn&apos;t namespace its definitions at all. :(

Unfortunately it&apos;s really hard to change API in any public header file that begins with &quot;Copyright 1985&quot;....</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302587</attachid>
            <date>2017-02-23 15:19:56 -0800</date>
            <delta_ts>2017-02-23 18:22:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168805-20170223151707.patch</filename>
            <type>text/plain</type>
            <size>17157</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyOTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
N2Q0ODc3Yjg1ZmI2ZjRlOGVmOWNmYjM0YzQyZWIzMDA5NGNlN2ZhLi5lNTNiNzlhNzNiYzRjNDU1
ZjU4ODQzMmZhNzM2MWMyOWNhYzJmODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMSBAQAogMjAxNy0wMi0yMyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAorICAgICAgICBXZSBzaG91bGQgYmUgYWJsZSB0byB1c2Ugc3RkOjp0dXBsZXMgYXMg
a2V5cyBpbiBIYXNoTWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg4MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDb252ZXJ0IHRoZSBtZXNzIG9mIHN0ZDo6cGFpcnMgd2UgdXNlZCBhcyB0aGUga2V5
cyBpbiBQcm90b3R5cGVNYXAKKyAgICAgICAgdG8gYSBzdGQ6OnR1cGxlLiBJIGFsc28gcGxhbiBv
biB1c2luZyB0aGlzIGZvciBhIEhhc2hNYXAgaW4gd2FzbS4KKworICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcnVudGltZS9Qcm90
b3R5cGVNYXAuY3BwOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3Ry
dWN0dXJlKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3Ry
dWN0dXJlRm9yUHJvdG90eXBlKToKKyAgICAgICAgKiBydW50aW1lL1Byb3RvdHlwZU1hcC5oOgor
CisyMDE3LTAyLTIzICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGZpeCB0aGUgY2xvb3AgYnVpbGQuIE5lZWRlZCBhICNpZi4KIAog
ICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWYxOTllYzEzYWZk
MmNkY2I2NjZlYjNmMTE4NWExOTZmODM2ODRhNi4uMTdjNWU2YzFjNjliZGRhYWMwZWRkNDVlMjVm
YjhiMDNhNjIyZjQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNy0wMi0yMyAgS2VpdGggTWls
bGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBXZSBzaG91bGQgYmUgYWJs
ZSB0byB1c2Ugc3RkOjp0dXBsZXMgYXMga2V5cyBpbiBIYXNoTWFwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg4MDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBm
b3IgdXNpbmcgc3RkOjp0dXBlbGVzIGFzIHRoZSBrZXkKKyAgICAgICAgdHlwZSBpbiBIYXNoTWFw
LiBJdCBpcyBlcXVpdmFsZW50IHRvIGRvaW5nIGEgc2VxdWVuY2Ugb2YKKyAgICAgICAgc3RkOjpw
YWlycyBidXQgaGFzIGEgbmljZXIgc3ludGF4LgorCisgICAgICAgICogd3RmL0hhc2hGdW5jdGlv
bnMuaDoKKyAgICAgICAgKFdURjo6VHVwbGVIYXNoOjpoYXNoKToKKyAgICAgICAgKFdURjo6VHVw
bGVIYXNoOjplcXVhbCk6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaDo6c3RkOjptaW4pOgorICAg
ICAgICAqIHd0Zi9IYXNoVHJhaXRzLmg6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaFRyYWl0czo6
c3RkOjptaW4pOgorICAgICAgICAoV1RGOjpUdXBsZUhhc2hUcmFpdHM6OmVtcHR5VmFsdWUpOgor
ICAgICAgICAoV1RGOjpUdXBsZUhhc2hUcmFpdHM6OmNvbnN0cnVjdERlbGV0ZWRWYWx1ZSk6Cisg
ICAgICAgIChXVEY6OlR1cGxlSGFzaFRyYWl0czo6aXNEZWxldGVkVmFsdWUpOgorCiAyMDE3LTAy
LTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBCZXR0ZXIgaGFuZGxlIFRocmVhZCBhbmQgUnVuTG9vcCBpbml0aWFsaXphdGlvbgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhNTZmOGMzYTdlYTdkYmFjMmVlMDZlMWZhMDdkYWU4
ZTBmYjE5YzVjLi5jMTIzYjA2YWZkOTVhOTk2YzdlYjczYzlhN2U1Y2FjYjFkZWM0ZTJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI2Miw2ICsxMjYyLDcgQEAKIAkJMkFGNzM4
MkMxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFGNzM4MkExOEJCQkY5MjAwOEE1QTM3
IC8qIFN0cnVjdHVyZUlEVGFibGUuY3BwICovOyB9OwogCQkyQUY3MzgyRDE4QkJCRjkyMDA4QTVB
MzcgLyogU3RydWN0dXJlSURUYWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkFGNzM4MkIxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFi
bGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQky
RDM0MkYzNkY3MjQ0MDk2ODA0QURCMjQgLyogU291cmNlT3JpZ2luLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MjVCQTEzMzdFNDM0NEUxQjI2OUE2NzEg
LyogU291cmNlT3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMzIxRDlFNENGQjY3NDIzQTk3RjE5MUE3IC8qIE1vZHVsZU5hbWVzcGFjZUFj
Y2Vzc0Nhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2Uu
Y3BwICovOyB9OwogCQkzNzFEODQyRDE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3MUQ4NDJDMTdD
OThCNkUwMEVDRjk5NCAvKiBsaWJ6LmR5bGliICovOyB9OwogCQk0MTI5NTI3NzFEMkNGNkJDMDBF
NzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaGVhZGVyLnB5IGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOTUyNzMxRDJD
RjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2hlYWRl
ci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MTI5NTI3ODFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dy
YXBwZXJfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTI5NTI3NDFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJh
dGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE2NzMsNiArMTY3NCw3IEBACiAJCTlF
NzI5NDA3MTkwRjAxQTUwMDFBOTFCNSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNzg2MzZDMEQ5QkVFQzMw
MEQ3NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCAqLzsgfTsKIAkJOUU3Mjk0MEIxOTBG
MDUxNDAwMUE5MUI1IC8qIEJ1bmRsZVBhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDlFNzI5NDBBMTkwRjA1MTQwMDFBOTFCNSAvKiBCdW5kbGVQYXRo
LmggKi87IH07CiAJCTlFQTVDN0ExMTkwRjA4NDIwMDUwOEVCRSAvKiBCdW5kbGVQYXRoLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUU3Mjk0MDkxOTBG
MDMwNjAwMUE5MUI1IC8qIEJ1bmRsZVBhdGgubW0gKi87IH07CisJCTlGNjM0MzQ1NzcyNzRGQUZC
OTMzNkMzOCAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0Q0U5NzhFMzg1QTg0OTgxOTkwNTIxNTMgLyog
TW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oICovOyB9OwogCQlBMTI1ODQ2RTFCNDVBMzYwMDBD
QzdGNkMgLyogSW50bE51bWJlckZvcm1hdENvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEyNTg0NkMxQjQ1QTM2MDAwQ0M3RjZD
IC8qIEludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5sdXQuaCAqLzsgfTsKIAkJQTEyNTg0NkYx
QjQ1QTM2MDAwQ0M3RjZDIC8qIEludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUubHV0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTI1ODQ2RDFCNDVBMzYw
MDBDQzdGNkMgLyogSW50bE51bWJlckZvcm1hdFByb3RvdHlwZS5sdXQuaCAqLzsgfTsKIAkJQTEy
QkJGRjIxQjA0NEE4QjAwNjY0QjY5IC8qIEludGxPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMkJCRkYxMUIwNDRBOEIwMDY2NEI2OSAvKiBJ
bnRsT2JqZWN0LmggKi87IH07CkBAIC0yNDEzLDggKzI0MTUsNiBAQAogCQlGRUQ5NEYyRjE3MUUz
RTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZFRDk0RjJDMTcxRTNFMjMwMEJFNzdBNCAvKiBXYXRjaGRvZy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZFRjA0MDUx
MUFBRTY2MkQwMEJEMjhCMCAvKiBDb21wYXJlQW5kU3dhcFRlc3QuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVGMDQwNTAxQUFFNjYyRDAwQkQyOEIw
IC8qIENvbXBhcmVBbmRTd2FwVGVzdC5jcHAgKi87IH07CiAJCUZFRkQ2RkM2MUQ1RTc5OTIwMDhG
MkYwQiAvKiBKU1N0cmluZ0lubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZFRkQ2RkM1MUQ1RTc5NzAwMDhGMkYwQiAvKiBKU1N0cmluZ0lubGlu
ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkz
MjFEOUU0Q0ZCNjc0MjNBOTdGMTkxQTcgLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMEVDQjE1RUZD
NTI0NjI0QkMyRjAyRDUgLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAgKi87IH07Ci0J
CTlGNjM0MzQ1NzcyNzRGQUZCOTMzNkMzOCAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0Q0U5NzhFMzg1
QTg0OTgxOTkwNTIxNTMgLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oICovOyB9OwogLyog
RW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Q
cm94eSBzZWN0aW9uICovCkBAIC0zNjgzLDYgKzM2ODMsNyBAQAogCQkxQzkwNTE0NTBCQTlFOEE3
MDA4MUU5RDAgLyogQmFzZS54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGgg
PSBCYXNlLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FBOEI0QTBE
MzJDMzlBMDA0MUJDRkYgLyogSmF2YVNjcmlwdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKYXZhU2NyaXB0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQUE4
QjRCMEQzMkMzOUEwMDQxQkNGRiAvKiBKYXZhU2NyaXB0Q29yZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkyMEVDQjE1RUZDNTI0NjI0QkMyRjAyRDUgLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNz
Q2FzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2R1bGVOYW1l
c3BhY2VBY2Nlc3NDYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjYwMEI1
QTQxNTJCQUFBNzAwOTFFRTVGIC8qIEpTU3RyaW5nSm9pbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3RyaW5nSm9pbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMjYwMEI1QTUxNTJCQUFBNzAwOTFFRTVGIC8qIEpTU3RyaW5nSm9pbmVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3RyaW5nSm9pbmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2MkQ4NUI0MUMwRDY1MEYwMDZBQ0I2MSAvKiBB
aXJGaXhQYXJ0aWFsUmVnaXN0ZXJTdGFsbHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gQWlyRml4UGFydGlhbFJlZ2lzdGVyU3RhbGxzLmNwcDsgcGF0aCA9IGIzL2Fp
ci9BaXJGaXhQYXJ0aWFsUmVnaXN0ZXJTdGFsbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMzczNiw2ICszNzM3LDcgQEAKIAkJNDQ5MDk3RUUwRjhGODFCNTAwNzZBMzI3IC8q
IEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9
IEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NTE1MzlCODEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBZYXJyLmg7IHBhdGggPSB5YXJyL1lhcnIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDVFMTJEODgwNkE0OUIwRjAwRTlERjg0IC8qIGpzYy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBqc2MuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDQ7IH07CisJCTRDRTk3OEUzODVBODQ5
ODE5OTA1MjE1MyAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGMEVCNjEwNUM4NkM2QjAwRTZERjFCIC8qIEZvdW5kYXRp
b24uZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBGb3VuZGF0aW9uLmZyYW1ld29yazsgcGF0
aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrOyBzb3Vy
Y2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQk1MUYwRUMwNzA1Qzg2QzlBMDBFNkRGMUIgLyog
bGlib2JqYy5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlib2JqYy5keWxpYjsgcGF0
aCA9IC91c3IvbGliL2xpYm9iamMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07
CiAJCTUyNjc4RjhDMUEwMzEwMDkwMDZBMzA2RCAvKiBCYXNpY0Jsb2NrTG9jYXRpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmFzaWNCbG9ja0xvY2F0aW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ5ODQsOCArNDk4Niw2IEBACiAJCUZF
RjA0MDUwMUFBRTY2MkQwMEJEMjhCMCAvKiBDb21wYXJlQW5kU3dhcFRlc3QuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ29tcGFyZUFuZFN3YXBUZXN0LmNwcDsgcGF0
aCA9IEFQSS90ZXN0cy9Db21wYXJlQW5kU3dhcFRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGRUYwNDA1MjFBQUVDNEVEMDBCRDI4QjAgLyogQ29tcGFyZUFuZFN3YXBUZXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENvbXBhcmVBbmRTd2FwVGVzdC5o
OyBwYXRoID0gQVBJL3Rlc3RzL0NvbXBhcmVBbmRTd2FwVGVzdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGRUZENkZDNTFENUU3OTcwMDA4RjJGMEIgLyogSlNTdHJpbmdJbmxpbmVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3RyaW5nSW5saW5lcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkyMEVDQjE1RUZDNTI0NjI0QkMyRjAyRDUgLyog
TW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcDsgcGF0aCA9IE1vZHVsZU5h
bWVzcGFjZUFjY2Vzc0Nhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0Q0U5
NzhFMzg1QTg0OTgxOTkwNTIxNTMgLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmg7
IHBhdGggPSBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBC
WEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCmluZGV4IDY3YzNkNWRlYjcxYTg5NDJiNzcyODUw
YmMyYTFmZjMwMzAxNTQ5YzIuLmViMmQ3MTRiNDEzMjU3MmRlNjNiMDBlYzI4OTAxZDljOTZkMzcw
MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1h
cC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNw
cApAQCAtNTYsNyArNTYsNyBAQCB2b2lkIFByb3RvdHlwZU1hcDo6YWRkUHJvdG90eXBlKEpTT2Jq
ZWN0KiBvYmplY3QpCiAKIGlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1w
dHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3Rv
dHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5m
bywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCiB7
Ci0gICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfcGFpcihwcm90b3R5cGUsIHN0ZDo6bWFrZV9wYWly
KGlubGluZUNhcGFjaXR5LCBzdGQ6Om1ha2VfcGFpcihjbGFzc0luZm8sIGdsb2JhbE9iamVjdCkp
KTsKKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShwcm90b3R5cGUsIGlubGluZUNhcGFj
aXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CiAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0
dXJlID0gbV9zdHJ1Y3R1cmVzLmdldChrZXkpKSB7CiAgICAgICAgIEFTU0VSVChpc1Byb3RvdHlw
ZShwcm90b3R5cGUpKTsKICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZTsKQEAgLTg2LDcgKzg2LDcg
QEAgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90
eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWwKIAogdm9pZCBQcm90b3R5cGVNYXA6OmNsZWFyRW1w
dHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNPYmplY3QqIG9iamVjdCwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCiB7Ci0gICAgbV9z
dHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfcGFpcihvYmplY3QsIHN0ZDo6bWFrZV9wYWlyKGlu
bGluZUNhcGFjaXR5LCBzdGQ6Om1ha2VfcGFpcihKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2Jh
bE9iamVjdCkpKSk7CisgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUob2Jq
ZWN0LCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9iYWxPYmplY3Qp
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1Byb3RvdHlwZU1hcC5oCmluZGV4IGRlNDQ4YWYxNzk1MjlkOTBiMWVhZGJmMDI3YjZmMGVm
NjdiMDNkZTIuLjE4NzU4ZDA0YTE5NDRhMWNhOTM5NDk1NWI5YzVjYmVkM2U3NmNlZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCkBAIC01Nyw3ICs1
Nyw3IEBAIHByaXZhdGU6CiAKICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9w
cm90b3R5cGVzOwogICAgIC8vIEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1Y3QuCi0gICAgdHlw
ZWRlZiBXZWFrR0NNYXA8c3RkOjpwYWlyPEpTT2JqZWN0Kiwgc3RkOjpwYWlyPHVuc2lnbmVkLCBz
dGQ6OnBhaXI8Y29uc3QgQ2xhc3NJbmZvKiwgSlNHbG9iYWxPYmplY3QqPj4+LCBTdHJ1Y3R1cmU+
IFN0cnVjdHVyZU1hcDsKKyAgICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0
KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVy
ZT4gU3RydWN0dXJlTWFwOwogICAgIFN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoRnVuY3Rpb25zLmggYi9Tb3VyY2UvV1RGL3d0
Zi9IYXNoRnVuY3Rpb25zLmgKaW5kZXggNDYyZjE5YTgxMDgzMGU1ZjcyMTQ5YWMzYmUwZDJiZGIy
ODk0NjNhNy4uNWMyODA5YzM0MGNiMjE0YjUyMmZhOTYzNDc1NTBhYWE4MTRiYjBhZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvSGFzaEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L0hhc2hGdW5jdGlvbnMuaApAQCAtMTc1LDYgKzE3NSw0MSBAQCBuYW1lc3BhY2UgV1RGIHsKICAg
ICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBQ
YWlySGFzaDxULCBVPjo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQ7CiAgICAgfTsKIAor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIFR5cGVzPgorICAgIHN0cnVjdCBUdXBsZUhhc2ggewor
ICAgICAgICB0ZW1wbGF0ZTxzaXplX3QgSSA9IDA+CisgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBz
dGQ6OmVuYWJsZV9pZjxJIDwgc2l6ZW9mLi4uKFR5cGVzKSAtIDEsIHVuc2lnbmVkPjo6dHlwZSBo
YXNoKGNvbnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiB0KQorICAgICAgICB7CisgICAgICAgICAg
ICB1c2luZyBJdGhUdXBsZUVsZW1lbnRUeXBlID0gdHlwZW5hbWUgc3RkOjp0dXBsZV9lbGVtZW50
PEksIHR5cGVuYW1lIHN0ZDo6dHVwbGU8VHlwZXMuLi4+Pjo6dHlwZTsKKyAgICAgICAgICAgIHJl
dHVybiBwYWlySW50SGFzaChEZWZhdWx0SGFzaDxJdGhUdXBsZUVsZW1lbnRUeXBlPjo6SGFzaDo6
aGFzaChzdGQ6OmdldDxJPih0KSksIGhhc2g8SSArIDE+KHQpKTsKKyAgICAgICAgfQorCisgICAg
ICAgIHRlbXBsYXRlPHNpemVfdCBJID0gMD4KKyAgICAgICAgc3RhdGljIHR5cGVuYW1lIHN0ZDo6
ZW5hYmxlX2lmPEkgPT0gc2l6ZW9mLi4uKFR5cGVzKSAtIDEsIHVuc2lnbmVkPjo6dHlwZSBoYXNo
KGNvbnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiB0KQorICAgICAgICB7CisgICAgICAgICAgICB1
c2luZyBJdGhUdXBsZUVsZW1lbnRUeXBlID0gdHlwZW5hbWUgc3RkOjp0dXBsZV9lbGVtZW50PEks
IHR5cGVuYW1lIHN0ZDo6dHVwbGU8VHlwZXMuLi4+Pjo6dHlwZTsKKyAgICAgICAgICAgIHJldHVy
biBEZWZhdWx0SGFzaDxJdGhUdXBsZUVsZW1lbnRUeXBlPjo6SGFzaDo6aGFzaChzdGQ6OmdldDxJ
Pih0KSk7CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZTxzaXplX3QgSSA9IDA+CisgICAg
ICAgIHN0YXRpYyB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJIDwgc2l6ZW9mLi4uKFR5cGVzKSAt
IDEsIGJvb2w+Ojp0eXBlIGVxdWFsKGNvbnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiBhLCBjb25z
dCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgYikKKyAgICAgICAgeworICAgICAgICAgICAgdXNpbmcg
SXRoVHVwbGVFbGVtZW50VHlwZSA9IHR5cGVuYW1lIHN0ZDo6dHVwbGVfZWxlbWVudDxJLCB0eXBl
bmFtZSBzdGQ6OnR1cGxlPFR5cGVzLi4uPj46OnR5cGU7CisgICAgICAgICAgICByZXR1cm4gRGVm
YXVsdEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Okhhc2g6OmVxdWFsKHN0ZDo6Z2V0PEk+KGEp
LCBzdGQ6OmdldDxJPihiKSkgJiYgZXF1YWw8SSArIDE+KGEsIGIpOworICAgICAgICB9CisKKyAg
ICAgICAgdGVtcGxhdGU8c2l6ZV90IEkgPSAwPgorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgc3Rk
OjplbmFibGVfaWY8SSA9PSBzaXplb2YuLi4oVHlwZXMpIC0gMSwgYm9vbD46OnR5cGUgZXF1YWwo
Y29uc3Qgc3RkOjp0dXBsZTxUeXBlcy4uLj4mIGEsIGNvbnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+
JiBiKQorICAgICAgICB7CisgICAgICAgICAgICB1c2luZyBJdGhUdXBsZUVsZW1lbnRUeXBlID0g
dHlwZW5hbWUgc3RkOjp0dXBsZV9lbGVtZW50PEksIHR5cGVuYW1lIHN0ZDo6dHVwbGU8VHlwZXMu
Li4+Pjo6dHlwZTsKKyAgICAgICAgICAgIHJldHVybiBEZWZhdWx0SGFzaDxJdGhUdXBsZUVsZW1l
bnRUeXBlPjo6SGFzaDo6ZXF1YWwoc3RkOjpnZXQ8ST4oYSksIHN0ZDo6Z2V0PEk+KGIpKTsKKyAg
ICAgICAgfQorCisgICAgICAgIC8vIEZvciBzb21lIHJlYXNvbiBDKysgZG9lcyBub3QgaGF2ZSBh
IHN0ZCBmdW5jdGlvbiB0aGF0IGZvci1hbGxzIGJvb2xlYW5zLiBXZSB1c2Ugc3RkOjptaW4gYW5k
IG51bWVyaWMgY29udmVyc2lvbiBpbnN0ZWFkLi4uIDp8CisgICAgICAgIC8vIFdlIHNob3VsZCB1
c2Ugc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBEZWZhdWx0SGFzaDxUeXBlcz46Okhh
c2g6OnNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkICYmLi4uIHdoZW5ldmVyIHdlIHN3aXRj
aCB0byBDKysxNworICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0
eU9yRGVsZXRlZCA9IHN0ZDo6bWluKHsgRGVmYXVsdEhhc2g8VHlwZXM+OjpIYXNoOjpzYWZlVG9D
b21wYXJlVG9FbXB0eU9yRGVsZXRlZC4uLiB9KTsKKyAgICB9OworCiAgICAgLy8gbWFrZSBJbnRI
YXNoIHRoZSBkZWZhdWx0IGhhc2ggZnVuY3Rpb24gZm9yIG1hbnkgaW50ZWdlciB0eXBlcwogCiAg
ICAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Ym9vbD4geyB0eXBlZGVmIEludEhhc2g8
dWludDhfdD4gSGFzaDsgfTsKQEAgLTIyNCw2ICsyNTksNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAg
ICAvLyBtYWtlIFBhaXJIYXNoIHRoZSBkZWZhdWx0IGhhc2ggZnVuY3Rpb24gZm9yIHBhaXJzIG9m
IGFyYml0cmFyeSB2YWx1ZXMuCiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBV
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8c3RkOjpwYWlyPFQsIFU+PiB7IHR5cGVkZWYgUGFpckhhc2g8
VCwgVT4gSGFzaDsgfTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUeXBlcz4gc3RydWN0IERl
ZmF1bHRIYXNoPHN0ZDo6dHVwbGU8VHlwZXMuLi4+PiB7IHR5cGVkZWYgVHVwbGVIYXNoPFR5cGVz
Li4uPiBIYXNoOyB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvSGFzaFRyYWl0cy5oIGIvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCmluZGV4
IDU0MmU3YWQyY2JkM2RmMGVlMDllMDA0ZjIzMzk4OWEyZmZjMDA5NGYuLmJmNzNkZGZjZTZiYTdm
OWNmNmI2ODgwNWE5OTA0NjQ5MzFmZDEwNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hh
c2hUcmFpdHMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKQEAgLTI1Niw2ICsy
NTYsMjUgQEAgc3RydWN0IFBhaXJIYXNoVHJhaXRzIDogR2VuZXJpY0hhc2hUcmFpdHM8c3RkOjpw
YWlyPHR5cGVuYW1lIEZpcnN0VHJhaXRzQXJnOjpUcmEKIHRlbXBsYXRlPHR5cGVuYW1lIEZpcnN0
LCB0eXBlbmFtZSBTZWNvbmQ+CiBzdHJ1Y3QgSGFzaFRyYWl0czxzdGQ6OnBhaXI8Rmlyc3QsIFNl
Y29uZD4+IDogcHVibGljIFBhaXJIYXNoVHJhaXRzPEhhc2hUcmFpdHM8Rmlyc3Q+LCBIYXNoVHJh
aXRzPFNlY29uZD4+IHsgfTsKIAordGVtcGxhdGU8dHlwZW5hbWUgRmlyc3RUcmFpdCwgdHlwZW5h
bWUuLi4gVHJhaXRzPgorc3RydWN0IFR1cGxlSGFzaFRyYWl0cyA6IEdlbmVyaWNIYXNoVHJhaXRz
PHN0ZDo6dHVwbGU8dHlwZW5hbWUgRmlyc3RUcmFpdDo6VHJhaXRUeXBlLCB0eXBlbmFtZSBUcmFp
dHM6OlRyYWl0VHlwZS4uLj4+IHsKKyAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dHlwZW5hbWUgRmly
c3RUcmFpdDo6VHJhaXRUeXBlLCB0eXBlbmFtZSBUcmFpdHM6OlRyYWl0VHlwZS4uLj4gVHJhaXRU
eXBlOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTx0eXBlbmFtZSBGaXJzdFRyYWl0OjpFbXB0eVZh
bHVlVHlwZSwgdHlwZW5hbWUgVHJhaXRzOjpFbXB0eVZhbHVlVHlwZS4uLj4gRW1wdHlWYWx1ZVR5
cGU7CisKKyAgICAvLyBGb3Igc29tZSByZWFzb24gQysrIGRvZXMgbm90IGhhdmUgYSBzdGQgZnVu
Y3Rpb24gdGhhdCBmb3ItYWxscyBib29sZWFucy4gV2UgdXNlIHN0ZDo6bWluIGFuZCBudW1lcmlj
IGNvbnZlcnNpb24gaW5zdGVhZC4uLiA6fAorICAgIC8vIFdlIHNob3VsZCB1c2UgZW1wdHlWYWx1
ZUlzWmVybyA9IFRyYWl0czo6ZW1wdHlWYWx1ZUlzWmVybyAmJi4uLiB3aGVuZXZlciB3ZSBzd2l0
Y2ggdG8gQysrMTcKKyAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gc3Rk
OjptaW4oeyBGaXJzdFRyYWl0OjplbXB0eVZhbHVlSXNaZXJvLCBUcmFpdHM6OmVtcHR5VmFsdWVJ
c1plcm8uLi4gfSk7CisgICAgc3RhdGljIEVtcHR5VmFsdWVUeXBlIGVtcHR5VmFsdWUoKSB7IHJl
dHVybiBzdGQ6Om1ha2VfdHVwbGUoRmlyc3RUcmFpdDo6ZW1wdHlWYWx1ZSgpLCBUcmFpdHM6OmVt
cHR5VmFsdWUoKS4uLik7IH0KKworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5pbXVtVGFi
bGVTaXplID0gRmlyc3RUcmFpdDo6bWluaW11bVRhYmxlU2l6ZTsKKworICAgIHN0YXRpYyB2b2lk
IGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShUcmFpdFR5cGUmIHNsb3QpIHsgRmlyc3RUcmFpdDo6Y29u
c3RydWN0RGVsZXRlZFZhbHVlKHN0ZDo6Z2V0PDA+KHNsb3QpKTsgfQorICAgIHN0YXRpYyBib29s
IGlzRGVsZXRlZFZhbHVlKGNvbnN0IFRyYWl0VHlwZSYgdmFsdWUpIHsgcmV0dXJuIEZpcnN0VHJh
aXQ6OmlzRGVsZXRlZFZhbHVlKHN0ZDo6Z2V0PDA+KHZhbHVlKSk7IH0KK307CisKK3RlbXBsYXRl
PHR5cGVuYW1lLi4uIFRyYWl0cz4KK3N0cnVjdCBIYXNoVHJhaXRzPHN0ZDo6dHVwbGU8VHJhaXRz
Li4uPj4gOiBwdWJsaWMgVHVwbGVIYXNoVHJhaXRzPEhhc2hUcmFpdHM8VHJhaXRzPi4uLj4geyB9
OworCiB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBlQXJnLCB0eXBlbmFtZSBWYWx1ZVR5cGVBcmc+
CiBzdHJ1Y3QgS2V5VmFsdWVQYWlyIHsKICAgICB0eXBlZGVmIEtleVR5cGVBcmcgS2V5VHlwZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302623</attachid>
            <date>2017-02-23 18:22:07 -0800</date>
            <delta_ts>2017-02-23 18:29:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168805-20170223181917.patch</filename>
            <type>text/plain</type>
            <size>17812</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyOTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
N2Q0ODc3Yjg1ZmI2ZjRlOGVmOWNmYjM0YzQyZWIzMDA5NGNlN2ZhLi5lNTNiNzlhNzNiYzRjNDU1
ZjU4ODQzMmZhNzM2MWMyOWNhYzJmODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMSBAQAogMjAxNy0wMi0yMyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAorICAgICAgICBXZSBzaG91bGQgYmUgYWJsZSB0byB1c2Ugc3RkOjp0dXBsZXMgYXMg
a2V5cyBpbiBIYXNoTWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg4MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDb252ZXJ0IHRoZSBtZXNzIG9mIHN0ZDo6cGFpcnMgd2UgdXNlZCBhcyB0aGUga2V5
cyBpbiBQcm90b3R5cGVNYXAKKyAgICAgICAgdG8gYSBzdGQ6OnR1cGxlLiBJIGFsc28gcGxhbiBv
biB1c2luZyB0aGlzIGZvciBhIEhhc2hNYXAgaW4gd2FzbS4KKworICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcnVudGltZS9Qcm90
b3R5cGVNYXAuY3BwOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3Ry
dWN0dXJlKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3Ry
dWN0dXJlRm9yUHJvdG90eXBlKToKKyAgICAgICAgKiBydW50aW1lL1Byb3RvdHlwZU1hcC5oOgor
CisyMDE3LTAyLTIzICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGZpeCB0aGUgY2xvb3AgYnVpbGQuIE5lZWRlZCBhICNpZi4KIAog
ICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWYxOTllYzEzYWZk
MmNkY2I2NjZlYjNmMTE4NWExOTZmODM2ODRhNi4uMTk2ZDE0OWZlMTc2MGNkYzRhZDAzMWRlNjMw
OTliNDcyYWRlOTYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxNy0wMi0yMyAgS2VpdGggTWls
bGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBXZSBzaG91bGQgYmUgYWJs
ZSB0byB1c2Ugc3RkOjp0dXBsZXMgYXMga2V5cyBpbiBIYXNoTWFwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg4MDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBm
b3IgdXNpbmcgc3RkOjp0dXBlbGVzIGFzIHRoZSBrZXkKKyAgICAgICAgdHlwZSBpbiBIYXNoTWFw
LiBJdCBpcyBlcXVpdmFsZW50IHRvIGRvaW5nIGEgc2VxdWVuY2Ugb2YKKyAgICAgICAgc3RkOjpw
YWlycyBidXQgaGFzIGEgbmljZXIgc3ludGF4LgorCisgICAgICAgICogd3RmL0hhc2hGdW5jdGlv
bnMuaDoKKyAgICAgICAgKFdURjo6VHVwbGVIYXNoOjpoYXNoKToKKyAgICAgICAgKFdURjo6VHVw
bGVIYXNoOjplcXVhbCk6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaDo6c3RkOjphY2N1bXVsYXRl
KToKKyAgICAgICAgKiB3dGYvSGFzaFRyYWl0cy5oOgorICAgICAgICAoV1RGOjpUdXBsZUhhc2hU
cmFpdHM6OnN0ZDo6YWNjdW11bGF0ZSk6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaFRyYWl0czo6
ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaFRyYWl0czo6Y29uc3RydWN0RGVs
ZXRlZFZhbHVlKToKKyAgICAgICAgKFdURjo6VHVwbGVIYXNoVHJhaXRzOjppc0RlbGV0ZWRWYWx1
ZSk6CisgICAgICAgICogd3RmL1N0ZExpYkV4dHJhcy5oOgorICAgICAgICAoc3RkOjphY2N1bXVs
YXRlKToKKwogMjAxNy0wMi0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgQmV0dGVyIGhhbmRsZSBUaHJlYWQgYW5kIFJ1bkxvb3AgaW5pdGlh
bGl6YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTU2ZjhjM2E3ZWE3ZGJh
YzJlZTA2ZTFmYTA3ZGFlOGUwZmIxOWM1Yy4uYzEyM2IwNmFmZDk1YTk5NmM3ZWI3M2M5YTdlNWNh
Y2IxZGVjNGUyZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyNjIsNiArMTI2
Miw3IEBACiAJCTJBRjczODJDMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRjczODJB
MThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmNwcCAqLzsgfTsKIAkJMkFGNzM4
MkQxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRjczODJCMThCQkJGOTIwMDhBNUEzNyAv
KiBTdHJ1Y3R1cmVJRFRhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMkQzNDJGMzZGNzI0NDA5NjgwNEFEQjI0IC8qIFNvdXJjZU9yaWdpbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDI1QkExMzM3
RTQzNDRFMUIyNjlBNjcxIC8qIFNvdXJjZU9yaWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTMyMUQ5RTRDRkI2NzQyM0E5N0YxOTFBNyAvKiBN
b2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDIwRUNCMTVFRkM1MjQ2MjRCQzJGMDJENSAvKiBNb2R1bGVOYW1l
c3BhY2VBY2Nlc3NDYXNlLmNwcCAqLzsgfTsKIAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8q
IGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLzsgfTsKIAkJNDEy
OTUyNzcxRDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFw
cGVyX2hlYWRlci5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxMjk1MjczMUQyQ0Y2QUMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5h
bHNfd3JhcHBlcl9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNDEyOTUyNzgxRDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVy
YXRlX2ludGVybmFsc193cmFwcGVyX2ltcGxlbWVudGF0aW9uLnB5IGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOTUyNzQxRDJDRjZBQzAwRTc4Qjg5IC8q
IGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2ltcGxlbWVudGF0aW9uLnB5ICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjczLDYg
KzE2NzQsNyBAQAogCQk5RTcyOTQwNzE5MEYwMUE1MDAxQTkxQjUgLyogSW5pdGlhbGl6ZVRocmVh
ZGluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
MTc4NjM2QzBEOUJFRUMzMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAgKi87IH07
CiAJCTlFNzI5NDBCMTkwRjA1MTQwMDFBOTFCNSAvKiBCdW5kbGVQYXRoLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RTcyOTQwQTE5MEYwNTE0MDAxQTkx
QjUgLyogQnVuZGxlUGF0aC5oICovOyB9OwogCQk5RUE1QzdBMTE5MEYwODQyMDA1MDhFQkUgLyog
QnVuZGxlUGF0aC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDlFNzI5NDA5MTkwRjAzMDYwMDFBOTFCNSAvKiBCdW5kbGVQYXRoLm1tICovOyB9OworCQk5
RjYzNDM0NTc3Mjc0RkFGQjkzMzZDMzggLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNENFOTc4RTM4NUE4
NDk4MTk5MDUyMTUzIC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaCAqLzsgfTsKIAkJQTEy
NTg0NkUxQjQ1QTM2MDAwQ0M3RjZDIC8qIEludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5sdXQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMjU4NDZD
MUI0NUEzNjAwMENDN0Y2QyAvKiBJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IubHV0LmggKi87
IH07CiAJCUExMjU4NDZGMUI0NUEzNjAwMENDN0Y2QyAvKiBJbnRsTnVtYmVyRm9ybWF0UHJvdG90
eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTEyNTg0NkQxQjQ1QTM2MDAwQ0M3RjZDIC8qIEludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUubHV0
LmggKi87IH07CiAJCUExMkJCRkYyMUIwNDRBOEIwMDY2NEI2OSAvKiBJbnRsT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTJCQkZGMTFCMDQ0
QThCMDA2NjRCNjkgLyogSW50bE9iamVjdC5oICovOyB9OwpAQCAtMjQxMyw4ICsyNDE1LDYgQEAK
IAkJRkVEOTRGMkYxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9nLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUQ5NEYyQzE3MUUzRTIzMDBCRTc3QTQg
LyogV2F0Y2hkb2cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlGRUYwNDA1MTFBQUU2NjJEMDBCRDI4QjAgLyogQ29tcGFyZUFuZFN3YXBUZXN0LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRjA0MDUw
MUFBRTY2MkQwMEJEMjhCMCAvKiBDb21wYXJlQW5kU3dhcFRlc3QuY3BwICovOyB9OwogCQlGRUZE
NkZDNjFENUU3OTkyMDA4RjJGMEIgLyogSlNTdHJpbmdJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUZENkZDNTFENUU3OTcwMDA4RjJGMEIg
LyogSlNTdHJpbmdJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJMzIxRDlFNENGQjY3NDIzQTk3RjE5MUE3IC8qIE1vZHVsZU5hbWVzcGFj
ZUFjY2Vzc0Nhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nh
c2UuY3BwICovOyB9OwotCQk5RjYzNDM0NTc3Mjc0RkFGQjkzMzZDMzggLyogTW9kdWxlTmFtZXNw
YWNlQWNjZXNzQ2FzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nh
c2UuaCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQ
QlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwpAQCAtMzY4Myw2ICszNjgzLDcgQEAKIAkJ
MUM5MDUxNDUwQkE5RThBNzAwODFFOUQwIC8qIEJhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
LnhjY29uZmlnOyBwYXRoID0gQmFzZS54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUNBQThCNEEwRDMyQzM5QTAwNDFCQ0ZGIC8qIEphdmFTY3JpcHQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSmF2YVNjcmlwdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQ0FBOEI0QjBEMzJDMzlBMDA0MUJDRkYgLyogSmF2YVNjcmlwdENvcmUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSmF2YVNjcmlwdENvcmUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1vZHVs
ZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI2MDBCNUE0MTUyQkFBQTcwMDkxRUU1RiAvKiBKU1N0cmluZ0pvaW5lci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N0cmluZ0pvaW5lci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2MDBCNUE1MTUyQkFBQTcwMDkxRUU1RiAv
KiBKU1N0cmluZ0pvaW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0
cmluZ0pvaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjJEODVCNDFDMEQ2
NTBGMDA2QUNCNjEgLyogQWlyRml4UGFydGlhbFJlZ2lzdGVyU3RhbGxzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFpckZpeFBhcnRpYWxSZWdpc3RlclN0YWxscy5j
cHA7IHBhdGggPSBiMy9haXIvQWlyRml4UGFydGlhbFJlZ2lzdGVyU3RhbGxzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM3MzYsNiArMzczNyw3IEBACiAJCTQ0OTA5N0VFMEY4
RjgxQjUwMDc2QTMyNyAvKiBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
eGNjb25maWc7IHBhdGggPSBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDUxNTM5QjgxMkRDOTk0NTAwRUY3QUM0IC8qIFlhcnIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gWWFyci5oOyBwYXRoID0geWFyci9ZYXJyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1RTEyRDg4MDZBNDlCMEYwMEU5REY4NCAvKiBq
c2MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBp
bmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0ganNjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA0OyB9Owor
CQk0Q0U5NzhFMzg1QTg0OTgxOTkwNTIxNTMgLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVOYW1lc3BhY2VBY2Nlc3ND
YXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRjBFQjYxMDVDODZDNkIwMEU2
REYxQiAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gRm91bmRhdGlv
bi5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9u
LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJNTFGMEVDMDcwNUM4
NkM5QTAwRTZERjFCIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxp
Ym9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0g
IjxhYnNvbHV0ZT4iOyB9OwogCQk1MjY3OEY4QzFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9j
a0xvY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJhc2lj
QmxvY2tMb2NhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00OTg0LDgg
KzQ5ODYsNiBAQAogCQlGRUYwNDA1MDFBQUU2NjJEMDBCRDI4QjAgLyogQ29tcGFyZUFuZFN3YXBU
ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENvbXBhcmVBbmRT
d2FwVGVzdC5jcHA7IHBhdGggPSBBUEkvdGVzdHMvQ29tcGFyZUFuZFN3YXBUZXN0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVGMDQwNTIxQUFFQzRFRDAwQkQyOEIwIC8qIENv
bXBhcmVBbmRTd2FwVGVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDb21w
YXJlQW5kU3dhcFRlc3QuaDsgcGF0aCA9IEFQSS90ZXN0cy9Db21wYXJlQW5kU3dhcFRlc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVGRDZGQzUxRDVFNzk3MDAwOEYyRjBCIC8q
IEpTU3RyaW5nSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0
cmluZ0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjBFQ0IxNUVGQzUy
NDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHA7
IHBhdGggPSBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1vZHVsZU5hbWVzcGFjZUFj
Y2Vzc0Nhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTW9kdWxlTmFtZXNw
YWNlQWNjZXNzQ2FzZS5oOyBwYXRoID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAq
LwogCiAvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAppbmRleCA2N2MzZDVk
ZWI3MWE4OTQyYjc3Mjg1MGJjMmExZmYzMDMwMTU0OWMyLi5lYjJkNzE0YjQxMzI1NzJkZTYzYjAw
ZWMyODkwMWQ5Yzk2ZDM3MDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Qcm90b3R5cGVNYXAuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1Byb3RvdHlwZU1hcC5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgdm9pZCBQcm90b3R5cGVNYXA6OmFk
ZFByb3RvdHlwZShKU09iamVjdCogb2JqZWN0KQogCiBpbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5
cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xh
c3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlu
bGluZUNhcGFjaXR5KQogewotICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3BhaXIocHJvdG90eXBl
LCBzdGQ6Om1ha2VfcGFpcihpbmxpbmVDYXBhY2l0eSwgc3RkOjptYWtlX3BhaXIoY2xhc3NJbmZv
LCBnbG9iYWxPYmplY3QpKSk7CisgICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90
eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOwogICAgIGlmIChT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fc3RydWN0dXJlcy5nZXQoa2V5KSkgewogICAgICAgICBB
U1NFUlQoaXNQcm90b3R5cGUocHJvdG90eXBlKSk7CiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7
CkBAIC04Niw3ICs4Niw3IEBAIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0
cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsCiAKIHZvaWQgUHJvdG90
eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGlubGluZUNhcGFj
aXR5KQogewotICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3BhaXIob2JqZWN0LCBz
dGQ6Om1ha2VfcGFpcihpbmxpbmVDYXBhY2l0eSwgc3RkOjptYWtlX3BhaXIoSlNGaW5hbE9iamVj
dDo6aW5mbygpLCBnbG9iYWxPYmplY3QpKSkpOworICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3Rk
OjptYWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8o
KSwgZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAppbmRleCBkZTQ0OGFmMTc5NTI5ZDkw
YjFlYWRiZjAyN2I2ZjBlZjY3YjAzZGUyLi4xODc1OGQwNGExOTQ0YTFjYTkzOTQ5NTViOWM1Y2Jl
ZDNlNzZjZWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90
b3R5cGVNYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVN
YXAuaApAQCAtNTcsNyArNTcsNyBAQCBwcml2YXRlOgogCiAgICAgV2Vha0dDTWFwPEpTT2JqZWN0
KiwgSlNPYmplY3Q+IG1fcHJvdG90eXBlczsKICAgICAvLyBGSVhNRTogbWFrZSB0aGUga2V5IGEg
c3RydWN0LgotICAgIHR5cGVkZWYgV2Vha0dDTWFwPHN0ZDo6cGFpcjxKU09iamVjdCosIHN0ZDo6
cGFpcjx1bnNpZ25lZCwgc3RkOjpwYWlyPGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0
Kj4+PiwgU3RydWN0dXJlPiBTdHJ1Y3R1cmVNYXA7CisgICAgdHlwZWRlZiBXZWFrR0NNYXA8c3Rk
Ojp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9i
amVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKICAgICBTdHJ1Y3R1cmVNYXAgbV9zdHJ1
Y3R1cmVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvSGFzaEZ1bmN0aW9ucy5o
IGIvU291cmNlL1dURi93dGYvSGFzaEZ1bmN0aW9ucy5oCmluZGV4IDQ2MmYxOWE4MTA4MzBlNWY3
MjE0OWFjM2JlMGQyYmRiMjg5NDYzYTcuLjJlMTcyMGIwODJjMTBkZmQzMzdjNmNkZmNjZTQwMjkw
YjJkNTA3YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hGdW5jdGlvbnMuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9IYXNoRnVuY3Rpb25zLmgKQEAgLTE3NSw2ICsxNzUsNDAgQEAgbmFt
ZXNwYWNlIFdURiB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0Vt
cHR5T3JEZWxldGVkID0gUGFpckhhc2g8VCwgVT46OnNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxl
dGVkOwogICAgIH07CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUeXBlcz4KKyAgICBzdHJ1
Y3QgVHVwbGVIYXNoIHsKKyAgICAgICAgdGVtcGxhdGU8c2l6ZV90IEkgPSAwPgorICAgICAgICBz
dGF0aWMgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SSA8IHNpemVvZi4uLihUeXBlcykgLSAxLCB1
bnNpZ25lZD46OnR5cGUgaGFzaChjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgdCkKKyAgICAg
ICAgeworICAgICAgICAgICAgdXNpbmcgSXRoVHVwbGVFbGVtZW50VHlwZSA9IHR5cGVuYW1lIHN0
ZDo6dHVwbGVfZWxlbWVudDxJLCB0eXBlbmFtZSBzdGQ6OnR1cGxlPFR5cGVzLi4uPj46OnR5cGU7
CisgICAgICAgICAgICByZXR1cm4gcGFpckludEhhc2goRGVmYXVsdEhhc2g8SXRoVHVwbGVFbGVt
ZW50VHlwZT46Okhhc2g6Omhhc2goc3RkOjpnZXQ8ST4odCkpLCBoYXNoPEkgKyAxPih0KSk7Cisg
ICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZTxzaXplX3QgSSA9IDA+CisgICAgICAgIHN0YXRp
YyB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJID09IHNpemVvZi4uLihUeXBlcykgLSAxLCB1bnNp
Z25lZD46OnR5cGUgaGFzaChjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgdCkKKyAgICAgICAg
eworICAgICAgICAgICAgdXNpbmcgSXRoVHVwbGVFbGVtZW50VHlwZSA9IHR5cGVuYW1lIHN0ZDo6
dHVwbGVfZWxlbWVudDxJLCB0eXBlbmFtZSBzdGQ6OnR1cGxlPFR5cGVzLi4uPj46OnR5cGU7Cisg
ICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Okhhc2g6
Omhhc2goc3RkOjpnZXQ8ST4odCkpOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGU8c2l6
ZV90IEkgPSAwPgorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SSA8IHNp
emVvZi4uLihUeXBlcykgLSAxLCBib29sPjo6dHlwZSBlcXVhbChjb25zdCBzdGQ6OnR1cGxlPFR5
cGVzLi4uPiYgYSwgY29uc3Qgc3RkOjp0dXBsZTxUeXBlcy4uLj4mIGIpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHVzaW5nIEl0aFR1cGxlRWxlbWVudFR5cGUgPSB0eXBlbmFtZSBzdGQ6OnR1cGxl
X2VsZW1lbnQ8SSwgdHlwZW5hbWUgc3RkOjp0dXBsZTxUeXBlcy4uLj4+Ojp0eXBlOworICAgICAg
ICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEl0aFR1cGxlRWxlbWVudFR5cGU+OjpIYXNoOjplcXVh
bChzdGQ6OmdldDxJPihhKSwgc3RkOjpnZXQ8ST4oYikpICYmIGVxdWFsPEkgKyAxPihhLCBiKTsK
KyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlPHNpemVfdCBJID0gMD4KKyAgICAgICAgc3Rh
dGljIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPEkgPT0gc2l6ZW9mLi4uKFR5cGVzKSAtIDEsIGJv
b2w+Ojp0eXBlIGVxdWFsKGNvbnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiBhLCBjb25zdCBzdGQ6
OnR1cGxlPFR5cGVzLi4uPiYgYikKKyAgICAgICAgeworICAgICAgICAgICAgdXNpbmcgSXRoVHVw
bGVFbGVtZW50VHlwZSA9IHR5cGVuYW1lIHN0ZDo6dHVwbGVfZWxlbWVudDxJLCB0eXBlbmFtZSBz
dGQ6OnR1cGxlPFR5cGVzLi4uPj46OnR5cGU7CisgICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhh
c2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Okhhc2g6OmVxdWFsKHN0ZDo6Z2V0PEk+KGEpLCBzdGQ6
OmdldDxJPihiKSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBzaG91bGQgdXNlIHNhZmVU
b0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gRGVmYXVsdEhhc2g8VHlwZXM+OjpIYXNoOjpzYWZl
VG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCAmJi4uLiB3aGVuZXZlciB3ZSBzd2l0Y2ggdG8gQysr
MTcKKyAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0
ZWQgPSBzdGQ6OmFjY3VtdWxhdGUoeyBEZWZhdWx0SGFzaDxUeXBlcz46Okhhc2g6OnNhZmVUb0Nv
bXBhcmVUb0VtcHR5T3JEZWxldGVkLi4uIH0sIHRydWUsIFtdIChhdXRvIGEsIGF1dG8gYikgeyBy
ZXR1cm4gYSAmJiBiOyB9KTsKKyAgICB9OworCiAgICAgLy8gbWFrZSBJbnRIYXNoIHRoZSBkZWZh
dWx0IGhhc2ggZnVuY3Rpb24gZm9yIG1hbnkgaW50ZWdlciB0eXBlcwogCiAgICAgdGVtcGxhdGU8
PiBzdHJ1Y3QgRGVmYXVsdEhhc2g8Ym9vbD4geyB0eXBlZGVmIEludEhhc2g8dWludDhfdD4gSGFz
aDsgfTsKQEAgLTIyNCw2ICsyNTgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyBtYWtlIFBh
aXJIYXNoIHRoZSBkZWZhdWx0IGhhc2ggZnVuY3Rpb24gZm9yIHBhaXJzIG9mIGFyYml0cmFyeSB2
YWx1ZXMuCiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8c3RkOjpwYWlyPFQsIFU+PiB7IHR5cGVkZWYgUGFpckhhc2g8VCwgVT4gSGFzaDsg
fTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUeXBlcz4gc3RydWN0IERlZmF1bHRIYXNoPHN0
ZDo6dHVwbGU8VHlwZXMuLi4+PiB7IHR5cGVkZWYgVHVwbGVIYXNoPFR5cGVzLi4uPiBIYXNoOyB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvSGFz
aFRyYWl0cy5oIGIvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCmluZGV4IDU0MmU3YWQyY2Jk
M2RmMGVlMDllMDA0ZjIzMzk4OWEyZmZjMDA5NGYuLmM2ZTIzMjc0Yjk1NTM5NDRhMGZkNDlmNzdk
NjhlN2E3ZjMyZGFkNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hUcmFpdHMuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKQEAgLTI1Niw2ICsyNTYsMjQgQEAgc3Ry
dWN0IFBhaXJIYXNoVHJhaXRzIDogR2VuZXJpY0hhc2hUcmFpdHM8c3RkOjpwYWlyPHR5cGVuYW1l
IEZpcnN0VHJhaXRzQXJnOjpUcmEKIHRlbXBsYXRlPHR5cGVuYW1lIEZpcnN0LCB0eXBlbmFtZSBT
ZWNvbmQ+CiBzdHJ1Y3QgSGFzaFRyYWl0czxzdGQ6OnBhaXI8Rmlyc3QsIFNlY29uZD4+IDogcHVi
bGljIFBhaXJIYXNoVHJhaXRzPEhhc2hUcmFpdHM8Rmlyc3Q+LCBIYXNoVHJhaXRzPFNlY29uZD4+
IHsgfTsKIAordGVtcGxhdGU8dHlwZW5hbWUgRmlyc3RUcmFpdCwgdHlwZW5hbWUuLi4gVHJhaXRz
Pgorc3RydWN0IFR1cGxlSGFzaFRyYWl0cyA6IEdlbmVyaWNIYXNoVHJhaXRzPHN0ZDo6dHVwbGU8
dHlwZW5hbWUgRmlyc3RUcmFpdDo6VHJhaXRUeXBlLCB0eXBlbmFtZSBUcmFpdHM6OlRyYWl0VHlw
ZS4uLj4+IHsKKyAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dHlwZW5hbWUgRmlyc3RUcmFpdDo6VHJh
aXRUeXBlLCB0eXBlbmFtZSBUcmFpdHM6OlRyYWl0VHlwZS4uLj4gVHJhaXRUeXBlOworICAgIHR5
cGVkZWYgc3RkOjp0dXBsZTx0eXBlbmFtZSBGaXJzdFRyYWl0OjpFbXB0eVZhbHVlVHlwZSwgdHlw
ZW5hbWUgVHJhaXRzOjpFbXB0eVZhbHVlVHlwZS4uLj4gRW1wdHlWYWx1ZVR5cGU7CisKKyAgICAv
LyBXZSBzaG91bGQgdXNlIGVtcHR5VmFsdWVJc1plcm8gPSBUcmFpdHM6OmVtcHR5VmFsdWVJc1pl
cm8gJiYuLi4gd2hlbmV2ZXIgd2Ugc3dpdGNoIHRvIEMrKzE3CisgICAgc3RhdGljIGNvbnN0IGJv
b2wgZW1wdHlWYWx1ZUlzWmVybyA9IHN0ZDo6YWNjdW11bGF0ZSh7IEZpcnN0VHJhaXQ6OmVtcHR5
VmFsdWVJc1plcm8sIFRyYWl0czo6ZW1wdHlWYWx1ZUlzWmVyby4uLiB9LCB0cnVlLCBbXSAoYXV0
byBhLCBhdXRvIGIpIHsgcmV0dXJuIGEgJiYgYjsgfSk7CisgICAgc3RhdGljIEVtcHR5VmFsdWVU
eXBlIGVtcHR5VmFsdWUoKSB7IHJldHVybiBzdGQ6Om1ha2VfdHVwbGUoRmlyc3RUcmFpdDo6ZW1w
dHlWYWx1ZSgpLCBUcmFpdHM6OmVtcHR5VmFsdWUoKS4uLik7IH0KKworICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBtaW5pbXVtVGFibGVTaXplID0gRmlyc3RUcmFpdDo6bWluaW11bVRhYmxlU2l6
ZTsKKworICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShUcmFpdFR5cGUmIHNs
b3QpIHsgRmlyc3RUcmFpdDo6Y29uc3RydWN0RGVsZXRlZFZhbHVlKHN0ZDo6Z2V0PDA+KHNsb3Qp
KTsgfQorICAgIHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IFRyYWl0VHlwZSYgdmFs
dWUpIHsgcmV0dXJuIEZpcnN0VHJhaXQ6OmlzRGVsZXRlZFZhbHVlKHN0ZDo6Z2V0PDA+KHZhbHVl
KSk7IH0KK307CisKK3RlbXBsYXRlPHR5cGVuYW1lLi4uIFRyYWl0cz4KK3N0cnVjdCBIYXNoVHJh
aXRzPHN0ZDo6dHVwbGU8VHJhaXRzLi4uPj4gOiBwdWJsaWMgVHVwbGVIYXNoVHJhaXRzPEhhc2hU
cmFpdHM8VHJhaXRzPi4uLj4geyB9OworCiB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBlQXJnLCB0
eXBlbmFtZSBWYWx1ZVR5cGVBcmc+CiBzdHJ1Y3QgS2V5VmFsdWVQYWlyIHsKICAgICB0eXBlZGVm
IEtleVR5cGVBcmcgS2V5VHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1N0ZExpYkV4
dHJhcy5oIGIvU291cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmgKaW5kZXggNzE2NjYxZmFkNzU3
YzExNjI4ZjFlZWEwODFhMDcyYWRhMjc1N2Q0Mi4uMmUzNzU3NjVjMGYzNTAyYjZmMDgyNTJjMTBj
MmYyZmJkMDc0MTkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmgK
KysrIGIvU291cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmgKQEAgLTQ3MSw2ICs0NzEsMTQgQEAg
QUxXQVlTX0lOTElORSBjb25zdGV4cHIgdHlwZW5hbWUgcmVtb3ZlX3JlZmVyZW5jZTxUPjo6dHlw
ZSYmIG1vdmUoVCYmIHZhbHVlKQogICAgIHJldHVybiBtb3ZlKGZvcndhcmQ8VD4odmFsdWUpKTsK
IH0KIAordGVtcGxhdGU8dHlwZW5hbWUgSW5wdXRUeXBlLCB0eXBlbmFtZSBSZXR1cm5UeXBlLCB0
eXBlbmFtZSBPcGVyYXRvckZ1bmM+Citjb25zdGV4cHIgUmV0dXJuVHlwZSBhY2N1bXVsYXRlKHN0
ZDo6aW5pdGlhbGl6ZXJfbGlzdDxJbnB1dFR5cGU+IGxpc3QsIFJldHVyblR5cGUgaW5pdCwgT3Bl
cmF0b3JGdW5jIG9wKQoreworICAgIGZvciAoSW5wdXRUeXBlIGVsZW1lbnQgOiBsaXN0KQorICAg
ICAgICBpbml0ID0gb3AoaW5pdCwgZWxlbWVudCk7CisgICAgcmV0dXJuIGluaXQ7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIHN0ZAogCiAjZGVmaW5lIFdURk1vdmUodmFsdWUpIHN0ZDo6bW92ZTxXVEY6
OkNoZWNrTW92ZVBhcmFtZXRlcj4odmFsdWUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302624</attachid>
            <date>2017-02-23 18:29:59 -0800</date>
            <delta_ts>2017-02-23 20:02:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168805-20170223182709.patch</filename>
            <type>text/plain</type>
            <size>17972</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyOTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
N2Q0ODc3Yjg1ZmI2ZjRlOGVmOWNmYjM0YzQyZWIzMDA5NGNlN2ZhLi5lNTNiNzlhNzNiYzRjNDU1
ZjU4ODQzMmZhNzM2MWMyOWNhYzJmODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMSBAQAogMjAxNy0wMi0yMyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAorICAgICAgICBXZSBzaG91bGQgYmUgYWJsZSB0byB1c2Ugc3RkOjp0dXBsZXMgYXMg
a2V5cyBpbiBIYXNoTWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg4MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDb252ZXJ0IHRoZSBtZXNzIG9mIHN0ZDo6cGFpcnMgd2UgdXNlZCBhcyB0aGUga2V5
cyBpbiBQcm90b3R5cGVNYXAKKyAgICAgICAgdG8gYSBzdGQ6OnR1cGxlLiBJIGFsc28gcGxhbiBv
biB1c2luZyB0aGlzIGZvciBhIEhhc2hNYXAgaW4gd2FzbS4KKworICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcnVudGltZS9Qcm90
b3R5cGVNYXAuY3BwOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3Ry
dWN0dXJlKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3Ry
dWN0dXJlRm9yUHJvdG90eXBlKToKKyAgICAgICAgKiBydW50aW1lL1Byb3RvdHlwZU1hcC5oOgor
CisyMDE3LTAyLTIzICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGZpeCB0aGUgY2xvb3AgYnVpbGQuIE5lZWRlZCBhICNpZi4KIAog
ICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWYxOTllYzEzYWZk
MmNkY2I2NjZlYjNmMTE4NWExOTZmODM2ODRhNi4uNDVjZDc5YjNmYjdhMzRmYjcxZTQxYmJhMGVl
OGYxNWU4MjVlZDE2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxNy0wMi0yMyAgS2VpdGggTWls
bGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBXZSBzaG91bGQgYmUgYWJs
ZSB0byB1c2Ugc3RkOjp0dXBsZXMgYXMga2V5cyBpbiBIYXNoTWFwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg4MDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBm
b3IgdXNpbmcgc3RkOjp0dXBlbGVzIGFzIHRoZSBrZXkKKyAgICAgICAgdHlwZSBpbiBIYXNoTWFw
LiBJdCBpcyBlcXVpdmFsZW50IHRvIGRvaW5nIGEgc2VxdWVuY2Ugb2YKKyAgICAgICAgc3RkOjpw
YWlycyBidXQgaGFzIGEgbmljZXIgc3ludGF4LgorCisgICAgICAgICogd3RmL0hhc2hGdW5jdGlv
bnMuaDoKKyAgICAgICAgKFdURjo6VHVwbGVIYXNoOjpoYXNoKToKKyAgICAgICAgKFdURjo6VHVw
bGVIYXNoOjplcXVhbCk6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaDo6YW5kQm9vbCk6CisgICAg
ICAgIChXVEY6OlR1cGxlSGFzaDo6c3RkOjphY2N1bXVsYXRlKToKKyAgICAgICAgKiB3dGYvSGFz
aFRyYWl0cy5oOgorICAgICAgICAoV1RGOjpUdXBsZUhhc2hUcmFpdHM6OmFuZEJvb2wpOgorICAg
ICAgICAoV1RGOjpUdXBsZUhhc2hUcmFpdHM6OnN0ZDo6YWNjdW11bGF0ZSk6CisgICAgICAgIChX
VEY6OlR1cGxlSGFzaFRyYWl0czo6ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXVEY6OlR1cGxlSGFz
aFRyYWl0czo6Y29uc3RydWN0RGVsZXRlZFZhbHVlKToKKyAgICAgICAgKFdURjo6VHVwbGVIYXNo
VHJhaXRzOjppc0RlbGV0ZWRWYWx1ZSk6CisgICAgICAgICogd3RmL1N0ZExpYkV4dHJhcy5oOgor
ICAgICAgICAoc3RkOjphY2N1bXVsYXRlKToKKwogMjAxNy0wMi0yMiAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgQmV0dGVyIGhhbmRsZSBUaHJl
YWQgYW5kIFJ1bkxvb3AgaW5pdGlhbGl6YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggYTU2ZjhjM2E3ZWE3ZGJhYzJlZTA2ZTFmYTA3ZGFlOGUwZmIxOWM1Yy4uYzEyM2IwNmFm
ZDk1YTk5NmM3ZWI3M2M5YTdlNWNhY2IxZGVjNGUyZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTEyNjIsNiArMTI2Miw3IEBACiAJCTJBRjczODJDMThCQkJGOTIwMDhBNUEzNyAv
KiBTdHJ1Y3R1cmVJRFRhYmxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJBRjczODJBMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxl
LmNwcCAqLzsgfTsKIAkJMkFGNzM4MkQxOEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFi
bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRjcz
ODJCMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkQzNDJGMzZGNzI0NDA5NjgwNEFE
QjI0IC8qIFNvdXJjZU9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDI1QkExMzM3RTQzNDRFMUIyNjlBNjcxIC8qIFNvdXJjZU9yaWdpbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTMyMUQ5RTRD
RkI2NzQyM0E5N0YxOTFBNyAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIwRUNCMTVFRkM1MjQ2MjRC
QzJGMDJENSAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcCAqLzsgfTsKIAkJMzcxRDg0
MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGli
ei5keWxpYiAqLzsgfTsKIAkJNDEyOTUyNzcxRDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dl
bmVyYXRlX2ludGVybmFsc193cmFwcGVyX2hlYWRlci5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjk1MjczMUQyQ0Y2QUMwMEU3OEI4OSAvKiBidWls
dGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9oZWFkZXIucHkgKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyOTUyNzgxRDJDRjZCQzAwRTc4
Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2ltcGxlbWVudGF0aW9u
LnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOTUy
NzQxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVy
X2ltcGxlbWVudGF0aW9uLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC0xNjczLDYgKzE2NzQsNyBAQAogCQk5RTcyOTQwNzE5MEYwMUE1MDAxQTkx
QjUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMTc4NjM2QzBEOUJFRUMzMDBENzRFNzUgLyogSW5pdGlhbGl6
ZVRocmVhZGluZy5jcHAgKi87IH07CiAJCTlFNzI5NDBCMTkwRjA1MTQwMDFBOTFCNSAvKiBCdW5k
bGVQYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
RTcyOTQwQTE5MEYwNTE0MDAxQTkxQjUgLyogQnVuZGxlUGF0aC5oICovOyB9OwogCQk5RUE1QzdB
MTE5MEYwODQyMDA1MDhFQkUgLyogQnVuZGxlUGF0aC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlFNzI5NDA5MTkwRjAzMDYwMDFBOTFCNSAvKiBCdW5k
bGVQYXRoLm1tICovOyB9OworCQk5RjYzNDM0NTc3Mjc0RkFGQjkzMzZDMzggLyogTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vz
c0Nhc2UuaCAqLzsgfTsKIAkJQTEyNTg0NkUxQjQ1QTM2MDAwQ0M3RjZDIC8qIEludGxOdW1iZXJG
b3JtYXRDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEExMjU4NDZDMUI0NUEzNjAwMENDN0Y2QyAvKiBJbnRsTnVtYmVyRm9ybWF0
Q29uc3RydWN0b3IubHV0LmggKi87IH07CiAJCUExMjU4NDZGMUI0NUEzNjAwMENDN0Y2QyAvKiBJ
bnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTEyNTg0NkQxQjQ1QTM2MDAwQ0M3RjZDIC8qIEludGxOdW1i
ZXJGb3JtYXRQcm90b3R5cGUubHV0LmggKi87IH07CiAJCUExMkJCRkYyMUIwNDRBOEIwMDY2NEI2
OSAvKiBJbnRsT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMTJCQkZGMTFCMDQ0QThCMDA2NjRCNjkgLyogSW50bE9iamVjdC5oICovOyB9OwpA
QCAtMjQxMyw4ICsyNDE1LDYgQEAKIAkJRkVEOTRGMkYxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNo
ZG9nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUQ5
NEYyQzE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRUYwNDA1MTFBQUU2NjJEMDBCRDI4QjAgLyog
Q29tcGFyZUFuZFN3YXBUZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZFRjA0MDUwMUFBRTY2MkQwMEJEMjhCMCAvKiBDb21wYXJlQW5kU3dhcFRl
c3QuY3BwICovOyB9OwogCQlGRUZENkZDNjFENUU3OTkyMDA4RjJGMEIgLyogSlNTdHJpbmdJbmxp
bmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUZE
NkZDNTFENUU3OTcwMDA4RjJGMEIgLyogSlNTdHJpbmdJbmxpbmVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMzIxRDlFNENGQjY3NDIzQTk3RjE5
MUE3IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwICovOyB9OwotCQk5RjYzNDM0NTc3Mjc0RkFGQjkz
MzZDMzggLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2Vj
dGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwpAQCAt
MzY4Myw2ICszNjgzLDcgQEAKIAkJMUM5MDUxNDUwQkE5RThBNzAwODFFOUQwIC8qIEJhc2UueGNj
b25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gQmFzZS54Y2NvbmZpZzsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBQThCNEEwRDMyQzM5QTAwNDFCQ0ZGIC8qIEph
dmFTY3JpcHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSmF2YVNjcmlwdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FBOEI0QjBEMzJDMzlBMDA0MUJDRkYg
LyogSmF2YVNjcmlwdENvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSmF2
YVNjcmlwdENvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjBFQ0IxNUVGQzUy
NDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2MDBCNUE0MTUyQkFBQTcwMDkxRUU1RiAv
KiBKU1N0cmluZ0pvaW5lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1N0cmluZ0pvaW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2MDBC
NUE1MTUyQkFBQTcwMDkxRUU1RiAvKiBKU1N0cmluZ0pvaW5lci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1N0cmluZ0pvaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyNjJEODVCNDFDMEQ2NTBGMDA2QUNCNjEgLyogQWlyRml4UGFydGlhbFJlZ2lzdGVy
U3RhbGxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFpckZpeFBh
cnRpYWxSZWdpc3RlclN0YWxscy5jcHA7IHBhdGggPSBiMy9haXIvQWlyRml4UGFydGlhbFJlZ2lz
dGVyU3RhbGxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM3MzYsNiArMzcz
Nyw3IEBACiAJCTQ0OTA5N0VFMEY4RjgxQjUwMDc2QTMyNyAvKiBGZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBGZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDUxNTM5QjgxMkRDOTk0NTAwRUY3
QUM0IC8qIFlhcnIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gWWFyci5oOyBw
YXRoID0geWFyci9ZYXJyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1RTEyRDg4
MDZBNDlCMEYwMEU5REY4NCAvKiBqc2MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0ganNjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgdGFiV2lkdGggPSA0OyB9OworCQk0Q0U5NzhFMzg1QTg0OTgxOTkwNTIxNTMgLyogTW9kdWxl
TmFtZXNwYWNlQWNjZXNzQ2FzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
b2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUxRjBFQjYxMDVDODZDNkIwMEU2REYxQiAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3
b3JrOyBuYW1lID0gRm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+
IjsgfTsKIAkJNTFGMEVDMDcwNUM4NkM5QTAwRTZERjFCIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFj
aC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpj
LmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQk1MjY3OEY4QzFBMDMxMDA5
MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xvY2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEJhc2ljQmxvY2tMb2NhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC00OTg0LDggKzQ5ODYsNiBAQAogCQlGRUYwNDA1MDFBQUU2NjJEMDBCRDI4
QjAgLyogQ29tcGFyZUFuZFN3YXBUZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IENvbXBhcmVBbmRTd2FwVGVzdC5jcHA7IHBhdGggPSBBUEkvdGVzdHMvQ29tcGFy
ZUFuZFN3YXBUZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVGMDQwNTIx
QUFFQzRFRDAwQkQyOEIwIC8qIENvbXBhcmVBbmRTd2FwVGVzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBDb21wYXJlQW5kU3dhcFRlc3QuaDsgcGF0aCA9IEFQSS90ZXN0cy9D
b21wYXJlQW5kU3dhcFRlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVGRDZG
QzUxRDVFNzk3MDAwOEYyRjBCIC8qIEpTU3RyaW5nSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1N0cmluZ0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vz
c0Nhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5jcHA7IHBhdGggPSBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUz
IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oOyBwYXRoID0gTW9kdWxlTmFtZXNw
YWNlQWNjZXNzQ2FzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogLyogRW5kIFBCWEZp
bGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFz
ZSBzZWN0aW9uICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm90b3R5cGVNYXAuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBl
TWFwLmNwcAppbmRleCA2N2MzZDVkZWI3MWE4OTQyYjc3Mjg1MGJjMmExZmYzMDMwMTU0OWMyLi5l
YjJkNzE0YjQxMzI1NzJkZTYzYjAwZWMyODkwMWQ5Yzk2ZDM3MDBiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKQEAgLTU2LDcgKzU2LDcgQEAg
dm9pZCBQcm90b3R5cGVNYXA6OmFkZFByb3RvdHlwZShKU09iamVjdCogb2JqZWN0KQogCiBpbmxp
bmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZv
JiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRl
eGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQogewotICAgIGF1dG8ga2V5ID0gc3Rk
OjptYWtlX3BhaXIocHJvdG90eXBlLCBzdGQ6Om1ha2VfcGFpcihpbmxpbmVDYXBhY2l0eSwgc3Rk
OjptYWtlX3BhaXIoY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpKSk7CisgICAgYXV0byBrZXkgPSBz
dGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9i
YWxPYmplY3QpOwogICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fc3RydWN0dXJlcy5n
ZXQoa2V5KSkgewogICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUocHJvdG90eXBlKSk7CiAgICAg
ICAgIHJldHVybiBzdHJ1Y3R1cmU7CkBAIC04Niw3ICs4Niw3IEBAIFN0cnVjdHVyZSogUHJvdG90
eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCog
Z2xvYmFsCiAKIHZvaWQgUHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9y
UHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3Qs
IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQogewotICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3Rk
OjptYWtlX3BhaXIob2JqZWN0LCBzdGQ6Om1ha2VfcGFpcihpbmxpbmVDYXBhY2l0eSwgc3RkOjpt
YWtlX3BhaXIoSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9iYWxPYmplY3QpKSkpOworICAgIG1f
c3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2FwYWNpdHks
IEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90
eXBlTWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaApp
bmRleCBkZTQ0OGFmMTc5NTI5ZDkwYjFlYWRiZjAyN2I2ZjBlZjY3YjAzZGUyLi4xODc1OGQwNGEx
OTQ0YTFjYTkzOTQ5NTViOWM1Y2JlZDNlNzZjZWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaApAQCAtNTcsNyArNTcsNyBAQCBwcml2YXRlOgogCiAg
ICAgV2Vha0dDTWFwPEpTT2JqZWN0KiwgSlNPYmplY3Q+IG1fcHJvdG90eXBlczsKICAgICAvLyBG
SVhNRTogbWFrZSB0aGUga2V5IGEgc3RydWN0LgotICAgIHR5cGVkZWYgV2Vha0dDTWFwPHN0ZDo6
cGFpcjxKU09iamVjdCosIHN0ZDo6cGFpcjx1bnNpZ25lZCwgc3RkOjpwYWlyPGNvbnN0IENsYXNz
SW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4+PiwgU3RydWN0dXJlPiBTdHJ1Y3R1cmVNYXA7CisgICAg
dHlwZWRlZiBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBD
bGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKICAg
ICBTdHJ1Y3R1cmVNYXAgbV9zdHJ1Y3R1cmVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvSGFzaEZ1bmN0aW9ucy5oIGIvU291cmNlL1dURi93dGYvSGFzaEZ1bmN0aW9ucy5oCmlu
ZGV4IDQ2MmYxOWE4MTA4MzBlNWY3MjE0OWFjM2JlMGQyYmRiMjg5NDYzYTcuLjY0ZTM0ZjFiMTFi
ODhhOTQ5ZTNjOTZhZTVlOGI3YmZhYjU5ZDI2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L0hhc2hGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoRnVuY3Rpb25zLmgKQEAg
LTE3NSw2ICsxNzUsNDEgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBi
b29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gUGFpckhhc2g8VCwgVT46OnNhZmVU
b0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkOwogICAgIH07CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZS4uLiBUeXBlcz4KKyAgICBzdHJ1Y3QgVHVwbGVIYXNoIHsKKyAgICAgICAgdGVtcGxhdGU8c2l6
ZV90IEkgPSAwPgorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SSA8IHNp
emVvZi4uLihUeXBlcykgLSAxLCB1bnNpZ25lZD46OnR5cGUgaGFzaChjb25zdCBzdGQ6OnR1cGxl
PFR5cGVzLi4uPiYgdCkKKyAgICAgICAgeworICAgICAgICAgICAgdXNpbmcgSXRoVHVwbGVFbGVt
ZW50VHlwZSA9IHR5cGVuYW1lIHN0ZDo6dHVwbGVfZWxlbWVudDxJLCB0eXBlbmFtZSBzdGQ6OnR1
cGxlPFR5cGVzLi4uPj46OnR5cGU7CisgICAgICAgICAgICByZXR1cm4gcGFpckludEhhc2goRGVm
YXVsdEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Okhhc2g6Omhhc2goc3RkOjpnZXQ8ST4odCkp
LCBoYXNoPEkgKyAxPih0KSk7CisgICAgICAgIH0KKworICAgICAgICB0ZW1wbGF0ZTxzaXplX3Qg
SSA9IDA+CisgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJID09IHNpemVv
Zi4uLihUeXBlcykgLSAxLCB1bnNpZ25lZD46OnR5cGUgaGFzaChjb25zdCBzdGQ6OnR1cGxlPFR5
cGVzLi4uPiYgdCkKKyAgICAgICAgeworICAgICAgICAgICAgdXNpbmcgSXRoVHVwbGVFbGVtZW50
VHlwZSA9IHR5cGVuYW1lIHN0ZDo6dHVwbGVfZWxlbWVudDxJLCB0eXBlbmFtZSBzdGQ6OnR1cGxl
PFR5cGVzLi4uPj46OnR5cGU7CisgICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8SXRoVHVw
bGVFbGVtZW50VHlwZT46Okhhc2g6Omhhc2goc3RkOjpnZXQ8ST4odCkpOworICAgICAgICB9CisK
KyAgICAgICAgdGVtcGxhdGU8c2l6ZV90IEkgPSAwPgorICAgICAgICBzdGF0aWMgdHlwZW5hbWUg
c3RkOjplbmFibGVfaWY8SSA8IHNpemVvZi4uLihUeXBlcykgLSAxLCBib29sPjo6dHlwZSBlcXVh
bChjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgYSwgY29uc3Qgc3RkOjp0dXBsZTxUeXBlcy4u
Lj4mIGIpCisgICAgICAgIHsKKyAgICAgICAgICAgIHVzaW5nIEl0aFR1cGxlRWxlbWVudFR5cGUg
PSB0eXBlbmFtZSBzdGQ6OnR1cGxlX2VsZW1lbnQ8SSwgdHlwZW5hbWUgc3RkOjp0dXBsZTxUeXBl
cy4uLj4+Ojp0eXBlOworICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRIYXNoPEl0aFR1cGxlRWxl
bWVudFR5cGU+OjpIYXNoOjplcXVhbChzdGQ6OmdldDxJPihhKSwgc3RkOjpnZXQ8ST4oYikpICYm
IGVxdWFsPEkgKyAxPihhLCBiKTsKKyAgICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlPHNpemVf
dCBJID0gMD4KKyAgICAgICAgc3RhdGljIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPEkgPT0gc2l6
ZW9mLi4uKFR5cGVzKSAtIDEsIGJvb2w+Ojp0eXBlIGVxdWFsKGNvbnN0IHN0ZDo6dHVwbGU8VHlw
ZXMuLi4+JiBhLCBjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgYikKKyAgICAgICAgeworICAg
ICAgICAgICAgdXNpbmcgSXRoVHVwbGVFbGVtZW50VHlwZSA9IHR5cGVuYW1lIHN0ZDo6dHVwbGVf
ZWxlbWVudDxJLCB0eXBlbmFtZSBzdGQ6OnR1cGxlPFR5cGVzLi4uPj46OnR5cGU7CisgICAgICAg
ICAgICByZXR1cm4gRGVmYXVsdEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Okhhc2g6OmVxdWFs
KHN0ZDo6Z2V0PEk+KGEpLCBzdGQ6OmdldDxJPihiKSk7CisgICAgICAgIH0KKworICAgICAgICAv
LyBXZSBzaG91bGQgdXNlIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gRGVmYXVsdEhh
c2g8VHlwZXM+OjpIYXNoOjpzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCAmJi4uLiB3aGVu
ZXZlciB3ZSBzd2l0Y2ggdG8gQysrMTcKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGFu
ZEJvb2woYm9vbCBhLCBib29sIGIpIHsgcmV0dXJuIGEgJiYgYjsgfQorICAgICAgICBzdGF0aWMg
Y29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRlZCA9IHN0ZDo6YWNjdW11bGF0
ZSh7IERlZmF1bHRIYXNoPFR5cGVzPjo6SGFzaDo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0
ZWQuLi4gfSwgdHJ1ZSwgYW5kQm9vbCk7CisgICAgfTsKKwogICAgIC8vIG1ha2UgSW50SGFzaCB0
aGUgZGVmYXVsdCBoYXNoIGZ1bmN0aW9uIGZvciBtYW55IGludGVnZXIgdHlwZXMKIAogICAgIHRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGJvb2w+IHsgdHlwZWRlZiBJbnRIYXNoPHVpbnQ4
X3Q+IEhhc2g7IH07CkBAIC0yMjQsNiArMjU5LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8g
bWFrZSBQYWlySGFzaCB0aGUgZGVmYXVsdCBoYXNoIGZ1bmN0aW9uIGZvciBwYWlycyBvZiBhcmJp
dHJhcnkgdmFsdWVzLgogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gc3Ry
dWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxULCBVPj4geyB0eXBlZGVmIFBhaXJIYXNoPFQsIFU+
IEhhc2g7IH07CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gVHlwZXM+IHN0cnVjdCBEZWZhdWx0
SGFzaDxzdGQ6OnR1cGxlPFR5cGVzLi4uPj4geyB0eXBlZGVmIFR1cGxlSGFzaDxUeXBlcy4uLj4g
SGFzaDsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL0hhc2hUcmFpdHMuaCBiL1NvdXJjZS9XVEYvd3RmL0hhc2hUcmFpdHMuaAppbmRleCA1NDJl
N2FkMmNiZDNkZjBlZTA5ZTAwNGYyMzM5ODlhMmZmYzAwOTRmLi44YTA1NzBjMDRlYzRiYzA3NzU2
ODVmYzFkMzk2MjNlYzAyNjRiNmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJh
aXRzLmgKKysrIGIvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCkBAIC0yNTYsNiArMjU2LDI1
IEBAIHN0cnVjdCBQYWlySGFzaFRyYWl0cyA6IEdlbmVyaWNIYXNoVHJhaXRzPHN0ZDo6cGFpcjx0
eXBlbmFtZSBGaXJzdFRyYWl0c0FyZzo6VHJhCiB0ZW1wbGF0ZTx0eXBlbmFtZSBGaXJzdCwgdHlw
ZW5hbWUgU2Vjb25kPgogc3RydWN0IEhhc2hUcmFpdHM8c3RkOjpwYWlyPEZpcnN0LCBTZWNvbmQ+
PiA6IHB1YmxpYyBQYWlySGFzaFRyYWl0czxIYXNoVHJhaXRzPEZpcnN0PiwgSGFzaFRyYWl0czxT
ZWNvbmQ+PiB7IH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIEZpcnN0VHJhaXQsIHR5cGVuYW1lLi4u
IFRyYWl0cz4KK3N0cnVjdCBUdXBsZUhhc2hUcmFpdHMgOiBHZW5lcmljSGFzaFRyYWl0czxzdGQ6
OnR1cGxlPHR5cGVuYW1lIEZpcnN0VHJhaXQ6OlRyYWl0VHlwZSwgdHlwZW5hbWUgVHJhaXRzOjpU
cmFpdFR5cGUuLi4+PiB7CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPHR5cGVuYW1lIEZpcnN0VHJh
aXQ6OlRyYWl0VHlwZSwgdHlwZW5hbWUgVHJhaXRzOjpUcmFpdFR5cGUuLi4+IFRyYWl0VHlwZTsK
KyAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dHlwZW5hbWUgRmlyc3RUcmFpdDo6RW1wdHlWYWx1ZVR5
cGUsIHR5cGVuYW1lIFRyYWl0czo6RW1wdHlWYWx1ZVR5cGUuLi4+IEVtcHR5VmFsdWVUeXBlOwor
CisgICAgLy8gV2Ugc2hvdWxkIHVzZSBlbXB0eVZhbHVlSXNaZXJvID0gVHJhaXRzOjplbXB0eVZh
bHVlSXNaZXJvICYmLi4uIHdoZW5ldmVyIHdlIHN3aXRjaCB0byBDKysxNworICAgIHN0YXRpYyBj
b25zdGV4cHIgYm9vbCBhbmRCb29sKGJvb2wgYSwgYm9vbCBiKSB7IHJldHVybiBhICYmIGI7IH0K
KyAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gc3RkOjphY2N1bXVsYXRl
KHsgRmlyc3RUcmFpdDo6ZW1wdHlWYWx1ZUlzWmVybywgVHJhaXRzOjplbXB0eVZhbHVlSXNaZXJv
Li4uIH0sIHRydWUsIGFuZEJvb2wpOworICAgIHN0YXRpYyBFbXB0eVZhbHVlVHlwZSBlbXB0eVZh
bHVlKCkgeyByZXR1cm4gc3RkOjptYWtlX3R1cGxlKEZpcnN0VHJhaXQ6OmVtcHR5VmFsdWUoKSwg
VHJhaXRzOjplbXB0eVZhbHVlKCkuLi4pOyB9CisKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bWluaW11bVRhYmxlU2l6ZSA9IEZpcnN0VHJhaXQ6Om1pbmltdW1UYWJsZVNpemU7CisKKyAgICBz
dGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoVHJhaXRUeXBlJiBzbG90KSB7IEZpcnN0
VHJhaXQ6OmNvbnN0cnVjdERlbGV0ZWRWYWx1ZShzdGQ6OmdldDwwPihzbG90KSk7IH0KKyAgICBz
dGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBUcmFpdFR5cGUmIHZhbHVlKSB7IHJldHVy
biBGaXJzdFRyYWl0Ojppc0RlbGV0ZWRWYWx1ZShzdGQ6OmdldDwwPih2YWx1ZSkpOyB9Cit9Owor
Cit0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUcmFpdHM+CitzdHJ1Y3QgSGFzaFRyYWl0czxzdGQ6OnR1
cGxlPFRyYWl0cy4uLj4+IDogcHVibGljIFR1cGxlSGFzaFRyYWl0czxIYXNoVHJhaXRzPFRyYWl0
cz4uLi4+IHsgfTsKKwogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZUFyZywgdHlwZW5hbWUgVmFs
dWVUeXBlQXJnPgogc3RydWN0IEtleVZhbHVlUGFpciB7CiAgICAgdHlwZWRlZiBLZXlUeXBlQXJn
IEtleVR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9TdGRMaWJFeHRyYXMuaCBiL1Nv
dXJjZS9XVEYvd3RmL1N0ZExpYkV4dHJhcy5oCmluZGV4IDcxNjY2MWZhZDc1N2MxMTYyOGYxZWVh
MDgxYTA3MmFkYTI3NTdkNDIuLjJlMzc1NzY1YzBmMzUwMmI2ZjA4MjUyYzEwYzJmMmZiZDA3NDE5
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1N0ZExpYkV4dHJhcy5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL1N0ZExpYkV4dHJhcy5oCkBAIC00NzEsNiArNDcxLDE0IEBAIEFMV0FZU19JTkxJ
TkUgY29uc3RleHByIHR5cGVuYW1lIHJlbW92ZV9yZWZlcmVuY2U8VD46OnR5cGUmJiBtb3ZlKFQm
JiB2YWx1ZSkKICAgICByZXR1cm4gbW92ZShmb3J3YXJkPFQ+KHZhbHVlKSk7CiB9CiAKK3RlbXBs
YXRlPHR5cGVuYW1lIElucHV0VHlwZSwgdHlwZW5hbWUgUmV0dXJuVHlwZSwgdHlwZW5hbWUgT3Bl
cmF0b3JGdW5jPgorY29uc3RleHByIFJldHVyblR5cGUgYWNjdW11bGF0ZShzdGQ6OmluaXRpYWxp
emVyX2xpc3Q8SW5wdXRUeXBlPiBsaXN0LCBSZXR1cm5UeXBlIGluaXQsIE9wZXJhdG9yRnVuYyBv
cCkKK3sKKyAgICBmb3IgKElucHV0VHlwZSBlbGVtZW50IDogbGlzdCkKKyAgICAgICAgaW5pdCA9
IG9wKGluaXQsIGVsZW1lbnQpOworICAgIHJldHVybiBpbml0OworfQorCiB9IC8vIG5hbWVzcGFj
ZSBzdGQKIAogI2RlZmluZSBXVEZNb3ZlKHZhbHVlKSBzdGQ6Om1vdmU8V1RGOjpDaGVja01vdmVQ
YXJhbWV0ZXI+KHZhbHVlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302631</attachid>
            <date>2017-02-23 20:02:21 -0800</date>
            <delta_ts>2017-02-24 09:44:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168805-20170223195931.patch</filename>
            <type>text/plain</type>
            <size>17459</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyOTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
N2Q0ODc3Yjg1ZmI2ZjRlOGVmOWNmYjM0YzQyZWIzMDA5NGNlN2ZhLi5lNTNiNzlhNzNiYzRjNDU1
ZjU4ODQzMmZhNzM2MWMyOWNhYzJmODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMSBAQAogMjAxNy0wMi0yMyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAorICAgICAgICBXZSBzaG91bGQgYmUgYWJsZSB0byB1c2Ugc3RkOjp0dXBsZXMgYXMg
a2V5cyBpbiBIYXNoTWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg4MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDb252ZXJ0IHRoZSBtZXNzIG9mIHN0ZDo6cGFpcnMgd2UgdXNlZCBhcyB0aGUga2V5
cyBpbiBQcm90b3R5cGVNYXAKKyAgICAgICAgdG8gYSBzdGQ6OnR1cGxlLiBJIGFsc28gcGxhbiBv
biB1c2luZyB0aGlzIGZvciBhIEhhc2hNYXAgaW4gd2FzbS4KKworICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcnVudGltZS9Qcm90
b3R5cGVNYXAuY3BwOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3Ry
dWN0dXJlKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3Ry
dWN0dXJlRm9yUHJvdG90eXBlKToKKyAgICAgICAgKiBydW50aW1lL1Byb3RvdHlwZU1hcC5oOgor
CisyMDE3LTAyLTIzICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGZpeCB0aGUgY2xvb3AgYnVpbGQuIE5lZWRlZCBhICNpZi4KIAog
ICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWYxOTllYzEzYWZk
MmNkY2I2NjZlYjNmMTE4NWExOTZmODM2ODRhNi4uZjNhNDAxY2FiNDFhOTI2OGE5ZWFkZjIxN2Fk
YTEzZWU4ZDAyYzhlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNy0wMi0yMyAgS2VpdGggTWls
bGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBXZSBzaG91bGQgYmUgYWJs
ZSB0byB1c2Ugc3RkOjp0dXBsZXMgYXMga2V5cyBpbiBIYXNoTWFwCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg4MDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBm
b3IgdXNpbmcgc3RkOjp0dXBlbGVzIGFzIHRoZSBrZXkKKyAgICAgICAgdHlwZSBpbiBIYXNoTWFw
LiBJdCBpcyBlcXVpdmFsZW50IHRvIGRvaW5nIGEgc2VxdWVuY2Ugb2YKKyAgICAgICAgc3RkOjpw
YWlycyBidXQgaGFzIGEgbmljZXIgc3ludGF4LgorCisgICAgICAgICogd3RmL0hhc2hGdW5jdGlv
bnMuaDoKKyAgICAgICAgKFdURjo6VHVwbGVIYXNoOjpoYXNoKToKKyAgICAgICAgKFdURjo6VHVw
bGVIYXNoOjplcXVhbCk6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaDo6YWxsVHJ1ZSk6CisgICAg
ICAgICogd3RmL0hhc2hUcmFpdHMuaDoKKyAgICAgICAgKFdURjo6VHVwbGVIYXNoVHJhaXRzOjph
bGxUcnVlKToKKyAgICAgICAgKFdURjo6VHVwbGVIYXNoVHJhaXRzOjplbXB0eVZhbHVlKToKKyAg
ICAgICAgKFdURjo6VHVwbGVIYXNoVHJhaXRzOjpjb25zdHJ1Y3REZWxldGVkVmFsdWUpOgorICAg
ICAgICAoV1RGOjpUdXBsZUhhc2hUcmFpdHM6OmlzRGVsZXRlZFZhbHVlKToKKwogMjAxNy0wMi0y
MiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
QmV0dGVyIGhhbmRsZSBUaHJlYWQgYW5kIFJ1bkxvb3AgaW5pdGlhbGl6YXRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTU2ZjhjM2E3ZWE3ZGJhYzJlZTA2ZTFmYTA3ZGFlOGUw
ZmIxOWM1Yy4uYzEyM2IwNmFmZDk1YTk5NmM3ZWI3M2M5YTdlNWNhY2IxZGVjNGUyZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyNjIsNiArMTI2Miw3IEBACiAJCTJBRjczODJD
MThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRjczODJBMThCQkJGOTIwMDhBNUEzNyAv
KiBTdHJ1Y3R1cmVJRFRhYmxlLmNwcCAqLzsgfTsKIAkJMkFGNzM4MkQxOEJCQkY5MjAwOEE1QTM3
IC8qIFN0cnVjdHVyZUlEVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJBRjczODJCMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkQz
NDJGMzZGNzI0NDA5NjgwNEFEQjI0IC8qIFNvdXJjZU9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDI1QkExMzM3RTQzNDRFMUIyNjlBNjcxIC8q
IFNvdXJjZU9yaWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTMyMUQ5RTRDRkI2NzQyM0E5N0YxOTFBNyAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nl
c3NDYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDIwRUNCMTVFRkM1MjQ2MjRCQzJGMDJENSAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNw
cCAqLzsgfTsKIAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnouZHlsaWIgaW4gRnJh
bWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzFEODQyQzE3Qzk4
QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLzsgfTsKIAkJNDEyOTUyNzcxRDJDRjZCQzAwRTc4
Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2hlYWRlci5weSBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjk1MjczMUQyQ0Y2
QUMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9oZWFkZXIu
cHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEy
OTUyNzgxRDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFw
cGVyX2ltcGxlbWVudGF0aW9uLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDEyOTUyNzQxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRl
X2ludGVybmFsc193cmFwcGVyX2ltcGxlbWVudGF0aW9uLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjczLDYgKzE2NzQsNyBAQAogCQk5RTcy
OTQwNzE5MEYwMUE1MDAxQTkxQjUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTc4NjM2QzBEOUJFRUMzMDBE
NzRFNzUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAgKi87IH07CiAJCTlFNzI5NDBCMTkwRjA1
MTQwMDFBOTFCNSAvKiBCdW5kbGVQYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5RTcyOTQwQTE5MEYwNTE0MDAxQTkxQjUgLyogQnVuZGxlUGF0aC5o
ICovOyB9OwogCQk5RUE1QzdBMTE5MEYwODQyMDA1MDhFQkUgLyogQnVuZGxlUGF0aC5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlFNzI5NDA5MTkwRjAz
MDYwMDFBOTFCNSAvKiBCdW5kbGVQYXRoLm1tICovOyB9OworCQk5RjYzNDM0NTc3Mjc0RkFGQjkz
MzZDMzggLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaCAqLzsgfTsKIAkJQTEyNTg0NkUxQjQ1QTM2MDAwQ0M3
RjZDIC8qIEludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMjU4NDZDMUI0NUEzNjAwMENDN0Y2QyAv
KiBJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IubHV0LmggKi87IH07CiAJCUExMjU4NDZGMUI0
NUEzNjAwMENDN0Y2QyAvKiBJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBlLmx1dC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEyNTg0NkQxQjQ1QTM2MDAw
Q0M3RjZDIC8qIEludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUubHV0LmggKi87IH07CiAJCUExMkJC
RkYyMUIwNDRBOEIwMDY2NEI2OSAvKiBJbnRsT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTJCQkZGMTFCMDQ0QThCMDA2NjRCNjkgLyogSW50
bE9iamVjdC5oICovOyB9OwpAQCAtMjQxMyw4ICsyNDE1LDYgQEAKIAkJRkVEOTRGMkYxNzFFM0Uy
MzAwQkU3N0E0IC8qIFdhdGNoZG9nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRUQ5NEYyQzE3MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRUYwNDA1MTFB
QUU2NjJEMDBCRDI4QjAgLyogQ29tcGFyZUFuZFN3YXBUZXN0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRjA0MDUwMUFBRTY2MkQwMEJEMjhCMCAv
KiBDb21wYXJlQW5kU3dhcFRlc3QuY3BwICovOyB9OwogCQlGRUZENkZDNjFENUU3OTkyMDA4RjJG
MEIgLyogSlNTdHJpbmdJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGRUZENkZDNTFENUU3OTcwMDA4RjJGMEIgLyogSlNTdHJpbmdJbmxpbmVz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMzIx
RDlFNENGQjY3NDIzQTk3RjE5MUE3IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjBFQ0IxNUVGQzUy
NDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwICovOyB9OwotCQk5
RjYzNDM0NTc3Mjc0RkFGQjkzMzZDMzggLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNENFOTc4RTM4NUE4
NDk4MTk5MDUyMTUzIC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaCAqLzsgfTsKIC8qIEVu
ZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJv
eHkgc2VjdGlvbiAqLwpAQCAtMzY4Myw2ICszNjgzLDcgQEAKIAkJMUM5MDUxNDUwQkE5RThBNzAw
ODFFOUQwIC8qIEJhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0g
QmFzZS54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBQThCNEEwRDMy
QzM5QTAwNDFCQ0ZGIC8qIEphdmFTY3JpcHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSmF2YVNjcmlwdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FBOEI0
QjBEMzJDMzlBMDA0MUJDRkYgLyogSmF2YVNjcmlwdENvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSmF2YVNjcmlwdENvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nh
c2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTW9kdWxlTmFtZXNw
YWNlQWNjZXNzQ2FzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2MDBCNUE0
MTUyQkFBQTcwMDkxRUU1RiAvKiBKU1N0cmluZ0pvaW5lci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1N0cmluZ0pvaW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTI2MDBCNUE1MTUyQkFBQTcwMDkxRUU1RiAvKiBKU1N0cmluZ0pvaW5lci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0cmluZ0pvaW5lci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjJEODVCNDFDMEQ2NTBGMDA2QUNCNjEgLyogQWly
Rml4UGFydGlhbFJlZ2lzdGVyU3RhbGxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IEFpckZpeFBhcnRpYWxSZWdpc3RlclN0YWxscy5jcHA7IHBhdGggPSBiMy9haXIv
QWlyRml4UGFydGlhbFJlZ2lzdGVyU3RhbGxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTM3MzYsNiArMzczNyw3IEBACiAJCTQ0OTA5N0VFMEY4RjgxQjUwMDc2QTMyNyAvKiBG
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBG
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDUx
NTM5QjgxMkRDOTk0NTAwRUY3QUM0IC8qIFlhcnIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gWWFyci5oOyBwYXRoID0geWFyci9ZYXJyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ1RTEyRDg4MDZBNDlCMEYwMEU5REY4NCAvKiBqc2MuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0ganNjLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA0OyB9OworCQk0Q0U5NzhFMzg1QTg0OTgx
OTkwNTIxNTMgLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxRjBFQjYxMDVDODZDNkIwMEU2REYxQiAvKiBGb3VuZGF0aW9u
LmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gRm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGgg
PSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNl
VHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJNTFGMEVDMDcwNUM4NkM5QTAwRTZERjFCIC8qIGxp
Ym9iamMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGgg
PSAvdXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9Owog
CQk1MjY3OEY4QzFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xvY2F0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJhc2ljQmxvY2tMb2NhdGlvbi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00OTg0LDggKzQ5ODYsNiBAQAogCQlGRUYw
NDA1MDFBQUU2NjJEMDBCRDI4QjAgLyogQ29tcGFyZUFuZFN3YXBUZXN0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENvbXBhcmVBbmRTd2FwVGVzdC5jcHA7IHBhdGgg
PSBBUEkvdGVzdHMvQ29tcGFyZUFuZFN3YXBUZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkVGMDQwNTIxQUFFQzRFRDAwQkQyOEIwIC8qIENvbXBhcmVBbmRTd2FwVGVzdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDb21wYXJlQW5kU3dhcFRlc3QuaDsg
cGF0aCA9IEFQSS90ZXN0cy9Db21wYXJlQW5kU3dhcFRlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRkVGRDZGQzUxRDVFNzk3MDAwOEYyRjBCIC8qIEpTU3RyaW5nSW5saW5lcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0cmluZ0lubGluZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHA7IHBhdGggPSBNb2R1bGVOYW1l
c3BhY2VBY2Nlc3NDYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNENFOTc4
RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oOyBw
YXRoID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhG
cmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAppbmRleCA2N2MzZDVkZWI3MWE4OTQyYjc3Mjg1MGJj
MmExZmYzMDMwMTU0OWMyLi5lYjJkNzE0YjQxMzI1NzJkZTYzYjAwZWMyODkwMWQ5Yzk2ZDM3MDBi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAK
QEAgLTU2LDcgKzU2LDcgQEAgdm9pZCBQcm90b3R5cGVNYXA6OmFkZFByb3RvdHlwZShKU09iamVj
dCogb2JqZWN0KQogCiBpbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5
U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5
cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8s
IEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQogewot
ICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3BhaXIocHJvdG90eXBlLCBzdGQ6Om1ha2VfcGFpcihp
bmxpbmVDYXBhY2l0eSwgc3RkOjptYWtlX3BhaXIoY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpKSk7
CisgICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0
eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOwogICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IG1fc3RydWN0dXJlcy5nZXQoa2V5KSkgewogICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUo
cHJvdG90eXBlKSk7CiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CkBAIC04Niw3ICs4Niw3IEBA
IFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlw
ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsCiAKIHZvaWQgUHJvdG90eXBlTWFwOjpjbGVhckVtcHR5
T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQogewotICAgIG1fc3Ry
dWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3BhaXIob2JqZWN0LCBzdGQ6Om1ha2VfcGFpcihpbmxp
bmVDYXBhY2l0eSwgc3RkOjptYWtlX3BhaXIoSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9iYWxP
YmplY3QpKSkpOworICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG9iamVj
dCwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm90b3R5cGVNYXAuaAppbmRleCBkZTQ0OGFmMTc5NTI5ZDkwYjFlYWRiZjAyN2I2ZjBlZjY3
YjAzZGUyLi4xODc1OGQwNGExOTQ0YTFjYTkzOTQ5NTViOWM1Y2JlZDNlNzZjZWQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaApAQCAtNTcsNyArNTcs
NyBAQCBwcml2YXRlOgogCiAgICAgV2Vha0dDTWFwPEpTT2JqZWN0KiwgSlNPYmplY3Q+IG1fcHJv
dG90eXBlczsKICAgICAvLyBGSVhNRTogbWFrZSB0aGUga2V5IGEgc3RydWN0LgotICAgIHR5cGVk
ZWYgV2Vha0dDTWFwPHN0ZDo6cGFpcjxKU09iamVjdCosIHN0ZDo6cGFpcjx1bnNpZ25lZCwgc3Rk
OjpwYWlyPGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4+PiwgU3RydWN0dXJlPiBT
dHJ1Y3R1cmVNYXA7CisgICAgdHlwZWRlZiBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCos
IHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+
IFN0cnVjdHVyZU1hcDsKICAgICBTdHJ1Y3R1cmVNYXAgbV9zdHJ1Y3R1cmVzOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvSGFzaEZ1bmN0aW9ucy5oIGIvU291cmNlL1dURi93dGYv
SGFzaEZ1bmN0aW9ucy5oCmluZGV4IDQ2MmYxOWE4MTA4MzBlNWY3MjE0OWFjM2JlMGQyYmRiMjg5
NDYzYTcuLjNjNDY3ZTY4NzA5ZDgwNjhkN2M1MzEzNjc1MjE0YjZkNWUzNDlkMWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9I
YXNoRnVuY3Rpb25zLmgKQEAgLTE3NSw2ICsxNzUsNDkgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
ICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gUGFp
ckhhc2g8VCwgVT46OnNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkOwogICAgIH07CiAKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUeXBlcz4KKyAgICBzdHJ1Y3QgVHVwbGVIYXNoIHsKKyAg
ICAgICAgdGVtcGxhdGU8c2l6ZV90IEkgPSAwPgorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgc3Rk
OjplbmFibGVfaWY8SSA8IHNpemVvZi4uLihUeXBlcykgLSAxLCB1bnNpZ25lZD46OnR5cGUgaGFz
aChjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgdCkKKyAgICAgICAgeworICAgICAgICAgICAg
dXNpbmcgSXRoVHVwbGVFbGVtZW50VHlwZSA9IHR5cGVuYW1lIHN0ZDo6dHVwbGVfZWxlbWVudDxJ
LCB0eXBlbmFtZSBzdGQ6OnR1cGxlPFR5cGVzLi4uPj46OnR5cGU7CisgICAgICAgICAgICByZXR1
cm4gcGFpckludEhhc2goRGVmYXVsdEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Okhhc2g6Omhh
c2goc3RkOjpnZXQ8ST4odCkpLCBoYXNoPEkgKyAxPih0KSk7CisgICAgICAgIH0KKworICAgICAg
ICB0ZW1wbGF0ZTxzaXplX3QgSSA9IDA+CisgICAgICAgIHN0YXRpYyB0eXBlbmFtZSBzdGQ6OmVu
YWJsZV9pZjxJID09IHNpemVvZi4uLihUeXBlcykgLSAxLCB1bnNpZ25lZD46OnR5cGUgaGFzaChj
b25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgdCkKKyAgICAgICAgeworICAgICAgICAgICAgdXNp
bmcgSXRoVHVwbGVFbGVtZW50VHlwZSA9IHR5cGVuYW1lIHN0ZDo6dHVwbGVfZWxlbWVudDxJLCB0
eXBlbmFtZSBzdGQ6OnR1cGxlPFR5cGVzLi4uPj46OnR5cGU7CisgICAgICAgICAgICByZXR1cm4g
RGVmYXVsdEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Okhhc2g6Omhhc2goc3RkOjpnZXQ8ST4o
dCkpOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGU8c2l6ZV90IEkgPSAwPgorICAgICAg
ICBzdGF0aWMgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SSA8IHNpemVvZi4uLihUeXBlcykgLSAx
LCBib29sPjo6dHlwZSBlcXVhbChjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgYSwgY29uc3Qg
c3RkOjp0dXBsZTxUeXBlcy4uLj4mIGIpCisgICAgICAgIHsKKyAgICAgICAgICAgIHVzaW5nIEl0
aFR1cGxlRWxlbWVudFR5cGUgPSB0eXBlbmFtZSBzdGQ6OnR1cGxlX2VsZW1lbnQ8SSwgdHlwZW5h
bWUgc3RkOjp0dXBsZTxUeXBlcy4uLj4+Ojp0eXBlOworICAgICAgICAgICAgcmV0dXJuIERlZmF1
bHRIYXNoPEl0aFR1cGxlRWxlbWVudFR5cGU+OjpIYXNoOjplcXVhbChzdGQ6OmdldDxJPihhKSwg
c3RkOjpnZXQ8ST4oYikpICYmIGVxdWFsPEkgKyAxPihhLCBiKTsKKyAgICAgICAgfQorCisgICAg
ICAgIHRlbXBsYXRlPHNpemVfdCBJID0gMD4KKyAgICAgICAgc3RhdGljIHR5cGVuYW1lIHN0ZDo6
ZW5hYmxlX2lmPEkgPT0gc2l6ZW9mLi4uKFR5cGVzKSAtIDEsIGJvb2w+Ojp0eXBlIGVxdWFsKGNv
bnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiBhLCBjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYg
YikKKyAgICAgICAgeworICAgICAgICAgICAgdXNpbmcgSXRoVHVwbGVFbGVtZW50VHlwZSA9IHR5
cGVuYW1lIHN0ZDo6dHVwbGVfZWxlbWVudDxJLCB0eXBlbmFtZSBzdGQ6OnR1cGxlPFR5cGVzLi4u
Pj46OnR5cGU7CisgICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8SXRoVHVwbGVFbGVtZW50
VHlwZT46Okhhc2g6OmVxdWFsKHN0ZDo6Z2V0PEk+KGEpLCBzdGQ6OmdldDxJPihiKSk7CisgICAg
ICAgIH0KKworICAgICAgICAvLyBXZSBzaG91bGQgdXNlIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JE
ZWxldGVkID0gRGVmYXVsdEhhc2g8VHlwZXM+OjpIYXNoOjpzYWZlVG9Db21wYXJlVG9FbXB0eU9y
RGVsZXRlZCAmJi4uLiB3aGVuZXZlcgorICAgICAgICAvLyB3ZSBzd2l0Y2ggdG8gQysrMTcuIFdl
IGNhbid0IGRvIGFueXRoaW5nIGJldHRlciBoZXJlIHJpZ2h0IG5vdyBiZWNhdXNlIEdDQyBjYW4n
dCBkbyBDKysuCisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBhbGxUcnVlKCkKKyAgICAg
ICAgeworICAgICAgICAgICAgZm9yIChib29sIGVtcHR5VmFsdWVJc1plcm8gOiB7IERlZmF1bHRI
YXNoPFR5cGVzPjo6SGFzaDo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQuLi4gfSkgewor
ICAgICAgICAgICAgICAgIGlmICghZW1wdHlWYWx1ZUlzWmVybykKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgIH0KKyAgICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2FmZVRvQ29tcGFyZVRvRW1w
dHlPckRlbGV0ZWQgPSBhbGxUcnVlKCk7CisgICAgfTsKKwogICAgIC8vIG1ha2UgSW50SGFzaCB0
aGUgZGVmYXVsdCBoYXNoIGZ1bmN0aW9uIGZvciBtYW55IGludGVnZXIgdHlwZXMKIAogICAgIHRl
bXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPGJvb2w+IHsgdHlwZWRlZiBJbnRIYXNoPHVpbnQ4
X3Q+IEhhc2g7IH07CkBAIC0yMjQsNiArMjY3LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8g
bWFrZSBQYWlySGFzaCB0aGUgZGVmYXVsdCBoYXNoIGZ1bmN0aW9uIGZvciBwYWlycyBvZiBhcmJp
dHJhcnkgdmFsdWVzLgogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gc3Ry
dWN0IERlZmF1bHRIYXNoPHN0ZDo6cGFpcjxULCBVPj4geyB0eXBlZGVmIFBhaXJIYXNoPFQsIFU+
IEhhc2g7IH07CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gVHlwZXM+IHN0cnVjdCBEZWZhdWx0
SGFzaDxzdGQ6OnR1cGxlPFR5cGVzLi4uPj4geyB0eXBlZGVmIFR1cGxlSGFzaDxUeXBlcy4uLj4g
SGFzaDsgfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL0hhc2hUcmFpdHMuaCBiL1NvdXJjZS9XVEYvd3RmL0hhc2hUcmFpdHMuaAppbmRleCA1NDJl
N2FkMmNiZDNkZjBlZTA5ZTAwNGYyMzM5ODlhMmZmYzAwOTRmLi5jNTk1YTMxZDhlNTM0Y2QzMGM3
MmE2YzY4NDhhOWRmNjM4MjdiYjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJh
aXRzLmgKKysrIGIvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCkBAIC0yNTYsNiArMjU2LDMz
IEBAIHN0cnVjdCBQYWlySGFzaFRyYWl0cyA6IEdlbmVyaWNIYXNoVHJhaXRzPHN0ZDo6cGFpcjx0
eXBlbmFtZSBGaXJzdFRyYWl0c0FyZzo6VHJhCiB0ZW1wbGF0ZTx0eXBlbmFtZSBGaXJzdCwgdHlw
ZW5hbWUgU2Vjb25kPgogc3RydWN0IEhhc2hUcmFpdHM8c3RkOjpwYWlyPEZpcnN0LCBTZWNvbmQ+
PiA6IHB1YmxpYyBQYWlySGFzaFRyYWl0czxIYXNoVHJhaXRzPEZpcnN0PiwgSGFzaFRyYWl0czxT
ZWNvbmQ+PiB7IH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIEZpcnN0VHJhaXQsIHR5cGVuYW1lLi4u
IFRyYWl0cz4KK3N0cnVjdCBUdXBsZUhhc2hUcmFpdHMgOiBHZW5lcmljSGFzaFRyYWl0czxzdGQ6
OnR1cGxlPHR5cGVuYW1lIEZpcnN0VHJhaXQ6OlRyYWl0VHlwZSwgdHlwZW5hbWUgVHJhaXRzOjpU
cmFpdFR5cGUuLi4+PiB7CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPHR5cGVuYW1lIEZpcnN0VHJh
aXQ6OlRyYWl0VHlwZSwgdHlwZW5hbWUgVHJhaXRzOjpUcmFpdFR5cGUuLi4+IFRyYWl0VHlwZTsK
KyAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dHlwZW5hbWUgRmlyc3RUcmFpdDo6RW1wdHlWYWx1ZVR5
cGUsIHR5cGVuYW1lIFRyYWl0czo6RW1wdHlWYWx1ZVR5cGUuLi4+IEVtcHR5VmFsdWVUeXBlOwor
CisgICAgLy8gV2Ugc2hvdWxkIHVzZSBlbXB0eVZhbHVlSXNaZXJvID0gVHJhaXRzOjplbXB0eVZh
bHVlSXNaZXJvICYmLi4uIHdoZW5ldmVyIHdlIHN3aXRjaCB0byBDKysxNy4gV2UgY2FuJ3QgZG8g
YW55dGhpbmcKKyAgICAvLyBiZXR0ZXIgaGVyZSByaWdodCBub3cgYmVjYXVzZSBHQ0MgY2FuJ3Qg
ZG8gQysrLgorICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBhbGxUcnVlKCkKKyAgICB7CisgICAg
ICAgIGZvciAoYm9vbCBlbXB0eVZhbHVlSXNaZXJvIDogeyBGaXJzdFRyYWl0OjplbXB0eVZhbHVl
SXNaZXJvLCBUcmFpdHM6OmVtcHR5VmFsdWVJc1plcm8uLi4gfSkgeworICAgICAgICAgICAgaWYg
KCFlbXB0eVZhbHVlSXNaZXJvKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgfQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgc3RhdGljIGNvbnN0IGJvb2wg
ZW1wdHlWYWx1ZUlzWmVybyA9IGFsbFRydWUoKTsKKyAgICBzdGF0aWMgRW1wdHlWYWx1ZVR5cGUg
ZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIHN0ZDo6bWFrZV90dXBsZShGaXJzdFRyYWl0OjplbXB0eVZh
bHVlKCksIFRyYWl0czo6ZW1wdHlWYWx1ZSgpLi4uKTsgfQorCisgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIG1pbmltdW1UYWJsZVNpemUgPSBGaXJzdFRyYWl0OjptaW5pbXVtVGFibGVTaXplOwor
CisgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFRyYWl0VHlwZSYgc2xvdCkg
eyBGaXJzdFRyYWl0Ojpjb25zdHJ1Y3REZWxldGVkVmFsdWUoc3RkOjpnZXQ8MD4oc2xvdCkpOyB9
CisgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgVHJhaXRUeXBlJiB2YWx1ZSkg
eyByZXR1cm4gRmlyc3RUcmFpdDo6aXNEZWxldGVkVmFsdWUoc3RkOjpnZXQ8MD4odmFsdWUpKTsg
fQorfTsKKwordGVtcGxhdGU8dHlwZW5hbWUuLi4gVHJhaXRzPgorc3RydWN0IEhhc2hUcmFpdHM8
c3RkOjp0dXBsZTxUcmFpdHMuLi4+PiA6IHB1YmxpYyBUdXBsZUhhc2hUcmFpdHM8SGFzaFRyYWl0
czxUcmFpdHM+Li4uPiB7IH07CisKIHRlbXBsYXRlPHR5cGVuYW1lIEtleVR5cGVBcmcsIHR5cGVu
YW1lIFZhbHVlVHlwZUFyZz4KIHN0cnVjdCBLZXlWYWx1ZVBhaXIgewogICAgIHR5cGVkZWYgS2V5
VHlwZUFyZyBLZXlUeXBlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302670</attachid>
            <date>2017-02-24 09:44:54 -0800</date>
            <delta_ts>2017-02-24 11:31:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168805-20170224094201.patch</filename>
            <type>text/plain</type>
            <size>17499</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyOTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
N2Q0ODc3Yjg1ZmI2ZjRlOGVmOWNmYjM0YzQyZWIzMDA5NGNlN2ZhLi5hMTY2MzZmMTk5ODRhMWMy
YzJkYjE0YjY5ZDYwOTlkZTBkNjUxOWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNy0wMi0yNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBXZSBzaG91bGQgYmUgYWJsZSB0byB1c2Ugc3RkOjp0dXBsZXMgYXMg
a2V5cyBpbiBIYXNoTWFwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjg4MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDb252ZXJ0IHRoZSBtZXNzIG9mIHN0ZDo6cGFpcnMgd2UgdXNlZCBhcyB0aGUga2V5
cyBpbiBQcm90b3R5cGVNYXAKKyAgICAgICAgdG8gYSBzdGQ6OnR1cGxlLiBJIGFsc28gcGxhbiBv
biB1c2luZyB0aGlzIGZvciBhIEhhc2hNYXAgaW4gd2FzbS4KKworICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcnVudGltZS9Qcm90
b3R5cGVNYXAuY3BwOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3Ry
dWN0dXJlKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3Ry
dWN0dXJlRm9yUHJvdG90eXBlKToKKyAgICAgICAgKiBydW50aW1lL1Byb3RvdHlwZU1hcC5oOgor
CiAyMDE3LTAyLTIzICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIGZpeCB0aGUgY2xvb3AgYnVpbGQuIE5lZWRlZCBhICNpZi4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5k
ZXggZWYxOTllYzEzYWZkMmNkY2I2NjZlYjNmMTE4NWExOTZmODM2ODRhNi4uMzRkZTIxYTRlMTcx
OGEwMzgxOGYzY2Q4MTFiNWE5ZTI3NWZhMzI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNy0w
Mi0yNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZSBzaG91bGQgYmUgYWJsZSB0byB1c2Ugc3RkOjp0dXBsZXMgYXMga2V5cyBpbiBIYXNoTWFwCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg4MDUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgc3VwcG9ydCBmb3IgdXNpbmcgc3RkOjp0dXBlbGVzIGFzIHRoZSBrZXkKKyAgICAgICAg
dHlwZSBpbiBIYXNoTWFwLiBJdCBpcyBlcXVpdmFsZW50IHRvIGRvaW5nIGEgc2VxdWVuY2Ugb2YK
KyAgICAgICAgc3RkOjpwYWlycyBidXQgaGFzIGEgbmljZXIgc3ludGF4LgorCisgICAgICAgICog
d3RmL0hhc2hGdW5jdGlvbnMuaDoKKyAgICAgICAgKFdURjo6VHVwbGVIYXNoOjpoYXNoKToKKyAg
ICAgICAgKFdURjo6VHVwbGVIYXNoOjplcXVhbCk6CisgICAgICAgIChXVEY6OlR1cGxlSGFzaDo6
YWxsVHJ1ZSk6CisgICAgICAgICogd3RmL0hhc2hUcmFpdHMuaDoKKyAgICAgICAgKFdURjo6VHVw
bGVIYXNoVHJhaXRzOjphbGxUcnVlKToKKyAgICAgICAgKFdURjo6VHVwbGVIYXNoVHJhaXRzOjpl
bXB0eVZhbHVlKToKKyAgICAgICAgKFdURjo6VHVwbGVIYXNoVHJhaXRzOjpjb25zdHJ1Y3REZWxl
dGVkVmFsdWUpOgorICAgICAgICAoV1RGOjpUdXBsZUhhc2hUcmFpdHM6OmlzRGVsZXRlZFZhbHVl
KToKKwogMjAxNy0wMi0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgQmV0dGVyIGhhbmRsZSBUaHJlYWQgYW5kIFJ1bkxvb3AgaW5pdGlhbGl6
YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTU2ZjhjM2E3ZWE3ZGJhYzJl
ZTA2ZTFmYTA3ZGFlOGUwZmIxOWM1Yy4uYzEyM2IwNmFmZDk1YTk5NmM3ZWI3M2M5YTdlNWNhY2Ix
ZGVjNGUyZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyNjIsNiArMTI2Miw3
IEBACiAJCTJBRjczODJDMThCQkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRjczODJBMThC
QkJGOTIwMDhBNUEzNyAvKiBTdHJ1Y3R1cmVJRFRhYmxlLmNwcCAqLzsgfTsKIAkJMkFGNzM4MkQx
OEJCQkY5MjAwOEE1QTM3IC8qIFN0cnVjdHVyZUlEVGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRjczODJCMThCQkJGOTIwMDhBNUEzNyAvKiBT
dHJ1Y3R1cmVJRFRhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMkQzNDJGMzZGNzI0NDA5NjgwNEFEQjI0IC8qIFNvdXJjZU9yaWdpbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDI1QkExMzM3RTQz
NDRFMUIyNjlBNjcxIC8qIFNvdXJjZU9yaWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTMyMUQ5RTRDRkI2NzQyM0E5N0YxOTFBNyAvKiBNb2R1
bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDIwRUNCMTVFRkM1MjQ2MjRCQzJGMDJENSAvKiBNb2R1bGVOYW1lc3Bh
Y2VBY2Nlc3NDYXNlLmNwcCAqLzsgfTsKIAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxp
YnouZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiAqLzsgfTsKIAkJNDEyOTUy
NzcxRDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVy
X2hlYWRlci5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMjk1MjczMUQyQ0Y2QUMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNf
d3JhcHBlcl9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDEyOTUyNzgxRDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRl
X2ludGVybmFsc193cmFwcGVyX2ltcGxlbWVudGF0aW9uLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOTUyNzQxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1
aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2ltcGxlbWVudGF0aW9uLnB5ICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjczLDYgKzE2
NzQsNyBAQAogCQk5RTcyOTQwNzE5MEYwMUE1MDAxQTkxQjUgLyogSW5pdGlhbGl6ZVRocmVhZGlu
Zy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTc4
NjM2QzBEOUJFRUMzMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAgKi87IH07CiAJ
CTlFNzI5NDBCMTkwRjA1MTQwMDFBOTFCNSAvKiBCdW5kbGVQYXRoLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5RTcyOTQwQTE5MEYwNTE0MDAxQTkxQjUg
LyogQnVuZGxlUGF0aC5oICovOyB9OwogCQk5RUE1QzdBMTE5MEYwODQyMDA1MDhFQkUgLyogQnVu
ZGxlUGF0aC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDlFNzI5NDA5MTkwRjAzMDYwMDFBOTFCNSAvKiBCdW5kbGVQYXRoLm1tICovOyB9OworCQk5RjYz
NDM0NTc3Mjc0RkFGQjkzMzZDMzggLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNENFOTc4RTM4NUE4NDk4
MTk5MDUyMTUzIC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaCAqLzsgfTsKIAkJQTEyNTg0
NkUxQjQ1QTM2MDAwQ0M3RjZDIC8qIEludGxOdW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5sdXQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMjU4NDZDMUI0
NUEzNjAwMENDN0Y2QyAvKiBJbnRsTnVtYmVyRm9ybWF0Q29uc3RydWN0b3IubHV0LmggKi87IH07
CiAJCUExMjU4NDZGMUI0NUEzNjAwMENDN0Y2QyAvKiBJbnRsTnVtYmVyRm9ybWF0UHJvdG90eXBl
Lmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEy
NTg0NkQxQjQ1QTM2MDAwQ0M3RjZDIC8qIEludGxOdW1iZXJGb3JtYXRQcm90b3R5cGUubHV0Lmgg
Ki87IH07CiAJCUExMkJCRkYyMUIwNDRBOEIwMDY2NEI2OSAvKiBJbnRsT2JqZWN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTJCQkZGMTFCMDQ0QThC
MDA2NjRCNjkgLyogSW50bE9iamVjdC5oICovOyB9OwpAQCAtMjQxMyw4ICsyNDE1LDYgQEAKIAkJ
RkVEOTRGMkYxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9nLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUQ5NEYyQzE3MUUzRTIzMDBCRTc3QTQgLyog
V2F0Y2hkb2cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlGRUYwNDA1MTFBQUU2NjJEMDBCRDI4QjAgLyogQ29tcGFyZUFuZFN3YXBUZXN0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRjA0MDUwMUFB
RTY2MkQwMEJEMjhCMCAvKiBDb21wYXJlQW5kU3dhcFRlc3QuY3BwICovOyB9OwogCQlGRUZENkZD
NjFENUU3OTkyMDA4RjJGMEIgLyogSlNTdHJpbmdJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUZENkZDNTFENUU3OTcwMDA4RjJGMEIgLyog
SlNTdHJpbmdJbmxpbmVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKLQkJMzIxRDlFNENGQjY3NDIzQTk3RjE5MUE3IC8qIE1vZHVsZU5hbWVzcGFjZUFj
Y2Vzc0Nhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2Uu
Y3BwICovOyB9OwotCQk5RjYzNDM0NTc3Mjc0RkFGQjkzMzZDMzggLyogTW9kdWxlTmFtZXNwYWNl
QWNjZXNzQ2FzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2Uu
aCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhD
b250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwpAQCAtMzY4Myw2ICszNjgzLDcgQEAKIAkJMUM5
MDUxNDUwQkE5RThBNzAwODFFOUQwIC8qIEJhc2UueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lnhj
Y29uZmlnOyBwYXRoID0gQmFzZS54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUNBQThCNEEwRDMyQzM5QTAwNDFCQ0ZGIC8qIEphdmFTY3JpcHQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSmF2YVNjcmlwdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQ0FBOEI0QjBEMzJDMzlBMDA0MUJDRkYgLyogSmF2YVNjcmlwdENvcmUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSmF2YVNjcmlwdENvcmUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5h
bWVzcGFjZUFjY2Vzc0Nhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTI2MDBCNUE0MTUyQkFBQTcwMDkxRUU1RiAvKiBKU1N0cmluZ0pvaW5lci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N0cmluZ0pvaW5lci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2MDBCNUE1MTUyQkFBQTcwMDkxRUU1RiAvKiBK
U1N0cmluZ0pvaW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0cmlu
Z0pvaW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjJEODVCNDFDMEQ2NTBG
MDA2QUNCNjEgLyogQWlyRml4UGFydGlhbFJlZ2lzdGVyU3RhbGxzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFpckZpeFBhcnRpYWxSZWdpc3RlclN0YWxscy5jcHA7
IHBhdGggPSBiMy9haXIvQWlyRml4UGFydGlhbFJlZ2lzdGVyU3RhbGxzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM3MzYsNiArMzczNyw3IEBACiAJCTQ0OTA5N0VFMEY4Rjgx
QjUwMDc2QTMyNyAvKiBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNj
b25maWc7IHBhdGggPSBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDUxNTM5QjgxMkRDOTk0NTAwRUY3QUM0IC8qIFlhcnIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gWWFyci5oOyBwYXRoID0geWFyci9ZYXJyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1RTEyRDg4MDZBNDlCMEYwMEU5REY4NCAvKiBqc2Mu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRl
bnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0ganNjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA0OyB9OworCQk0
Q0U5NzhFMzg1QTg0OTgxOTkwNTIxNTMgLyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRjBFQjYxMDVDODZDNkIwMEU2REYx
QiAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gRm91bmRhdGlvbi5m
cmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZy
YW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJNTFGMEVDMDcwNUM4NkM5
QTAwRTZERjFCIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9i
amMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxh
YnNvbHV0ZT4iOyB9OwogCQk1MjY3OEY4QzFBMDMxMDA5MDA2QTMwNkQgLyogQmFzaWNCbG9ja0xv
Y2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJhc2ljQmxv
Y2tMb2NhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00OTg0LDggKzQ5
ODYsNiBAQAogCQlGRUYwNDA1MDFBQUU2NjJEMDBCRDI4QjAgLyogQ29tcGFyZUFuZFN3YXBUZXN0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENvbXBhcmVBbmRTd2Fw
VGVzdC5jcHA7IHBhdGggPSBBUEkvdGVzdHMvQ29tcGFyZUFuZFN3YXBUZXN0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVGMDQwNTIxQUFFQzRFRDAwQkQyOEIwIC8qIENvbXBh
cmVBbmRTd2FwVGVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDb21wYXJl
QW5kU3dhcFRlc3QuaDsgcGF0aCA9IEFQSS90ZXN0cy9Db21wYXJlQW5kU3dhcFRlc3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVGRDZGQzUxRDVFNzk3MDAwOEYyRjBCIC8qIEpT
U3RyaW5nSW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0cmlu
Z0lubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMjBFQ0IxNUVGQzUyNDYy
NEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHA7IHBh
dGggPSBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1vZHVsZU5hbWVzcGFjZUFjY2Vz
c0Nhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTW9kdWxlTmFtZXNwYWNl
QWNjZXNzQ2FzZS5oOyBwYXRoID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwog
CiAvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAppbmRleCA2N2MzZDVkZWI3
MWE4OTQyYjc3Mjg1MGJjMmExZmYzMDMwMTU0OWMyLi5lYjJkNzE0YjQxMzI1NzJkZTYzYjAwZWMy
ODkwMWQ5Yzk2ZDM3MDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm90b3R5cGVNYXAuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3RvdHlwZU1hcC5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgdm9pZCBQcm90b3R5cGVNYXA6OmFkZFBy
b3RvdHlwZShKU09iamVjdCogb2JqZWN0KQogCiBpbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVN
YXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
T2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJ
bmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5KQogewotICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3BhaXIocHJvdG90eXBlLCBz
dGQ6Om1ha2VfcGFpcihpbmxpbmVDYXBhY2l0eSwgc3RkOjptYWtlX3BhaXIoY2xhc3NJbmZvLCBn
bG9iYWxPYmplY3QpKSk7CisgICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBl
LCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOwogICAgIGlmIChTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IG1fc3RydWN0dXJlcy5nZXQoa2V5KSkgewogICAgICAgICBBU1NF
UlQoaXNQcm90b3R5cGUocHJvdG90eXBlKSk7CiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CkBA
IC04Niw3ICs4Niw3IEBAIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVj
dHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsCiAKIHZvaWQgUHJvdG90eXBl
TWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
KQogewotICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3BhaXIob2JqZWN0LCBzdGQ6
Om1ha2VfcGFpcihpbmxpbmVDYXBhY2l0eSwgc3RkOjptYWtlX3BhaXIoSlNGaW5hbE9iamVjdDo6
aW5mbygpLCBnbG9iYWxPYmplY3QpKSkpOworICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjpt
YWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwg
Z2xvYmFsT2JqZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAppbmRleCBkZTQ0OGFmMTc5NTI5ZDkwYjFl
YWRiZjAyN2I2ZjBlZjY3YjAzZGUyLi4xODc1OGQwNGExOTQ0YTFjYTkzOTQ5NTViOWM1Y2JlZDNl
NzZjZWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5
cGVNYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAu
aApAQCAtNTcsNyArNTcsNyBAQCBwcml2YXRlOgogCiAgICAgV2Vha0dDTWFwPEpTT2JqZWN0Kiwg
SlNPYmplY3Q+IG1fcHJvdG90eXBlczsKICAgICAvLyBGSVhNRTogbWFrZSB0aGUga2V5IGEgc3Ry
dWN0LgotICAgIHR5cGVkZWYgV2Vha0dDTWFwPHN0ZDo6cGFpcjxKU09iamVjdCosIHN0ZDo6cGFp
cjx1bnNpZ25lZCwgc3RkOjpwYWlyPGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4+
PiwgU3RydWN0dXJlPiBTdHJ1Y3R1cmVNYXA7CisgICAgdHlwZWRlZiBXZWFrR0NNYXA8c3RkOjp0
dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVj
dCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKICAgICBTdHJ1Y3R1cmVNYXAgbV9zdHJ1Y3R1
cmVzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvSGFzaEZ1bmN0aW9ucy5oIGIv
U291cmNlL1dURi93dGYvSGFzaEZ1bmN0aW9ucy5oCmluZGV4IDQ2MmYxOWE4MTA4MzBlNWY3MjE0
OWFjM2JlMGQyYmRiMjg5NDYzYTcuLjJhMWEzNjJiZGZkZmZkNmNlNjJiNmY2NjllNWY4ZWQ2ZjNh
NTcyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hGdW5jdGlvbnMuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9IYXNoRnVuY3Rpb25zLmgKQEAgLTE3NSw2ICsxNzUsNDUgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5
T3JEZWxldGVkID0gUGFpckhhc2g8VCwgVT46OnNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVk
OwogICAgIH07CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBUeXBlcz4KKyAgICBzdHJ1Y3Qg
VHVwbGVIYXNoIHsKKyAgICAgICAgdGVtcGxhdGU8c2l6ZV90IEkgPSAwPgorICAgICAgICBzdGF0
aWMgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SSA8IHNpemVvZi4uLihUeXBlcykgLSAxLCB1bnNp
Z25lZD46OnR5cGUgaGFzaChjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgdCkKKyAgICAgICAg
eworICAgICAgICAgICAgdXNpbmcgSXRoVHVwbGVFbGVtZW50VHlwZSA9IHR5cGVuYW1lIHN0ZDo6
dHVwbGVfZWxlbWVudDxJLCB0eXBlbmFtZSBzdGQ6OnR1cGxlPFR5cGVzLi4uPj46OnR5cGU7Cisg
ICAgICAgICAgICByZXR1cm4gcGFpckludEhhc2goRGVmYXVsdEhhc2g8SXRoVHVwbGVFbGVtZW50
VHlwZT46Okhhc2g6Omhhc2goc3RkOjpnZXQ8ST4odCkpLCBoYXNoPEkgKyAxPih0KSk7CisgICAg
ICAgIH0KKworICAgICAgICB0ZW1wbGF0ZTxzaXplX3QgSSA9IDA+CisgICAgICAgIHN0YXRpYyB0
eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjxJID09IHNpemVvZi4uLihUeXBlcykgLSAxLCB1bnNpZ25l
ZD46OnR5cGUgaGFzaChjb25zdCBzdGQ6OnR1cGxlPFR5cGVzLi4uPiYgdCkKKyAgICAgICAgewor
ICAgICAgICAgICAgdXNpbmcgSXRoVHVwbGVFbGVtZW50VHlwZSA9IHR5cGVuYW1lIHN0ZDo6dHVw
bGVfZWxlbWVudDxJLCB0eXBlbmFtZSBzdGQ6OnR1cGxlPFR5cGVzLi4uPj46OnR5cGU7CisgICAg
ICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8SXRoVHVwbGVFbGVtZW50VHlwZT46Okhhc2g6Omhh
c2goc3RkOjpnZXQ8ST4odCkpOworICAgICAgICB9CisKKyAgICAgICAgdGVtcGxhdGU8c2l6ZV90
IEkgPSAwPgorICAgICAgICBzdGF0aWMgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8SSA8IHNpemVv
Zi4uLihUeXBlcykgLSAxLCBib29sPjo6dHlwZSBlcXVhbChjb25zdCBzdGQ6OnR1cGxlPFR5cGVz
Li4uPiYgYSwgY29uc3Qgc3RkOjp0dXBsZTxUeXBlcy4uLj4mIGIpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHVzaW5nIEl0aFR1cGxlRWxlbWVudFR5cGUgPSB0eXBlbmFtZSBzdGQ6OnR1cGxlX2Vs
ZW1lbnQ8SSwgdHlwZW5hbWUgc3RkOjp0dXBsZTxUeXBlcy4uLj4+Ojp0eXBlOworICAgICAgICAg
ICAgcmV0dXJuIERlZmF1bHRIYXNoPEl0aFR1cGxlRWxlbWVudFR5cGU+OjpIYXNoOjplcXVhbChz
dGQ6OmdldDxJPihhKSwgc3RkOjpnZXQ8ST4oYikpICYmIGVxdWFsPEkgKyAxPihhLCBiKTsKKyAg
ICAgICAgfQorCisgICAgICAgIHRlbXBsYXRlPHNpemVfdCBJID0gMD4KKyAgICAgICAgc3RhdGlj
IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPEkgPT0gc2l6ZW9mLi4uKFR5cGVzKSAtIDEsIGJvb2w+
Ojp0eXBlIGVxdWFsKGNvbnN0IHN0ZDo6dHVwbGU8VHlwZXMuLi4+JiBhLCBjb25zdCBzdGQ6OnR1
cGxlPFR5cGVzLi4uPiYgYikKKyAgICAgICAgeworICAgICAgICAgICAgdXNpbmcgSXRoVHVwbGVF
bGVtZW50VHlwZSA9IHR5cGVuYW1lIHN0ZDo6dHVwbGVfZWxlbWVudDxJLCB0eXBlbmFtZSBzdGQ6
OnR1cGxlPFR5cGVzLi4uPj46OnR5cGU7CisgICAgICAgICAgICByZXR1cm4gRGVmYXVsdEhhc2g8
SXRoVHVwbGVFbGVtZW50VHlwZT46Okhhc2g6OmVxdWFsKHN0ZDo6Z2V0PEk+KGEpLCBzdGQ6Omdl
dDxJPihiKSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBzaG91bGQgdXNlIHNhZmVUb0Nv
bXBhcmVUb0VtcHR5T3JEZWxldGVkID0gRGVmYXVsdEhhc2g8VHlwZXM+OjpIYXNoOjpzYWZlVG9D
b21wYXJlVG9FbXB0eU9yRGVsZXRlZCAmJi4uLiB3aGVuZXZlcgorICAgICAgICAvLyB3ZSBzd2l0
Y2ggdG8gQysrMTcuIFdlIGNhbid0IGRvIGFueXRoaW5nIGJldHRlciBoZXJlIHJpZ2h0IG5vdyBi
ZWNhdXNlIEdDQyBjYW4ndCBkbyBDKysuCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEJvb2w+
CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBhbGxUcnVlKEJvb2wgdmFsdWUpIHsgcmV0
dXJuIHZhbHVlOyB9CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEJvb2wsIHR5cGVuYW1lLi4u
IEJvb2xzPgorICAgICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgYWxsVHJ1ZShCb29sIHZhbHVl
LCBCb29scy4uLiB2YWx1ZXMpIHsgcmV0dXJuIHZhbHVlICYmIGFsbFRydWUodmFsdWVzLi4uKTsg
fQorICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVsZXRl
ZCA9IGFsbFRydWUoRGVmYXVsdEhhc2g8VHlwZXM+OjpIYXNoOjpzYWZlVG9Db21wYXJlVG9FbXB0
eU9yRGVsZXRlZC4uLik7CisgICAgfTsKKwogICAgIC8vIG1ha2UgSW50SGFzaCB0aGUgZGVmYXVs
dCBoYXNoIGZ1bmN0aW9uIGZvciBtYW55IGludGVnZXIgdHlwZXMKIAogICAgIHRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPGJvb2w+IHsgdHlwZWRlZiBJbnRIYXNoPHVpbnQ4X3Q+IEhhc2g7
IH07CkBAIC0yMjQsNiArMjYzLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8gbWFrZSBQYWly
SGFzaCB0aGUgZGVmYXVsdCBoYXNoIGZ1bmN0aW9uIGZvciBwYWlycyBvZiBhcmJpdHJhcnkgdmFs
dWVzLgogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gc3RydWN0IERlZmF1
bHRIYXNoPHN0ZDo6cGFpcjxULCBVPj4geyB0eXBlZGVmIFBhaXJIYXNoPFQsIFU+IEhhc2g7IH07
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gVHlwZXM+IHN0cnVjdCBEZWZhdWx0SGFzaDxzdGQ6
OnR1cGxlPFR5cGVzLi4uPj4geyB0eXBlZGVmIFR1cGxlSGFzaDxUeXBlcy4uLj4gSGFzaDsgfTsK
IAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0hhc2hU
cmFpdHMuaCBiL1NvdXJjZS9XVEYvd3RmL0hhc2hUcmFpdHMuaAppbmRleCA1NDJlN2FkMmNiZDNk
ZjBlZTA5ZTAwNGYyMzM5ODlhMmZmYzAwOTRmLi5lOWU4NWYxMmY0MTgzNWZmMmIwZjkyZTJlNGI5
MzQ5YzI2NDMxZWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKKysr
IGIvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCkBAIC0yNTYsNiArMjU2LDI5IEBAIHN0cnVj
dCBQYWlySGFzaFRyYWl0cyA6IEdlbmVyaWNIYXNoVHJhaXRzPHN0ZDo6cGFpcjx0eXBlbmFtZSBG
aXJzdFRyYWl0c0FyZzo6VHJhCiB0ZW1wbGF0ZTx0eXBlbmFtZSBGaXJzdCwgdHlwZW5hbWUgU2Vj
b25kPgogc3RydWN0IEhhc2hUcmFpdHM8c3RkOjpwYWlyPEZpcnN0LCBTZWNvbmQ+PiA6IHB1Ymxp
YyBQYWlySGFzaFRyYWl0czxIYXNoVHJhaXRzPEZpcnN0PiwgSGFzaFRyYWl0czxTZWNvbmQ+PiB7
IH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIEZpcnN0VHJhaXQsIHR5cGVuYW1lLi4uIFRyYWl0cz4K
K3N0cnVjdCBUdXBsZUhhc2hUcmFpdHMgOiBHZW5lcmljSGFzaFRyYWl0czxzdGQ6OnR1cGxlPHR5
cGVuYW1lIEZpcnN0VHJhaXQ6OlRyYWl0VHlwZSwgdHlwZW5hbWUgVHJhaXRzOjpUcmFpdFR5cGUu
Li4+PiB7CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPHR5cGVuYW1lIEZpcnN0VHJhaXQ6OlRyYWl0
VHlwZSwgdHlwZW5hbWUgVHJhaXRzOjpUcmFpdFR5cGUuLi4+IFRyYWl0VHlwZTsKKyAgICB0eXBl
ZGVmIHN0ZDo6dHVwbGU8dHlwZW5hbWUgRmlyc3RUcmFpdDo6RW1wdHlWYWx1ZVR5cGUsIHR5cGVu
YW1lIFRyYWl0czo6RW1wdHlWYWx1ZVR5cGUuLi4+IEVtcHR5VmFsdWVUeXBlOworCisgICAgLy8g
V2Ugc2hvdWxkIHVzZSBlbXB0eVZhbHVlSXNaZXJvID0gVHJhaXRzOjplbXB0eVZhbHVlSXNaZXJv
ICYmLi4uIHdoZW5ldmVyIHdlIHN3aXRjaCB0byBDKysxNy4gV2UgY2FuJ3QgZG8gYW55dGhpbmcK
KyAgICAvLyBiZXR0ZXIgaGVyZSByaWdodCBub3cgYmVjYXVzZSBHQ0MgY2FuJ3QgZG8gQysrLgor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIEJvb2w+CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGFs
bFRydWUoQm9vbCB2YWx1ZSkgeyByZXR1cm4gdmFsdWU7IH0KKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBCb29sLCB0eXBlbmFtZS4uLiBCb29scz4KKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgYWxs
VHJ1ZShCb29sIHZhbHVlLCBCb29scy4uLiB2YWx1ZXMpIHsgcmV0dXJuIHZhbHVlICYmIGFsbFRy
dWUodmFsdWVzLi4uKTsgfQorICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8g
PSBhbGxUcnVlKEZpcnN0VHJhaXQ6OmVtcHR5VmFsdWVJc1plcm8sIFRyYWl0czo6ZW1wdHlWYWx1
ZUlzWmVyby4uLik7CisgICAgc3RhdGljIEVtcHR5VmFsdWVUeXBlIGVtcHR5VmFsdWUoKSB7IHJl
dHVybiBzdGQ6Om1ha2VfdHVwbGUoRmlyc3RUcmFpdDo6ZW1wdHlWYWx1ZSgpLCBUcmFpdHM6OmVt
cHR5VmFsdWUoKS4uLik7IH0KKworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5pbXVtVGFi
bGVTaXplID0gRmlyc3RUcmFpdDo6bWluaW11bVRhYmxlU2l6ZTsKKworICAgIHN0YXRpYyB2b2lk
IGNvbnN0cnVjdERlbGV0ZWRWYWx1ZShUcmFpdFR5cGUmIHNsb3QpIHsgRmlyc3RUcmFpdDo6Y29u
c3RydWN0RGVsZXRlZFZhbHVlKHN0ZDo6Z2V0PDA+KHNsb3QpKTsgfQorICAgIHN0YXRpYyBib29s
IGlzRGVsZXRlZFZhbHVlKGNvbnN0IFRyYWl0VHlwZSYgdmFsdWUpIHsgcmV0dXJuIEZpcnN0VHJh
aXQ6OmlzRGVsZXRlZFZhbHVlKHN0ZDo6Z2V0PDA+KHZhbHVlKSk7IH0KK307CisKK3RlbXBsYXRl
PHR5cGVuYW1lLi4uIFRyYWl0cz4KK3N0cnVjdCBIYXNoVHJhaXRzPHN0ZDo6dHVwbGU8VHJhaXRz
Li4uPj4gOiBwdWJsaWMgVHVwbGVIYXNoVHJhaXRzPEhhc2hUcmFpdHM8VHJhaXRzPi4uLj4geyB9
OworCiB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBlQXJnLCB0eXBlbmFtZSBWYWx1ZVR5cGVBcmc+
CiBzdHJ1Y3QgS2V5VmFsdWVQYWlyIHsKICAgICB0eXBlZGVmIEtleVR5cGVBcmcgS2V5VHlwZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>