<?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>208370</bug_id>
          
          <creation_ts>2020-02-28 03:20:59 -0800</creation_ts>
          <short_desc>LocalSampleBufferDisplayLayer is not computing the correct bounds/position in GPUProcess</short_desc>
          <delta_ts>2020-03-02 07:35:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1623924</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-28 03:20:59 -0800</bug_when>
    <thetext>LocalSampleBufferDisplayLayer is not computing the correct bounds/position in GPUProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623931</commentid>
    <comment_count>1</comment_count>
      <attachid>391972</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-28 04:17:41 -0800</bug_when>
    <thetext>Created attachment 391972
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623939</commentid>
    <comment_count>2</comment_count>
      <attachid>391974</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-28 05:16:21 -0800</bug_when>
    <thetext>Created attachment 391974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623972</commentid>
    <comment_count>3</comment_count>
      <attachid>391974</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-02-28 09:12:44 -0800</bug_when>
    <thetext>Comment on attachment 391974
Patch

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

&gt; Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:59
&gt; +    if (!m_connection-&gt;sendSync(Messages::RemoteSampleBufferDisplayLayerManager::CreateLayer { m_identifier, hideRootLayer, size }, Messages::RemoteSampleBufferDisplayLayerManager::CreateLayer::Reply { contextId }, 0))

Could this be made async by allocating a local CALayer for m_videoLayer and inserting the CALayerHost layer as a child once you have the remote context ID?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623980</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-02-28 10:07:44 -0800</bug_when>
    <thetext>(In reply to Eric Carlson from comment #3)
&gt; Comment on attachment 391974 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=391974&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:59
&gt; &gt; +    if (!m_connection-&gt;sendSync(Messages::RemoteSampleBufferDisplayLayerManager::CreateLayer { m_identifier, hideRootLayer, size }, Messages::RemoteSampleBufferDisplayLayerManager::CreateLayer::Reply { contextId }, 0))
&gt; 
&gt; Could this be made async by allocating a local CALayer for m_videoLayer and
&gt; inserting the CALayerHost layer as a child once you have the remote context
&gt; ID?

We should fix this at some point.
Your approach sounds good.
We could also make this async at WebCore level.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624538</commentid>
    <comment_count>5</comment_count>
      <attachid>391974</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 07:34:11 -0800</bug_when>
    <thetext>Comment on attachment 391974
Patch

Clearing flags on attachment: 391974

Committed r257709: &lt;https://trac.webkit.org/changeset/257709&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624539</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-02 07:34:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624541</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-02 07:35:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/59950161&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391972</attachid>
            <date>2020-02-28 04:17:41 -0800</date>
            <delta_ts>2020-02-28 05:16:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208370-20200228131740.patch</filename>
            <type>text/plain</type>
            <size>18084</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3MzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA1NTdjZGE4OWYzNmFi
OWZhNDM1MDI2OWVmNDNhYjU1NzkxMmI5ZC4uNWMyYTk2OWNiMDRmYzY4OThhYTI3ODViYTdiNjc4
MmY0YjhlMmY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAyLTI4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBMb2NhbFNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllciBpcyBub3QgY29tcHV0aW5nIHRoZSBjb3JyZWN0IGJvdW5kcy9wb3NpdGlv
biBpbiBHUFVQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDgzNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaGVuIGluIEdQVVByb2Nlc3MsIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBib3VuZHMg
b2YgdGhlIHJlbW90ZSBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci4KKyAgICAgICAgSW4g
Y2FzZSBvZiBzYW1wbGVzIHdpdGggcm90YXRpb24sIHRoZSBjb21wdXRhdGlvbiB3YXMgd3Jvbmcu
CisgICAgICAgIE1vdmUgdGhlIHJvdGF0aW9uIGxvZ2ljIGZyb20gTWVkaWFQTGF5ZXJQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDIHRvIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLgorICAg
ICAgICBUaGlzIGFsbG93cyBpbiBXZWJLaXQyIHRvIHNlbmQgdGhlIHJvdGF0aW9uIGluZm9ybWF0
aW9uIHdpdGggdGhlIGJvdW5kcyBpbmZvcm1hdGlvbi4KKyAgICAgICAgUmVtb3ZlIHRoZSBib3Vu
ZHMgZ2V0dGVyIHNpbmNlIGl0IGlzIG5vIGxvbmdlciB1c2VkLgorICAgICAgICBDb3ZlcmVkIGJ5
IG1hbnVhbCB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXI6OnVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjp1cGRhdGVSb290TGF5ZXJCb3VuZHNBbmRQ
b3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
cjo6ZW5xdWV1ZVNhbXBsZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp1cGRhdGVE
aXNwbGF5TGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVv
Q2FwdHVyZVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFWVmlkZW9DYXB0dXJlU291cmNl
OjpjYXB0dXJlT3V0cHV0RGlkT3V0cHV0U2FtcGxlQnVmZmVyRnJvbUNvbm5lY3Rpb24pOgorCiAy
MDIwLTAyLTI2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBD
b252ZXJzaW9uIGJldHdlZW4gTWVkaWFTYW1wbGUgYW5kIFJlbW90ZVZpZGVvU2FtcGxlIHNob3Vs
ZCBwcmVzZXJ2ZSB0aGUgcm90YXRpb24gaW5mb3JtYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjUyY2UxMWEy
OGQ3OTc2MjBlOWNmNzgzODYyZTc5Y2YzMWM1NzQ4ZS4uMjdhNzFiZDEwYzk5ZWJmM2M1ZGJlOTY2
MTg1MmEwZDA4OTM0MTBlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMC0wMi0yOCAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTG9jYWxTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIgaXMgbm90IGNvbXB1dGluZyB0aGUgY29ycmVjdCBib3VuZHMvcG9z
aXRpb24gaW4gR1BVUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA4MzcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIHRoZSBib3VuZHMgZ2V0dGVyIGxvZ2ljLgorICAgICAgICBNYWtl
IHVzZSBvZiBuZXcgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgcm91dGluZSB0byBwcm9w
ZXJseSB1cGRhdGUgdGhlIGxheWVyIGJvdW5kcy4KKworICAgICAgICAqIEdQVVByb2Nlc3Mvd2Vi
cnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6dXBkYXRlQm91bmRzQW5kUG9zaXRpb24p
OgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllci5oOgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcjo6Y3JlYXRlTGF5ZXIpOgorICAg
ICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1h
bmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllcjo6U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKToKKyAgICAgICAgKFdlYktpdDo6
U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjp1cGRhdGVCb3VuZHNBbmRQb3NpdGlvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oOgor
CiAyMDIwLTAyLTI2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBHUFVQcm9jZXNzIHNob3VsZCBiZSBtYWRlIGF3YXJlIG9mIGRldmljZSBvcmllbnRhdGlvbiBm
b3IgY29ycmVjdCB2aWRlbyBjYXB0dXJlIGZyYW1lIHJvdGF0aW9uIGNvbXB1dGF0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKaW5kZXggNDAxYTcyNzBk
ZGQ2NDM2YTM0MmRiZWM0NzhiMDZjMDRjMjJkODcyMC4uYzk3NTBhNmU5MjhmY2JkOWIyMzg5YWZm
YWM2OTZhZmZlZDU1NGQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9TYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXIuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUg
Ik1lZGlhU2FtcGxlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1MYXllci5oIgogI2luY2x1ZGUgPHd0
Zi9XZWFrUHRyLmg+CiAKQEAgLTU1LDkgKzU2LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZURpc3BsYXlNb2RlKGJvb2wgaGlkZURpc3BsYXlMYXllciwgYm9vbCBoaWRlUm9v
dExheWVyKSA9IDA7CiAKLSAgICB2aXJ0dWFsIENHUmVjdCBib3VuZHMoKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFmZmluZVRyYW5zZm9ybShDR0FmZmluZVRyYW5zZm9ybSkg
PSAwOwotICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCb3VuZHNBbmRQb3NpdGlvbihDR1JlY3QsIENH
UG9pbnQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQm91bmRzQW5kUG9zaXRpb24oQ0dS
ZWN0LCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbikgPSAwOwogCiAgICAgdmlydHVhbCB2b2lk
IGZsdXNoKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBmbHVzaEFuZFJlbW92ZUltYWdlKCkgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyLmgKaW5kZXggODhiMjI0YzgwOTFjMGM5NTk0NGZmZTEwNWI2MWMwMzE2MjAyNGJl
Ny4uOWQ5Y2FlYzA1NjllMzhjMjllMGVhNjU4YTE5NmNmMzU3Y2I0YmEzOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5o
CkBAIC01MCwxOSArNTAsMjEgQEAgcHVibGljOgogICAgIHZvaWQgbGF5ZXJFcnJvckRpZENoYW5n
ZSgpOwogICAgIHZvaWQgcm9vdExheWVyQm91bmRzRGlkQ2hhbmdlKCk7CiAKKyAgICBDR1JlY3Qg
Ym91bmRzKCkgY29uc3Q7CisKICAgICBQbGF0Zm9ybUxheWVyKiBkaXNwbGF5TGF5ZXIoKTsKIAog
ICAgIFBsYXRmb3JtTGF5ZXIqIHJvb3RMYXllcigpIGZpbmFsOwogCi0gICAgdm9pZCB1cGRhdGVS
b290TGF5ZXJCb3VuZHNBbmRQb3NpdGlvbihDR1JlY3QsIENHUG9pbnQpOworICAgIGVudW0gY2xh
c3MgU2hvdWxkVXBkYXRlUm9vdExheWVyIHsgTm8sIFllcyB9OworICAgIHZvaWQgdXBkYXRlUm9v
dExheWVyQm91bmRzQW5kUG9zaXRpb24oQ0dSZWN0LCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlv
biwgU2hvdWxkVXBkYXRlUm9vdExheWVyKTsKIAogICAgIGJvb2wgZGlkRmFpbCgpIGNvbnN0IGZp
bmFsOwogCiAgICAgdm9pZCB1cGRhdGVEaXNwbGF5TW9kZShib29sIGhpZGVEaXNwbGF5TGF5ZXIs
IGJvb2wgaGlkZVJvb3RMYXllcikgZmluYWw7CiAKLSAgICBDR1JlY3QgYm91bmRzKCkgY29uc3Qg
ZmluYWw7CiAgICAgdm9pZCB1cGRhdGVBZmZpbmVUcmFuc2Zvcm0oQ0dBZmZpbmVUcmFuc2Zvcm0p
ICBmaW5hbDsKLSAgICB2b2lkIHVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9uKENHUmVjdCwgQ0dQb2lu
dCkgZmluYWw7CisgICAgdm9pZCB1cGRhdGVCb3VuZHNBbmRQb3NpdGlvbihDR1JlY3QsIE1lZGlh
U2FtcGxlOjpWaWRlb1JvdGF0aW9uKSBmaW5hbDsKIAogICAgIHZvaWQgZmx1c2goKSBmaW5hbDsK
ICAgICB2b2lkIGZsdXNoQW5kUmVtb3ZlSW1hZ2UoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxl
QnVmZmVyRGlzcGxheUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KaW5kZXgg
MzVlNTVmZDYxNzczZTM5Yjg0MjlkOTJmNzM4MDBmNGFkMDc4NmIwMS4uMWJiNTQ0OGEyMjkyYmZm
YzY2NmE2NTk1NGU1ZTcyN2ExZjY5NzU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KQEAgLTI0OSwyMSArMjQ5
LDI2IEBAIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnVwZGF0ZUFmZmluZVRy
YW5zZm9ybShDR0FmZmluZVRyYW5zZm9ybSB0cmFuCiAgICAgfSk7CiB9CiAKLXZvaWQgTG9jYWxT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9uKENHUmVjdCB2
aWRlb0JvdW5kcywgQ0dQb2ludCBwb3NpdGlvbikKK3ZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXI6OnVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9uKENHUmVjdCBib3VuZHMsIE1lZGlhU2Ft
cGxlOjpWaWRlb1JvdGF0aW9uIHJvdGF0aW9uKQogewotICAgIHJ1bldpdGhvdXRBbmltYXRpb25z
KFsmXSB7Ci0gICAgICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmdldCgpLmJvdW5kcyA9
IHZpZGVvQm91bmRzOwotICAgICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQoKS5w
b3NpdGlvbiA9IHBvc2l0aW9uOwotICAgIH0pOworICAgIHVwZGF0ZVJvb3RMYXllckJvdW5kc0Fu
ZFBvc2l0aW9uKGJvdW5kcywgcm90YXRpb24sIFNob3VsZFVwZGF0ZVJvb3RMYXllcjo6Tm8pOwog
fQogCi12b2lkIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjp1cGRhdGVSb290TGF5ZXJC
b3VuZHNBbmRQb3NpdGlvbihDR1JlY3QgdmlkZW9Cb3VuZHMsIENHUG9pbnQgcG9zaXRpb24pCit2
b2lkIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjp1cGRhdGVSb290TGF5ZXJCb3VuZHNB
bmRQb3NpdGlvbihDR1JlY3QgYm91bmRzLCBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiByb3Rh
dGlvbiwgU2hvdWxkVXBkYXRlUm9vdExheWVyIHNob3VsZFVwZGF0ZVJvb3RMYXllcikKIHsKICAg
ICBydW5XaXRob3V0QW5pbWF0aW9ucyhbJl0gewotICAgICAgICBtX3Jvb3RMYXllci5nZXQoKS5i
b3VuZHMgPSB2aWRlb0JvdW5kczsKLSAgICAgICAgbV9yb290TGF5ZXIuZ2V0KCkucG9zaXRpb24g
PSBwb3NpdGlvbjsKLSAgICAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuZ2V0KCkuYm91
bmRzID0gdmlkZW9Cb3VuZHM7CisgICAgICAgIENHUG9pbnQgcG9zaXRpb24gPSB7IGJvdW5kcy5z
aXplLndpZHRoIC8gMiwgYm91bmRzLnNpemUuaGVpZ2h0IC8gMn07CisKKyAgICAgICAgaWYgKHNo
b3VsZFVwZGF0ZVJvb3RMYXllciA9PSBTaG91bGRVcGRhdGVSb290TGF5ZXI6OlllcykgeworICAg
ICAgICAgICAgbV9yb290TGF5ZXIuZ2V0KCkucG9zaXRpb24gPSBwb3NpdGlvbjsKKyAgICAgICAg
ICAgIG1fcm9vdExheWVyLmdldCgpLmJvdW5kcyA9IGJvdW5kczsKKyAgICAgICAgfQorCisgICAg
ICAgIGlmIChyb3RhdGlvbiA9PSBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbjo6UmlnaHQgfHwg
cm90YXRpb24gPT0gTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb246OkxlZnQpCisgICAgICAgICAg
ICBzdGQ6OnN3YXAoYm91bmRzLnNpemUud2lkdGgsIGJvdW5kcy5zaXplLmhlaWdodCk7CisKICAg
ICAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuZ2V0KCkucG9zaXRpb24gPSBwb3NpdGlv
bjsKKyAgICAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuZ2V0KCkuYm91bmRzID0gYm91
bmRzOwogICAgIH0pOwogfQogCkBAIC0yODUsNiArMjkwLDcgQEAgdm9pZCBMb2NhbFNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBsZShNZWRpYVNhbXBsZSYgc2FtcGxlKQogICAg
ICAgICByZXR1cm47CiAgICAgfQogCisgICAgV1RGTG9nQWx3YXlzKCJMb2NhbFNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllcjo6ZW5xdWV1ZVNhbXBsZSAlZFxuIiwgKGludClzYW1wbGUudmlkZW9Sb3Rh
dGlvbigpKTsKICAgICBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgZW5xdWV1ZVNhbXBsZUJ1
ZmZlcjpzYW1wbGUucGxhdGZvcm1TYW1wbGUoKS5zYW1wbGUuY21TYW1wbGVCdWZmZXJdOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KaW5kZXggMmQwYjMxYTBhODExMmQzNzQzYjllYTJj
ODQ2MDBmOWY5ODM5M2I1Ni4uOWZmMjUyOGU5YTdjZjE0MGFkYjNmNjUxZWU0MWY4OWRiYzM1Njdk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQpAQCAtMTA0MSwxMiArMTA0MSw3IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp1cGRhdGVEaXNwbGF5TGF5
ZXIoKQogICAgIGlmICghbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGF1dG8gYm91bmRzID0gcm9vdExheWVyKCkuYm91bmRzOwotICAgIGF1dG8gdmlk
ZW9Cb3VuZHMgPSBib3VuZHM7Ci0gICAgaWYgKG1fdmlkZW9Sb3RhdGlvbiA9PSBNZWRpYVNhbXBs
ZTo6VmlkZW9Sb3RhdGlvbjo6UmlnaHQgfHwgbV92aWRlb1JvdGF0aW9uID09IE1lZGlhU2FtcGxl
OjpWaWRlb1JvdGF0aW9uOjpMZWZ0KQotICAgICAgICBzdGQ6OnN3YXAodmlkZW9Cb3VuZHMuc2l6
ZS53aWR0aCwgdmlkZW9Cb3VuZHMuc2l6ZS5oZWlnaHQpOwotCi0gICAgbV9zYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXItPnVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9uKHZpZGVvQm91bmRzLCB7IGJvdW5k
cy5zaXplLndpZHRoIC8gMiwgYm91bmRzLnNpemUuaGVpZ2h0IC8gMn0pOworICAgIG1fc2FtcGxl
QnVmZmVyRGlzcGxheUxheWVyLT51cGRhdGVCb3VuZHNBbmRQb3NpdGlvbihyb290TGF5ZXIoKS5i
b3VuZHMsIG1fdmlkZW9Sb3RhdGlvbik7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTdHJlYW1BVkZPYmpDOjpyb290TGF5ZXJCb3VuZHNEaWRDaGFuZ2UoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291
cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9D
YXB0dXJlU291cmNlLm1tCmluZGV4IDY5ZTA1ZThlY2FlN2ZhZTA1ZWI1NjE4N2E4ZGRkNGJmNTVl
YTgyMzEuLjhhYTlhYTk3YjdhYjA3M2YwNWQ0MDNhOGQ0MDZkNjQ3Njk0OWE0ZjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVy
ZVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
QVZWaWRlb0NhcHR1cmVTb3VyY2UubW0KQEAgLTU0MCw3ICs1NDAsNiBAQCB2b2lkIEFWVmlkZW9D
YXB0dXJlU291cmNlOjpjYXB0dXJlT3V0cHV0RGlkT3V0cHV0U2FtcGxlQnVmZmVyRnJvbUNvbm5l
Y3Rpb24oQVZDYQogICAgIGlmIChtX2ZyYW1lc1RvRHJvcEF0U3RhcnR1cCAmJiBtX2ZyYW1lc1Rv
RHJvcEF0U3RhcnR1cC0tKQogICAgICAgICByZXR1cm47CiAKLSAgICBXVEZMb2dBbHdheXMoIkFW
VmlkZW9DYXB0dXJlU291cmNlOjpjYXB0dXJlT3V0cHV0RGlkT3V0cHV0U2FtcGxlQnVmZmVyRnJv
bUNvbm5lY3Rpb24yXG4iKTsKICAgICBhdXRvIHNhbXBsZSA9IE1lZGlhU2FtcGxlQVZGT2JqQzo6
Y3JlYXRlKHNhbXBsZUJ1ZmZlciwgbV9zYW1wbGVSb3RhdGlvbiwgW2NhcHR1cmVDb25uZWN0aW9u
IGlzVmlkZW9NaXJyb3JlZF0pOwogICAgIHNjaGVkdWxlRGVmZXJyZWRUYXNrKFt0aGlzLCBzYW1w
bGUgPSBXVEZNb3ZlKHNhbXBsZSldICgpIG11dGFibGUgewogICAgICAgICBwcm9jZXNzTmV3RnJh
bWUoV1RGTW92ZShzYW1wbGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmNwcApp
bmRleCBmZDA0MTYzNTlhYTUyZTAwNzFlNmQ4ZjBlMmY4YTVhNGIzZDRkMjBhLi5jM2M3MmNiNGM0
ZWRmMmI0YjEyODcyYWQwYTQ3MjVkNmU1OTQ1ODdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXIuY3BwCkBAIC04MSw5ICs4MSw5IEBAIHZvaWQgUmVtb3RlU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyOjp1cGRhdGVBZmZpbmVUcmFuc2Zvcm0oQ0dBZmZpbmVUcmFuc2Zvcm0gdHJhCiAg
ICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPnVwZGF0ZUFmZmluZVRyYW5zZm9ybSh0cmFu
c2Zvcm0pOwogfQogCi12b2lkIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6dXBkYXRl
Qm91bmRzQW5kUG9zaXRpb24oQ0dSZWN0IGJvdW5kcywgQ0dQb2ludCBwb3NpdGlvbikKK3ZvaWQg
UmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjp1cGRhdGVCb3VuZHNBbmRQb3NpdGlvbihD
R1JlY3QgYm91bmRzLCBXZWJDb3JlOjpNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiByb3RhdGlv
bikKIHsKLSAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci0+dXBkYXRlUm9vdExheWVyQm91
bmRzQW5kUG9zaXRpb24oYm91bmRzLCBwb3NpdGlvbik7CisgICAgbV9zYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXItPnVwZGF0ZVJvb3RMYXllckJvdW5kc0FuZFBvc2l0aW9uKGJvdW5kcywgcm90YXRp
b24sIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpTaG91bGRVcGRhdGVSb290TGF5ZXI6
Olllcyk7CiB9CiAKIHZvaWQgUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpmbHVzaCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9S
ZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAppbmRleCA2ZTZhMjE3YTVhMjA1ZWUzNzA4
ZjM0MGJhZDc0NjM5MTZjMmQ2ZTg0Li43MjAxMTYwNjQ1ZDBlMTM5YjljY2U5ODk5Nzc2MjQwOTcw
OWNlYTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90
ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKQEAgLTU5LDcgKzU5LDcg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgdXBkYXRlRGlzcGxheU1vZGUoYm9vbCBoaWRlRGlzcGxh
eUxheWVyLCBib29sIGhpZGVSb290TGF5ZXIpOwogICAgIHZvaWQgdXBkYXRlQWZmaW5lVHJhbnNm
b3JtKENHQWZmaW5lVHJhbnNmb3JtKTsKLSAgICB2b2lkIHVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9u
KENHUmVjdCwgQ0dQb2ludCk7CisgICAgdm9pZCB1cGRhdGVCb3VuZHNBbmRQb3NpdGlvbihDR1Jl
Y3QsIFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uKTsKICAgICB2b2lkIGZsdXNo
KCk7CiAgICAgdm9pZCBmbHVzaEFuZFJlbW92ZUltYWdlKCk7CiAgICAgdm9pZCBlbnF1ZXVlU2Ft
cGxlKFdlYkNvcmU6OlJlbW90ZVZpZGVvU2FtcGxlJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllci5tZXNzYWdlcy5pbgppbmRleCBiN2JiZWZmYTM1YmNkNjA2YzQ4OGUx
ZjZjMWJiYWVkOGExZmY2OWJmLi5jYzFhMTkwMmFlOTE4NWM4ZjExZWZiMzY2YjU3NzgwNDJkYzdl
YjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tZXNzYWdlcy5p
bgpAQCAtMjYsNyArMjYsNyBAQAogbWVzc2FnZXMgLT4gUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyIE5vdFJlZkNvdW50ZWQgewogICAgIFVwZGF0ZURpc3BsYXlNb2RlKGJvb2wgaGlkZURp
c3BsYXlMYXllciwgYm9vbCBoaWRlUm9vdExheWVyKQogICAgIFVwZGF0ZUFmZmluZVRyYW5zZm9y
bShDR0FmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm0pCi0gICAgVXBkYXRlQm91bmRzQW5kUG9zaXRp
b24oQ0dSZWN0IGJvdW5kcywgQ0dQb2ludCBwb3NpdGlvbikKKyAgICBVcGRhdGVCb3VuZHNBbmRQ
b3NpdGlvbihDR1JlY3QgYm91bmRzLCBXZWJDb3JlOjpNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlv
biByb3RhdGlvbikKICAgICBGbHVzaCgpCiAgICAgRmx1c2hBbmRSZW1vdmVJbWFnZSgpCiAgICAg
RW5xdWV1ZVNhbXBsZShXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSBzYW1wbGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9S
ZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcAppbmRleCAxYjcxYjBjMDRl
NThhZDIwZDgyYTI5ZWQzNzg0MmY4YjY1MzEyMmFlLi45MjA2MjY4M2QzMTNhODA2MzNjNWEzZjQ4
NGNmMGQ4NDFmYTYxYjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2Vi
cnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
TWFuYWdlci5jcHAKQEAgLTUzLDkgKzUzLDkgQEAgdm9pZCBSZW1vdGVTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXJNYW5hZ2VyOjpjcmVhdGVMYXllcihTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIKICAg
ICBBU1NFUlQoIW1fbGF5ZXJzLmNvbnRhaW5zKGlkZW50aWZpZXIpKTsKICAgICBhdXRvIGxheWVy
ID0gUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpjcmVhdGUoaWRlbnRpZmllciwgbV9j
b25uZWN0aW9uLmNvcHlSZWYoKSwgaGlkZVJvb3RMYXllciwgc2l6ZSk7CiAgICAgaWYgKCFsYXll
cikKLSAgICAgICAgcmV0dXJuIHJlcGx5KHsgfSwgeyB9KTsKKyAgICAgICAgcmV0dXJuIHJlcGx5
KHsgfSk7CiAKLSAgICByZXBseShsYXllci0+Y29udGV4dElEKCksIGxheWVyLT5ib3VuZHMoKSk7
CisgICAgcmVwbHkobGF5ZXItPmNvbnRleHRJRCgpKTsKICAgICBtX2xheWVycy5hZGQoaWRlbnRp
ZmllciwgV1RGTW92ZShsYXllcikpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllck1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggMDQ0OTUzM2I1MTY1ZGU4
Yzc3YmZlNDYyZjc5OGEzM2QxNjllMDc3Ny4uNzkzNDY4Mjc4OTA0NzE2OThjODE4YjJiYmRmZDg0
YWRjNDlhMDRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9S
ZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjQsNyArMjQsNyBAQAogI2lmIFBMQVRGT1JNKENP
Q09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShWSURFT19UUkFDSykgJiYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKIAogbWVzc2FnZXMgLT4gUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyTWFuYWdlciBOb3RSZWZDb3VudGVkIHsKLSAgICBDcmVhdGVMYXllcihXZWJLaXQ6OlNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllcklkZW50aWZpZXIgaWQsIGJvb2wgaGlkZVJvb3RMYXllciwg
V2ViQ29yZTo6SW50U2l6ZSBzaXplKSAtPiAoT3B0aW9uYWw8V2ViS2l0OjpMYXllckhvc3RpbmdD
b250ZXh0SUQ+IGNvbnRleHRJRCwgQ0dSZWN0IGJvdW5kcykgU3luY2hyb25vdXMKKyAgICBDcmVh
dGVMYXllcihXZWJLaXQ6OlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcklkZW50aWZpZXIgaWQsIGJv
b2wgaGlkZVJvb3RMYXllciwgV2ViQ29yZTo6SW50U2l6ZSBzaXplKSAtPiAoT3B0aW9uYWw8V2Vi
S2l0OjpMYXllckhvc3RpbmdDb250ZXh0SUQ+IGNvbnRleHRJRCkgU3luY2hyb25vdXMKICAgICBS
ZWxlYXNlTGF5ZXIoV2ViS2l0OjpTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJJZGVudGlmaWVyIGlk
KQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9T
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS93ZWJydGMvU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmNwcAppbmRleCBhZTAxNjFhYWQ5NDc0
ZDZiMGYxZjkwMGIwNTQ0ZjU5ODBkMzY5OGZmLi5hOTFiYjA4MjMzMjRmNWY2M2FlZTQ3MTE3YjE2
OTQ0NzgzYzhmYjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5jcHAKQEAgLTU0LDcg
KzU0LDcgQEAgU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXIoU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWcKICAgICBtYW5hZ2VyLmFkZExheWVyKCp0
aGlzKTsKIAogICAgIE9wdGlvbmFsPExheWVySG9zdGluZ0NvbnRleHRJRD4gY29udGV4dElkOwot
ICAgIGlmICghbV9jb25uZWN0aW9uLT5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyTWFuYWdlcjo6Q3JlYXRlTGF5ZXIgeyBtX2lkZW50aWZpZXIsIGhpZGVS
b290TGF5ZXIsIHNpemUgfSwgTWVzc2FnZXM6OlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
ck1hbmFnZXI6OkNyZWF0ZUxheWVyOjpSZXBseSB7IGNvbnRleHRJZCwgbV9ib3VuZHMgfSwgMCkp
CisgICAgaWYgKCFtX2Nvbm5lY3Rpb24tPnNlbmRTeW5jKE1lc3NhZ2VzOjpSZW1vdGVTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyOjpDcmVhdGVMYXllciB7IG1faWRlbnRpZmllciwgaGlk
ZVJvb3RMYXllciwgc2l6ZSB9LCBNZXNzYWdlczo6UmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyTWFuYWdlcjo6Q3JlYXRlTGF5ZXI6OlJlcGx5IHsgY29udGV4dElkIH0sIDApKQogICAgICAg
ICByZXR1cm47CiAKICAgICBpZiAoIWNvbnRleHRJZCkKQEAgLTgwLDIwICs4MCwxNCBAQCB2b2lk
IFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6dXBkYXRlRGlzcGxheU1vZGUoYm9vbCBoaWRlRGlz
cGxheUxheWVyLCBib29sIGhpZAogICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVt
b3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpVcGRhdGVEaXNwbGF5TW9kZSB7IGhpZGVEaXNw
bGF5TGF5ZXIsIGhpZGVSb290TGF5ZXIgfSwgbV9pZGVudGlmaWVyKTsKIH0KIAotQ0dSZWN0IFNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6Ym91bmRzKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9i
b3VuZHM7Ci19Ci0KIHZvaWQgU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjp1cGRhdGVBZmZpbmVU
cmFuc2Zvcm0oQ0dBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtKQogewogICAgIG1fY29ubmVjdGlv
bi0+c2VuZChNZXNzYWdlczo6UmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpVcGRhdGVB
ZmZpbmVUcmFuc2Zvcm0geyB0cmFuc2Zvcm0gfSwgbV9pZGVudGlmaWVyKTsKIH0KIAotdm9pZCBT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9uKENHUmVjdCBi
b3VuZHMsIENHUG9pbnQgcG9zaXRpb24pCit2b2lkIFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6
dXBkYXRlQm91bmRzQW5kUG9zaXRpb24oQ0dSZWN0IGJvdW5kcywgTWVkaWFTYW1wbGU6OlZpZGVv
Um90YXRpb24gcm90YXRpb24pCiB7Ci0gICAgbV9ib3VuZHMgPSBib3VuZHM7Ci0gICAgbV9jb25u
ZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OlVw
ZGF0ZUJvdW5kc0FuZFBvc2l0aW9uIHsgYm91bmRzLCBwb3NpdGlvbiB9LCBtX2lkZW50aWZpZXIp
OworICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyOjpVcGRhdGVCb3VuZHNBbmRQb3NpdGlvbiB7IGJvdW5kcywgcm90YXRpb24gfSwg
bV9pZGVudGlmaWVyKTsKIH0KIAogdm9pZCBTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmZsdXNo
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJy
dGMvU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKaW5kZXggODI1OWM1MmZkZjY5YzZiYjk5NzI1
OWQ1NDJjMmM4NjU3MDM4MjcwYS4uNGI4NjcyNzZiOWU5YWY2YmEzYjI3ZTAxYjQ1MjY4YTBlZDhh
MTYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS93ZWJydGMvU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKQEAgLTUxLDkgKzUxLDggQEAgcHJp
dmF0ZToKICAgICAvLyBXZWJDb3JlOjpTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIKICAgICBib29s
IGRpZEZhaWwoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZURpc3BsYXlNb2RlKGJvb2wg
aGlkZURpc3BsYXlMYXllciwgYm9vbCBoaWRlUm9vdExheWVyKSBmaW5hbDsKLSAgICBDR1JlY3Qg
Ym91bmRzKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCB1cGRhdGVBZmZpbmVUcmFuc2Zvcm0oQ0dB
ZmZpbmVUcmFuc2Zvcm0pIGZpbmFsOwotICAgIHZvaWQgdXBkYXRlQm91bmRzQW5kUG9zaXRpb24o
Q0dSZWN0LCBDR1BvaW50KSBmaW5hbDsKKyAgICB2b2lkIHVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9u
KENHUmVjdCwgV2ViQ29yZTo6TWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24pIGZpbmFsOwogICAg
IHZvaWQgZmx1c2goKSBmaW5hbDsKICAgICB2b2lkIGZsdXNoQW5kUmVtb3ZlSW1hZ2UoKSBmaW5h
bDsKICAgICB2b2lkIGVucXVldWVTYW1wbGUoV2ViQ29yZTo6TWVkaWFTYW1wbGUmKSBmaW5hbDsK
QEAgLTY3LDcgKzY2LDYgQEAgcHJpdmF0ZToKICAgICBTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJJ
ZGVudGlmaWVyIG1faWRlbnRpZmllcjsKIAogICAgIFJldGFpblB0cjxQbGF0Zm9ybUxheWVyPiBt
X3ZpZGVvTGF5ZXI7Ci0gICAgQ0dSZWN0IG1fYm91bmRzOwogICAgIGJvb2wgbV9kaWRGYWlsIHsg
ZmFsc2UgfTsKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391974</attachid>
            <date>2020-02-28 05:16:21 -0800</date>
            <delta_ts>2020-03-02 07:34:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208370-20200228141619.patch</filename>
            <type>text/plain</type>
            <size>16828</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTMyMzY0ZTg0OTdmMzhh
NjM4ODE2MzMwMmEzMjczN2RlNTNkY2MyMy4uYzYyYzllZWIwODMyZTJhZGEzZjExNTJmMDMxYmQx
ZDUxY2VkMzkzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTAyLTI4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBMb2NhbFNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllciBpcyBub3QgY29tcHV0aW5nIHRoZSBjb3JyZWN0IGJvdW5kcy9wb3NpdGlv
biBpbiBHUFVQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDgzNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaGVuIGluIEdQVVByb2Nlc3MsIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBib3VuZHMg
b2YgdGhlIHJlbW90ZSBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci4KKyAgICAgICAgSW4g
Y2FzZSBvZiBzYW1wbGVzIHdpdGggcm90YXRpb24sIHRoZSBjb21wdXRhdGlvbiB3YXMgd3Jvbmcu
CisgICAgICAgIE1vdmUgdGhlIHJvdGF0aW9uIGxvZ2ljIGZyb20gTWVkaWFQTGF5ZXJQcml2YXRl
TWVkaWFTdHJlYW1BVkZPYmpDIHRvIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLgorICAg
ICAgICBUaGlzIGFsbG93cyBpbiBXZWJLaXQyIHRvIHNlbmQgdGhlIHJvdGF0aW9uIGluZm9ybWF0
aW9uIHdpdGggdGhlIGJvdW5kcyBpbmZvcm1hdGlvbi4KKyAgICAgICAgUmVtb3ZlIHRoZSBib3Vu
ZHMgZ2V0dGVyIHNpbmNlIGl0IGlzIG5vIGxvbmdlciB1c2VkLgorICAgICAgICBDb3ZlcmVkIGJ5
IG1hbnVhbCB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXI6OnVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjp1cGRhdGVSb290TGF5ZXJCb3VuZHNBbmRQ
b3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
cjo6ZW5xdWV1ZVNhbXBsZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp1cGRhdGVE
aXNwbGF5TGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVv
Q2FwdHVyZVNvdXJjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFWVmlkZW9DYXB0dXJlU291cmNl
OjpjYXB0dXJlT3V0cHV0RGlkT3V0cHV0U2FtcGxlQnVmZmVyRnJvbUNvbm5lY3Rpb24pOgorCiAy
MDIwLTAyLTI3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBD
b252ZXJzaW9uIGJldHdlZW4gTWVkaWFTYW1wbGUgYW5kIFJlbW90ZVZpZGVvU2FtcGxlIHNob3Vs
ZCBwcmVzZXJ2ZSB0aGUgcm90YXRpb24gaW5mb3JtYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMGQ0MDBlOTBh
NmM0ZTJkZjI3MzFlNWRlODJmMGMzYTBkMTA4ZWQ2Ny4uNTE2MWIzY2U2MTRlMzJjNDJlYzdkYmIw
YWUzMmVjYTA2ZjQxZGQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMC0wMi0yOCAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTG9jYWxTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIgaXMgbm90IGNvbXB1dGluZyB0aGUgY29ycmVjdCBib3VuZHMvcG9z
aXRpb24gaW4gR1BVUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA4MzcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIHRoZSBib3VuZHMgZ2V0dGVyIGxvZ2ljLgorICAgICAgICBNYWtl
IHVzZSBvZiBuZXcgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgcm91dGluZSB0byBwcm9w
ZXJseSB1cGRhdGUgdGhlIGxheWVyIGJvdW5kcy4KKworICAgICAgICAqIEdQVVByb2Nlc3Mvd2Vi
cnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6dXBkYXRlQm91bmRzQW5kUG9zaXRpb24p
OgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllci5oOgorICAgICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBHUFVQcm9jZXNzL3dlYnJ0Yy9SZW1v
dGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcjo6Y3JlYXRlTGF5ZXIpOgorICAg
ICAgICAqIEdQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1h
bmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllcjo6U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKToKKyAgICAgICAgKFdlYktpdDo6
U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjp1cGRhdGVCb3VuZHNBbmRQb3NpdGlvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oOgor
CiAyMDIwLTAyLTI4ICB5b3Vlbm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTWFjT1MvaU9TXSBFbmFibGUgYXVkaW8vdmlkZW8gY2FwdHVyZSBpbiBHUFVQcm9jZXNzIGJ5
IGRlZmF1bHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaApp
bmRleCA0MDFhNzI3MGRkZDY0MzZhMzQyZGJlYzQ3OGIwNmMwNGMyMmQ4NzIwLi5jOTc1MGE2ZTky
OGZjYmQ5YjIzODlhZmZhYzY5NmFmZmVkNTU0ZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vU2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL1Nh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaW5jbHVkZSAiTWVkaWFTYW1wbGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxheWVyLmgi
CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIApAQCAtNTUsOSArNTYsOCBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRGlzcGxheU1vZGUoYm9vbCBoaWRlRGlzcGxheUxheWVy
LCBib29sIGhpZGVSb290TGF5ZXIpID0gMDsKIAotICAgIHZpcnR1YWwgQ0dSZWN0IGJvdW5kcygp
IGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQWZmaW5lVHJhbnNmb3JtKENHQWZm
aW5lVHJhbnNmb3JtKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJvdW5kc0FuZFBvc2l0
aW9uKENHUmVjdCwgQ0dQb2ludCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCb3VuZHNB
bmRQb3NpdGlvbihDR1JlY3QsIE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uKSA9IDA7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZmx1c2goKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGZsdXNoQW5kUmVt
b3ZlSW1hZ2UoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAppbmRleCA4OGIyMjRjODA5MWMwYzk1OTQ0ZmZlMTA1
YjYxYzAzMTYyMDI0YmU3Li45ZDljYWVjMDU2OWUzOGMyOWUwZWE2NThhMTk2Y2YzNTdjYjRiYTM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyLmgKQEAgLTUwLDE5ICs1MCwyMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBsYXll
ckVycm9yRGlkQ2hhbmdlKCk7CiAgICAgdm9pZCByb290TGF5ZXJCb3VuZHNEaWRDaGFuZ2UoKTsK
IAorICAgIENHUmVjdCBib3VuZHMoKSBjb25zdDsKKwogICAgIFBsYXRmb3JtTGF5ZXIqIGRpc3Bs
YXlMYXllcigpOwogCiAgICAgUGxhdGZvcm1MYXllciogcm9vdExheWVyKCkgZmluYWw7CiAKLSAg
ICB2b2lkIHVwZGF0ZVJvb3RMYXllckJvdW5kc0FuZFBvc2l0aW9uKENHUmVjdCwgQ0dQb2ludCk7
CisgICAgZW51bSBjbGFzcyBTaG91bGRVcGRhdGVSb290TGF5ZXIgeyBObywgWWVzIH07CisgICAg
dm9pZCB1cGRhdGVSb290TGF5ZXJCb3VuZHNBbmRQb3NpdGlvbihDR1JlY3QsIE1lZGlhU2FtcGxl
OjpWaWRlb1JvdGF0aW9uLCBTaG91bGRVcGRhdGVSb290TGF5ZXIpOwogCiAgICAgYm9vbCBkaWRG
YWlsKCkgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIHVwZGF0ZURpc3BsYXlNb2RlKGJvb2wgaGlk
ZURpc3BsYXlMYXllciwgYm9vbCBoaWRlUm9vdExheWVyKSBmaW5hbDsKIAotICAgIENHUmVjdCBi
b3VuZHMoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHVwZGF0ZUFmZmluZVRyYW5zZm9ybShDR0Fm
ZmluZVRyYW5zZm9ybSkgIGZpbmFsOwotICAgIHZvaWQgdXBkYXRlQm91bmRzQW5kUG9zaXRpb24o
Q0dSZWN0LCBDR1BvaW50KSBmaW5hbDsKKyAgICB2b2lkIHVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9u
KENHUmVjdCwgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24pIGZpbmFsOwogCiAgICAgdm9pZCBm
bHVzaCgpIGZpbmFsOwogICAgIHZvaWQgZmx1c2hBbmRSZW1vdmVJbWFnZSgpIGZpbmFsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllci5tbQppbmRleCAzNWU1NWZkNjE3NzNlMzliODQyOWQ5MmY3MzgwMGY0YWQwNzg2YjAxLi5i
ZGRlNTllZmViZTMzN2VmZDUwMDA0ZWEzMTg0NDIzYWM3OGRjZmEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5tbQpA
QCAtMjQ5LDIxICsyNDksMjYgQEAgdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6
dXBkYXRlQWZmaW5lVHJhbnNmb3JtKENHQWZmaW5lVHJhbnNmb3JtIHRyYW4KICAgICB9KTsKIH0K
IAotdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6dXBkYXRlQm91bmRzQW5kUG9z
aXRpb24oQ0dSZWN0IHZpZGVvQm91bmRzLCBDR1BvaW50IHBvc2l0aW9uKQordm9pZCBMb2NhbFNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6dXBkYXRlQm91bmRzQW5kUG9zaXRpb24oQ0dSZWN0IGJv
dW5kcywgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gcm90YXRpb24pCiB7Ci0gICAgcnVuV2l0
aG91dEFuaW1hdGlvbnMoWyZdIHsKLSAgICAgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIu
Z2V0KCkuYm91bmRzID0gdmlkZW9Cb3VuZHM7Ci0gICAgICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyLmdldCgpLnBvc2l0aW9uID0gcG9zaXRpb247Ci0gICAgfSk7CisgICAgdXBkYXRlUm9v
dExheWVyQm91bmRzQW5kUG9zaXRpb24oYm91bmRzLCByb3RhdGlvbiwgU2hvdWxkVXBkYXRlUm9v
dExheWVyOjpObyk7CiB9CiAKLXZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnVw
ZGF0ZVJvb3RMYXllckJvdW5kc0FuZFBvc2l0aW9uKENHUmVjdCB2aWRlb0JvdW5kcywgQ0dQb2lu
dCBwb3NpdGlvbikKK3ZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnVwZGF0ZVJv
b3RMYXllckJvdW5kc0FuZFBvc2l0aW9uKENHUmVjdCBib3VuZHMsIE1lZGlhU2FtcGxlOjpWaWRl
b1JvdGF0aW9uIHJvdGF0aW9uLCBTaG91bGRVcGRhdGVSb290TGF5ZXIgc2hvdWxkVXBkYXRlUm9v
dExheWVyKQogewogICAgIHJ1bldpdGhvdXRBbmltYXRpb25zKFsmXSB7Ci0gICAgICAgIG1fcm9v
dExheWVyLmdldCgpLmJvdW5kcyA9IHZpZGVvQm91bmRzOwotICAgICAgICBtX3Jvb3RMYXllci5n
ZXQoKS5wb3NpdGlvbiA9IHBvc2l0aW9uOwotICAgICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllci5nZXQoKS5ib3VuZHMgPSB2aWRlb0JvdW5kczsKKyAgICAgICAgQ0dQb2ludCBwb3NpdGlv
biA9IHsgYm91bmRzLnNpemUud2lkdGggLyAyLCBib3VuZHMuc2l6ZS5oZWlnaHQgLyAyfTsKKwor
ICAgICAgICBpZiAoc2hvdWxkVXBkYXRlUm9vdExheWVyID09IFNob3VsZFVwZGF0ZVJvb3RMYXll
cjo6WWVzKSB7CisgICAgICAgICAgICBtX3Jvb3RMYXllci5nZXQoKS5wb3NpdGlvbiA9IHBvc2l0
aW9uOworICAgICAgICAgICAgbV9yb290TGF5ZXIuZ2V0KCkuYm91bmRzID0gYm91bmRzOworICAg
ICAgICB9CisKKyAgICAgICAgaWYgKHJvdGF0aW9uID09IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0
aW9uOjpSaWdodCB8fCByb3RhdGlvbiA9PSBNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbjo6TGVm
dCkKKyAgICAgICAgICAgIHN0ZDo6c3dhcChib3VuZHMuc2l6ZS53aWR0aCwgYm91bmRzLnNpemUu
aGVpZ2h0KTsKKwogICAgICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQoKS5wb3Np
dGlvbiA9IHBvc2l0aW9uOworICAgICAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQo
KS5ib3VuZHMgPSBib3VuZHM7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5t
bQppbmRleCAyZDBiMzFhMGE4MTEyZDM3NDNiOWVhMmM4NDYwMGY5Zjk4MzkzYjU2Li45ZmYyNTI4
ZTlhN2NmMTQwYWRiM2Y2NTFlZTQxZjg5ZGJjMzU2N2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDLm1tCkBAIC0xMDQxLDEyICsxMDQxLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakM6OnVwZGF0ZURpc3BsYXlMYXllcigpCiAgICAgaWYgKCFtX3NhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byBib3VuZHMgPSBy
b290TGF5ZXIoKS5ib3VuZHM7Ci0gICAgYXV0byB2aWRlb0JvdW5kcyA9IGJvdW5kczsKLSAgICBp
ZiAobV92aWRlb1JvdGF0aW9uID09IE1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uOjpSaWdodCB8
fCBtX3ZpZGVvUm90YXRpb24gPT0gTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb246OkxlZnQpCi0g
ICAgICAgIHN0ZDo6c3dhcCh2aWRlb0JvdW5kcy5zaXplLndpZHRoLCB2aWRlb0JvdW5kcy5zaXpl
LmhlaWdodCk7Ci0KLSAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci0+dXBkYXRlQm91bmRz
QW5kUG9zaXRpb24odmlkZW9Cb3VuZHMsIHsgYm91bmRzLnNpemUud2lkdGggLyAyLCBib3VuZHMu
c2l6ZS5oZWlnaHQgLyAyfSk7CisgICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPnVwZGF0
ZUJvdW5kc0FuZFBvc2l0aW9uKHJvb3RMYXllcigpLmJvdW5kcywgbV92aWRlb1JvdGF0aW9uKTsK
IH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnJvb3RMYXll
ckJvdW5kc0RpZENoYW5nZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5jcHAKaW5k
ZXggZWYzM2I0MDIxOWUxZjgwNWExMWZhOTJjMTA4ZjM3YjBjY2M2YzMyNi4uNTBjNzc2MWNlMTU2
ZWIyNTUxYWFjMjJhNTMyZmQzM2Q1M2UwMGNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyLmNwcApAQCAtODAsOSArODAsOSBAQCB2b2lkIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllcjo6dXBkYXRlQWZmaW5lVHJhbnNmb3JtKENHQWZmaW5lVHJhbnNmb3JtIHRyYQogICAg
IG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLT51cGRhdGVBZmZpbmVUcmFuc2Zvcm0odHJhbnNm
b3JtKTsKIH0KIAotdm9pZCBSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnVwZGF0ZUJv
dW5kc0FuZFBvc2l0aW9uKENHUmVjdCBib3VuZHMsIENHUG9pbnQgcG9zaXRpb24pCit2b2lkIFJl
bW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6dXBkYXRlQm91bmRzQW5kUG9zaXRpb24oQ0dS
ZWN0IGJvdW5kcywgV2ViQ29yZTo6TWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24gcm90YXRpb24p
CiB7Ci0gICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXItPnVwZGF0ZVJvb3RMYXllckJvdW5k
c0FuZFBvc2l0aW9uKGJvdW5kcywgcG9zaXRpb24pOworICAgIG1fc2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyLT51cGRhdGVSb290TGF5ZXJCb3VuZHNBbmRQb3NpdGlvbihib3VuZHMsIHJvdGF0aW9u
LCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6U2hvdWxkVXBkYXRlUm9vdExheWVyOjpZ
ZXMpOwogfQogCiB2b2lkIFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6Zmx1c2goKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVt
b3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmgKaW5kZXggNmU2YTIxN2E1YTIwNWVlMzcwOGYz
NDBiYWQ3NDYzOTE2YzJkNmU4NC4uNzIwMTE2MDY0NWQwZTEzOWI5Y2NlOTg5OTc3NjI0MDk3MDlj
ZWEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCkBAIC01OSw3ICs1OSw3IEBA
IHByaXZhdGU6CiAKICAgICB2b2lkIHVwZGF0ZURpc3BsYXlNb2RlKGJvb2wgaGlkZURpc3BsYXlM
YXllciwgYm9vbCBoaWRlUm9vdExheWVyKTsKICAgICB2b2lkIHVwZGF0ZUFmZmluZVRyYW5zZm9y
bShDR0FmZmluZVRyYW5zZm9ybSk7Ci0gICAgdm9pZCB1cGRhdGVCb3VuZHNBbmRQb3NpdGlvbihD
R1JlY3QsIENHUG9pbnQpOworICAgIHZvaWQgdXBkYXRlQm91bmRzQW5kUG9zaXRpb24oQ0dSZWN0
LCBXZWJDb3JlOjpNZWRpYVNhbXBsZTo6VmlkZW9Sb3RhdGlvbik7CiAgICAgdm9pZCBmbHVzaCgp
OwogICAgIHZvaWQgZmx1c2hBbmRSZW1vdmVJbWFnZSgpOwogICAgIHZvaWQgZW5xdWV1ZVNhbXBs
ZShXZWJDb3JlOjpSZW1vdGVWaWRlb1NhbXBsZSYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXIubWVzc2FnZXMuaW4KaW5kZXggYjdiYmVmZmEzNWJjZDYwNmM0ODhlMWY2
YzFiYmFlZDhhMWZmNjliZi4uY2MxYTE5MDJhZTkxODVjOGYxMWVmYjM2NmI1Nzc4MDQyZGM3ZWIx
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubWVzc2FnZXMuaW4K
QEAgLTI2LDcgKzI2LDcgQEAKIG1lc3NhZ2VzIC0+IFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllciBOb3RSZWZDb3VudGVkIHsKICAgICBVcGRhdGVEaXNwbGF5TW9kZShib29sIGhpZGVEaXNw
bGF5TGF5ZXIsIGJvb2wgaGlkZVJvb3RMYXllcikKICAgICBVcGRhdGVBZmZpbmVUcmFuc2Zvcm0o
Q0dBZmZpbmVUcmFuc2Zvcm0gdHJhbnNmb3JtKQotICAgIFVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9u
KENHUmVjdCBib3VuZHMsIENHUG9pbnQgcG9zaXRpb24pCisgICAgVXBkYXRlQm91bmRzQW5kUG9z
aXRpb24oQ0dSZWN0IGJvdW5kcywgV2ViQ29yZTo6TWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb24g
cm90YXRpb24pCiAgICAgRmx1c2goKQogICAgIEZsdXNoQW5kUmVtb3ZlSW1hZ2UoKQogICAgIEVu
cXVldWVTYW1wbGUoV2ViQ29yZTo6UmVtb3RlVmlkZW9TYW1wbGUgc2FtcGxlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXJNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVt
b3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlci5jcHAKaW5kZXggMWI3MWIwYzA0ZTU4
YWQyMGQ4MmEyOWVkMzc4NDJmOGI2NTMxMjJhZS4uOTIwNjI2ODNkMzEzYTgwNjMzYzVhM2Y0ODRj
ZjBkODQxZmE2MWI2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1h
bmFnZXIuY3BwCkBAIC01Myw5ICs1Myw5IEBAIHZvaWQgUmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyTWFuYWdlcjo6Y3JlYXRlTGF5ZXIoU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyCiAgICAg
QVNTRVJUKCFtX2xheWVycy5jb250YWlucyhpZGVudGlmaWVyKSk7CiAgICAgYXV0byBsYXllciA9
IFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6Y3JlYXRlKGlkZW50aWZpZXIsIG1fY29u
bmVjdGlvbi5jb3B5UmVmKCksIGhpZGVSb290TGF5ZXIsIHNpemUpOwogICAgIGlmICghbGF5ZXIp
Ci0gICAgICAgIHJldHVybiByZXBseSh7IH0sIHsgfSk7CisgICAgICAgIHJldHVybiByZXBseSh7
IH0pOwogCi0gICAgcmVwbHkobGF5ZXItPmNvbnRleHRJRCgpLCBsYXllci0+Ym91bmRzKCkpOwor
ICAgIHJlcGx5KGxheWVyLT5jb250ZXh0SUQoKSk7CiAgICAgbV9sYXllcnMuYWRkKGlkZW50aWZp
ZXIsIFdURk1vdmUobGF5ZXIpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVTYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IDA0NDk1MzNiNTE2NWRlOGM3
N2JmZTQ2MmY3OThhMzNkMTY5ZTA3NzcuLjc5MzQ2ODI3ODkwNDcxNjk4YzgxOGIyYmJkZmQ4NGFk
YzQ5YTA0YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVt
b3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
ck1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTI0LDcgKzI0LDcgQEAKICNpZiBQTEFURk9STShDT0NP
QSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoVklERU9fVFJBQ0spICYmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllck1hbmFnZXIgTm90UmVmQ291bnRlZCB7Ci0gICAgQ3JlYXRlTGF5ZXIoV2ViS2l0OjpTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXJJZGVudGlmaWVyIGlkLCBib29sIGhpZGVSb290TGF5ZXIsIFdl
YkNvcmU6OkludFNpemUgc2l6ZSkgLT4gKE9wdGlvbmFsPFdlYktpdDo6TGF5ZXJIb3N0aW5nQ29u
dGV4dElEPiBjb250ZXh0SUQsIENHUmVjdCBib3VuZHMpIFN5bmNocm9ub3VzCisgICAgQ3JlYXRl
TGF5ZXIoV2ViS2l0OjpTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJJZGVudGlmaWVyIGlkLCBib29s
IGhpZGVSb290TGF5ZXIsIFdlYkNvcmU6OkludFNpemUgc2l6ZSkgLT4gKE9wdGlvbmFsPFdlYktp
dDo6TGF5ZXJIb3N0aW5nQ29udGV4dElEPiBjb250ZXh0SUQpIFN5bmNocm9ub3VzCiAgICAgUmVs
ZWFzZUxheWVyKFdlYktpdDo6U2FtcGxlQnVmZmVyRGlzcGxheUxheWVySWRlbnRpZmllciBpZCkK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5jcHAKaW5kZXggMWY0Zjc0MDE3NzcwMzYw
OTdkMDM0NGMxMTljZDQ1ZWNkYjIzMzE4Zi4uYTg3MDUwMTkwNWQwNDBkYWIzMDg3MGVhYjY4OTA2
YjNkNDUxYjM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJy
dGMvU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIuY3BwCkBAIC01Niw3ICs1
Niw3IEBAIFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6U2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
KFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnCiAgICAgbWFuYWdlci5hZGRMYXllcigqdGhp
cyk7CiAKICAgICBPcHRpb25hbDxMYXllckhvc3RpbmdDb250ZXh0SUQ+IGNvbnRleHRJZDsKLSAg
ICBpZiAoIW1fY29ubmVjdGlvbi0+c2VuZFN5bmMoTWVzc2FnZXM6OlJlbW90ZVNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllck1hbmFnZXI6OkNyZWF0ZUxheWVyIHsgbV9pZGVudGlmaWVyLCBoaWRlUm9v
dExheWVyLCBzaXplIH0sIE1lc3NhZ2VzOjpSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJN
YW5hZ2VyOjpDcmVhdGVMYXllcjo6UmVwbHkgeyBjb250ZXh0SWQsIG1fYm91bmRzIH0sIDApKQor
ICAgIGlmICghbV9jb25uZWN0aW9uLT5zZW5kU3luYyhNZXNzYWdlczo6UmVtb3RlU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyTWFuYWdlcjo6Q3JlYXRlTGF5ZXIgeyBtX2lkZW50aWZpZXIsIGhpZGVS
b290TGF5ZXIsIHNpemUgfSwgTWVzc2FnZXM6OlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
ck1hbmFnZXI6OkNyZWF0ZUxheWVyOjpSZXBseSB7IGNvbnRleHRJZCB9LCAwKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgaWYgKCFjb250ZXh0SWQpCkBAIC04MiwyMCArODIsMTQgQEAgdm9pZCBT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnVwZGF0ZURpc3BsYXlNb2RlKGJvb2wgaGlkZURpc3Bs
YXlMYXllciwgYm9vbCBoaWQKICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90
ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6VXBkYXRlRGlzcGxheU1vZGUgeyBoaWRlRGlzcGxh
eUxheWVyLCBoaWRlUm9vdExheWVyIH0sIG1faWRlbnRpZmllcik7CiB9CiAKLUNHUmVjdCBTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmJvdW5kcygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fYm91
bmRzOwotfQotCiB2b2lkIFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6dXBkYXRlQWZmaW5lVHJh
bnNmb3JtKENHQWZmaW5lVHJhbnNmb3JtIHRyYW5zZm9ybSkKIHsKICAgICBtX2Nvbm5lY3Rpb24t
PnNlbmQoTWVzc2FnZXM6OlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6VXBkYXRlQWZm
aW5lVHJhbnNmb3JtIHsgdHJhbnNmb3JtIH0sIG1faWRlbnRpZmllcik7CiB9CiAKLXZvaWQgU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyOjp1cGRhdGVCb3VuZHNBbmRQb3NpdGlvbihDR1JlY3QgYm91
bmRzLCBDR1BvaW50IHBvc2l0aW9uKQordm9pZCBTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OnVw
ZGF0ZUJvdW5kc0FuZFBvc2l0aW9uKENHUmVjdCBib3VuZHMsIE1lZGlhU2FtcGxlOjpWaWRlb1Jv
dGF0aW9uIHJvdGF0aW9uKQogewotICAgIG1fYm91bmRzID0gYm91bmRzOwotICAgIG1fY29ubmVj
dGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpVcGRh
dGVCb3VuZHNBbmRQb3NpdGlvbiB7IGJvdW5kcywgcG9zaXRpb24gfSwgbV9pZGVudGlmaWVyKTsK
KyAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllcjo6VXBkYXRlQm91bmRzQW5kUG9zaXRpb24geyBib3VuZHMsIHJvdGF0aW9uIH0sIG1f
aWRlbnRpZmllcik7CiB9CiAKIHZvaWQgU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyOjpmbHVzaCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9TYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCmluZGV4IDgyNTljNTJmZGY2OWM2YmI5OTcyNTlk
NTQyYzJjODY1NzAzODI3MGEuLjRiODY3Mjc2YjllOWFmNmJhM2IyN2UwMWI0NTI2OGEwZWQ4YTE2
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL1NhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL1NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oCkBAIC01MSw5ICs1MSw4IEBAIHByaXZh
dGU6CiAgICAgLy8gV2ViQ29yZTo6U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyCiAgICAgYm9vbCBk
aWRGYWlsKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCB1cGRhdGVEaXNwbGF5TW9kZShib29sIGhp
ZGVEaXNwbGF5TGF5ZXIsIGJvb2wgaGlkZVJvb3RMYXllcikgZmluYWw7Ci0gICAgQ0dSZWN0IGJv
dW5kcygpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgdXBkYXRlQWZmaW5lVHJhbnNmb3JtKENHQWZm
aW5lVHJhbnNmb3JtKSBmaW5hbDsKLSAgICB2b2lkIHVwZGF0ZUJvdW5kc0FuZFBvc2l0aW9uKENH
UmVjdCwgQ0dQb2ludCkgZmluYWw7CisgICAgdm9pZCB1cGRhdGVCb3VuZHNBbmRQb3NpdGlvbihD
R1JlY3QsIFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjpWaWRlb1JvdGF0aW9uKSBmaW5hbDsKICAgICB2
b2lkIGZsdXNoKCkgZmluYWw7CiAgICAgdm9pZCBmbHVzaEFuZFJlbW92ZUltYWdlKCkgZmluYWw7
CiAgICAgdm9pZCBlbnF1ZXVlU2FtcGxlKFdlYkNvcmU6Ok1lZGlhU2FtcGxlJikgZmluYWw7CkBA
IC02Nyw3ICs2Niw2IEBAIHByaXZhdGU6CiAgICAgU2FtcGxlQnVmZmVyRGlzcGxheUxheWVySWRl
bnRpZmllciBtX2lkZW50aWZpZXI7CiAKICAgICBSZXRhaW5QdHI8UGxhdGZvcm1MYXllcj4gbV92
aWRlb0xheWVyOwotICAgIENHUmVjdCBtX2JvdW5kczsKICAgICBib29sIG1fZGlkRmFpbCB7IGZh
bHNlIH07CiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>