<?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>175129</bug_id>
          
          <creation_ts>2017-08-03 05:18:46 -0700</creation_ts>
          <short_desc>[EME] Push CDMFactory into the platform layer</short_desc>
          <delta_ts>2017-08-04 02:56:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>175136</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>calvaris</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1334749</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-03 05:18:46 -0700</bug_when>
    <thetext>[EME] Push CDMFactory into the platform layer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1334750</commentid>
    <comment_count>1</comment_count>
      <attachid>317115</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-03 05:21:03 -0700</bug_when>
    <thetext>Created attachment 317115
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1334785</commentid>
    <comment_count>2</comment_count>
      <attachid>317122</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-03 08:29:16 -0700</bug_when>
    <thetext>Created attachment 317122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335187</commentid>
    <comment_count>3</comment_count>
      <attachid>317122</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-08-04 02:07:27 -0700</bug_when>
    <thetext>Comment on attachment 317122
Patch

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

&gt; Source/WebCore/platform/GStreamer.cmake:142
&gt; +        platform/encryptedmedia/gstreamer/CDMFactoryGStreamer.cpp

It looks like this file should go under platform/graphics/gstreamer/eme/

&gt; Source/WebCore/platform/encryptedmedia/CDMFactory.cpp:2
&gt; + * Copyright (C) 2016 Apple Inc. All rights reserved.

It looks like Igalia can have some credit here.

&gt; Source/WebCore/platform/encryptedmedia/CDMFactory.h:2
&gt; + * Copyright (C) 2016 Apple Inc. All rights reserved.

Ditto

&gt; Source/WebCore/platform/encryptedmedia/CDMFactory.h:49
&gt; +    // CDMFactory objectes is queried for the first time.

typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335193</commentid>
    <comment_count>4</comment_count>
      <attachid>317230</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-04 02:51:00 -0700</bug_when>
    <thetext>Created attachment 317230
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335196</commentid>
    <comment_count>5</comment_count>
      <attachid>317230</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-04 02:54:45 -0700</bug_when>
    <thetext>Comment on attachment 317230
Patch for landing

Clearing flags on attachment: 317230

Committed r220264: &lt;http://trac.webkit.org/changeset/220264&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335197</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-08-04 02:54:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335198</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-04 02:56:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/33720760&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317115</attachid>
            <date>2017-08-03 05:21:03 -0700</date>
            <delta_ts>2017-08-03 08:29:13 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-175129-20170803142102.patch</filename>
            <type>text/plain</type>
            <size>18030</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwMjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdmNzA4MWIyNmJjMGZl
MWIxOTUzYmEyOTJiY2EzMWJlYmI1NzYyMy4uYWQ0YmNhMzFkMGZjN2JiMTljMGIyYjYwZmM4N2Jj
YjY2NzZmOWQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTA4LTAzICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbRU1FXSBQdXNoIENE
TUZhY3RvcnkgaW50byB0aGUgcGxhdGZvcm0gbGF5ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTEyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQ0RNUHJpdmF0ZUZvcktleVN5c3RlbSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDRE06OnN1cHBvcnRzS2V5U3lzdGVtKToKKyAgICAgICAgKFdlYkNv
cmU6OkNETTo6Q0RNKToKKyAgICAgICAgKCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpD
RE06OnJlZ2lzdGVyQ0RNRmFjdG9yeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpDRE06
OnVucmVnaXN0ZXJDRE1GYWN0b3J5KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL0NETS5oOgorICAgICAgICAoV2ViQ29yZTo6Q0RNRmFjdG9yeTo6fkNETUZhY3Rv
cnkpOiBEZWxldGVkLgorICAgICAgICAqIFBsYXRmb3JtV1BFLmNtYWtlOgorICAgICAgICAqIHBs
YXRmb3JtL0dTdHJlYW1lci5jbWFrZToKKyAgICAgICAgKiBwbGF0Zm9ybS9lbmNyeXB0ZWRtZWRp
YS9DRE1GYWN0b3J5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDRE1GYWN0b3J5Ojpy
ZWdpc3RlckZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q0RNRmFjdG9yeTo6dW5yZWdpc3Rl
ckZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q0RNRmFjdG9yeTo6cGxhdGZvcm1SZWdpc3Rl
ckZhY3Rvcmllcyk6CisgICAgICAgICogcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNRmFjdG9y
eS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNETUZhY3Rvcnk6On5DRE1GYWN0b3J5KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDRE1GYWN0b3J5Q2xlYXJLZXk6OmNyZWF0ZUNETSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9nc3RyZWFtZXIvQ0RNRmFjdG9yeUdT
dHJlYW1lci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q0RNRmFjdG9yeTo6cGxhdGZv
cm1SZWdpc3RlckZhY3Rvcmllcyk6CisgICAgICAgICogdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjptX3dlYWtQdHJGYWN0b3J5KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tDRE1GYWN0b3J5Ojp1bnJlZ2lzdGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tD
RE1GYWN0b3J5OjpjcmVhdGVDRE0pOgorICAgICAgICAqIHRlc3RpbmcvTW9ja0NETUZhY3Rvcnku
aDoKKwogMjAxNy0wOC0wMiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogYWRkIHN0YWNrIHRyYWNlIGluZm9ybWF0aW9uIGZvciBlYWNo
IFJlY29yZGluZ0FjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3NGFmNDM1MWYxNGE0NGQ5
YzcwNzk3MTM1OWJhNjFjNWFhMjBkY2IwLi5hNzMyNDY4N2U3OTk0YTI2YWFhZWVlZTNhY2FjYzQ0
MjFjNzZkOWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjI5Niw2ICsyMjk2LDggQEAgc2V0
KFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2F1ZGlvL1ZlY3Rvck1hdGguY3BwCiAgICAg
cGxhdGZvcm0vYXVkaW8vWmVyb1BvbGUuY3BwCiAKKyAgICBwbGF0Zm9ybS9lbmNyeXB0ZWRtZWRp
YS9DRE1GYWN0b3J5LmNwcAorCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3Bw
CiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29tcGxleFRleHRDb250cm9sbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9DRE0uY3BwCmluZGV4IGQ3MjIyN2MxYmY3NDNlZTMzMDY1MzdjNGIyYzIyZjY3
MjdiMjg5YWUuLmJlN2U5ODA1NzAzODlkZDMzZjZlOWEwMjllMjk1NWU4Zjg5ZmI1YzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETS5jcHAKQEAgLTI4LDYg
KzI4LDcgQEAKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKKyNpbmNsdWRlICJDRE1G
YWN0b3J5LmgiCiAjaW5jbHVkZSAiQ0RNUHJpdmF0ZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiSW5pdERhdGFSZWdpc3RyeS5oIgpAQCAtNDEsMzcgKzQyLDE5IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIFZlY3RvcjxDRE1GYWN0b3J5Kj4mIGNkbUZhY3Rv
cmllcygpCitzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENETVByaXZhdGU+IGNyZWF0ZUNETVByaXZh
dGVGb3JLZXlTeXN0ZW0oY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pCiB7Ci0gICAgc3RhdGljIE5l
dmVyRGVzdHJveWVkPFZlY3RvcjxDRE1GYWN0b3J5Kj4+IGZhY3RvcmllczsKLSAgICByZXR1cm4g
ZmFjdG9yaWVzOwotfQotCi1zdGF0aWMgc3RkOjp1bmlxdWVfcHRyPENETVByaXZhdGU+IGNyZWF0
ZUNETVByaXZhdGVGb3JLZXlTeXN0ZW0oY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIENETSYgY2Rt
KQotewotICAgIGZvciAoYXV0byogZmFjdG9yeSA6IGNkbUZhY3RvcmllcygpKSB7CisgICAgZm9y
IChhdXRvKiBmYWN0b3J5IDogQ0RNRmFjdG9yeTo6cmVnaXN0ZXJlZEZhY3RvcmllcygpKSB7CiAg
ICAgICAgIGlmIChmYWN0b3J5LT5zdXBwb3J0c0tleVN5c3RlbShrZXlTeXN0ZW0pKQotICAgICAg
ICAgICAgcmV0dXJuIGZhY3RvcnktPmNyZWF0ZUNETShjZG0pOworICAgICAgICAgICAgcmV0dXJu
IGZhY3RvcnktPmNyZWF0ZUNETSgpOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotdm9pZCBDRE06OnJlZ2lzdGVyQ0RNRmFjdG9yeShD
RE1GYWN0b3J5JiBmYWN0b3J5KQotewotICAgIEFTU0VSVCghY2RtRmFjdG9yaWVzKCkuY29udGFp
bnMoJmZhY3RvcnkpKTsKLSAgICBjZG1GYWN0b3JpZXMoKS5hcHBlbmQoJmZhY3RvcnkpOwotfQot
Ci12b2lkIENETTo6dW5yZWdpc3RlckNETUZhY3RvcnkoQ0RNRmFjdG9yeSYgZmFjdG9yeSkKLXsK
LSAgICBBU1NFUlQoY2RtRmFjdG9yaWVzKCkuY29udGFpbnMoJmZhY3RvcnkpKTsKLSAgICBjZG1G
YWN0b3JpZXMoKS5yZW1vdmVBbGwoJmZhY3RvcnkpOwotfQotCiBib29sIENETTo6c3VwcG9ydHNL
ZXlTeXN0ZW0oY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pCiB7Ci0gICAgZm9yIChhdXRvKiBmYWN0
b3J5IDogY2RtRmFjdG9yaWVzKCkpIHsKKyAgICBmb3IgKGF1dG8qIGZhY3RvcnkgOiBDRE1GYWN0
b3J5OjpyZWdpc3RlcmVkRmFjdG9yaWVzKCkpIHsKICAgICAgICAgaWYgKGZhY3RvcnktPnN1cHBv
cnRzS2V5U3lzdGVtKGtleVN5c3RlbSkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
CkBAIC04NiwxNCArNjksMTQgQEAgUmVmPENETT4gQ0RNOjpjcmVhdGUoRG9jdW1lbnQmIGRvY3Vt
ZW50LCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSkKIENETTo6Q0RNKERvY3VtZW50JiBkb2N1bWVu
dCwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pCiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNl
cnZlcigmZG9jdW1lbnQpCiAgICAgLCBtX2tleVN5c3RlbShrZXlTeXN0ZW0pCi0gICAgLCBtX3By
aXZhdGUoY3JlYXRlQ0RNUHJpdmF0ZUZvcktleVN5c3RlbShrZXlTeXN0ZW0sICp0aGlzKSkKKyAg
ICAsIG1fcHJpdmF0ZShjcmVhdGVDRE1Qcml2YXRlRm9yS2V5U3lzdGVtKGtleVN5c3RlbSkpCiAg
ICAgLCBtX3dlYWtQdHJGYWN0b3J5KHRoaXMpCiB7CiAgICAgQVNTRVJUKHN1cHBvcnRzS2V5U3lz
dGVtKGtleVN5c3RlbSkpOwotICAgIGZvciAoYXV0byogZmFjdG9yeSA6IGNkbUZhY3Rvcmllcygp
KSB7CisgICAgZm9yIChhdXRvKiBmYWN0b3J5IDogQ0RNRmFjdG9yeTo6cmVnaXN0ZXJlZEZhY3Rv
cmllcygpKSB7CiAgICAgICAgIGlmICghZmFjdG9yeS0+c3VwcG9ydHNLZXlTeXN0ZW0oa2V5U3lz
dGVtKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBtX3ByaXZhdGUgPSBmYWN0b3J5
LT5jcmVhdGVDRE0oKnRoaXMpOworICAgICAgICBtX3ByaXZhdGUgPSBmYWN0b3J5LT5jcmVhdGVD
RE0oKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvQ0RNLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L0NETS5oCmluZGV4IGIwOGJhZjFhMTJhZjE4MTE4OWZiMzhhNWY4MmI0NDkxOGEyMjE1MjIuLjQ2
ZDUzYWQwNTIzMjM1YTRjNTg5MmIyZDFiNGQ4MjczMjM3YzAzMjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uaApAQCAtNDIsMjUgKzQyLDE1IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ0RNOworY2xhc3MgQ0RNRmFjdG9yeTsKIGNsYXNz
IENETUluc3RhbmNlOwogY2xhc3MgQ0RNUHJpdmF0ZTsKIGNsYXNzIERvY3VtZW50OwogY2xhc3Mg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgQ0RN
RmFjdG9yeSB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+Q0RNRmFjdG9yeSgpIHsgfTsKLSAgICB2
aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxDRE1Qcml2YXRlPiBjcmVhdGVDRE0oQ0RNJikgPSAwOwot
ICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcmKSA9IDA7Ci19
OwotCiBjbGFzcyBDRE0gOiBwdWJsaWMgUmVmQ291bnRlZDxDRE0+LCBwcml2YXRlIENvbnRleHRE
ZXN0cnVjdGlvbk9ic2VydmVyIHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
dm9pZCByZWdpc3RlckNETUZhY3RvcnkoQ0RNRmFjdG9yeSYpOwotICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJDRE1GYWN0b3J5KENETUZhY3RvcnkmKTsKLQogICAgIHN0
YXRpYyBib29sIHN1cHBvcnRzS2V5U3lzdGVtKGNvbnN0IFN0cmluZyYpOwogICAgIHN0YXRpYyBi
b29sIGlzUGVyc2lzdGVudFR5cGUoTWVkaWFLZXlTZXNzaW9uVHlwZSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZv
cm1XUEUuY21ha2UKaW5kZXggNzQ4NzcxY2ViOTZkNDE1Yjg5YzEzMDczZmNkM2Q1OGM2NjUwZTUy
NC4uZGU0YTYzZGIyNjM2MDAzYmRiOTc0MDkwYTFkNGYxMTI1YmY5MDc0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1XUEUuY21ha2UKQEAgLTE1MCwxNSArMTUwLDYgQEAgbGlzdChBUFBFTkQgV2ViQ29yZVBs
YXRmb3JtV1BFX1NPVVJDRVMKICAgICBwbGF0Zm9ybS93cGUvV2lkZ2V0V1BFLmNwcAogKQogCi1p
ZiAoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkKLSAgICBsaXN0KEFQUEVORCBXZWJDb3JlX0lOQ0xV
REVfRElSRUNUT1JJRVMKLSAgICAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2VuY3J5cHRl
ZG1lZGlhL2NsZWFya2V5IgotICAgICkKLSAgICBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMK
LSAgICAgICAgcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuY3Bw
Ci0gICAgKQotZW5kaWYgKCkKLQogbGlzdChBUFBFTkQgV2ViQ29yZV9VU0VSX0FHRU5UX1NUWUxF
X1NIRUVUUwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNv
bnRyb2xzQmFzZS5jc3MKICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dT
dHJlYW1lci5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZQpp
bmRleCAyMDFhODQzMjY3OWNlMzk1YjRjY2Q2NTIwY2VkZTE2Nzk4MGVlMjhiLi4yNzI2NjYzNzNl
Y2NkMjZkZTIwYzBjZDBmZDk1MmI2NDAyNmQzNmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9HU3RyZWFtZXIuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
R1N0cmVhbWVyLmNtYWtlCkBAIC0xMzMsOCArMTMzLDE0IEBAIGVuZGlmICgpCiAKIGlmIChFTkFC
TEVfRU5DUllQVEVEX01FRElBKQogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJF
Q1RPUklFUworICAgICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEv
Y2xlYXJrZXkiCiAgICAgICAgICR7TElCR0NSWVBUX0lOQ0xVREVfRElSU30KICAgICApCisgICAg
bGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCisgICAgICAgIHBsYXRmb3JtL2VuY3J5cHRlZG1l
ZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5LmNwcAorCisgICAgICAgIHBsYXRmb3JtL2VuY3J5cHRl
ZG1lZGlhL2dzdHJlYW1lci9DRE1GYWN0b3J5R1N0cmVhbWVyLmNwcAorICAgICkKICAgICBsaXN0
KEFQUEVORCBXZWJDb3JlX0xJQlJBUklFUwogICAgICAgICAke0xJQkdDUllQVF9MSUJSQVJJRVN9
IC1sZ3BnLWVycm9yCiAgICAgKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
ZW5jcnlwdGVkbWVkaWEvQ0RNRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9l
bmNyeXB0ZWRtZWRpYS9DRE1GYWN0b3J5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzA3MDA5NTQ0MjhjMmUy
ZDcyYjc5OTU5MDhhZDFlMGM3ZWNkNTkwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNRmFjdG9yeS5jcHAKQEAgLTAsMCArMSw2NSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDRE1GYWN0b3J5
LmgiCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSA8bXV0ZXg+Cisj
aW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
VmVjdG9yPENETUZhY3RvcnkqPiYgQ0RNRmFjdG9yeTo6cmVnaXN0ZXJlZEZhY3RvcmllcygpCit7
CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxDRE1GYWN0b3J5Kj4+IGZhY3Rvcmll
czsKKyAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZTsKKyAgICBzdGQ6OmNhbGxfb25jZShv
bmNlLCBbJl0geyBwbGF0Zm9ybVJlZ2lzdGVyRmFjdG9yaWVzKGZhY3Rvcmllcyk7IH0pOworCisg
ICAgcmV0dXJuIGZhY3RvcmllczsKK30KKwordm9pZCBDRE1GYWN0b3J5OjpyZWdpc3RlckZhY3Rv
cnkoQ0RNRmFjdG9yeSYgZmFjdG9yeSkKK3sKKyAgICBBU1NFUlQoIXJlZ2lzdGVyZWRGYWN0b3Jp
ZXMoKS5jb250YWlucygmZmFjdG9yeSkpOworICAgIHJlZ2lzdGVyZWRGYWN0b3JpZXMoKS5hcHBl
bmQoJmZhY3RvcnkpOworfQorCit2b2lkIENETUZhY3Rvcnk6OnVucmVnaXN0ZXJGYWN0b3J5KENE
TUZhY3RvcnkmIGZhY3RvcnkpCit7CisgICAgQVNTRVJUKHJlZ2lzdGVyZWRGYWN0b3JpZXMoKS5j
b250YWlucygmZmFjdG9yeSkpOworICAgIHJlZ2lzdGVyZWRGYWN0b3JpZXMoKS5yZW1vdmVBbGwo
JmZhY3RvcnkpOworfQorCisjaWYgIVVTRShHU1RSRUFNRVIpCit2b2lkIENETUZhY3Rvcnk6OnBs
YXRmb3JtUmVnaXN0ZXJGYWN0b3JpZXMoKQoreworfQorI2VuZGlmCisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9DRE1GYWN0b3J5LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9DRE1GYWN0b3J5LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDNiNjc1MTEzMjFlMjA2ZWNlYTkxNjRhZGYxNTEzZmFiNDcyYzg3NQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETUZhY3Rv
cnkuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSA8bWVtb3J5PgorI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIENETVByaXZhdGU7CisKK2NsYXNzIENETUZhY3RvcnkgeworcHVibGljOgor
ICAgIHZpcnR1YWwgfkNETUZhY3RvcnkoKSB7IH07CisgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9w
dHI8Q0RNUHJpdmF0ZT4gY3JlYXRlQ0RNKCkgPSAwOworICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0
c0tleVN5c3RlbShjb25zdCBTdHJpbmcmKSA9IDA7CisKKyAgICBzdGF0aWMgVmVjdG9yPENETUZh
Y3RvcnkqPiYgcmVnaXN0ZXJlZEZhY3RvcmllcygpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRp
YyB2b2lkIHJlZ2lzdGVyRmFjdG9yeShDRE1GYWN0b3J5Jik7CisgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIHZvaWQgdW5yZWdpc3RlckZhY3RvcnkoQ0RNRmFjdG9yeSYpOworCisgICAgLy8gUGxh
dGZvcm0tc3BlY2lmaWMgZnVuY3Rpb24gdGhhdCdzIGNhbGxlZCB3aGVuIHRoZSBsaXN0IG9mIHJl
Z2lzdGVyZWQKKyAgICAvLyBDRE1GYWN0b3J5IG9iamVjdGVzIGlzIHF1ZXJpZWQgZm9yIHRoZSBm
aXJzdCB0aW1lLgorICAgIHN0YXRpYyB2b2lkIHBsYXRmb3JtUmVnaXN0ZXJGYWN0b3JpZXMoVmVj
dG9yPENETUZhY3RvcnkqPiYpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5LmNw
cAppbmRleCBlNjJiN2FmMWQ4NGMxZDVkMmJmYTI0ZmY5ZjUwNWM5ZjJmY2Q5NWFlLi5jODc1NDlh
ZWYyNjBhOTE5ZTMzNmZjOGVlMWY0OGMyMWZiZDNlZTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xl
YXJLZXkuY3BwCkBAIC0zMSwxMiArMzEsMTQgQEAKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCiAKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBDRE1GYWN0b3J5Q2xlYXJLZXk6OkNETUZhY3RvcnlDbGVhcktleSgpID0gZGVmYXVsdDsKIENE
TUZhY3RvcnlDbGVhcktleTo6fkNETUZhY3RvcnlDbGVhcktleSgpID0gZGVmYXVsdDsKIAotc3Rk
Ojp1bmlxdWVfcHRyPENETVByaXZhdGU+IENETUZhY3RvcnlDbGVhcktleTo6Y3JlYXRlQ0RNKENE
TSYpCitzdGQ6OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0ZT4gQ0RNRmFjdG9yeUNsZWFyS2V5OjpjcmVh
dGVDRE0oKQogewogICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0ZT4obmV3IENE
TVByaXZhdGVDbGVhcktleSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuaAppbmRleCA4NDdm
MWU0ZmQyNjk3ZTZmMGIxYmQ2NGYwOWQ0NWQ3NWFhYzJlYjQ0Li40ZmMxMGI1NDBjYzZkYmNjZmVm
YTM2ZDkxOWMwMTBiMTBjMDQyZDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5LmgKQEAgLTMw
LDcgKzMwLDcgQEAKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAKLSNpbmNsdWRlICJD
RE0uaCIKKyNpbmNsdWRlICJDRE1GYWN0b3J5LmgiCiAjaW5jbHVkZSAiQ0RNSW5zdGFuY2UuaCIK
ICNpbmNsdWRlICJDRE1Qcml2YXRlLmgiCiAKQEAgLTQxLDcgKzQxLDcgQEAgcHVibGljOgogICAg
IENETUZhY3RvcnlDbGVhcktleSgpOwogICAgIHZpcnR1YWwgfkNETUZhY3RvcnlDbGVhcktleSgp
OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPENETVByaXZhdGU+IGNyZWF0ZUNETShDRE0mKSBvdmVy
cmlkZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0ZT4gY3JlYXRlQ0RNKCkgb3ZlcnJp
ZGU7CiAgICAgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlh
L2dzdHJlYW1lci9DRE1GYWN0b3J5R1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2VuY3J5cHRlZG1lZGlhL2dzdHJlYW1lci9DRE1GYWN0b3J5R1N0cmVhbWVyLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41YzU4NDE3YzllNWQxYjQ5Y2M5OWIyNzBhNDExZDY1ODg5NjNiZTM4Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvZ3N0cmVh
bWVyL0NETUZhY3RvcnlHU3RyZWFtZXIuY3BwCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykg
MjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNETUZhY3RvcnkuaCIKKworI2lmIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBDRE1GYWN0b3J5Ojpw
bGF0Zm9ybVJlZ2lzdGVyRmFjdG9yaWVzKFZlY3RvcjxDRE1GYWN0b3J5Kj4mIGZhY3RvcmllcykK
K3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NETUZh
Y3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5jcHAKaW5k
ZXggNjg5MDA2NTY1MzllNzVjNzIzZjU0ZWRlYTdmM2U2ZWRiNGUxMjBiYS4uMTk4YzY5Njg1NzM0
NjBjYzM0YmQ5NGM0Mzk2MDU0MTJkYWU1MmI0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrQ0RNRmFjdG9yeS5jcHAKQEAgLTQwLDcgKzQwLDcgQEAgTW9ja0NETUZhY3Rvcnk6Ok1vY2tD
RE1GYWN0b3J5KCkKICAgICA6IG1fc3VwcG9ydGVkU2Vzc2lvblR5cGVzKHsgTWVkaWFLZXlTZXNz
aW9uVHlwZTo6VGVtcG9yYXJ5LCBNZWRpYUtleVNlc3Npb25UeXBlOjpQZXJzaXN0ZW50VXNhZ2VS
ZWNvcmQsIE1lZGlhS2V5U2Vzc2lvblR5cGU6OlBlcnNpc3RlbnRMaWNlbnNlIH0pCiAgICAgLCBt
X3dlYWtQdHJGYWN0b3J5KHRoaXMpCiB7Ci0gICAgQ0RNOjpyZWdpc3RlckNETUZhY3RvcnkoKnRo
aXMpOworICAgIENETUZhY3Rvcnk6OnJlZ2lzdGVyRmFjdG9yeSgqdGhpcyk7CiB9CiAKIE1vY2tD
RE1GYWN0b3J5Ojp+TW9ja0NETUZhY3RvcnkoKQpAQCAtNTEsNyArNTEsNyBAQCBNb2NrQ0RNRmFj
dG9yeTo6fk1vY2tDRE1GYWN0b3J5KCkKIHZvaWQgTW9ja0NETUZhY3Rvcnk6OnVucmVnaXN0ZXIo
KQogewogICAgIGlmIChtX3JlZ2lzdGVyZWQpIHsKLSAgICAgICAgQ0RNOjp1bnJlZ2lzdGVyQ0RN
RmFjdG9yeSgqdGhpcyk7CisgICAgICAgIENETUZhY3Rvcnk6OnVucmVnaXN0ZXJGYWN0b3J5KCp0
aGlzKTsKICAgICAgICAgbV9yZWdpc3RlcmVkID0gZmFsc2U7CiAgICAgfQogfQpAQCAtOTYsNyAr
OTYsNyBAQCB2b2lkIE1vY2tDRE1GYWN0b3J5OjpzZXRTdXBwb3J0ZWREYXRhVHlwZXMoVmVjdG9y
PFN0cmluZz4mJiB0eXBlcykKICAgICAgICAgbV9zdXBwb3J0ZWREYXRhVHlwZXMuYXBwZW5kKHR5
cGUpOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0ZT4gTW9ja0NETUZhY3Rvcnk6OmNy
ZWF0ZUNETShDRE0mKQorc3RkOjp1bmlxdWVfcHRyPENETVByaXZhdGU+IE1vY2tDRE1GYWN0b3J5
OjpjcmVhdGVDRE0oKQogewogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPE1vY2tDRE0+KG1f
d2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja0NETUZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja0NETUZhY3RvcnkuaAppbmRleCBjZmVlNDAwNjQ2YmRkM2YwYmY2MzhiMjExYzhkNTVjYTg3
NThiZTRlLi4yOGVhNThkZThkODQ2ZmZlOTYxZGI5ODdkY2FmZDMyZDQ3MzE5Njg0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tDRE1GYWN0b3J5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAogI2luY2x1ZGUgIkNETS5oIgorI2luY2x1ZGUgIkNE
TUZhY3RvcnkuaCIKICNpbmNsdWRlICJDRE1JbnN0YW5jZS5oIgogI2luY2x1ZGUgIkNETVByaXZh
dGUuaCIKICNpbmNsdWRlICJNZWRpYUtleXNSZXF1aXJlbWVudC5oIgpAQCAtNzcsNyArNzgsNyBA
QCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgTW9ja0NETUZhY3RvcnkoKTsKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8Q0RNUHJpdmF0ZT4gY3JlYXRlQ0RNKENETSYpIGZpbmFsOworICAgIHN0ZDo6dW5p
cXVlX3B0cjxDRE1Qcml2YXRlPiBjcmVhdGVDRE0oKSBmaW5hbDsKICAgICBib29sIHN1cHBvcnRz
S2V5U3lzdGVtKGNvbnN0IFN0cmluZyYpIGZpbmFsOwogCiAgICAgTWVkaWFLZXlzUmVxdWlyZW1l
bnQgbV9kaXN0aW5jdGl2ZUlkZW50aWZpZXJzUmVxdWlyZW1lbnQgeyBNZWRpYUtleXNSZXF1aXJl
bWVudDo6T3B0aW9uYWwgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317122</attachid>
            <date>2017-08-03 08:29:16 -0700</date>
            <delta_ts>2017-08-04 02:50:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175129-20170803172915.patch</filename>
            <type>text/plain</type>
            <size>18431</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwMjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IwNjhlMTZmNGJmMDcz
MzYxMjNiOTEwMzA0OWM4NGU5MDFiN2ZjNy4uMzU2MTg4ODU3YzI0ZmY3NWM5YzFkYmZlZWU2MjQw
MDcwZTNlZTQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE3LTA4LTAzICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbRU1FXSBQdXNoIENE
TUZhY3RvcnkgaW50byB0aGUgcGxhdGZvcm0gbGF5ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTEyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYSBmb2xsb3ctdXAgdG8gcjIxOTY3OCB0
aGF0IG1vdmVkIHRoZSBtYWpvcml0eSBvZiBDRE0gYWJzdHJhY3Rpb24KKyAgICAgICAgY2xhc3Nl
cyBpbnRvIHRoZSBwbGF0Zm9ybSBsYXllciwgYnV0IG1pc3NlZCB0aGUgQ0RNRmFjdG9yeSBjbGFz
cy4KKworICAgICAgICBUaGUgQ0RNRmFjdG9yeSBhYnN0cmFjdGlvbiBpcyBub3cgYWxzbyBwbGFj
ZWQgaW4gdGhlIHBsYXRmb3JtIGxheWVyLiBPbmx5CisgICAgICAgIGNoYW5nZSB0byB0aGUgaW50
ZXJmYWNlIGlzIHRoYXQgdGhlIGNyZWF0ZUNETSgpIG1ldGhvZCBjYW4ndCBhY2NlcHQgYSBDRE0K
KyAgICAgICAgb2JqZWN0IHJlZmVyZW5jZSBhbnltb3JlIHNpbmNlIHRoYXQgY2xhc3MgaXMgY2Vt
ZW50ZWQgaW50byB0aGUgV2ViQ29yZQorICAgICAgICBsYXllciwgYW5kIG5vIGN1cnJlbnQgaW1w
bGVtZW50YXRpb24gdXNlZCBpdCBhbnl3YXkuCisKKyAgICAgICAgQWRkaXRpb25hbGx5LCB0aGUg
c3RhdGljIFZlY3RvciBvYmplY3Qgb2YgcmVnaXN0ZXJlZCBmYWN0b3JpZXMgaXMgbW92ZWQKKyAg
ICAgICAgdW5kZXIgdGhlIENETUZhY3RvcnkgY2xhc3MsIGFsb25nIHdpdGggdGhlIHJlZ2lzdGVy
IGFuZCB1bnJlZ2lzdGVyCisgICAgICAgIGZ1bmN0aW9ucy4gVGhlIHBsYXRmb3JtUmVnaXN0ZXJG
YWN0b3JpZXMoKSBmdW5jdGlvbiBpcyBhZGRlZCB0byBhbGxvdyBmb3IKKyAgICAgICAgcGxhdGZv
cm0tc3BlY2lmaWMgZmFjdG9yeSByZWdpc3RyYXRpb25zIHRvIG9jY3VyIHdoZW4gdGhlIHJlZ2lz
dGVyZWQKKyAgICAgICAgZmFjdG9yaWVzIGFyZSBxdWVyaWVkIGZvciB0aGUgZmlyc3QgdGltZS4g
RW1wdHkgaW1wbGVtZW50YXRpb24gZm9yIHRoaXMKKyAgICAgICAgZnVuY3Rpb24gaXMgcHJvdmlk
ZWQgZm9yIG5vbi1HU3RyZWFtZXIgcGxhdGZvcm1zLCB3aGlsZSBmb3IgR1N0cmVhbWVyCisgICAg
ICAgIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBrZXB0IGluIENETUZhY3RvcnlHU3RyZWFtZXIuY3Bw
LiBJdCdzIHN0aWxsIGVtcHR5CisgICAgICAgIGZvciBub3csIGJ1dCBpdCB3aWxsIHJlZ2lzdGVy
IHRoZSBDbGVhcktleSBmYWN0b3J5IHRoZXJlIGluIHRoZSBuZWFyCisgICAgICAgIGZ1dHVyZS4K
KworICAgICAgICBObyBuZXcgdGVzdHMgLS0gbm9uZSBhZmZlY3RlZCwgb25seSByZWZhY3Rvcmlu
Zy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvQ0RNLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNETVByaXZhdGVGb3JL
ZXlTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6Q0RNOjpzdXBwb3J0c0tleVN5c3RlbSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDRE06OkNETSk6CisgICAgICAgICgpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Q0RNOjpyZWdpc3RlckNETUZhY3RvcnkpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6Q0RNOjp1bnJlZ2lzdGVyQ0RNRmFjdG9yeSk6IERlbGV0ZWQuCisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uaDoKKyAgICAgICAgKFdlYkNvcmU6OkNETUZhY3Rv
cnk6On5DRE1GYWN0b3J5KTogRGVsZXRlZC4KKyAgICAgICAgKiBQbGF0Zm9ybVdQRS5jbWFrZToK
KyAgICAgICAgKiBwbGF0Zm9ybS9HU3RyZWFtZXIuY21ha2U6CisgICAgICAgICogcGxhdGZvcm0v
ZW5jcnlwdGVkbWVkaWEvQ0RNRmFjdG9yeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
Q0RNRmFjdG9yeTo6cmVnaXN0ZXJGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkNETUZhY3Rv
cnk6OnVucmVnaXN0ZXJGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkNETUZhY3Rvcnk6OnBs
YXRmb3JtUmVnaXN0ZXJGYWN0b3JpZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2VuY3J5cHRlZG1l
ZGlhL0NETUZhY3RvcnkuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDRE1GYWN0b3J5Ojp+
Q0RNRmFjdG9yeSk6CisgICAgICAgICogcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkv
Q0RNQ2xlYXJLZXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0RNRmFjdG9yeUNsZWFyS2V5Ojpj
cmVhdGVDRE0pOgorICAgICAgICAqIHBsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NE
TUNsZWFyS2V5Lmg6CisgICAgICAgICogcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvZ3N0cmVhbWVy
L0NETUZhY3RvcnlHU3RyZWFtZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNETUZh
Y3Rvcnk6OnBsYXRmb3JtUmVnaXN0ZXJGYWN0b3JpZXMpOgorICAgICAgICAqIHRlc3RpbmcvTW9j
a0NETUZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV93ZWFrUHRyRmFjdG9yeSk6Cisg
ICAgICAgIChXZWJDb3JlOjpNb2NrQ0RNRmFjdG9yeTo6dW5yZWdpc3Rlcik6CisgICAgICAgIChX
ZWJDb3JlOjpNb2NrQ0RNRmFjdG9yeTo6Y3JlYXRlQ0RNKToKKyAgICAgICAgKiB0ZXN0aW5nL01v
Y2tDRE1GYWN0b3J5Lmg6CisKIDIwMTctMDgtMDMgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBw
bGUuY29tPgogCiAgICAgICAgIEZhY3RvciBjb21tb24gY29kZSBpbiBTdHlsZTo6KkNoYW5nZUlu
dmFsaWRhdGlvbiBpbnRvIGhlbHBlciBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
NzRhZjQzNTFmMTRhNDRkOWM3MDc5NzEzNTliYTYxYzVhYTIwZGNiMC4uYTczMjQ2ODdlNzk5NGEy
NmFhYWVlZWUzYWNhY2M0NDIxYzc2ZDlhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIyOTYs
NiArMjI5Niw4IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9hdWRpby9WZWN0
b3JNYXRoLmNwcAogICAgIHBsYXRmb3JtL2F1ZGlvL1plcm9Qb2xlLmNwcAogCisgICAgcGxhdGZv
cm0vZW5jcnlwdGVkbWVkaWEvQ0RNRmFjdG9yeS5jcHAKKwogICAgIHBsYXRmb3JtL2dyYXBoaWNz
L0JpdG1hcEltYWdlLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcAogICAgIHBs
YXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmNwcAppbmRleCA2Y2Q3MTE0NGY2MGI0Mzhm
MmYzODlkYjA4MzliMzZkMzNkM2VjMjQ1Li45OGE4NGNhYzhiMTFjMTA3ZjMyYzJjOWFlMGRhYzQ2
NGM3NDk2NmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL0NETS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9D
RE0uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQog
CisjaW5jbHVkZSAiQ0RNRmFjdG9yeS5oIgogI2luY2x1ZGUgIkNETVByaXZhdGUuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkluaXREYXRhUmVnaXN0cnkuaCIKQEAgLTQxLDI3
ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIFZlY3RvcjxDRE1GYWN0
b3J5Kj4mIGNkbUZhY3RvcmllcygpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3Rv
cjxDRE1GYWN0b3J5Kj4+IGZhY3RvcmllczsKLSAgICByZXR1cm4gZmFjdG9yaWVzOwotfQotCi12
b2lkIENETTo6cmVnaXN0ZXJDRE1GYWN0b3J5KENETUZhY3RvcnkmIGZhY3RvcnkpCi17Ci0gICAg
QVNTRVJUKCFjZG1GYWN0b3JpZXMoKS5jb250YWlucygmZmFjdG9yeSkpOwotICAgIGNkbUZhY3Rv
cmllcygpLmFwcGVuZCgmZmFjdG9yeSk7Ci19Ci0KLXZvaWQgQ0RNOjp1bnJlZ2lzdGVyQ0RNRmFj
dG9yeShDRE1GYWN0b3J5JiBmYWN0b3J5KQotewotICAgIEFTU0VSVChjZG1GYWN0b3JpZXMoKS5j
b250YWlucygmZmFjdG9yeSkpOwotICAgIGNkbUZhY3RvcmllcygpLnJlbW92ZUFsbCgmZmFjdG9y
eSk7Ci19Ci0KIGJvb2wgQ0RNOjpzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcmIGtleVN5
c3RlbSkKIHsKLSAgICBmb3IgKGF1dG8qIGZhY3RvcnkgOiBjZG1GYWN0b3JpZXMoKSkgeworICAg
IGZvciAoYXV0byogZmFjdG9yeSA6IENETUZhY3Rvcnk6OnJlZ2lzdGVyZWRGYWN0b3JpZXMoKSkg
ewogICAgICAgICBpZiAoZmFjdG9yeS0+c3VwcG9ydHNLZXlTeXN0ZW0oa2V5U3lzdGVtKSkKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTc5LDkgKzYyLDkgQEAgQ0RNOjpDRE0o
RG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSkKICAgICAsIG1fd2Vh
a1B0ckZhY3RvcnkodGhpcykKIHsKICAgICBBU1NFUlQoc3VwcG9ydHNLZXlTeXN0ZW0oa2V5U3lz
dGVtKSk7Ci0gICAgZm9yIChhdXRvKiBmYWN0b3J5IDogY2RtRmFjdG9yaWVzKCkpIHsKKyAgICBm
b3IgKGF1dG8qIGZhY3RvcnkgOiBDRE1GYWN0b3J5OjpyZWdpc3RlcmVkRmFjdG9yaWVzKCkpIHsK
ICAgICAgICAgaWYgKGZhY3RvcnktPnN1cHBvcnRzS2V5U3lzdGVtKGtleVN5c3RlbSkpIHsKLSAg
ICAgICAgICAgIG1fcHJpdmF0ZSA9IGZhY3RvcnktPmNyZWF0ZUNETSgqdGhpcyk7CisgICAgICAg
ICAgICBtX3ByaXZhdGUgPSBmYWN0b3J5LT5jcmVhdGVDRE0oKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9DRE0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvQ0RNLmgKaW5kZXggYjA4YmFmMWExMmFmMTgxMTg5ZmIzOGE1ZjgyYjQ0OTE4YTIyMTUyMi4u
NDZkNTNhZDA1MjMyMzVhNGM1ODkyYjJkMWI0ZDgyNzMyMzdjMDMyMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETS5oCkBAIC00MiwyNSArNDIsMTUgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDRE07CitjbGFzcyBDRE1GYWN0b3J5OwogY2xh
c3MgQ0RNSW5zdGFuY2U7CiBjbGFzcyBDRE1Qcml2YXRlOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1jbGFzcyBD
RE1GYWN0b3J5IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5DRE1GYWN0b3J5KCkgeyB9OwotICAg
IHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPENETVByaXZhdGU+IGNyZWF0ZUNETShDRE0mKSA9IDA7
Ci0gICAgdmlydHVhbCBib29sIHN1cHBvcnRzS2V5U3lzdGVtKGNvbnN0IFN0cmluZyYpID0gMDsK
LX07Ci0KIGNsYXNzIENETSA6IHB1YmxpYyBSZWZDb3VudGVkPENETT4sIHByaXZhdGUgQ29udGV4
dERlc3RydWN0aW9uT2JzZXJ2ZXIgewogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRp
YyB2b2lkIHJlZ2lzdGVyQ0RNRmFjdG9yeShDRE1GYWN0b3J5Jik7Ci0gICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIHZvaWQgdW5yZWdpc3RlckNETUZhY3RvcnkoQ0RNRmFjdG9yeSYpOwotCiAgICAg
c3RhdGljIGJvb2wgc3VwcG9ydHNLZXlTeXN0ZW0oY29uc3QgU3RyaW5nJik7CiAgICAgc3RhdGlj
IGJvb2wgaXNQZXJzaXN0ZW50VHlwZShNZWRpYUtleVNlc3Npb25UeXBlKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1XUEUuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybVdQRS5jbWFrZQppbmRleCA3NDg3NzFjZWI5NmQ0MTViODljMTMwNzNmY2QzZDU4YzY2NTBl
NTI0Li5kZTRhNjNkYjI2MzYwMDNiZGI5NzQwOTBhMWQ0ZjExMjViZjkwNzQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdQRS5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
bGF0Zm9ybVdQRS5jbWFrZQpAQCAtMTUwLDE1ICsxNTAsNiBAQCBsaXN0KEFQUEVORCBXZWJDb3Jl
UGxhdGZvcm1XUEVfU09VUkNFUwogICAgIHBsYXRmb3JtL3dwZS9XaWRnZXRXUEUuY3BwCiApCiAK
LWlmIChFTkFCTEVfRU5DUllQVEVEX01FRElBKQotICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfSU5D
TFVERV9ESVJFQ1RPUklFUwotICAgICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZW5jcnlw
dGVkbWVkaWEvY2xlYXJrZXkiCi0gICAgKQotICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNF
UwotICAgICAgICBwbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5j
cHAKLSAgICApCi1lbmRpZiAoKQotCiBsaXN0KEFQUEVORCBXZWJDb3JlX1VTRVJfQUdFTlRfU1RZ
TEVfU0hFRVRTCiAgICAgJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9tZWRpYWNvbnRyb2xzL21lZGlh
Q29udHJvbHNCYXNlLmNzcwogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
R1N0cmVhbWVyLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR1N0cmVhbWVyLmNtYWtl
CmluZGV4IDIwMWE4NDMyNjc5Y2UzOTViNGNjZDY1MjBjZWRlMTY3OTgwZWUyOGIuLjI3MjY2NjM3
M2VjY2QyNmRlMjBjMGNkMGZkOTUyYjY0MDI2ZDM2ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9HU3RyZWFtZXIuY21ha2UKQEAgLTEzMyw4ICsxMzMsMTQgQEAgZW5kaWYgKCkKIAogaWYgKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpCiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9JTkNMVURFX0RJ
UkVDVE9SSUVTCisgICAgICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRp
YS9jbGVhcmtleSIKICAgICAgICAgJHtMSUJHQ1JZUFRfSU5DTFVERV9ESVJTfQogICAgICkKKyAg
ICBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgcGxhdGZvcm0vZW5jcnlwdGVk
bWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuY3BwCisKKyAgICAgICAgcGxhdGZvcm0vZW5jcnlw
dGVkbWVkaWEvZ3N0cmVhbWVyL0NETUZhY3RvcnlHU3RyZWFtZXIuY3BwCisgICAgKQogICAgIGxp
c3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVTCiAgICAgICAgICR7TElCR0NSWVBUX0xJQlJBUklF
U30gLWxncGctZXJyb3IKICAgICApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9lbmNyeXB0ZWRtZWRpYS9DRE1GYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VuY3J5cHRlZG1lZGlhL0NETUZhY3RvcnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzMDcwMDk1NDQyOGMy
ZTJkNzJiNzk5NTkwOGFkMWUwYzdlY2Q1OTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9DRE1GYWN0b3J5LmNwcApAQCAtMCwwICsxLDY1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNETUZhY3Rv
cnkuaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlIDxtdXRleD4K
KyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitWZWN0b3I8Q0RNRmFjdG9yeSo+JiBDRE1GYWN0b3J5OjpyZWdpc3RlcmVkRmFjdG9yaWVzKCkK
K3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPENETUZhY3RvcnkqPj4gZmFjdG9y
aWVzOworICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlOworICAgIHN0ZDo6Y2FsbF9vbmNl
KG9uY2UsIFsmXSB7IHBsYXRmb3JtUmVnaXN0ZXJGYWN0b3JpZXMoZmFjdG9yaWVzKTsgfSk7CisK
KyAgICByZXR1cm4gZmFjdG9yaWVzOworfQorCit2b2lkIENETUZhY3Rvcnk6OnJlZ2lzdGVyRmFj
dG9yeShDRE1GYWN0b3J5JiBmYWN0b3J5KQoreworICAgIEFTU0VSVCghcmVnaXN0ZXJlZEZhY3Rv
cmllcygpLmNvbnRhaW5zKCZmYWN0b3J5KSk7CisgICAgcmVnaXN0ZXJlZEZhY3RvcmllcygpLmFw
cGVuZCgmZmFjdG9yeSk7Cit9CisKK3ZvaWQgQ0RNRmFjdG9yeTo6dW5yZWdpc3RlckZhY3Rvcnko
Q0RNRmFjdG9yeSYgZmFjdG9yeSkKK3sKKyAgICBBU1NFUlQocmVnaXN0ZXJlZEZhY3Rvcmllcygp
LmNvbnRhaW5zKCZmYWN0b3J5KSk7CisgICAgcmVnaXN0ZXJlZEZhY3RvcmllcygpLnJlbW92ZUFs
bCgmZmFjdG9yeSk7Cit9CisKKyNpZiAhVVNFKEdTVFJFQU1FUikKK3ZvaWQgQ0RNRmFjdG9yeTo6
cGxhdGZvcm1SZWdpc3RlckZhY3RvcmllcygpCit7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETUZhY3RvcnkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETUZhY3RvcnkuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wM2I2NzUxMTMyMWUyMDZlY2VhOTE2NGFkZjE1MTNmYWI0NzJjODc1Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNRmFj
dG9yeS5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlIDxtZW1vcnk+CisjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgQ0RNUHJpdmF0ZTsKKworY2xhc3MgQ0RNRmFjdG9yeSB7CitwdWJsaWM6
CisgICAgdmlydHVhbCB+Q0RNRmFjdG9yeSgpIHsgfTsKKyAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVl
X3B0cjxDRE1Qcml2YXRlPiBjcmVhdGVDRE0oKSA9IDA7CisgICAgdmlydHVhbCBib29sIHN1cHBv
cnRzS2V5U3lzdGVtKGNvbnN0IFN0cmluZyYpID0gMDsKKworICAgIHN0YXRpYyBWZWN0b3I8Q0RN
RmFjdG9yeSo+JiByZWdpc3RlcmVkRmFjdG9yaWVzKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIHZvaWQgcmVnaXN0ZXJGYWN0b3J5KENETUZhY3RvcnkmKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgdm9pZCB1bnJlZ2lzdGVyRmFjdG9yeShDRE1GYWN0b3J5Jik7CisKKyAgICAvLyBQ
bGF0Zm9ybS1zcGVjaWZpYyBmdW5jdGlvbiB0aGF0J3MgY2FsbGVkIHdoZW4gdGhlIGxpc3Qgb2Yg
cmVnaXN0ZXJlZAorICAgIC8vIENETUZhY3Rvcnkgb2JqZWN0ZXMgaXMgcXVlcmllZCBmb3IgdGhl
IGZpcnN0IHRpbWUuCisgICAgc3RhdGljIHZvaWQgcGxhdGZvcm1SZWdpc3RlckZhY3RvcmllcyhW
ZWN0b3I8Q0RNRmFjdG9yeSo+Jik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXku
Y3BwCmluZGV4IGU2MmI3YWYxZDg0YzFkNWQyYmZhMjRmZjlmNTA1YzlmMmZjZDk1YWUuLmM4NzU0
OWFlZjI2MGE5MTllMzM2ZmM4ZWUxZjQ4YzIxZmJkM2VlOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1D
bGVhcktleS5jcHAKQEAgLTMxLDEyICszMSwxNCBAQAogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKIAorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIENETUZhY3RvcnlDbGVhcktleTo6Q0RNRmFjdG9yeUNsZWFyS2V5KCkgPSBkZWZhdWx0Owog
Q0RNRmFjdG9yeUNsZWFyS2V5Ojp+Q0RNRmFjdG9yeUNsZWFyS2V5KCkgPSBkZWZhdWx0OwogCi1z
dGQ6OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0ZT4gQ0RNRmFjdG9yeUNsZWFyS2V5OjpjcmVhdGVDRE0o
Q0RNJikKK3N0ZDo6dW5pcXVlX3B0cjxDRE1Qcml2YXRlPiBDRE1GYWN0b3J5Q2xlYXJLZXk6OmNy
ZWF0ZUNETSgpCiB7CiAgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxDRE1Qcml2YXRlPihuZXcg
Q0RNUHJpdmF0ZUNsZWFyS2V5KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5oCmluZGV4IDg0
N2YxZTRmZDI2OTdlNmYwYjFiZDY0ZjA5ZDQ1ZDc1YWFjMmViNDQuLjRmYzEwYjU0MGNjNmRiY2Nm
ZWZhMzZkOTE5YzAxMGIxMGMwNDJkM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuaApAQCAt
MzAsNyArMzAsNyBAQAogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2luY2x1ZGUg
IkNETS5oIgorI2luY2x1ZGUgIkNETUZhY3RvcnkuaCIKICNpbmNsdWRlICJDRE1JbnN0YW5jZS5o
IgogI2luY2x1ZGUgIkNETVByaXZhdGUuaCIKIApAQCAtNDEsNyArNDEsNyBAQCBwdWJsaWM6CiAg
ICAgQ0RNRmFjdG9yeUNsZWFyS2V5KCk7CiAgICAgdmlydHVhbCB+Q0RNRmFjdG9yeUNsZWFyS2V5
KCk7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0ZT4gY3JlYXRlQ0RNKENETSYpIG92
ZXJyaWRlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxDRE1Qcml2YXRlPiBjcmVhdGVDRE0oKSBvdmVy
cmlkZTsKICAgICBib29sIHN1cHBvcnRzS2V5U3lzdGVtKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRl
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVk
aWEvZ3N0cmVhbWVyL0NETUZhY3RvcnlHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZW5jcnlwdGVkbWVkaWEvZ3N0cmVhbWVyL0NETUZhY3RvcnlHU3RyZWFtZXIuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVjNTg0MTdjOWU1ZDFiNDljYzk5YjI3MGE0MTFkNjU4ODk2M2JlMzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9nc3Ry
ZWFtZXIvQ0RNRmFjdG9yeUdTdHJlYW1lci5jcHAKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChD
KSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAg
ICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ0RNRmFjdG9yeS5oIgorCisjaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIENETUZhY3Rvcnk6
OnBsYXRmb3JtUmVnaXN0ZXJGYWN0b3JpZXMoVmVjdG9yPENETUZhY3RvcnkqPiYgZmFjdG9yaWVz
KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5D
UllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RN
RmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tDRE1GYWN0b3J5LmNwcApp
bmRleCA2ODkwMDY1NjUzOWU3NWM3MjNmNTRlZGVhN2YzZTZlZGI0ZTEyMGJhLi4xOThjNjk2ODU3
MzQ2MGNjMzRiZDk0YzQzOTYwNTQxMmRhZTUyYjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL01vY2tDRE1GYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tDRE1GYWN0b3J5LmNwcApAQCAtNDAsNyArNDAsNyBAQCBNb2NrQ0RNRmFjdG9yeTo6TW9j
a0NETUZhY3RvcnkoKQogICAgIDogbV9zdXBwb3J0ZWRTZXNzaW9uVHlwZXMoeyBNZWRpYUtleVNl
c3Npb25UeXBlOjpUZW1wb3JhcnksIE1lZGlhS2V5U2Vzc2lvblR5cGU6OlBlcnNpc3RlbnRVc2Fn
ZVJlY29yZCwgTWVkaWFLZXlTZXNzaW9uVHlwZTo6UGVyc2lzdGVudExpY2Vuc2UgfSkKICAgICAs
IG1fd2Vha1B0ckZhY3RvcnkodGhpcykKIHsKLSAgICBDRE06OnJlZ2lzdGVyQ0RNRmFjdG9yeSgq
dGhpcyk7CisgICAgQ0RNRmFjdG9yeTo6cmVnaXN0ZXJGYWN0b3J5KCp0aGlzKTsKIH0KIAogTW9j
a0NETUZhY3Rvcnk6On5Nb2NrQ0RNRmFjdG9yeSgpCkBAIC01MSw3ICs1MSw3IEBAIE1vY2tDRE1G
YWN0b3J5Ojp+TW9ja0NETUZhY3RvcnkoKQogdm9pZCBNb2NrQ0RNRmFjdG9yeTo6dW5yZWdpc3Rl
cigpCiB7CiAgICAgaWYgKG1fcmVnaXN0ZXJlZCkgewotICAgICAgICBDRE06OnVucmVnaXN0ZXJD
RE1GYWN0b3J5KCp0aGlzKTsKKyAgICAgICAgQ0RNRmFjdG9yeTo6dW5yZWdpc3RlckZhY3Rvcnko
KnRoaXMpOwogICAgICAgICBtX3JlZ2lzdGVyZWQgPSBmYWxzZTsKICAgICB9CiB9CkBAIC05Niw3
ICs5Niw3IEBAIHZvaWQgTW9ja0NETUZhY3Rvcnk6OnNldFN1cHBvcnRlZERhdGFUeXBlcyhWZWN0
b3I8U3RyaW5nPiYmIHR5cGVzKQogICAgICAgICBtX3N1cHBvcnRlZERhdGFUeXBlcy5hcHBlbmQo
dHlwZSk7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxDRE1Qcml2YXRlPiBNb2NrQ0RNRmFjdG9yeTo6
Y3JlYXRlQ0RNKENETSYpCitzdGQ6OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0ZT4gTW9ja0NETUZhY3Rv
cnk6OmNyZWF0ZUNETSgpCiB7CiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8TW9ja0NETT4o
bV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrQ0RNRmFjdG9yeS5oCmluZGV4IGNmZWU0MDA2NDZiZGQzZjBiZjYzOGIyMTFjOGQ1NWNh
ODc1OGJlNGUuLjI4ZWE1OGRlOGQ4NDZmZmU5NjFkYjk4N2RjYWZkMzJkNDczMTk2ODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NETUZhY3RvcnkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL01vY2tDRE1GYWN0b3J5LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNp
ZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiAjaW5jbHVkZSAiQ0RNLmgiCisjaW5jbHVkZSAi
Q0RNRmFjdG9yeS5oIgogI2luY2x1ZGUgIkNETUluc3RhbmNlLmgiCiAjaW5jbHVkZSAiQ0RNUHJp
dmF0ZS5oIgogI2luY2x1ZGUgIk1lZGlhS2V5c1JlcXVpcmVtZW50LmgiCkBAIC03Nyw3ICs3OCw3
IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBNb2NrQ0RNRmFjdG9yeSgpOwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxDRE1Qcml2YXRlPiBjcmVhdGVDRE0oQ0RNJikgZmluYWw7CisgICAgc3RkOjp1
bmlxdWVfcHRyPENETVByaXZhdGU+IGNyZWF0ZUNETSgpIGZpbmFsOwogICAgIGJvb2wgc3VwcG9y
dHNLZXlTeXN0ZW0oY29uc3QgU3RyaW5nJikgZmluYWw7CiAKICAgICBNZWRpYUtleXNSZXF1aXJl
bWVudCBtX2Rpc3RpbmN0aXZlSWRlbnRpZmllcnNSZXF1aXJlbWVudCB7IE1lZGlhS2V5c1JlcXVp
cmVtZW50OjpPcHRpb25hbCB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317230</attachid>
            <date>2017-08-04 02:51:00 -0700</date>
            <delta_ts>2017-08-04 02:51:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-175129-20170804115059.patch</filename>
            <type>text/plain</type>
            <size>18602</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwMjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM4NjE2NGIzNzZhOWE2
NmFmZWQ5MDAyZjliMTJmNmM3NTlhZTkyYi4uNjQ0NzQ5ZjRhOTRhYjM3Zjc5MWM2MWM1ZWJhYTM4
YjAzYWNhZjA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE3LTA4LTA0ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbRU1FXSBQdXNoIENE
TUZhY3RvcnkgaW50byB0aGUgcGxhdGZvcm0gbGF5ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTEyOQorCisgICAgICAgIFJldmlld2VkIGJ5IFhh
YmllciBSb2RyaWd1ZXotQ2FsdmFyLgorCisgICAgICAgIFRoaXMgaXMgYSBmb2xsb3ctdXAgdG8g
cjIxOTY3OCB0aGF0IG1vdmVkIHRoZSBtYWpvcml0eSBvZiBDRE0gYWJzdHJhY3Rpb24KKyAgICAg
ICAgY2xhc3NlcyBpbnRvIHRoZSBwbGF0Zm9ybSBsYXllciwgYnV0IG1pc3NlZCB0aGUgQ0RNRmFj
dG9yeSBjbGFzcy4KKworICAgICAgICBUaGUgQ0RNRmFjdG9yeSBhYnN0cmFjdGlvbiBpcyBub3cg
YWxzbyBwbGFjZWQgaW4gdGhlIHBsYXRmb3JtIGxheWVyLiBPbmx5CisgICAgICAgIGNoYW5nZSB0
byB0aGUgaW50ZXJmYWNlIGlzIHRoYXQgdGhlIGNyZWF0ZUNETSgpIG1ldGhvZCBjYW4ndCBhY2Nl
cHQgYSBDRE0KKyAgICAgICAgb2JqZWN0IHJlZmVyZW5jZSBhbnltb3JlIHNpbmNlIHRoYXQgY2xh
c3MgaXMgY2VtZW50ZWQgaW50byB0aGUgV2ViQ29yZQorICAgICAgICBsYXllciwgYW5kIG5vIGN1
cnJlbnQgaW1wbGVtZW50YXRpb24gdXNlZCBpdCBhbnl3YXkuCisKKyAgICAgICAgQWRkaXRpb25h
bGx5LCB0aGUgc3RhdGljIFZlY3RvciBvYmplY3Qgb2YgcmVnaXN0ZXJlZCBmYWN0b3JpZXMgaXMg
bW92ZWQKKyAgICAgICAgdW5kZXIgdGhlIENETUZhY3RvcnkgY2xhc3MsIGFsb25nIHdpdGggdGhl
IHJlZ2lzdGVyIGFuZCB1bnJlZ2lzdGVyCisgICAgICAgIGZ1bmN0aW9ucy4gVGhlIHBsYXRmb3Jt
UmVnaXN0ZXJGYWN0b3JpZXMoKSBmdW5jdGlvbiBpcyBhZGRlZCB0byBhbGxvdyBmb3IKKyAgICAg
ICAgcGxhdGZvcm0tc3BlY2lmaWMgZmFjdG9yeSByZWdpc3RyYXRpb25zIHRvIG9jY3VyIHdoZW4g
dGhlIHJlZ2lzdGVyZWQKKyAgICAgICAgZmFjdG9yaWVzIGFyZSBxdWVyaWVkIGZvciB0aGUgZmly
c3QgdGltZS4gRW1wdHkgaW1wbGVtZW50YXRpb24gZm9yIHRoaXMKKyAgICAgICAgZnVuY3Rpb24g
aXMgcHJvdmlkZWQgZm9yIG5vbi1HU3RyZWFtZXIgcGxhdGZvcm1zLCB3aGlsZSBmb3IgR1N0cmVh
bWVyCisgICAgICAgIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBrZXB0IGluIENETUZhY3RvcnlHU3Ry
ZWFtZXIuY3BwLiBJdCdzIHN0aWxsIGVtcHR5CisgICAgICAgIGZvciBub3csIGJ1dCBpdCB3aWxs
IHJlZ2lzdGVyIHRoZSBDbGVhcktleSBmYWN0b3J5IHRoZXJlIGluIHRoZSBuZWFyCisgICAgICAg
IGZ1dHVyZS4KKworICAgICAgICBObyBuZXcgdGVzdHMgLS0gbm9uZSBhZmZlY3RlZCwgb25seSBy
ZWZhY3RvcmluZy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIE1vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNETVBy
aXZhdGVGb3JLZXlTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6Q0RNOjpzdXBwb3J0c0tleVN5
c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpDRE06OkNETSk6CisgICAgICAgICgpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6Q0RNOjpyZWdpc3RlckNETUZhY3RvcnkpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6Q0RNOjp1bnJlZ2lzdGVyQ0RNRmFjdG9yeSk6IERlbGV0ZWQuCisg
ICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uaDoKKyAgICAgICAgKFdlYkNvcmU6
OkNETUZhY3Rvcnk6On5DRE1GYWN0b3J5KTogRGVsZXRlZC4KKyAgICAgICAgKiBQbGF0Zm9ybVdQ
RS5jbWFrZToKKyAgICAgICAgKiBwbGF0Zm9ybS9HU3RyZWFtZXIuY21ha2U6CisgICAgICAgICog
cGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNRmFjdG9yeS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6Q0RNRmFjdG9yeTo6cmVnaXN0ZXJGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6
OkNETUZhY3Rvcnk6OnVucmVnaXN0ZXJGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkNETUZh
Y3Rvcnk6OnBsYXRmb3JtUmVnaXN0ZXJGYWN0b3JpZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2Vu
Y3J5cHRlZG1lZGlhL0NETUZhY3RvcnkuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDRE1G
YWN0b3J5Ojp+Q0RNRmFjdG9yeSk6CisgICAgICAgICogcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEv
Y2xlYXJrZXkvQ0RNQ2xlYXJLZXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0RNRmFjdG9yeUNs
ZWFyS2V5OjpjcmVhdGVDRE0pOgorICAgICAgICAqIHBsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2Ns
ZWFya2V5L0NETUNsZWFyS2V5Lmg6CisgICAgICAgICogcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEv
Z3N0cmVhbWVyL0NETUZhY3RvcnlHU3RyZWFtZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkNETUZhY3Rvcnk6OnBsYXRmb3JtUmVnaXN0ZXJGYWN0b3JpZXMpOgorICAgICAgICAqIHRl
c3RpbmcvTW9ja0NETUZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV93ZWFrUHRyRmFj
dG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrQ0RNRmFjdG9yeTo6dW5yZWdpc3Rlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpNb2NrQ0RNRmFjdG9yeTo6Y3JlYXRlQ0RNKToKKyAgICAgICAgKiB0
ZXN0aW5nL01vY2tDRE1GYWN0b3J5Lmg6CisKIDIwMTctMDgtMDQgIEZyZWRlcmljIFdhbmcgIDxm
d2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGlu
Z05vZGVJT1MgdXNlcyB0aGUgd3JvbmcgZml4ZWQgcG9zaXRpb24gcmVjdGFuZ2xlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDNjYzk2ODhjNTVjM2M4MThhMzBhZGNhOTM3MDE0OTk2NmUwYTdhYjcu
LmQyYWQ5ZjNmNWNmOThiYjk1OTI5Mjc1Mzk3NzcxZTJhOTBkODdjYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC0yMzAzLDYgKzIzMDMsOCBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxh
dGZvcm0vYXVkaW8vVmVjdG9yTWF0aC5jcHAKICAgICBwbGF0Zm9ybS9hdWRpby9aZXJvUG9sZS5j
cHAKIAorICAgIHBsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETUZhY3RvcnkuY3BwCisKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9D
b2xvci5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL0NETS5jcHAKaW5kZXgg
NmNkNzExNDRmNjBiNDM4ZjJmMzg5ZGIwODM5YjM2ZDMzZDNlYzI0NS4uOThhODRjYWM4YjExYzEw
N2YzMmMyYzlhZTBkYWM0NjRjNzQ5NjZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvQ0RNLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQSkKIAorI2luY2x1ZGUgIkNETUZhY3RvcnkuaCIKICNpbmNsdWRlICJDRE1Q
cml2YXRlLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJJbml0RGF0YVJlZ2lz
dHJ5LmgiCkBAIC00MSwyNyArNDIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBWZWN0b3I8Q0RNRmFjdG9yeSo+JiBjZG1GYWN0b3JpZXMoKQotewotICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxWZWN0b3I8Q0RNRmFjdG9yeSo+PiBmYWN0b3JpZXM7Ci0gICAgcmV0dXJuIGZh
Y3RvcmllczsKLX0KLQotdm9pZCBDRE06OnJlZ2lzdGVyQ0RNRmFjdG9yeShDRE1GYWN0b3J5JiBm
YWN0b3J5KQotewotICAgIEFTU0VSVCghY2RtRmFjdG9yaWVzKCkuY29udGFpbnMoJmZhY3Rvcnkp
KTsKLSAgICBjZG1GYWN0b3JpZXMoKS5hcHBlbmQoJmZhY3RvcnkpOwotfQotCi12b2lkIENETTo6
dW5yZWdpc3RlckNETUZhY3RvcnkoQ0RNRmFjdG9yeSYgZmFjdG9yeSkKLXsKLSAgICBBU1NFUlQo
Y2RtRmFjdG9yaWVzKCkuY29udGFpbnMoJmZhY3RvcnkpKTsKLSAgICBjZG1GYWN0b3JpZXMoKS5y
ZW1vdmVBbGwoJmZhY3RvcnkpOwotfQotCiBib29sIENETTo6c3VwcG9ydHNLZXlTeXN0ZW0oY29u
c3QgU3RyaW5nJiBrZXlTeXN0ZW0pCiB7Ci0gICAgZm9yIChhdXRvKiBmYWN0b3J5IDogY2RtRmFj
dG9yaWVzKCkpIHsKKyAgICBmb3IgKGF1dG8qIGZhY3RvcnkgOiBDRE1GYWN0b3J5OjpyZWdpc3Rl
cmVkRmFjdG9yaWVzKCkpIHsKICAgICAgICAgaWYgKGZhY3RvcnktPnN1cHBvcnRzS2V5U3lzdGVt
KGtleVN5c3RlbSkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkBAIC03OSw5ICs2
Miw5IEBAIENETTo6Q0RNKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBrZXlTeXN0
ZW0pCiAgICAgLCBtX3dlYWtQdHJGYWN0b3J5KHRoaXMpCiB7CiAgICAgQVNTRVJUKHN1cHBvcnRz
S2V5U3lzdGVtKGtleVN5c3RlbSkpOwotICAgIGZvciAoYXV0byogZmFjdG9yeSA6IGNkbUZhY3Rv
cmllcygpKSB7CisgICAgZm9yIChhdXRvKiBmYWN0b3J5IDogQ0RNRmFjdG9yeTo6cmVnaXN0ZXJl
ZEZhY3RvcmllcygpKSB7CiAgICAgICAgIGlmIChmYWN0b3J5LT5zdXBwb3J0c0tleVN5c3RlbShr
ZXlTeXN0ZW0pKSB7Ci0gICAgICAgICAgICBtX3ByaXZhdGUgPSBmYWN0b3J5LT5jcmVhdGVDRE0o
KnRoaXMpOworICAgICAgICAgICAgbV9wcml2YXRlID0gZmFjdG9yeS0+Y3JlYXRlQ0RNKCk7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL0NETS5oCmluZGV4IGIwOGJhZjFhMTJhZjE4MTE4OWZiMzhhNWY4
MmI0NDkxOGEyMjE1MjIuLjQ2ZDUzYWQwNTIzMjM1YTRjNTg5MmIyZDFiNGQ4MjczMjM3YzAzMjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvQ0RNLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9DRE0uaApAQCAtNDIs
MjUgKzQyLDE1IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ0RNOworY2xhc3Mg
Q0RNRmFjdG9yeTsKIGNsYXNzIENETUluc3RhbmNlOwogY2xhc3MgQ0RNUHJpdmF0ZTsKIGNsYXNz
IERvY3VtZW50OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFNoYXJlZEJ1
ZmZlcjsKIAotY2xhc3MgQ0RNRmFjdG9yeSB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+Q0RNRmFj
dG9yeSgpIHsgfTsKLSAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxDRE1Qcml2YXRlPiBjcmVh
dGVDRE0oQ0RNJikgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShjb25z
dCBTdHJpbmcmKSA9IDA7Ci19OwotCiBjbGFzcyBDRE0gOiBwdWJsaWMgUmVmQ291bnRlZDxDRE0+
LCBwcml2YXRlIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKIHB1YmxpYzoKLSAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgdm9pZCByZWdpc3RlckNETUZhY3RvcnkoQ0RNRmFjdG9yeSYpOwot
ICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJDRE1GYWN0b3J5KENETUZh
Y3RvcnkmKTsKLQogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzS2V5U3lzdGVtKGNvbnN0IFN0cmlu
ZyYpOwogICAgIHN0YXRpYyBib29sIGlzUGVyc2lzdGVudFR5cGUoTWVkaWFLZXlTZXNzaW9uVHlw
ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNtYWtlIGIvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggNzQ4NzcxY2ViOTZkNDE1Yjg5YzEz
MDczZmNkM2Q1OGM2NjUwZTUyNC4uZGU0YTYzZGIyNjM2MDAzYmRiOTc0MDkwYTFkNGYxMTI1YmY5
MDc0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvUGxhdGZvcm1XUEUuY21ha2UKQEAgLTE1MCwxNSArMTUwLDYgQEAgbGlz
dChBUFBFTkQgV2ViQ29yZVBsYXRmb3JtV1BFX1NPVVJDRVMKICAgICBwbGF0Zm9ybS93cGUvV2lk
Z2V0V1BFLmNwcAogKQogCi1pZiAoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkKLSAgICBsaXN0KEFQ
UEVORCBXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAgICAgIiR7V0VCQ09SRV9ESVJ9
L3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5IgotICAgICkKLSAgICBsaXN0KEFQUEVO
RCBXZWJDb3JlX1NPVVJDRVMKLSAgICAgICAgcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJr
ZXkvQ0RNQ2xlYXJLZXkuY3BwCi0gICAgKQotZW5kaWYgKCkKLQogbGlzdChBUFBFTkQgV2ViQ29y
ZV9VU0VSX0FHRU5UX1NUWUxFX1NIRUVUUwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvbWVk
aWFjb250cm9scy9tZWRpYUNvbnRyb2xzQmFzZS5jc3MKICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0dTdHJlYW1lci5jbWFrZQppbmRleCAyMDFhODQzMjY3OWNlMzk1YjRjY2Q2NTIwY2VkZTE2Nzk4
MGVlMjhiLi5mNzJmZGU5YjY2MTc4NjVhMDZjOWM1YWY4NWFiNTU4OTc1OGRkZTQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HU3RyZWFtZXIuY21ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vR1N0cmVhbWVyLmNtYWtlCkBAIC0xMzMsOCArMTMzLDE0IEBAIGVu
ZGlmICgpCiAKIGlmIChFTkFCTEVfRU5DUllQVEVEX01FRElBKQogICAgIGxpc3QoQVBQRU5EIFdl
YkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUworICAgICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZv
cm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkiCiAgICAgICAgICR7TElCR0NSWVBUX0lOQ0xVREVf
RElSU30KICAgICApCisgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCisgICAgICAgIHBs
YXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5LmNwcAorCisgICAgICAg
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvQ0RNRmFjdG9yeUdTdHJlYW1lci5jcHAK
KyAgICApCiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9MSUJSQVJJRVMKICAgICAgICAgJHtMSUJH
Q1JZUFRfTElCUkFSSUVTfSAtbGdwZy1lcnJvcgogICAgICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETUZhY3RvcnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNRmFjdG9yeS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjI4NmEyZTdiMjE1Y2Y3OTk4ODVhODA2ZDM3ZWI5NGU0MjNkMGUyZgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETUZhY3RvcnkuY3Bw
CkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3IE1ldHJvbG9naWNhbCBH
cm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNETUZhY3RvcnkuaCIKKworI2lmIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlIDxtdXRleD4KKyNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitWZWN0b3I8Q0RNRmFjdG9y
eSo+JiBDRE1GYWN0b3J5OjpyZWdpc3RlcmVkRmFjdG9yaWVzKCkKK3sKKyAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8VmVjdG9yPENETUZhY3RvcnkqPj4gZmFjdG9yaWVzOworICAgIHN0YXRpYyBz
dGQ6Om9uY2VfZmxhZyBvbmNlOworICAgIHN0ZDo6Y2FsbF9vbmNlKG9uY2UsIFsmXSB7IHBsYXRm
b3JtUmVnaXN0ZXJGYWN0b3JpZXMoZmFjdG9yaWVzKTsgfSk7CisKKyAgICByZXR1cm4gZmFjdG9y
aWVzOworfQorCit2b2lkIENETUZhY3Rvcnk6OnJlZ2lzdGVyRmFjdG9yeShDRE1GYWN0b3J5JiBm
YWN0b3J5KQoreworICAgIEFTU0VSVCghcmVnaXN0ZXJlZEZhY3RvcmllcygpLmNvbnRhaW5zKCZm
YWN0b3J5KSk7CisgICAgcmVnaXN0ZXJlZEZhY3RvcmllcygpLmFwcGVuZCgmZmFjdG9yeSk7Cit9
CisKK3ZvaWQgQ0RNRmFjdG9yeTo6dW5yZWdpc3RlckZhY3RvcnkoQ0RNRmFjdG9yeSYgZmFjdG9y
eSkKK3sKKyAgICBBU1NFUlQocmVnaXN0ZXJlZEZhY3RvcmllcygpLmNvbnRhaW5zKCZmYWN0b3J5
KSk7CisgICAgcmVnaXN0ZXJlZEZhY3RvcmllcygpLnJlbW92ZUFsbCgmZmFjdG9yeSk7Cit9CisK
KyNpZiAhVVNFKEdTVFJFQU1FUikKK3ZvaWQgQ0RNRmFjdG9yeTo6cGxhdGZvcm1SZWdpc3RlckZh
Y3RvcmllcygpCit7Cit9CisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETUZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2VuY3J5cHRlZG1lZGlhL0NETUZhY3RvcnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYjdlMDdiYTgx
NmZiZjYwYjk5YzY0NzM2YjQzNTAyMmIzNWI4MTVjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvQ0RNRmFjdG9yeS5oCkBAIC0wLDAgKzEs
NTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSA8bWVtb3J5PgorI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIENETVByaXZhdGU7CisKK2NsYXNzIENETUZhY3Rvcnkgewor
cHVibGljOgorICAgIHZpcnR1YWwgfkNETUZhY3RvcnkoKSB7IH07CisgICAgdmlydHVhbCBzdGQ6
OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0ZT4gY3JlYXRlQ0RNKCkgPSAwOworICAgIHZpcnR1YWwgYm9v
bCBzdXBwb3J0c0tleVN5c3RlbShjb25zdCBTdHJpbmcmKSA9IDA7CisKKyAgICBzdGF0aWMgVmVj
dG9yPENETUZhY3RvcnkqPiYgcmVnaXN0ZXJlZEZhY3RvcmllcygpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVyRmFjdG9yeShDRE1GYWN0b3J5Jik7CisgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIHZvaWQgdW5yZWdpc3RlckZhY3RvcnkoQ0RNRmFjdG9yeSYpOworCisg
ICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgZnVuY3Rpb24gdGhhdCdzIGNhbGxlZCB3aGVuIHRoZSBs
aXN0IG9mCisgICAgLy8gcmVnaXN0ZXJlZCBDRE1GYWN0b3J5IG9iamVjdHMgaXMgcXVlcmllZCBm
b3IgdGhlIGZpcnN0IHRpbWUuCisgICAgc3RhdGljIHZvaWQgcGxhdGZvcm1SZWdpc3RlckZhY3Rv
cmllcyhWZWN0b3I8Q0RNRmFjdG9yeSo+Jik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xl
YXJLZXkuY3BwCmluZGV4IGU2MmI3YWYxZDg0YzFkNWQyYmZhMjRmZjlmNTA1YzlmMmZjZDk1YWUu
LmM4NzU0OWFlZjI2MGE5MTllMzM2ZmM4ZWUxZjQ4YzIxZmJkM2VlOTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtl
eS9DRE1DbGVhcktleS5jcHAKQEAgLTMxLDEyICszMSwxNCBAQAogCiAjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKIAorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIENETUZhY3RvcnlDbGVhcktleTo6Q0RNRmFjdG9yeUNsZWFyS2V5KCkgPSBkZWZh
dWx0OwogQ0RNRmFjdG9yeUNsZWFyS2V5Ojp+Q0RNRmFjdG9yeUNsZWFyS2V5KCkgPSBkZWZhdWx0
OwogCi1zdGQ6OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0ZT4gQ0RNRmFjdG9yeUNsZWFyS2V5OjpjcmVh
dGVDRE0oQ0RNJikKK3N0ZDo6dW5pcXVlX3B0cjxDRE1Qcml2YXRlPiBDRE1GYWN0b3J5Q2xlYXJL
ZXk6OmNyZWF0ZUNETSgpCiB7CiAgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxDRE1Qcml2YXRl
PihuZXcgQ0RNUHJpdmF0ZUNsZWFyS2V5KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5oCmlu
ZGV4IDg0N2YxZTRmZDI2OTdlNmYwYjFiZDY0ZjA5ZDQ1ZDc1YWFjMmViNDQuLjRmYzEwYjU0MGNj
NmRiY2NmZWZhMzZkOTE5YzAxMGIxMGMwNDJkM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXku
aApAQCAtMzAsNyArMzAsNyBAQAogCiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIAotI2lu
Y2x1ZGUgIkNETS5oIgorI2luY2x1ZGUgIkNETUZhY3RvcnkuaCIKICNpbmNsdWRlICJDRE1JbnN0
YW5jZS5oIgogI2luY2x1ZGUgIkNETVByaXZhdGUuaCIKIApAQCAtNDEsNyArNDEsNyBAQCBwdWJs
aWM6CiAgICAgQ0RNRmFjdG9yeUNsZWFyS2V5KCk7CiAgICAgdmlydHVhbCB+Q0RNRmFjdG9yeUNs
ZWFyS2V5KCk7CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0ZT4gY3JlYXRlQ0RNKENE
TSYpIG92ZXJyaWRlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxDRE1Qcml2YXRlPiBjcmVhdGVDRE0o
KSBvdmVycmlkZTsKICAgICBib29sIHN1cHBvcnRzS2V5U3lzdGVtKGNvbnN0IFN0cmluZyYpIG92
ZXJyaWRlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL2VtZS9DRE1GYWN0b3J5R1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvQ0RNRmFjdG9yeUdTdHJlYW1lci5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNWM1ODQxN2M5ZTVkMWI0OWNjOTliMjcwYTQxMWQ2NTg4OTYzYmUzOAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9lbWUvQ0RNRmFjdG9yeUdTdHJlYW1lci5jcHAKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChD
KSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAg
ICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ0RNRmFjdG9yeS5oIgorCisjaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIENETUZhY3Rvcnk6
OnBsYXRmb3JtUmVnaXN0ZXJGYWN0b3JpZXMoVmVjdG9yPENETUZhY3RvcnkqPiYgZmFjdG9yaWVz
KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5D
UllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RN
RmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tDRE1GYWN0b3J5LmNwcApp
bmRleCA2ODkwMDY1NjUzOWU3NWM3MjNmNTRlZGVhN2YzZTZlZGI0ZTEyMGJhLi4xOThjNjk2ODU3
MzQ2MGNjMzRiZDk0YzQzOTYwNTQxMmRhZTUyYjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL01vY2tDRE1GYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tDRE1GYWN0b3J5LmNwcApAQCAtNDAsNyArNDAsNyBAQCBNb2NrQ0RNRmFjdG9yeTo6TW9j
a0NETUZhY3RvcnkoKQogICAgIDogbV9zdXBwb3J0ZWRTZXNzaW9uVHlwZXMoeyBNZWRpYUtleVNl
c3Npb25UeXBlOjpUZW1wb3JhcnksIE1lZGlhS2V5U2Vzc2lvblR5cGU6OlBlcnNpc3RlbnRVc2Fn
ZVJlY29yZCwgTWVkaWFLZXlTZXNzaW9uVHlwZTo6UGVyc2lzdGVudExpY2Vuc2UgfSkKICAgICAs
IG1fd2Vha1B0ckZhY3RvcnkodGhpcykKIHsKLSAgICBDRE06OnJlZ2lzdGVyQ0RNRmFjdG9yeSgq
dGhpcyk7CisgICAgQ0RNRmFjdG9yeTo6cmVnaXN0ZXJGYWN0b3J5KCp0aGlzKTsKIH0KIAogTW9j
a0NETUZhY3Rvcnk6On5Nb2NrQ0RNRmFjdG9yeSgpCkBAIC01MSw3ICs1MSw3IEBAIE1vY2tDRE1G
YWN0b3J5Ojp+TW9ja0NETUZhY3RvcnkoKQogdm9pZCBNb2NrQ0RNRmFjdG9yeTo6dW5yZWdpc3Rl
cigpCiB7CiAgICAgaWYgKG1fcmVnaXN0ZXJlZCkgewotICAgICAgICBDRE06OnVucmVnaXN0ZXJD
RE1GYWN0b3J5KCp0aGlzKTsKKyAgICAgICAgQ0RNRmFjdG9yeTo6dW5yZWdpc3RlckZhY3Rvcnko
KnRoaXMpOwogICAgICAgICBtX3JlZ2lzdGVyZWQgPSBmYWxzZTsKICAgICB9CiB9CkBAIC05Niw3
ICs5Niw3IEBAIHZvaWQgTW9ja0NETUZhY3Rvcnk6OnNldFN1cHBvcnRlZERhdGFUeXBlcyhWZWN0
b3I8U3RyaW5nPiYmIHR5cGVzKQogICAgICAgICBtX3N1cHBvcnRlZERhdGFUeXBlcy5hcHBlbmQo
dHlwZSk7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxDRE1Qcml2YXRlPiBNb2NrQ0RNRmFjdG9yeTo6
Y3JlYXRlQ0RNKENETSYpCitzdGQ6OnVuaXF1ZV9wdHI8Q0RNUHJpdmF0ZT4gTW9ja0NETUZhY3Rv
cnk6OmNyZWF0ZUNETSgpCiB7CiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8TW9ja0NETT4o
bV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrQ0RNRmFjdG9yeS5oCmluZGV4IGNmZWU0MDA2NDZiZGQzZjBiZjYzOGIyMTFjOGQ1NWNh
ODc1OGJlNGUuLjI4ZWE1OGRlOGQ4NDZmZmU5NjFkYjk4N2RjYWZkMzJkNDczMTk2ODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NETUZhY3RvcnkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL01vY2tDRE1GYWN0b3J5LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNp
ZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogCiAjaW5jbHVkZSAiQ0RNLmgiCisjaW5jbHVkZSAi
Q0RNRmFjdG9yeS5oIgogI2luY2x1ZGUgIkNETUluc3RhbmNlLmgiCiAjaW5jbHVkZSAiQ0RNUHJp
dmF0ZS5oIgogI2luY2x1ZGUgIk1lZGlhS2V5c1JlcXVpcmVtZW50LmgiCkBAIC03Nyw3ICs3OCw3
IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBNb2NrQ0RNRmFjdG9yeSgpOwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxDRE1Qcml2YXRlPiBjcmVhdGVDRE0oQ0RNJikgZmluYWw7CisgICAgc3RkOjp1
bmlxdWVfcHRyPENETVByaXZhdGU+IGNyZWF0ZUNETSgpIGZpbmFsOwogICAgIGJvb2wgc3VwcG9y
dHNLZXlTeXN0ZW0oY29uc3QgU3RyaW5nJikgZmluYWw7CiAKICAgICBNZWRpYUtleXNSZXF1aXJl
bWVudCBtX2Rpc3RpbmN0aXZlSWRlbnRpZmllcnNSZXF1aXJlbWVudCB7IE1lZGlhS2V5c1JlcXVp
cmVtZW50OjpPcHRpb25hbCB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>