<?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>214132</bug_id>
          
          <creation_ts>2020-07-09 05:13:32 -0700</creation_ts>
          <short_desc>[MSE][GStreamer] Remove m_appendPipelinesMap</short_desc>
          <delta_ts>2020-07-09 09:23:05 -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>WebKitGTK</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="Alicia Boya García">aboya</reporter>
          <assigned_to name="Alicia Boya García">aboya</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>vjaquez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1670072</commentid>
    <comment_count>0</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2020-07-09 05:13:32 -0700</bug_when>
    <thetext>m_appendPipelinesMap was owned by MediaPlayerPrivateGStreamerMSE but
was only used by MediaPlayerPrivateGStreamerMSE to clear it during
destruction, while the other uses were in
MediaSourceClientGStreamerMSE.

After analysis, it was found keeping a HashMap of AppendPipelines is not
necessary. An AppendPipeline only needs to be used by the SourceBuffer
receiving the muxed data: making AppendPipeline a member of
SourceBufferPrivateGStreamer reflects this dependency in a much
clearer way. No need for a HashMap of AppendPipeline&apos;s.

Moreso, there are no other users of AppendPipeline, which means
AppendPipeline doesn&apos;t need to be ref counted. This patch removes that
feature, using std::unique_ptr&lt;AppendPipeline&gt; for ownership instead.

This patch is a refactor: it doesn&apos;t introduce behavior changes and
it&apos;s covered by existing tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670073</commentid>
    <comment_count>1</comment_count>
      <attachid>403857</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2020-07-09 05:15:06 -0700</bug_when>
    <thetext>Created attachment 403857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670101</commentid>
    <comment_count>2</comment_count>
      <attachid>403857</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2020-07-09 07:58:22 -0700</bug_when>
    <thetext>Comment on attachment 403857
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:78
&gt; +void SourceBufferPrivateGStreamer::finishCreation()
&gt; +{
&gt; +    // Initializing the append pipeline must happen after Ref&lt;SourceBufferPrivateGStreamer&gt; has been constructed and
&gt; +    // adopted, otherwise the makeRef() below would crash on ASSERT(!m_adoptionIsRequired).
&gt; +    ASSERT(!m_appendPipeline);
&gt; +    m_appendPipeline = WTF::makeUnique&lt;AppendPipeline&gt;(m_client, makeRef(*this), m_playerPrivate);
&gt; +}

You don&apos;t need this, just call relaxAdoptionRequirement() in SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer() and you should be good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670108</commentid>
    <comment_count>3</comment_count>
      <attachid>403866</attachid>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2020-07-09 08:32:56 -0700</bug_when>
    <thetext>Created attachment 403866
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670131</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-09 09:23:04 -0700</bug_when>
    <thetext>Committed r264175: &lt;https://trac.webkit.org/changeset/264175&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403866.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403857</attachid>
            <date>2020-07-09 05:15:06 -0700</date>
            <delta_ts>2020-07-09 08:32:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214132-20200709141505.patch</filename>
            <type>text/plain</type>
            <size>18100</size>
            <attacher name="Alicia Boya García">aboya</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZiMzc4NGEwNTFhN2Ew
OTQwMmFmNTg2Y2U5MmE2ZTEwMWYzYWUwZC4uNTQyYTkzZTBjZTM2NGUwNjI1ZWRlNDIzOWJiYzYz
ZGYxNGU0NTE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTA3LTA4ICBBbGlj
aWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbTVNFXVtHU3Ry
ZWFtZXJdIFJlbW92ZSBtX2FwcGVuZFBpcGVsaW5lc01hcAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MTMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbV9hcHBlbmRQaXBlbGluZXNNYXAgd2FzIG93bmVk
IGJ5IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSBidXQKKyAgICAgICAgd2FzIG9ubHkg
dXNlZCBieSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UgdG8gY2xlYXIgaXQgZHVyaW5n
CisgICAgICAgIGRlc3RydWN0aW9uLCB3aGlsZSB0aGUgb3RoZXIgdXNlcyB3ZXJlIGluCisgICAg
ICAgIE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFLgorCisgICAgICAgIEFmdGVyIGFuYWx5
c2lzLCBpdCB3YXMgZm91bmQga2VlcGluZyBhIEhhc2hNYXAgb2YgQXBwZW5kUGlwZWxpbmVzIGlz
IG5vdAorICAgICAgICBuZWNlc3NhcnkuIEFuIEFwcGVuZFBpcGVsaW5lIG9ubHkgbmVlZHMgdG8g
YmUgdXNlZCBieSB0aGUgU291cmNlQnVmZmVyCisgICAgICAgIHJlY2VpdmluZyB0aGUgbXV4ZWQg
ZGF0YTogbWFraW5nIEFwcGVuZFBpcGVsaW5lIGEgbWVtYmVyIG9mCisgICAgICAgIFNvdXJjZUJ1
ZmZlclByaXZhdGVHU3RyZWFtZXIgcmVmbGVjdHMgdGhpcyBkZXBlbmRlbmN5IGluIGEgbXVjaAor
ICAgICAgICBjbGVhcmVyIHdheS4gTm8gbmVlZCBmb3IgYSBIYXNoTWFwIG9mIEFwcGVuZFBpcGVs
aW5lJ3MuCisKKyAgICAgICAgTW9yZXNvLCB0aGVyZSBhcmUgbm8gb3RoZXIgdXNlcnMgb2YgQXBw
ZW5kUGlwZWxpbmUsIHdoaWNoIG1lYW5zCisgICAgICAgIEFwcGVuZFBpcGVsaW5lIGRvZXNuJ3Qg
bmVlZCB0byBiZSByZWYgY291bnRlZC4gVGhpcyBwYXRjaCByZW1vdmVzIHRoYXQKKyAgICAgICAg
ZmVhdHVyZSwgdXNpbmcgc3RkOjp1bmlxdWVfcHRyPEFwcGVuZFBpcGVsaW5lPiBmb3Igb3duZXJz
aGlwIGluc3RlYWQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhIHJlZmFjdG9yOiBpdCBkb2Vz
bid0IGludHJvZHVjZSBiZWhhdmlvciBjaGFuZ2VzIGFuZAorICAgICAgICBpdCdzIGNvdmVyZWQg
YnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGVuZFBpcGVs
aW5lOjphcHBzaW5rQ2Fwc0NoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwZW5kUGlwZWxp
bmU6OmNvbm5lY3REZW11eGVyU3JjUGFkVG9BcHBzaW5rKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjp+
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6dHJhY2tEZXRlY3RlZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJN
U0UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291
cmNlQ2xpZW50R1N0cmVhbWVyTVNFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNl
Q2xpZW50R1N0cmVhbWVyTVNFOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6OmFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFOjpyZXNldFBhcnNlclN0YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFOjphcHBlbmQpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6OnJlbW92ZWRGcm9t
TWVkaWFTb3VyY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U291cmNlUHJpdmF0ZUdTdHJlYW1lcjo6YWRkU291cmNlQnVmZmVyKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OlNv
dXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVm
ZmVyUHJpdmF0ZUdTdHJlYW1lcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5oOgor
CiAyMDIwLTA3LTA4ICBBbGljaWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbTVNFXVtHU3RyZWFtZXJdIERvbid0IGNhY2hlIGR1cmF0aW9uIGluIE1lZGlhU291
cmNlQ2xpZW50R1N0cmVhbWVyTVNFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCmlu
ZGV4IGEwMjU0YmVkMGFlNjI4OThhZjhhMGNmNjViODczZmI5NzNjYjY5MDIuLjA0YjAwNjRmZTVm
MjgyNmZjZDA3YWVhYTRmZDE1ZmU2NGExZGY2MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlw
ZWxpbmUuY3BwCkBAIC00NDAsNyArNDQwLDcgQEAgdm9pZCBBcHBlbmRQaXBlbGluZTo6YXBwc2lu
a0NhcHNDaGFuZ2VkKCkKIAogICAgIGlmIChtX2FwcHNpbmtDYXBzICE9IGNhcHMpIHsKICAgICAg
ICAgbV9hcHBzaW5rQ2FwcyA9IFdURk1vdmUoY2Fwcyk7Ci0gICAgICAgIG1fcGxheWVyUHJpdmF0
ZS0+dHJhY2tEZXRlY3RlZCh0aGlzLCBtX3RyYWNrLCBwcmV2aW91c0NhcHNXZXJlTnVsbCk7Cisg
ICAgICAgIG1fcGxheWVyUHJpdmF0ZS0+dHJhY2tEZXRlY3RlZCgqdGhpcywgbV90cmFjaywgcHJl
dmlvdXNDYXBzV2VyZU51bGwpOwogICAgIH0KIH0KIApAQCAtNzkyLDcgKzc5Miw3IEBAIHZvaWQg
QXBwZW5kUGlwZWxpbmU6OmNvbm5lY3REZW11eGVyU3JjUGFkVG9BcHBzaW5rKEdzdFBhZCogZGVt
dXhlclNyY1BhZCkKICAgICB9CiAKICAgICBtX2FwcHNpbmtDYXBzID0gV1RGTW92ZShjYXBzKTsK
LSAgICBtX3BsYXllclByaXZhdGUtPnRyYWNrRGV0ZWN0ZWQodGhpcywgbV90cmFjaywgdHJ1ZSk7
CisgICAgbV9wbGF5ZXJQcml2YXRlLT50cmFja0RldGVjdGVkKCp0aGlzLCBtX3RyYWNrLCB0cnVl
KTsKIH0KIAogdm9pZCBBcHBlbmRQaXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRGcm9t
QXBwc2lua0Zyb21BbnlUaHJlYWQoR3N0UGFkKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUu
aAppbmRleCA5NTI5NzBkMjI3YTFhYTJiMGJkY2FmMmMzMWNlNDIzYTM2YTk3NGNmLi4yNzk4OTY4
ZTYyM2E4NmU1Y2E4NWVjZTg5Yjg4ZmIxNDcwN2JiYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQ
aXBlbGluZS5oCkBAIC00NCw3ICs0NCw4IEBAIHN0cnVjdCBQYWRQcm9iZUluZm9ybWF0aW9uIHsK
IH07CiAjZW5kaWYKIAotY2xhc3MgQXBwZW5kUGlwZWxpbmUgOiBwdWJsaWMgVGhyZWFkU2FmZVJl
ZkNvdW50ZWQ8QXBwZW5kUGlwZWxpbmU+IHsKK2NsYXNzIEFwcGVuZFBpcGVsaW5lIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBcHBlbmRQaXBlbGluZShSZWY8
TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+LCBSZWY8U291cmNlQnVmZmVyUHJpdmF0ZUdT
dHJlYW1lcj4sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSYpOwogICAgIHZpcnR1YWwg
fkFwcGVuZFBpcGVsaW5lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKaW5kZXggMWU5YzkyODEzZTliZjA2YjRmYmVmMWUw
ZWUyNmY4YWExN2UzMGYzYS4uMzk5ZWI3ZDMyZTczNTQ4OTA0MzgwMmRlNTk3Njk5YjVlMDVkYjAx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyTVNFLmNwcApAQCAtMTE0LDE0ICsxMTQsNiBAQCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJNU0U6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UoKQogewogICAgIEdTVF9U
UkFDRSgiZGVzdHJveWluZyB0aGUgcGxheWVyICglcCkiLCB0aGlzKTsKIAotICAgIC8vIENsZWFy
IHRoZSBBcHBlbmRQaXBlbGluZSBtYXAuIFRoaXMgc2hvdWxkIGNhdXNlIHRoZSBkZXN0cnVjdGlv
biBvZiBhbGwgdGhlIEFwcGVuZFBpcGVsaW5lJ3Mgc2luY2UgdGhlcmUgc2hvdWxkCi0gICAgLy8g
YmUgbm8gYWxpdmUgcmVmZXJlbmNlcyBhdCB0aGlzIHBvaW50LgotI2lmbmRlZiBOREVCVUcKLSAg
ICBmb3IgKGF1dG8gaXRlcmF0b3IgOiBtX2FwcGVuZFBpcGVsaW5lc01hcCkKLSAgICAgICAgQVNT
RVJUKGl0ZXJhdG9yLnZhbHVlLT5oYXNPbmVSZWYoKSk7Ci0jZW5kaWYKLSAgICBtX2FwcGVuZFBp
cGVsaW5lc01hcC5jbGVhcigpOwotCiAgICAgaWYgKG1fc291cmNlKSB7CiAgICAgICAgIHdlYktp
dE1lZGlhU3JjU2V0TWVkaWFQbGF5ZXJQcml2YXRlKFdFQktJVF9NRURJQV9TUkMobV9zb3VyY2Uu
Z2V0KCkpLCBudWxscHRyKTsKICAgICAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9i
eV9kYXRhKG1fc291cmNlLmdldCgpLCB0aGlzKTsKQEAgLTcxMCwxMSArNzAyLDExIEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpkdXJhdGlvbkNoYW5nZWQoKQogICAgIH0K
IH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OnRyYWNrRGV0ZWN0ZWQo
UmVmUHRyPEFwcGVuZFBpcGVsaW5lPiBhcHBlbmRQaXBlbGluZSwgUmVmUHRyPFdlYkNvcmU6OlRy
YWNrUHJpdmF0ZUJhc2U+IG5ld1RyYWNrLCBib29sIGZpcnN0VHJhY2tEZXRlY3RlZCkKK3ZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjp0cmFja0RldGVjdGVkKEFwcGVuZFBpcGVs
aW5lJiBhcHBlbmRQaXBlbGluZSwgUmVmUHRyPFdlYkNvcmU6OlRyYWNrUHJpdmF0ZUJhc2U+IG5l
d1RyYWNrLCBib29sIGZpcnN0VHJhY2tEZXRlY3RlZCkKIHsKLSAgICBBU1NFUlQoYXBwZW5kUGlw
ZWxpbmUtPnRyYWNrKCkgPT0gbmV3VHJhY2spOworICAgIEFTU0VSVChhcHBlbmRQaXBlbGluZS50
cmFjaygpID09IG5ld1RyYWNrKTsKIAotICAgIEdzdENhcHMqIGNhcHMgPSBhcHBlbmRQaXBlbGlu
ZS0+YXBwc2lua0NhcHMoKTsKKyAgICBHc3RDYXBzKiBjYXBzID0gYXBwZW5kUGlwZWxpbmUuYXBw
c2lua0NhcHMoKTsKICAgICBBU1NFUlQoY2Fwcyk7CiAgICAgR1NUX0RFQlVHKCJ0cmFjayBJRDog
JXMsIGNhcHM6ICUiIEdTVF9QVFJfRk9STUFULCBuZXdUcmFjay0+aWQoKS5zdHJpbmcoKS5sYXRp
bjEoKS5kYXRhKCksIGNhcHMpOwogCkBAIC03MjUsOSArNzE3LDkgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJNU0U6OnRyYWNrRGV0ZWN0ZWQoUmVmUHRyPEFwcGVuZFBpcGVsaW5l
PiBhcHBlbmQKICAgICB9CiAKICAgICBpZiAoZmlyc3RUcmFja0RldGVjdGVkKQotICAgICAgICBt
X3BsYXliYWNrUGlwZWxpbmUtPmF0dGFjaFRyYWNrKGFwcGVuZFBpcGVsaW5lLT5zb3VyY2VCdWZm
ZXJQcml2YXRlKCksIG5ld1RyYWNrLCBjYXBzKTsKKyAgICAgICAgbV9wbGF5YmFja1BpcGVsaW5l
LT5hdHRhY2hUcmFjayhhcHBlbmRQaXBlbGluZS5zb3VyY2VCdWZmZXJQcml2YXRlKCksIG5ld1Ry
YWNrLCBjYXBzKTsKICAgICBlbHNlCi0gICAgICAgIG1fcGxheWJhY2tQaXBlbGluZS0+cmVhdHRh
Y2hUcmFjayhhcHBlbmRQaXBlbGluZS0+c291cmNlQnVmZmVyUHJpdmF0ZSgpLCBuZXdUcmFjaywg
Y2Fwcyk7CisgICAgICAgIG1fcGxheWJhY2tQaXBlbGluZS0+cmVhdHRhY2hUcmFjayhhcHBlbmRQ
aXBlbGluZS5zb3VyY2VCdWZmZXJQcml2YXRlKCksIG5ld1RyYWNrLCBjYXBzKTsKIH0KIAogdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OmdldFN1cHBvcnRlZFR5cGVzKEhhc2hT
ZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+JiB0eXBlcykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCmluZGV4IDQz
MzFmNmUwNDg1Mjc4ZDhhMzI5MGQ5NTE3NDI5NTA4NWUzMjZjM2MuLjQyYWUxMDlmZjY3MDBhNmMz
N2Y0NjFkZWY5OGJlYzRlMzYwY2M0MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNF
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaApAQCAtNzcsNyArNzcsNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIG1hcmtFbmRPZlN0cmVhbShNZWRpYVNvdXJjZVByaXZhdGU6OkVuZE9mU3Ry
ZWFtU3RhdHVzKTsKIAotICAgIHZvaWQgdHJhY2tEZXRlY3RlZChSZWZQdHI8QXBwZW5kUGlwZWxp
bmU+LCBSZWZQdHI8V2ViQ29yZTo6VHJhY2tQcml2YXRlQmFzZT4sIGJvb2wgZmlyc3RUcmFja0Rl
dGVjdGVkKTsKKyAgICB2b2lkIHRyYWNrRGV0ZWN0ZWQoQXBwZW5kUGlwZWxpbmUmLCBSZWZQdHI8
V2ViQ29yZTo6VHJhY2tQcml2YXRlQmFzZT4sIGJvb2wgZmlyc3RUcmFja0RldGVjdGVkKTsKICAg
ICB2b2lkIG5vdGlmeVNlZWtOZWVkc0RhdGFGb3JUaW1lKGNvbnN0IE1lZGlhVGltZSYpOwogCiAg
ICAgdm9pZCBibG9ja0R1cmF0aW9uQ2hhbmdlcygpOwpAQCAtMTA4LDcgKzEwOCw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBzZXRNZWRpYVNvdXJjZUNsaWVudChSZWY8TWVkaWFTb3VyY2VDbGllbnRH
U3RyZWFtZXJNU0U+KTsKICAgICBSZWZQdHI8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+
IG1lZGlhU291cmNlQ2xpZW50KCk7CiAKLSAgICBIYXNoTWFwPFJlZlB0cjxTb3VyY2VCdWZmZXJQ
cml2YXRlR1N0cmVhbWVyPiwgUmVmUHRyPEFwcGVuZFBpcGVsaW5lPj4gbV9hcHBlbmRQaXBlbGlu
ZXNNYXA7CiAgICAgYm9vbCBtX2Vvc01hcmtlZCA9IGZhbHNlOwogICAgIG11dGFibGUgYm9vbCBt
X2Vvc1BlbmRpbmcgPSBmYWxzZTsKICAgICBib29sIG1fZ3N0U2Vla0NvbXBsZXRlZCA9IHRydWU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
bXNlL01lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJN
U0UuY3BwCmluZGV4IDE5YWJlZmRmNjkwMGQ1MjczZGYwYjM5ODg1MmE0ZTFlNzE2OTY4NTkuLjJi
MzEzNTNhOGZkMjg5ZTE5ODgyZmE5OGQzMDczODE5NjUxOGY3YTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VDbGll
bnRHU3RyZWFtZXJNU0UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0UuY3BwCkBAIC02Miwx
MCArNjIsNiBAQCBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBNZWRpYVNvdXJjZUNsaWVu
dEdTdHJlYW1lck1TRTo6YWRkU291cmNlQnVmZmVyKFJlZgogICAgIEFTU0VSVChtX3BsYXllclBy
aXZhdGUubV9wbGF5YmFja1BpcGVsaW5lKTsKICAgICBBU1NFUlQoc291cmNlQnVmZmVyUHJpdmF0
ZSk7CiAKLSAgICBSZWZQdHI8QXBwZW5kUGlwZWxpbmU+IGFwcGVuZFBpcGVsaW5lID0gYWRvcHRS
ZWYobmV3IEFwcGVuZFBpcGVsaW5lKCp0aGlzLCAqc291cmNlQnVmZmVyUHJpdmF0ZSwgbV9wbGF5
ZXJQcml2YXRlKSk7Ci0gICAgR1NUX1RSQUNFKCJBZGRpbmcgU291cmNlQnVmZmVyIHRvIEFwcGVu
ZFBpcGVsaW5lOiB0aGlzPSVwIHNvdXJjZUJ1ZmZlcj0lcCBhcHBlbmRQaXBlbGluZT0lcCIsIHRo
aXMsIHNvdXJjZUJ1ZmZlclByaXZhdGUuZ2V0KCksIGFwcGVuZFBpcGVsaW5lLmdldCgpKTsKLSAg
ICBtX3BsYXllclByaXZhdGUubV9hcHBlbmRQaXBlbGluZXNNYXAuYWRkKHNvdXJjZUJ1ZmZlclBy
aXZhdGUsIGFwcGVuZFBpcGVsaW5lKTsKLQogICAgIHJldHVybiBtX3BsYXllclByaXZhdGUubV9w
bGF5YmFja1BpcGVsaW5lLT5hZGRTb3VyY2VCdWZmZXIoc291cmNlQnVmZmVyUHJpdmF0ZSk7CiB9
CiAKQEAgLTkzLDExICs4OSw3IEBAIHZvaWQgTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6
OmFib3J0KFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPiBzCiAKICAgICBHU1Rf
REVCVUcoImFib3J0aW5nIik7CiAKLSAgICBSZWZQdHI8QXBwZW5kUGlwZWxpbmU+IGFwcGVuZFBp
cGVsaW5lID0gbV9wbGF5ZXJQcml2YXRlLm1fYXBwZW5kUGlwZWxpbmVzTWFwLmdldChzb3VyY2VC
dWZmZXJQcml2YXRlKTsKLQotICAgIEFTU0VSVChhcHBlbmRQaXBlbGluZSk7Ci0KLSAgICBhcHBl
bmRQaXBlbGluZS0+cmVzZXRQYXJzZXJTdGF0ZSgpOworICAgIHNvdXJjZUJ1ZmZlclByaXZhdGUt
PmFwcGVuZFBpcGVsaW5lKCkucmVzZXRQYXJzZXJTdGF0ZSgpOwogfQogCiB2b2lkIE1lZGlhU291
cmNlQ2xpZW50R1N0cmVhbWVyTVNFOjpyZXNldFBhcnNlclN0YXRlKFJlZlB0cjxTb3VyY2VCdWZm
ZXJQcml2YXRlR1N0cmVhbWVyPiBzb3VyY2VCdWZmZXJQcml2YXRlKQpAQCAtMTA2LDExICs5OCw3
IEBAIHZvaWQgTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6OnJlc2V0UGFyc2VyU3RhdGUo
UmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVHCiAKICAgICBHU1RfREVCVUcoInJlc2V0dGluZyBw
YXJzZXIgc3RhdGUiKTsKIAotICAgIFJlZlB0cjxBcHBlbmRQaXBlbGluZT4gYXBwZW5kUGlwZWxp
bmUgPSBtX3BsYXllclByaXZhdGUubV9hcHBlbmRQaXBlbGluZXNNYXAuZ2V0KHNvdXJjZUJ1ZmZl
clByaXZhdGUpOwotCi0gICAgQVNTRVJUKGFwcGVuZFBpcGVsaW5lKTsKLQotICAgIGFwcGVuZFBp
cGVsaW5lLT5yZXNldFBhcnNlclN0YXRlKCk7CisgICAgc291cmNlQnVmZmVyUHJpdmF0ZS0+YXBw
ZW5kUGlwZWxpbmUoKS5yZXNldFBhcnNlclN0YXRlKCk7CiB9CiAKIHZvaWQgTWVkaWFTb3VyY2VD
bGllbnRHU3RyZWFtZXJNU0U6OmFwcGVuZChSZWZQdHI8U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJl
YW1lcj4gc291cmNlQnVmZmVyUHJpdmF0ZSwgVmVjdG9yPHVuc2lnbmVkIGNoYXI+JiYgZGF0YSkK
QEAgLTExOSwxMCArMTA3LDYgQEAgdm9pZCBNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRTo6
YXBwZW5kKFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPgogCiAgICAgR1NUX0RF
QlVHKCJBcHBlbmRpbmcgJXp1IGJ5dGVzIiwgZGF0YS5zaXplKCkpOwogCi0gICAgUmVmUHRyPEFw
cGVuZFBpcGVsaW5lPiBhcHBlbmRQaXBlbGluZSA9IG1fcGxheWVyUHJpdmF0ZS5tX2FwcGVuZFBp
cGVsaW5lc01hcC5nZXQoc291cmNlQnVmZmVyUHJpdmF0ZSk7Ci0KLSAgICBBU1NFUlQoYXBwZW5k
UGlwZWxpbmUpOwotCiAgICAgLy8gV3JhcCB0aGUgd2hvbGUgVmVjdG9yIG9iamVjdCBpbiBjYXNl
IHRoZSBkYXRhIGlzIHN0b3JlZCBpbiB0aGUgaW5saW5lZCBidWZmZXIuCiAgICAgYXV0byogYnVm
ZmVyRGF0YSA9IGRhdGEuZGF0YSgpOwogICAgIGF1dG8gYnVmZmVyTGVuZ3RoID0gZGF0YS5zaXpl
KCk7CkBAIC0xMzIsNyArMTE2LDcgQEAgdm9pZCBNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1T
RTo6YXBwZW5kKFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPgogICAgICAgICAg
ICAgZGVsZXRlIHN0YXRpY19jYXN0PFZlY3Rvcjx1bnNpZ25lZCBjaGFyPio+KGRhdGEpOwogICAg
ICAgICB9KSk7CiAKLSAgICBhcHBlbmRQaXBlbGluZS0+cHVzaE5ld0J1ZmZlcihXVEZNb3ZlKGJ1
ZmZlcikpOworICAgIHNvdXJjZUJ1ZmZlclByaXZhdGUtPmFwcGVuZFBpcGVsaW5lKCkucHVzaE5l
d0J1ZmZlcihXVEZNb3ZlKGJ1ZmZlcikpOwogfQogCiB2b2lkIE1lZGlhU291cmNlQ2xpZW50R1N0
cmVhbWVyTVNFOjptYXJrRW5kT2ZTdHJlYW0oTWVkaWFTb3VyY2VQcml2YXRlOjpFbmRPZlN0cmVh
bVN0YXR1cyBzdGF0dXMpCkBAIC0xNDgsMTEgKzEzMiw2IEBAIHZvaWQgTWVkaWFTb3VyY2VDbGll
bnRHU3RyZWFtZXJNU0U6OnJlbW92ZWRGcm9tTWVkaWFTb3VyY2UoUmVmUHRyPFNvdXJjZUJ1ZmZl
clByCiAKICAgICBBU1NFUlQobV9wbGF5ZXJQcml2YXRlLm1fcGxheWJhY2tQaXBlbGluZSk7CiAK
LSAgICAvLyBSZW1vdmUgdGhlIEFwcGVuZFBpcGVsaW5lIGZyb20gdGhlIG1hcC4gVGhpcyBzaG91
bGQgY2F1c2UgaXRzIGRlc3RydWN0aW9uIHNpbmNlIHRoZXJlIHNob3VsZCBiZSBubyBhbGl2ZQot
ICAgIC8vIHJlZmVyZW5jZXMgYXQgdGhpcyBwb2ludC4KLSAgICBBU1NFUlQobV9wbGF5ZXJQcml2
YXRlLm1fYXBwZW5kUGlwZWxpbmVzTWFwLmdldChzb3VyY2VCdWZmZXJQcml2YXRlKS0+aGFzT25l
UmVmKCkpOwotICAgIG1fcGxheWVyUHJpdmF0ZS5tX2FwcGVuZFBpcGVsaW5lc01hcC5yZW1vdmUo
c291cmNlQnVmZmVyUHJpdmF0ZSk7Ci0KICAgICBtX3BsYXllclByaXZhdGUubV9wbGF5YmFja1Bp
cGVsaW5lLT5yZW1vdmVTb3VyY2VCdWZmZXIoc291cmNlQnVmZmVyUHJpdmF0ZSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmNwcApp
bmRleCAzM2U4NTA3NTFmOWJmNmIxMTUzOTkwZjdhYTY1MDUyNGNiNjI2ZmZjLi5kOTZmYjAyZmRj
ZjNiM2MzMzJlZjM2NzEyYzMzNzg3NmMxYmJjMjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNlUHJpdmF0ZUdTdHJl
YW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L21zZS9NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC03OCw3ICs3OCw3IEBAIE1l
ZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcjo6fk1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcigp
CiBNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXI6OkFkZFN0YXR1cyBNZWRpYVNvdXJjZVByaXZh
dGVHU3RyZWFtZXI6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5
cGUsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYgc291cmNlQnVmZmVyUHJpdmF0ZSkKIHsK
ICAgICBERUJVR19MT0coTE9HSURFTlRJRklFUiwgY29udGVudFR5cGUpOwotICAgIHNvdXJjZUJ1
ZmZlclByaXZhdGUgPSBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGUodGhpcywg
bV9jbGllbnQuZ2V0KCksIGNvbnRlbnRUeXBlKTsKKyAgICBzb3VyY2VCdWZmZXJQcml2YXRlID0g
U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKHRoaXMsIG1fY2xpZW50LmdldCgp
LCBjb250ZW50VHlwZSwgbV9wbGF5ZXJQcml2YXRlKTsKICAgICBSZWZQdHI8U291cmNlQnVmZmVy
UHJpdmF0ZUdTdHJlYW1lcj4gc291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciA9IHN0YXRpY19j
YXN0PFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIqPihzb3VyY2VCdWZmZXJQcml2YXRlLmdl
dCgpKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMuYWRkKHNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFt
ZXIpOwogICAgIHJldHVybiBtX2NsaWVudC0+YWRkU291cmNlQnVmZmVyKHNvdXJjZUJ1ZmZlclBy
aXZhdGVHU3RyZWFtZXIsIGNvbnRlbnRUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJl
YW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNl
L1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDYyYjA5NmMxNjQ5MmZhYjg5
ZDYzMTFkMTc5YzY4NmFlNmFlMGM4NDQuLjE0NDU0ZTAxYjRjNTk4ZjAwNzZjZDgyNDAzMTMxYTky
Zjc1MzIxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2
YXRlR1N0cmVhbWVyLmNwcApAQCAtMzcsNiArMzcsNyBAQAogCiAjaWYgRU5BQkxFKE1FRElBX1NP
VVJDRSkgJiYgVVNFKEdTVFJFQU1FUikKIAorI2luY2x1ZGUgIkFwcGVuZFBpcGVsaW5lLmgiCiAj
aW5jbHVkZSAiQ29udGVudFR5cGUuaCIKICNpbmNsdWRlICJHU3RyZWFtZXJDb21tb24uaCIKICNp
bmNsdWRlICJNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaCIKQEAgLTQ4LDE2ICs0OSwx
OSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0
cmVhbWVyPiBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGUoTWVkaWFTb3VyY2VQ
cml2YXRlR1N0cmVhbWVyKiBtZWRpYVNvdXJjZSwgUmVmPE1lZGlhU291cmNlQ2xpZW50R1N0cmVh
bWVyTVNFPiBjbGllbnQsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSkKK1JlZjxTb3Vy
Y2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPiBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpj
cmVhdGUoTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKiBtZWRpYVNvdXJjZSwgUmVmPE1lZGlh
U291cmNlQ2xpZW50R1N0cmVhbWVyTVNFPiBjbGllbnQsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250
ZW50VHlwZSwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFJiBwbGF5ZXJQcml2YXRlKQog
ewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIo
bWVkaWFTb3VyY2UsIGNsaWVudC5nZXQoKSwgY29udGVudFR5cGUpKTsKKyAgICBSZWY8U291cmNl
QnVmZmVyUHJpdmF0ZUdTdHJlYW1lcj4gcmVzdWx0ID0gYWRvcHRSZWYoKm5ldyBTb3VyY2VCdWZm
ZXJQcml2YXRlR1N0cmVhbWVyKG1lZGlhU291cmNlLCBjbGllbnQuZ2V0KCksIGNvbnRlbnRUeXBl
LCBwbGF5ZXJQcml2YXRlKSk7CisgICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbigpOworICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKLVNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OlNvdXJjZUJ1
ZmZlclByaXZhdGVHU3RyZWFtZXIoTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKiBtZWRpYVNv
dXJjZSwgUmVmPE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFPiBjbGllbnQsIGNvbnN0IENv
bnRlbnRUeXBlJiBjb250ZW50VHlwZSkKK1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OlNv
dXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIoTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKiBt
ZWRpYVNvdXJjZSwgUmVmPE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFPiBjbGllbnQsIGNv
bnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
TVNFJiBwbGF5ZXJQcml2YXRlKQogICAgIDogU291cmNlQnVmZmVyUHJpdmF0ZSgpCiAgICAgLCBt
X21lZGlhU291cmNlKG1lZGlhU291cmNlKQogICAgICwgbV90eXBlKGNvbnRlbnRUeXBlKQogICAg
ICwgbV9jbGllbnQoY2xpZW50LmdldCgpKQorICAgICwgbV9wbGF5ZXJQcml2YXRlKHBsYXllclBy
aXZhdGUpCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgLCBtX2xvZ2dlcihtZWRpYVNv
dXJjZS0+bG9nZ2VyKCkpCiAgICAgLCBtX2xvZ0lkZW50aWZpZXIobWVkaWFTb3VyY2UtPm5leHRT
b3VyY2VCdWZmZXJMb2dJZGVudGlmaWVyKCkpCkBAIC02NSw2ICs2OSwxNCBAQCBTb3VyY2VCdWZm
ZXJQcml2YXRlR1N0cmVhbWVyOjpTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyKE1lZGlhU291
cmNlUHJpdmF0ZUdTdAogewogfQogCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6
OmZpbmlzaENyZWF0aW9uKCkKK3sKKyAgICAvLyBJbml0aWFsaXppbmcgdGhlIGFwcGVuZCBwaXBl
bGluZSBtdXN0IGhhcHBlbiBhZnRlciBSZWY8U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcj4g
aGFzIGJlZW4gY29uc3RydWN0ZWQgYW5kCisgICAgLy8gYWRvcHRlZCwgb3RoZXJ3aXNlIHRoZSBt
YWtlUmVmKCkgYmVsb3cgd291bGQgY3Jhc2ggb24gQVNTRVJUKCFtX2Fkb3B0aW9uSXNSZXF1aXJl
ZCkuCisgICAgQVNTRVJUKCFtX2FwcGVuZFBpcGVsaW5lKTsKKyAgICBtX2FwcGVuZFBpcGVsaW5l
ID0gV1RGOjptYWtlVW5pcXVlPEFwcGVuZFBpcGVsaW5lPihtX2NsaWVudCwgbWFrZVJlZigqdGhp
cyksIG1fcGxheWVyUHJpdmF0ZSk7Cit9CisKIHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJl
YW1lcjo6c2V0Q2xpZW50KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQqIGNsaWVudCkKIHsKICAg
ICBtX3NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQgPSBjbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclBy
aXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IGUwYjdiYTdhODFj
ZTZjMzhhYjJjN2FmOThlMTk1MmM4M2FjZmU5MTMuLjk3ZWM2ZGEwZWZhOTRlM2JmZGE1Yzc3MTY4
YmFiNGNjMWQyZDgxZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVy
UHJpdmF0ZUdTdHJlYW1lci5oCkBAIC01NCw3ICs1NCw3IEBAIGNsYXNzIFNvdXJjZUJ1ZmZlclBy
aXZhdGVHU3RyZWFtZXIgZmluYWwgOiBwdWJsaWMgU291cmNlQnVmZmVyUHJpdmF0ZQogewogCiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPiBjcmVh
dGUoTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKiwgUmVmPE1lZGlhU291cmNlQ2xpZW50R1N0
cmVhbWVyTVNFPiwgY29uc3QgQ29udGVudFR5cGUmKTsKKyAgICBzdGF0aWMgUmVmPFNvdXJjZUJ1
ZmZlclByaXZhdGVHU3RyZWFtZXI+IGNyZWF0ZShNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIq
LCBSZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+LCBjb25zdCBDb250ZW50VHlwZSYs
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSYpOwogICAgIHZpcnR1YWwgflNvdXJjZUJ1
ZmZlclByaXZhdGVHU3RyZWFtZXIoKSA9IGRlZmF1bHQ7CiAKICAgICB2b2lkIGNsZWFyTWVkaWFT
b3VyY2UoKSB7IG1fbWVkaWFTb3VyY2UgPSBudWxscHRyOyB9CkBAIC04NCw2ICs4NCw4IEBAIHB1
YmxpYzoKIAogICAgIENvbnRlbnRUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0K
IAorICAgIEFwcGVuZFBpcGVsaW5lJiBhcHBlbmRQaXBlbGluZSgpIHsgcmV0dXJuICptX2FwcGVu
ZFBpcGVsaW5lOyB9CisKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dn
ZXImIGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbG9nZ2VyLmdldCgpOyB9CiAgICAg
Y29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlNvdXJj
ZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIiOyB9CkBAIC05NCwxMiArOTYsMTUgQEAgcHVibGljOgog
I2VuZGlmCiAKIHByaXZhdGU6Ci0gICAgU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcihNZWRp
YVNvdXJjZVByaXZhdGVHU3RyZWFtZXIqLCBSZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJN
U0U+LCBjb25zdCBDb250ZW50VHlwZSYpOworICAgIFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFt
ZXIoTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKiwgUmVmPE1lZGlhU291cmNlQ2xpZW50R1N0
cmVhbWVyTVNFPiwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJNU0UmKTsKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKCk7CiAgICAgZnJpZW5kIGNsYXNzIE1l
ZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFOwogCiAgICAgTWVkaWFTb3VyY2VQcml2YXRlR1N0
cmVhbWVyKiBtX21lZGlhU291cmNlOwogICAgIENvbnRlbnRUeXBlIG1fdHlwZTsKICAgICBSZWY8
TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+IG1fY2xpZW50OworICAgIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lck1TRSYgbV9wbGF5ZXJQcml2YXRlOworICAgIHN0ZDo6dW5pcXVlX3B0
cjxBcHBlbmRQaXBlbGluZT4gbV9hcHBlbmRQaXBlbGluZTsKICAgICBTb3VyY2VCdWZmZXJQcml2
YXRlQ2xpZW50KiBtX3NvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQgeyBudWxscHRyIH07CiAgICAg
Ym9vbCBtX2lzUmVhZHlGb3JNb3JlU2FtcGxlcyA9IHRydWU7CiAgICAgYm9vbCBtX25vdGlmeVdo
ZW5SZWFkeUZvck1vcmVTYW1wbGVzID0gZmFsc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403866</attachid>
            <date>2020-07-09 08:32:56 -0700</date>
            <delta_ts>2020-07-09 09:23:05 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-214132-20200709173255.patch</filename>
            <type>text/plain</type>
            <size>17585</size>
            <attacher name="Alicia Boya García">aboya</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY1YWQxNDUxYzAwNGJh
OTdmMGUxODg2ZTk5NDgwMDVkMWZiMmFhMC4uODEyOGRiOTNiN2RkMjc1Nzg0ZTc3N2IwN2Q1OTMx
OWM0YTRhN2RjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTA3LTA4ICBBbGlj
aWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbTVNFXVtHU3Ry
ZWFtZXJdIFJlbW92ZSBtX2FwcGVuZFBpcGVsaW5lc01hcAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MTMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
WGFiaWVyIFJvZHJpZ3Vlei1DYWx2YXIuCisKKyAgICAgICAgbV9hcHBlbmRQaXBlbGluZXNNYXAg
d2FzIG93bmVkIGJ5IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSBidXQKKyAgICAgICAg
d2FzIG9ubHkgdXNlZCBieSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UgdG8gY2xlYXIg
aXQgZHVyaW5nCisgICAgICAgIGRlc3RydWN0aW9uLCB3aGlsZSB0aGUgb3RoZXIgdXNlcyB3ZXJl
IGluCisgICAgICAgIE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFLgorCisgICAgICAgIEFm
dGVyIGFuYWx5c2lzLCBpdCB3YXMgZm91bmQga2VlcGluZyBhIEhhc2hNYXAgb2YgQXBwZW5kUGlw
ZWxpbmVzIGlzIG5vdAorICAgICAgICBuZWNlc3NhcnkuIEFuIEFwcGVuZFBpcGVsaW5lIG9ubHkg
bmVlZHMgdG8gYmUgdXNlZCBieSB0aGUgU291cmNlQnVmZmVyCisgICAgICAgIHJlY2VpdmluZyB0
aGUgbXV4ZWQgZGF0YTogbWFraW5nIEFwcGVuZFBpcGVsaW5lIGEgbWVtYmVyIG9mCisgICAgICAg
IFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIgcmVmbGVjdHMgdGhpcyBkZXBlbmRlbmN5IGlu
IGEgbXVjaAorICAgICAgICBjbGVhcmVyIHdheS4gTm8gbmVlZCBmb3IgYSBIYXNoTWFwIG9mIEFw
cGVuZFBpcGVsaW5lJ3MuCisKKyAgICAgICAgTW9yZXNvLCB0aGVyZSBhcmUgbm8gb3RoZXIgdXNl
cnMgb2YgQXBwZW5kUGlwZWxpbmUsIHdoaWNoIG1lYW5zCisgICAgICAgIEFwcGVuZFBpcGVsaW5l
IGRvZXNuJ3QgbmVlZCB0byBiZSByZWYgY291bnRlZC4gVGhpcyBwYXRjaCByZW1vdmVzIHRoYXQK
KyAgICAgICAgZmVhdHVyZSwgdXNpbmcgc3RkOjp1bmlxdWVfcHRyPEFwcGVuZFBpcGVsaW5lPiBm
b3Igb3duZXJzaGlwIGluc3RlYWQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhIHJlZmFjdG9y
OiBpdCBkb2Vzbid0IGludHJvZHVjZSBiZWhhdmlvciBjaGFuZ2VzIGFuZAorICAgICAgICBpdCdz
IGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFw
cGVuZFBpcGVsaW5lOjphcHBzaW5rQ2Fwc0NoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6QXBw
ZW5kUGlwZWxpbmU6OmNvbm5lY3REZW11eGVyU3JjUGFkVG9BcHBzaW5rKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJNU0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyTVNFOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6dHJhY2tEZXRlY3RlZCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJNU0UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNl
L01lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6OmFib3J0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFOjpyZXNldFBhcnNlclN0YXRl
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFOjphcHBl
bmQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6OnJl
bW92ZWRGcm9tTWVkaWFTb3VyY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcjo6YWRkU291cmNlQnVmZmVyKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVH
U3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJl
YW1lcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVHU3Ry
ZWFtZXI6OlNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIpOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJl
YW1lci5oOgorCiAyMDIwLTA3LTA5ICBBbGljaWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbTVNFXVtHU3RyZWFtZXJdIERvbid0IGNhY2hlIGR1cmF0aW9uIGlu
IE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxp
bmUuY3BwCmluZGV4IGEwMjU0YmVkMGFlNjI4OThhZjhhMGNmNjViODczZmI5NzNjYjY5MDIuLjA0
YjAwNjRmZTVmMjgyNmZjZDA3YWVhYTRmZDE1ZmU2NGExZGY2MjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
QXBwZW5kUGlwZWxpbmUuY3BwCkBAIC00NDAsNyArNDQwLDcgQEAgdm9pZCBBcHBlbmRQaXBlbGlu
ZTo6YXBwc2lua0NhcHNDaGFuZ2VkKCkKIAogICAgIGlmIChtX2FwcHNpbmtDYXBzICE9IGNhcHMp
IHsKICAgICAgICAgbV9hcHBzaW5rQ2FwcyA9IFdURk1vdmUoY2Fwcyk7Ci0gICAgICAgIG1fcGxh
eWVyUHJpdmF0ZS0+dHJhY2tEZXRlY3RlZCh0aGlzLCBtX3RyYWNrLCBwcmV2aW91c0NhcHNXZXJl
TnVsbCk7CisgICAgICAgIG1fcGxheWVyUHJpdmF0ZS0+dHJhY2tEZXRlY3RlZCgqdGhpcywgbV90
cmFjaywgcHJldmlvdXNDYXBzV2VyZU51bGwpOwogICAgIH0KIH0KIApAQCAtNzkyLDcgKzc5Miw3
IEBAIHZvaWQgQXBwZW5kUGlwZWxpbmU6OmNvbm5lY3REZW11eGVyU3JjUGFkVG9BcHBzaW5rKEdz
dFBhZCogZGVtdXhlclNyY1BhZCkKICAgICB9CiAKICAgICBtX2FwcHNpbmtDYXBzID0gV1RGTW92
ZShjYXBzKTsKLSAgICBtX3BsYXllclByaXZhdGUtPnRyYWNrRGV0ZWN0ZWQodGhpcywgbV90cmFj
aywgdHJ1ZSk7CisgICAgbV9wbGF5ZXJQcml2YXRlLT50cmFja0RldGVjdGVkKCp0aGlzLCBtX3Ry
YWNrLCB0cnVlKTsKIH0KIAogdm9pZCBBcHBlbmRQaXBlbGluZTo6ZGlzY29ubmVjdERlbXV4ZXJT
cmNQYWRGcm9tQXBwc2lua0Zyb21BbnlUaHJlYWQoR3N0UGFkKikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5k
UGlwZWxpbmUuaAppbmRleCA5NTI5NzBkMjI3YTFhYTJiMGJkY2FmMmMzMWNlNDIzYTM2YTk3NGNm
Li4yNzk4OTY4ZTYyM2E4NmU1Y2E4NWVjZTg5Yjg4ZmIxNDcwN2JiYmUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVs
aW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9BcHBlbmRQaXBlbGluZS5oCkBAIC00NCw3ICs0NCw4IEBAIHN0cnVjdCBQYWRQcm9iZUluZm9y
bWF0aW9uIHsKIH07CiAjZW5kaWYKIAotY2xhc3MgQXBwZW5kUGlwZWxpbmUgOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8QXBwZW5kUGlwZWxpbmU+IHsKK2NsYXNzIEFwcGVuZFBpcGVsaW5l
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBcHBlbmRQaXBl
bGluZShSZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+LCBSZWY8U291cmNlQnVmZmVy
UHJpdmF0ZUdTdHJlYW1lcj4sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSYpOwogICAg
IHZpcnR1YWwgfkFwcGVuZFBpcGVsaW5lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ck1TRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNl
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKaW5kZXggMWU5YzkyODEzZTliZjA2
YjRmYmVmMWUwZWUyNmY4YWExN2UzMGYzYS4uMzk5ZWI3ZDMyZTczNTQ4OTA0MzgwMmRlNTk3Njk5
YjVlMDVkYjAxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyTVNFLmNwcApAQCAtMTE0LDE0ICsxMTQsNiBAQCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJNU0U6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UoKQogewog
ICAgIEdTVF9UUkFDRSgiZGVzdHJveWluZyB0aGUgcGxheWVyICglcCkiLCB0aGlzKTsKIAotICAg
IC8vIENsZWFyIHRoZSBBcHBlbmRQaXBlbGluZSBtYXAuIFRoaXMgc2hvdWxkIGNhdXNlIHRoZSBk
ZXN0cnVjdGlvbiBvZiBhbGwgdGhlIEFwcGVuZFBpcGVsaW5lJ3Mgc2luY2UgdGhlcmUgc2hvdWxk
Ci0gICAgLy8gYmUgbm8gYWxpdmUgcmVmZXJlbmNlcyBhdCB0aGlzIHBvaW50LgotI2lmbmRlZiBO
REVCVUcKLSAgICBmb3IgKGF1dG8gaXRlcmF0b3IgOiBtX2FwcGVuZFBpcGVsaW5lc01hcCkKLSAg
ICAgICAgQVNTRVJUKGl0ZXJhdG9yLnZhbHVlLT5oYXNPbmVSZWYoKSk7Ci0jZW5kaWYKLSAgICBt
X2FwcGVuZFBpcGVsaW5lc01hcC5jbGVhcigpOwotCiAgICAgaWYgKG1fc291cmNlKSB7CiAgICAg
ICAgIHdlYktpdE1lZGlhU3JjU2V0TWVkaWFQbGF5ZXJQcml2YXRlKFdFQktJVF9NRURJQV9TUkMo
bV9zb3VyY2UuZ2V0KCkpLCBudWxscHRyKTsKICAgICAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlz
Y29ubmVjdF9ieV9kYXRhKG1fc291cmNlLmdldCgpLCB0aGlzKTsKQEAgLTcxMCwxMSArNzAyLDEx
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpkdXJhdGlvbkNoYW5nZWQo
KQogICAgIH0KIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OnRyYWNr
RGV0ZWN0ZWQoUmVmUHRyPEFwcGVuZFBpcGVsaW5lPiBhcHBlbmRQaXBlbGluZSwgUmVmUHRyPFdl
YkNvcmU6OlRyYWNrUHJpdmF0ZUJhc2U+IG5ld1RyYWNrLCBib29sIGZpcnN0VHJhY2tEZXRlY3Rl
ZCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjp0cmFja0RldGVjdGVkKEFw
cGVuZFBpcGVsaW5lJiBhcHBlbmRQaXBlbGluZSwgUmVmUHRyPFdlYkNvcmU6OlRyYWNrUHJpdmF0
ZUJhc2U+IG5ld1RyYWNrLCBib29sIGZpcnN0VHJhY2tEZXRlY3RlZCkKIHsKLSAgICBBU1NFUlQo
YXBwZW5kUGlwZWxpbmUtPnRyYWNrKCkgPT0gbmV3VHJhY2spOworICAgIEFTU0VSVChhcHBlbmRQ
aXBlbGluZS50cmFjaygpID09IG5ld1RyYWNrKTsKIAotICAgIEdzdENhcHMqIGNhcHMgPSBhcHBl
bmRQaXBlbGluZS0+YXBwc2lua0NhcHMoKTsKKyAgICBHc3RDYXBzKiBjYXBzID0gYXBwZW5kUGlw
ZWxpbmUuYXBwc2lua0NhcHMoKTsKICAgICBBU1NFUlQoY2Fwcyk7CiAgICAgR1NUX0RFQlVHKCJ0
cmFjayBJRDogJXMsIGNhcHM6ICUiIEdTVF9QVFJfRk9STUFULCBuZXdUcmFjay0+aWQoKS5zdHJp
bmcoKS5sYXRpbjEoKS5kYXRhKCksIGNhcHMpOwogCkBAIC03MjUsOSArNzE3LDkgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OnRyYWNrRGV0ZWN0ZWQoUmVmUHRyPEFwcGVu
ZFBpcGVsaW5lPiBhcHBlbmQKICAgICB9CiAKICAgICBpZiAoZmlyc3RUcmFja0RldGVjdGVkKQot
ICAgICAgICBtX3BsYXliYWNrUGlwZWxpbmUtPmF0dGFjaFRyYWNrKGFwcGVuZFBpcGVsaW5lLT5z
b3VyY2VCdWZmZXJQcml2YXRlKCksIG5ld1RyYWNrLCBjYXBzKTsKKyAgICAgICAgbV9wbGF5YmFj
a1BpcGVsaW5lLT5hdHRhY2hUcmFjayhhcHBlbmRQaXBlbGluZS5zb3VyY2VCdWZmZXJQcml2YXRl
KCksIG5ld1RyYWNrLCBjYXBzKTsKICAgICBlbHNlCi0gICAgICAgIG1fcGxheWJhY2tQaXBlbGlu
ZS0+cmVhdHRhY2hUcmFjayhhcHBlbmRQaXBlbGluZS0+c291cmNlQnVmZmVyUHJpdmF0ZSgpLCBu
ZXdUcmFjaywgY2Fwcyk7CisgICAgICAgIG1fcGxheWJhY2tQaXBlbGluZS0+cmVhdHRhY2hUcmFj
ayhhcHBlbmRQaXBlbGluZS5zb3VyY2VCdWZmZXJQcml2YXRlKCksIG5ld1RyYWNrLCBjYXBzKTsK
IH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OmdldFN1cHBvcnRlZFR5
cGVzKEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+JiB0eXBlcykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5o
CmluZGV4IDQzMzFmNmUwNDg1Mjc4ZDhhMzI5MGQ5NTE3NDI5NTA4NWUzMjZjM2MuLjQyYWUxMDlm
ZjY3MDBhNmMzN2Y0NjFkZWY5OGJlYzRlMzYwY2M0MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyTVNFLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaApAQCAtNzcsNyArNzcsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIG1hcmtFbmRPZlN0cmVhbShNZWRpYVNvdXJjZVByaXZhdGU6
OkVuZE9mU3RyZWFtU3RhdHVzKTsKIAotICAgIHZvaWQgdHJhY2tEZXRlY3RlZChSZWZQdHI8QXBw
ZW5kUGlwZWxpbmU+LCBSZWZQdHI8V2ViQ29yZTo6VHJhY2tQcml2YXRlQmFzZT4sIGJvb2wgZmly
c3RUcmFja0RldGVjdGVkKTsKKyAgICB2b2lkIHRyYWNrRGV0ZWN0ZWQoQXBwZW5kUGlwZWxpbmUm
LCBSZWZQdHI8V2ViQ29yZTo6VHJhY2tQcml2YXRlQmFzZT4sIGJvb2wgZmlyc3RUcmFja0RldGVj
dGVkKTsKICAgICB2b2lkIG5vdGlmeVNlZWtOZWVkc0RhdGFGb3JUaW1lKGNvbnN0IE1lZGlhVGlt
ZSYpOwogCiAgICAgdm9pZCBibG9ja0R1cmF0aW9uQ2hhbmdlcygpOwpAQCAtMTA4LDcgKzEwOCw2
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRNZWRpYVNvdXJjZUNsaWVudChSZWY8TWVkaWFTb3Vy
Y2VDbGllbnRHU3RyZWFtZXJNU0U+KTsKICAgICBSZWZQdHI8TWVkaWFTb3VyY2VDbGllbnRHU3Ry
ZWFtZXJNU0U+IG1lZGlhU291cmNlQ2xpZW50KCk7CiAKLSAgICBIYXNoTWFwPFJlZlB0cjxTb3Vy
Y2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPiwgUmVmUHRyPEFwcGVuZFBpcGVsaW5lPj4gbV9hcHBl
bmRQaXBlbGluZXNNYXA7CiAgICAgYm9vbCBtX2Vvc01hcmtlZCA9IGZhbHNlOwogICAgIG11dGFi
bGUgYm9vbCBtX2Vvc1BlbmRpbmcgPSBmYWxzZTsKICAgICBib29sIG1fZ3N0U2Vla0NvbXBsZXRl
ZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL01lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VDbGllbnRH
U3RyZWFtZXJNU0UuY3BwCmluZGV4IDE5YWJlZmRmNjkwMGQ1MjczZGYwYjM5ODg1MmE0ZTFlNzE2
OTY4NTkuLjJiMzEzNTNhOGZkMjg5ZTE5ODgyZmE5OGQzMDczODE5NjUxOGY3YTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFT
b3VyY2VDbGllbnRHU3RyZWFtZXJNU0UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0UuY3Bw
CkBAIC02MiwxMCArNjIsNiBAQCBNZWRpYVNvdXJjZVByaXZhdGU6OkFkZFN0YXR1cyBNZWRpYVNv
dXJjZUNsaWVudEdTdHJlYW1lck1TRTo6YWRkU291cmNlQnVmZmVyKFJlZgogICAgIEFTU0VSVCht
X3BsYXllclByaXZhdGUubV9wbGF5YmFja1BpcGVsaW5lKTsKICAgICBBU1NFUlQoc291cmNlQnVm
ZmVyUHJpdmF0ZSk7CiAKLSAgICBSZWZQdHI8QXBwZW5kUGlwZWxpbmU+IGFwcGVuZFBpcGVsaW5l
ID0gYWRvcHRSZWYobmV3IEFwcGVuZFBpcGVsaW5lKCp0aGlzLCAqc291cmNlQnVmZmVyUHJpdmF0
ZSwgbV9wbGF5ZXJQcml2YXRlKSk7Ci0gICAgR1NUX1RSQUNFKCJBZGRpbmcgU291cmNlQnVmZmVy
IHRvIEFwcGVuZFBpcGVsaW5lOiB0aGlzPSVwIHNvdXJjZUJ1ZmZlcj0lcCBhcHBlbmRQaXBlbGlu
ZT0lcCIsIHRoaXMsIHNvdXJjZUJ1ZmZlclByaXZhdGUuZ2V0KCksIGFwcGVuZFBpcGVsaW5lLmdl
dCgpKTsKLSAgICBtX3BsYXllclByaXZhdGUubV9hcHBlbmRQaXBlbGluZXNNYXAuYWRkKHNvdXJj
ZUJ1ZmZlclByaXZhdGUsIGFwcGVuZFBpcGVsaW5lKTsKLQogICAgIHJldHVybiBtX3BsYXllclBy
aXZhdGUubV9wbGF5YmFja1BpcGVsaW5lLT5hZGRTb3VyY2VCdWZmZXIoc291cmNlQnVmZmVyUHJp
dmF0ZSk7CiB9CiAKQEAgLTkzLDExICs4OSw3IEBAIHZvaWQgTWVkaWFTb3VyY2VDbGllbnRHU3Ry
ZWFtZXJNU0U6OmFib3J0KFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPiBzCiAK
ICAgICBHU1RfREVCVUcoImFib3J0aW5nIik7CiAKLSAgICBSZWZQdHI8QXBwZW5kUGlwZWxpbmU+
IGFwcGVuZFBpcGVsaW5lID0gbV9wbGF5ZXJQcml2YXRlLm1fYXBwZW5kUGlwZWxpbmVzTWFwLmdl
dChzb3VyY2VCdWZmZXJQcml2YXRlKTsKLQotICAgIEFTU0VSVChhcHBlbmRQaXBlbGluZSk7Ci0K
LSAgICBhcHBlbmRQaXBlbGluZS0+cmVzZXRQYXJzZXJTdGF0ZSgpOworICAgIHNvdXJjZUJ1ZmZl
clByaXZhdGUtPmFwcGVuZFBpcGVsaW5lKCkucmVzZXRQYXJzZXJTdGF0ZSgpOwogfQogCiB2b2lk
IE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFOjpyZXNldFBhcnNlclN0YXRlKFJlZlB0cjxT
b3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPiBzb3VyY2VCdWZmZXJQcml2YXRlKQpAQCAtMTA2
LDExICs5OCw3IEBAIHZvaWQgTWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6OnJlc2V0UGFy
c2VyU3RhdGUoUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGVHCiAKICAgICBHU1RfREVCVUcoInJl
c2V0dGluZyBwYXJzZXIgc3RhdGUiKTsKIAotICAgIFJlZlB0cjxBcHBlbmRQaXBlbGluZT4gYXBw
ZW5kUGlwZWxpbmUgPSBtX3BsYXllclByaXZhdGUubV9hcHBlbmRQaXBlbGluZXNNYXAuZ2V0KHNv
dXJjZUJ1ZmZlclByaXZhdGUpOwotCi0gICAgQVNTRVJUKGFwcGVuZFBpcGVsaW5lKTsKLQotICAg
IGFwcGVuZFBpcGVsaW5lLT5yZXNldFBhcnNlclN0YXRlKCk7CisgICAgc291cmNlQnVmZmVyUHJp
dmF0ZS0+YXBwZW5kUGlwZWxpbmUoKS5yZXNldFBhcnNlclN0YXRlKCk7CiB9CiAKIHZvaWQgTWVk
aWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6OmFwcGVuZChSZWZQdHI8U291cmNlQnVmZmVyUHJp
dmF0ZUdTdHJlYW1lcj4gc291cmNlQnVmZmVyUHJpdmF0ZSwgVmVjdG9yPHVuc2lnbmVkIGNoYXI+
JiYgZGF0YSkKQEAgLTExOSwxMCArMTA3LDYgQEAgdm9pZCBNZWRpYVNvdXJjZUNsaWVudEdTdHJl
YW1lck1TRTo6YXBwZW5kKFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPgogCiAg
ICAgR1NUX0RFQlVHKCJBcHBlbmRpbmcgJXp1IGJ5dGVzIiwgZGF0YS5zaXplKCkpOwogCi0gICAg
UmVmUHRyPEFwcGVuZFBpcGVsaW5lPiBhcHBlbmRQaXBlbGluZSA9IG1fcGxheWVyUHJpdmF0ZS5t
X2FwcGVuZFBpcGVsaW5lc01hcC5nZXQoc291cmNlQnVmZmVyUHJpdmF0ZSk7Ci0KLSAgICBBU1NF
UlQoYXBwZW5kUGlwZWxpbmUpOwotCiAgICAgLy8gV3JhcCB0aGUgd2hvbGUgVmVjdG9yIG9iamVj
dCBpbiBjYXNlIHRoZSBkYXRhIGlzIHN0b3JlZCBpbiB0aGUgaW5saW5lZCBidWZmZXIuCiAgICAg
YXV0byogYnVmZmVyRGF0YSA9IGRhdGEuZGF0YSgpOwogICAgIGF1dG8gYnVmZmVyTGVuZ3RoID0g
ZGF0YS5zaXplKCk7CkBAIC0xMzIsNyArMTE2LDcgQEAgdm9pZCBNZWRpYVNvdXJjZUNsaWVudEdT
dHJlYW1lck1TRTo6YXBwZW5kKFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPgog
ICAgICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFZlY3Rvcjx1bnNpZ25lZCBjaGFyPio+KGRh
dGEpOwogICAgICAgICB9KSk7CiAKLSAgICBhcHBlbmRQaXBlbGluZS0+cHVzaE5ld0J1ZmZlcihX
VEZNb3ZlKGJ1ZmZlcikpOworICAgIHNvdXJjZUJ1ZmZlclByaXZhdGUtPmFwcGVuZFBpcGVsaW5l
KCkucHVzaE5ld0J1ZmZlcihXVEZNb3ZlKGJ1ZmZlcikpOwogfQogCiB2b2lkIE1lZGlhU291cmNl
Q2xpZW50R1N0cmVhbWVyTVNFOjptYXJrRW5kT2ZTdHJlYW0oTWVkaWFTb3VyY2VQcml2YXRlOjpF
bmRPZlN0cmVhbVN0YXR1cyBzdGF0dXMpCkBAIC0xNDgsMTEgKzEzMiw2IEBAIHZvaWQgTWVkaWFT
b3VyY2VDbGllbnRHU3RyZWFtZXJNU0U6OnJlbW92ZWRGcm9tTWVkaWFTb3VyY2UoUmVmUHRyPFNv
dXJjZUJ1ZmZlclByCiAKICAgICBBU1NFUlQobV9wbGF5ZXJQcml2YXRlLm1fcGxheWJhY2tQaXBl
bGluZSk7CiAKLSAgICAvLyBSZW1vdmUgdGhlIEFwcGVuZFBpcGVsaW5lIGZyb20gdGhlIG1hcC4g
VGhpcyBzaG91bGQgY2F1c2UgaXRzIGRlc3RydWN0aW9uIHNpbmNlIHRoZXJlIHNob3VsZCBiZSBu
byBhbGl2ZQotICAgIC8vIHJlZmVyZW5jZXMgYXQgdGhpcyBwb2ludC4KLSAgICBBU1NFUlQobV9w
bGF5ZXJQcml2YXRlLm1fYXBwZW5kUGlwZWxpbmVzTWFwLmdldChzb3VyY2VCdWZmZXJQcml2YXRl
KS0+aGFzT25lUmVmKCkpOwotICAgIG1fcGxheWVyUHJpdmF0ZS5tX2FwcGVuZFBpcGVsaW5lc01h
cC5yZW1vdmUoc291cmNlQnVmZmVyUHJpdmF0ZSk7Ci0KICAgICBtX3BsYXllclByaXZhdGUubV9w
bGF5YmFja1BpcGVsaW5lLT5yZW1vdmVTb3VyY2VCdWZmZXIoc291cmNlQnVmZmVyUHJpdmF0ZSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVh
bWVyLmNwcAppbmRleCAzM2U4NTA3NTFmOWJmNmIxMTUzOTkwZjdhYTY1MDUyNGNiNjI2ZmZjLi5k
OTZmYjAyZmRjZjNiM2MzMzJlZjM2NzEyYzMzNzg3NmMxYmJjMjMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNlUHJp
dmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL21zZS9NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC03OCw3ICs3
OCw3IEBAIE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcjo6fk1lZGlhU291cmNlUHJpdmF0ZUdT
dHJlYW1lcigpCiBNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXI6OkFkZFN0YXR1cyBNZWRpYVNv
dXJjZVByaXZhdGVHU3RyZWFtZXI6OmFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlwZSYg
Y29udGVudFR5cGUsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYgc291cmNlQnVmZmVyUHJp
dmF0ZSkKIHsKICAgICBERUJVR19MT0coTE9HSURFTlRJRklFUiwgY29udGVudFR5cGUpOwotICAg
IHNvdXJjZUJ1ZmZlclByaXZhdGUgPSBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVh
dGUodGhpcywgbV9jbGllbnQuZ2V0KCksIGNvbnRlbnRUeXBlKTsKKyAgICBzb3VyY2VCdWZmZXJQ
cml2YXRlID0gU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKHRoaXMsIG1fY2xp
ZW50LmdldCgpLCBjb250ZW50VHlwZSwgbV9wbGF5ZXJQcml2YXRlKTsKICAgICBSZWZQdHI8U291
cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcj4gc291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciA9
IHN0YXRpY19jYXN0PFNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIqPihzb3VyY2VCdWZmZXJQ
cml2YXRlLmdldCgpKTsKICAgICBtX3NvdXJjZUJ1ZmZlcnMuYWRkKHNvdXJjZUJ1ZmZlclByaXZh
dGVHU3RyZWFtZXIpOwogICAgIHJldHVybiBtX2NsaWVudC0+YWRkU291cmNlQnVmZmVyKHNvdXJj
ZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIsIGNvbnRlbnRUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJp
dmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvbXNlL1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDYyYjA5NmMx
NjQ5MmZhYjg5ZDYzMTFkMTc5YzY4NmFlNmFlMGM4NDQuLjYxOTczYmU5NDg5NTAyYTg0N2UwZjEx
YTAwNGZmOWI0MTQwNzEzNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VC
dWZmZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMzcsNiArMzcsNyBAQAogCiAjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkgJiYgVVNFKEdTVFJFQU1FUikKIAorI2luY2x1ZGUgIkFwcGVuZFBpcGVs
aW5lLmgiCiAjaW5jbHVkZSAiQ29udGVudFR5cGUuaCIKICNpbmNsdWRlICJHU3RyZWFtZXJDb21t
b24uaCIKICNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaCIKQEAgLTQ4
LDIxICs0OSwyNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVJlZjxTb3VyY2VCdWZmZXJQ
cml2YXRlR1N0cmVhbWVyPiBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGUoTWVk
aWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKiBtZWRpYVNvdXJjZSwgUmVmPE1lZGlhU291cmNlQ2xp
ZW50R1N0cmVhbWVyTVNFPiBjbGllbnQsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlwZSkK
K1JlZjxTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyPiBTb3VyY2VCdWZmZXJQcml2YXRlR1N0
cmVhbWVyOjpjcmVhdGUoTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKiBtZWRpYVNvdXJjZSwg
UmVmPE1lZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFPiBjbGllbnQsIGNvbnN0IENvbnRlbnRU
eXBlJiBjb250ZW50VHlwZSwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFJiBwbGF5ZXJQ
cml2YXRlKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNvdXJjZUJ1ZmZlclByaXZhdGVH
U3RyZWFtZXIobWVkaWFTb3VyY2UsIGNsaWVudC5nZXQoKSwgY29udGVudFR5cGUpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBTb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyKG1lZGlhU291
cmNlLCBjbGllbnQuZ2V0KCksIGNvbnRlbnRUeXBlLCBwbGF5ZXJQcml2YXRlKSk7CiB9CiAKLVNv
dXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OlNvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXIo
TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKiBtZWRpYVNvdXJjZSwgUmVmPE1lZGlhU291cmNl
Q2xpZW50R1N0cmVhbWVyTVNFPiBjbGllbnQsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250ZW50VHlw
ZSkKK1NvdXJjZUJ1ZmZlclByaXZhdGVHU3RyZWFtZXI6OlNvdXJjZUJ1ZmZlclByaXZhdGVHU3Ry
ZWFtZXIoTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKiBtZWRpYVNvdXJjZSwgUmVmPE1lZGlh
U291cmNlQ2xpZW50R1N0cmVhbWVyTVNFPiBjbGllbnQsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250
ZW50VHlwZSwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFJiBwbGF5ZXJQcml2YXRlKQog
ICAgIDogU291cmNlQnVmZmVyUHJpdmF0ZSgpCiAgICAgLCBtX21lZGlhU291cmNlKG1lZGlhU291
cmNlKQogICAgICwgbV90eXBlKGNvbnRlbnRUeXBlKQogICAgICwgbV9jbGllbnQoY2xpZW50Lmdl
dCgpKQorICAgICwgbV9wbGF5ZXJQcml2YXRlKHBsYXllclByaXZhdGUpCiAjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECiAgICAgLCBtX2xvZ2dlcihtZWRpYVNvdXJjZS0+bG9nZ2VyKCkpCiAgICAg
LCBtX2xvZ0lkZW50aWZpZXIobWVkaWFTb3VyY2UtPm5leHRTb3VyY2VCdWZmZXJMb2dJZGVudGlm
aWVyKCkpCiAjZW5kaWYKIHsKKyAgICByZWxheEFkb3B0aW9uUmVxdWlyZW1lbnQoKTsKKyAgICBt
X2FwcGVuZFBpcGVsaW5lID0gV1RGOjptYWtlVW5pcXVlPEFwcGVuZFBpcGVsaW5lPihtX2NsaWVu
dCwgbWFrZVJlZigqdGhpcyksIG1fcGxheWVyUHJpdmF0ZSk7CiB9CiAKIHZvaWQgU291cmNlQnVm
ZmVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0Q2xpZW50KFNvdXJjZUJ1ZmZlclByaXZhdGVDbGllbnQq
IGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0
cmVhbWVyLmgKaW5kZXggZTBiN2JhN2E4MWNlNmMzOGFiMmM3YWY5OGUxOTUyYzgzYWNmZTkxMy4u
MGM3YzZhNTMzMDI2NzEwZDM5OWVmMzI0NTM5YmI5ODIxODA2ZjllZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQ
cml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL21zZS9Tb3VyY2VCdWZmZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTU0LDcgKzU0
LDcgQEAgY2xhc3MgU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciBmaW5hbCA6IHB1YmxpYyBT
b3VyY2VCdWZmZXJQcml2YXRlCiB7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFNvdXJjZUJ1
ZmZlclByaXZhdGVHU3RyZWFtZXI+IGNyZWF0ZShNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIq
LCBSZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+LCBjb25zdCBDb250ZW50VHlwZSYp
OworICAgIHN0YXRpYyBSZWY8U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcj4gY3JlYXRlKE1l
ZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lciosIFJlZjxNZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1l
ck1TRT4sIGNvbnN0IENvbnRlbnRUeXBlJiwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNF
Jik7CiAgICAgdmlydHVhbCB+U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcigpID0gZGVmYXVs
dDsKIAogICAgIHZvaWQgY2xlYXJNZWRpYVNvdXJjZSgpIHsgbV9tZWRpYVNvdXJjZSA9IG51bGxw
dHI7IH0KQEAgLTg0LDYgKzg0LDggQEAgcHVibGljOgogCiAgICAgQ29udGVudFR5cGUgdHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogCisgICAgQXBwZW5kUGlwZWxpbmUmIGFwcGVuZFBp
cGVsaW5lKCkgeyByZXR1cm4gKm1fYXBwZW5kUGlwZWxpbmU7IH0KKwogI2lmICFSRUxFQVNFX0xP
R19ESVNBQkxFRAogICAgIGNvbnN0IExvZ2dlciYgbG9nZ2VyKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gbV9sb2dnZXIuZ2V0KCk7IH0KICAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiAiU291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lciI7IH0KQEAg
LTk0LDEyICs5NiwxNCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICBTb3VyY2VC
dWZmZXJQcml2YXRlR1N0cmVhbWVyKE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lciosIFJlZjxN
ZWRpYVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRT4sIGNvbnN0IENvbnRlbnRUeXBlJik7CisgICAg
U291cmNlQnVmZmVyUHJpdmF0ZUdTdHJlYW1lcihNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIq
LCBSZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+LCBjb25zdCBDb250ZW50VHlwZSYs
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSYpOwogICAgIGZyaWVuZCBjbGFzcyBNZWRp
YVNvdXJjZUNsaWVudEdTdHJlYW1lck1TRTsKIAogICAgIE1lZGlhU291cmNlUHJpdmF0ZUdTdHJl
YW1lciogbV9tZWRpYVNvdXJjZTsKICAgICBDb250ZW50VHlwZSBtX3R5cGU7CiAgICAgUmVmPE1l
ZGlhU291cmNlQ2xpZW50R1N0cmVhbWVyTVNFPiBtX2NsaWVudDsKKyAgICBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJNU0UmIG1fcGxheWVyUHJpdmF0ZTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
QXBwZW5kUGlwZWxpbmU+IG1fYXBwZW5kUGlwZWxpbmU7CiAgICAgU291cmNlQnVmZmVyUHJpdmF0
ZUNsaWVudCogbV9zb3VyY2VCdWZmZXJQcml2YXRlQ2xpZW50IHsgbnVsbHB0ciB9OwogICAgIGJv
b2wgbV9pc1JlYWR5Rm9yTW9yZVNhbXBsZXMgPSB0cnVlOwogICAgIGJvb2wgbV9ub3RpZnlXaGVu
UmVhZHlGb3JNb3JlU2FtcGxlcyA9IGZhbHNlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>