<?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>220732</bug_id>
          
          <creation_ts>2021-01-19 08:31:53 -0800</creation_ts>
          <short_desc>Complete WebXRRigidTransform implementation</short_desc>
          <delta_ts>2021-01-27 03:04:24 -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>WebXR</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>208988</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Imanol Fernandez">ifernandez</reporter>
          <assigned_to name="Imanol Fernandez">ifernandez</assigned_to>
          <cc>calvaris</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1720533</commentid>
    <comment_count>0</comment_count>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-01-19 08:31:53 -0800</bug_when>
    <thetext>- Implement inverse()
- Expose raw matrix to be used in XRRigitTransform and XRPose math operations
- Correctly reuse the Float32Array matrixData</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721566</commentid>
    <comment_count>1</comment_count>
      <attachid>418139</attachid>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-01-22 04:48:31 -0800</bug_when>
    <thetext>Created attachment 418139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721569</commentid>
    <comment_count>2</comment_count>
      <attachid>418139</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-01-22 05:45:43 -0800</bug_when>
    <thetext>Comment on attachment 418139
Patch

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

Looking pretty good, just one question...

&gt; Source/WebCore/Modules/webxr/WebXRRigidTransform.cpp:153
&gt; +    m_inverse-&gt;m_inverse = this;

Aren&apos;t we creating a reference loop here?

&gt; Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:585
&gt; +// in TransformationMatrix::recompose4().

Nit: you can put everything in a single line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721572</commentid>
    <comment_count>3</comment_count>
      <attachid>418143</attachid>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-01-22 06:16:42 -0800</bug_when>
    <thetext>Created attachment 418143
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721991</commentid>
    <comment_count>4</comment_count>
      <attachid>418143</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-01-25 01:32:47 -0800</bug_when>
    <thetext>Comment on attachment 418143
Patch

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

&gt; Source/WebCore/Modules/webxr/WebXRRigidTransform.cpp:131
&gt; +    // If the operation IsDetachedBuffer on internal matrix is false, return transformâs internal matrix.

Nit: I think the code is self explanatory here, maybe we don&apos;t need the comment.

&gt; Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:584
&gt; +// TODO: Once https://bugs.webkit.org/show_bug.cgi?id=220856 is addressed we can reuse this function in TransformationMatrix::recompose4().

Nit: in WebKit we normally use FIXME instead of TODO</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721999</commentid>
    <comment_count>5</comment_count>
      <attachid>418267</attachid>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-01-25 02:25:23 -0800</bug_when>
    <thetext>Created attachment 418267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722000</commentid>
    <comment_count>6</comment_count>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-01-25 02:26:08 -0800</bug_when>
    <thetext>Thanks for the review, I fixed the nits in the last patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722011</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-25 03:29:05 -0800</bug_when>
    <thetext>ChangeLog entry in Source/WebCore/ChangeLog is not at the top of the file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722024</commentid>
    <comment_count>8</comment_count>
      <attachid>418273</attachid>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-01-25 04:29:08 -0800</bug_when>
    <thetext>Created attachment 418273
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722031</commentid>
    <comment_count>9</comment_count>
      <attachid>418277</attachid>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-01-25 04:55:42 -0800</bug_when>
    <thetext>Created attachment 418277
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722421</commentid>
    <comment_count>10</comment_count>
      <attachid>418379</attachid>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-01-26 01:32:36 -0800</bug_when>
    <thetext>Created attachment 418379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722520</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-26 08:32:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/73617302&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722657</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-26 12:26:33 -0800</bug_when>
    <thetext>Downloading mechanize-0.4.5...
Installing mechanize-0.4.5...
Installed mechanize-0.4.5!
Sergio Villar found in /Volumes/Data/worker/Commit-Queue/build/LayoutTests/ChangeLog does not appear to be a valid reviewer according to contributors.json.
/Volumes/Data/worker/Commit-Queue/build/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722879</commentid>
    <comment_count>13</comment_count>
      <attachid>418519</attachid>
    <who name="Imanol Fernandez">ifernandez</who>
    <bug_when>2021-01-27 02:10:23 -0800</bug_when>
    <thetext>Created attachment 418519
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722885</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-27 03:04:22 -0800</bug_when>
    <thetext>Committed r271941: &lt;https://trac.webkit.org/changeset/271941&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418519.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418139</attachid>
            <date>2021-01-22 04:48:31 -0800</date>
            <delta_ts>2021-01-22 06:16:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220732-20210122134829.patch</filename>
            <type>text/plain</type>
            <size>14582</size>
            <attacher name="Imanol Fernandez">ifernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBlMTg1NzBmN2QyNTI1
MWZiMTY2MzllOGI1YTdjM2Q1OTU4MDRmMS4uNDg3OWYwZWVkMDYzNjU4OGQ3YWE3OTdjMDJlZWY5
ZDJjZWIxN2RhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw0ICsxLDMxIEBACi0yMDIxLTAxLTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKzIwMjEtMDEtMjIgIEltYW5vbCBGZXJuYW5k
ZXogIDxpZmVybmFuZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29tcGxldGUgV2ViWFJSaWdp
ZFRyYW5zZm9ybSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgLSBJbXBsZW1lbnQgWFJSaWdpZFRyYW5zZm9ybS5pbnZlcnNlKCku
CisgICAgICAgIC0gRXhwb3NlIHJhdyBtYXRyaXggdG8gYmUgdXNlZCBpbiBvdGhlciBXZWJYUiBt
YXRoIGNhbGN1bGF0aW9ucyAoZS5nIHBvc2UgY29tcG9zaXRpb24pLgorICAgICAgICAtIENvcnJl
Y3RseSBsYXppbHkgaW5pdGlhbGl6ZSBhbmQgcmV1c2UgdGhlIEZsb2F0MzJBcnJheSBtYXRyaXhE
YXRhLgorCisgICAgICAgIFRlc3RlZCBieSB0aGUgV2ViWFIgcGxhdGZvcm0gdGVzdHMuCisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6bm9ybWFsaXplUXVhdGVybmlvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUlJp
Z2lkVHJhbnNmb3JtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJSaWdpZFRyYW5z
Zm9ybTo6V2ViWFJSaWdpZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjptX29yaWVudGF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Om1fcmF3VHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYlhSUmlnaWRUcmFuc2Zvcm06Om1hdHJpeCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJY
UlJpZ2lkVHJhbnNmb3JtOjppbnZlcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSUmlnaWRU
cmFuc2Zvcm06OnJhd1RyYW5zZm9ybSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9X
ZWJYUlJpZ2lkVHJhbnNmb3JtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zv
cm1hdGlvbk1hdHJpeDo6ZnJvbVF1YXRlcm5pb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaDoKKworMjAyMS0wMS0yMiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+IAogCiAgICAgICAgIFZhbGlkYXRlIEl0ZW1I
YW5kbGVzIHdoZW4gZGVjb2RpbmcgdGhlbSBpbiBHUFVQcm9jZXNzCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA3MTAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwCmluZGV4IGQzZmRj
ZmI5MGU3MjViMTc5NzgwMDU0YmE2ZTdiYTU0NjRmZjk4OWQuLjljNTA5YmQ1Y2ZlMmVjNDEwOGI5
M2ExMzcyN2NhZDMzNjIwOGEzMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmNwcApAQCAtMzUsNiArMzUsMTggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgYm9vbCBub3JtYWxpemVRdWF0ZXJuaW9uKERPTVBv
aW50SW5pdCYgcSkKK3sKKyAgICBjb25zdCBkb3VibGUgbGVuZ3RoID0gc3RkOjpzcXJ0KHEueCAq
IHEueCArIHEueSAqIHEueSArIHEueiAqIHEueiArIHEudyAqIHEudyk7CisgICAgaWYgKFdURjo6
YXJlRXNzZW50aWFsbHlFcXVhbDxkb3VibGU+KGxlbmd0aCwgMCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBxLnggLz0gbGVuZ3RoOworICAgIHEueSAvPSBsZW5ndGg7CisgICAgcS56IC89
IGxlbmd0aDsKKyAgICBxLncgLz0gbGVuZ3RoOworICAgIHJldHVybiB0cnVlOworfQorCiBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2ViWFJSaWdpZFRyYW5zZm9ybSk7CiAKIFJlZjxXZWJY
UlJpZ2lkVHJhbnNmb3JtPiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoKQpAQCAtNDIsNiAr
NTQsMTIgQEAgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNy
ZWF0ZSgpCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJSaWdpZFRyYW5zZm9ybSh7IH0s
IHsgfSkpOwogfQogCitSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4gV2ViWFJSaWdpZFRyYW5zZm9y
bTo6Y3JlYXRlKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0pCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJSaWdpZFRyYW5zZm9ybSh0cmFuc2Zvcm0pKTsKK30K
KworCiBFeGNlcHRpb25PcjxSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4+IFdlYlhSUmlnaWRUcmFu
c2Zvcm06OmNyZWF0ZShjb25zdCBET01Qb2ludEluaXQmIHBvc2l0aW9uLCBjb25zdCBET01Qb2lu
dEluaXQmIG9yaWVudGF0aW9uKQogewogICAgIC8vIFRoZSBYUlJpZ2lkVHJhbnNmb3JtKHBvc2l0
aW9uLCBvcmllbnRhdGlvbikgY29uc3RydWN0b3IgTVVTVCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcg
c3RlcHMgd2hlbiBpbnZva2VkOgpAQCAtNTgsMTcgKzc2LDggQEAgRXhjZXB0aW9uT3I8UmVmPFdl
YlhSUmlnaWRUcmFuc2Zvcm0+PiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoY29uc3QgRE9N
UG9pbnQKICAgICAvLyAgIDYuIEVsc2UgaW5pdGlhbGl6ZSB0cmFuc2Zvcm3igJlzIG9yaWVudGF0
aW9u4oCZcyB4IHZhbHVlIHRvIG9yaWVudGF0aW9u4oCZcyB4IGRpY3Rpb25hcnkgbWVtYmVyLCB5
IHZhbHVlIHRvIG9yaWVudGF0aW9u4oCZcyB5IGRpY3Rpb25hcnkgbWVtYmVyLCB6IHZhbHVlIHRv
IG9yaWVudGF0aW9u4oCZcyB6IGRpY3Rpb25hcnkgbWVtYmVyIGFuZCB3IHZhbHVlIHRvIG9yaWVu
dGF0aW9u4oCZcyB3IGRpY3Rpb25hcnkgbWVtYmVyLgogICAgIC8vICAgNy4gTm9ybWFsaXplIHgs
IHksIHosIGFuZCB3IGNvbXBvbmVudHMgb2YgdHJhbnNmb3Jt4oCZcyBvcmllbnRhdGlvbi4KICAg
ICBET01Qb2ludEluaXQgb3JpZW50YXRpb25Jbml0IHsgb3JpZW50YXRpb24ueCwgb3JpZW50YXRp
b24ueSwgb3JpZW50YXRpb24ueiwgb3JpZW50YXRpb24udyB9OwotICAgIHsKLSAgICAgICAgZG91
YmxlIGxlbmd0aCA9IHN0ZDo6c3FydChvcmllbnRhdGlvbkluaXQueCAqIG9yaWVudGF0aW9uSW5p
dC54ICsgb3JpZW50YXRpb25Jbml0LnkgKiBvcmllbnRhdGlvbkluaXQueQotICAgICAgICAgICAg
KyBvcmllbnRhdGlvbkluaXQueiAqIG9yaWVudGF0aW9uSW5pdC56ICsgb3JpZW50YXRpb25Jbml0
LncgKiBvcmllbnRhdGlvbkluaXQudyk7Ci0gICAgICAgIGlmIChXVEY6OmFyZUVzc2VudGlhbGx5
RXF1YWw8ZG91YmxlPihsZW5ndGgsIDApKQotICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRTdGF0ZUVycm9yIH07Ci0KLSAgICAgICAgb3JpZW50YXRpb25Jbml0PSB7Ci0gICAg
ICAgICAgICBvcmllbnRhdGlvbkluaXQueCAvIGxlbmd0aCwgb3JpZW50YXRpb25Jbml0LnkgLyBs
ZW5ndGgsCi0gICAgICAgICAgICBvcmllbnRhdGlvbkluaXQueiAvIGxlbmd0aCwgb3JpZW50YXRp
b25Jbml0LncgLyBsZW5ndGgsCi0gICAgICAgIH07Ci0gICAgfQorICAgIGlmICghbm9ybWFsaXpl
UXVhdGVybmlvbihvcmllbnRhdGlvbkluaXQpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
SW52YWxpZFN0YXRlRXJyb3IgfTsKIAogICAgIC8vICAgOC4gUmV0dXJuIHRyYW5zZm9ybS4KICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJYUlJpZ2lkVHJhbnNmb3JtKHBvc2l0aW9uSW5pdCwg
b3JpZW50YXRpb25Jbml0KSk7CkBAIC03OCwxMCArODcsMzEgQEAgV2ViWFJSaWdpZFRyYW5zZm9y
bTo6V2ViWFJSaWdpZFRyYW5zZm9ybShjb25zdCBET01Qb2ludEluaXQmIHBvc2l0aW9uLCBjb25z
dCBET00KICAgICA6IG1fcG9zaXRpb24oRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRlKHBvc2l0aW9u
KSkKICAgICAsIG1fb3JpZW50YXRpb24oRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRlKG9yaWVudGF0
aW9uKSkKIHsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IHByb3Blcmx5LCBwZXIgc3BlYy4KLSAg
ICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtYXRyaXg7Ci0gICAgYXV0byBtYXRyaXhEYXRhID0gbWF0
cml4LnRvQ29sdW1uTWFqb3JGbG9hdEFycmF5KCk7Ci0gICAgbV9tYXRyaXggPSBGbG9hdDMyQXJy
YXk6OmNyZWF0ZShtYXRyaXhEYXRhLmRhdGEoKSwgbWF0cml4RGF0YS5zaXplKCkpOworICAgIFRy
YW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zbGF0aW9uOworICAgIHRyYW5zbGF0aW9uLnRyYW5zbGF0
ZTNkKHBvc2l0aW9uLngsIHBvc2l0aW9uLnksIHBvc2l0aW9uLnopOworICAgIGF1dG8gcm90YXRp
b24gPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZnJvbVF1YXRlcm5pb24ob3JpZW50YXRpb24ueCwg
b3JpZW50YXRpb24ueSwgb3JpZW50YXRpb24ueiwgb3JpZW50YXRpb24udyk7CisgICAgbV9yYXdU
cmFuc2Zvcm0gPSB0cmFuc2xhdGlvbiAqIHJvdGF0aW9uOworfQorCitXZWJYUlJpZ2lkVHJhbnNm
b3JtOjpXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFu
c2Zvcm0pCisgICAgOiBtX3Bvc2l0aW9uKERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZSh7IH0pKQor
ICAgICwgbV9vcmllbnRhdGlvbihET01Qb2ludFJlYWRPbmx5OjpjcmVhdGUoeyB9KSkKKyAgICAs
IG1fcmF3VHJhbnNmb3JtKHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJhbnNmb3JtLmlzSWRlbnRp
dHkoKSkgeworICAgICAgICAvLyBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZGVjb21wb3NlIHJldHVy
bnMgYSBlbXB0eSBxdWF0ZXJuaW9uIGluc3RlYWQgb2YgdW5pdCBxdWF0ZXJuaW9uIGZvciBJZGVu
dGl0eS4KKyAgICAgICAgLy8gV2ViWFIgdGVzdHMgZXhwZWN0IGEgdW5pdCBxdWF0ZXJuaW9uIGZv
ciB0aGlzIGNhc2UuCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBUcmFuc2Zvcm1hdGlv
bk1hdHJpeDo6RGVjb21wb3NlZDRUeXBlIGRlY29tcCA9IHsgfTsKKyAgICB0cmFuc2Zvcm0uZGVj
b21wb3NlNChkZWNvbXApOworCisgICAgbV9wb3NpdGlvbiA9IERPTVBvaW50UmVhZE9ubHk6OmNy
ZWF0ZShkZWNvbXAudHJhbnNsYXRlWCwgZGVjb21wLnRyYW5zbGF0ZVksIGRlY29tcC50cmFuc2xh
dGVaLCAxLjBmKTsKKworICAgIERPTVBvaW50SW5pdCBvcmllbnRhdGlvbkluaXQgeyAtZGVjb21w
LnF1YXRlcm5pb25YLCAtZGVjb21wLnF1YXRlcm5pb25ZLCAtZGVjb21wLnF1YXRlcm5pb25aLCBk
ZWNvbXAucXVhdGVybmlvblcgfTsKKyAgICBub3JtYWxpemVRdWF0ZXJuaW9uKG9yaWVudGF0aW9u
SW5pdCk7CisgICAgbV9vcmllbnRhdGlvbiA9IERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZShvcmll
bnRhdGlvbkluaXQpOwogfQogCiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjp+V2ViWFJSaWdpZFRyYW5z
Zm9ybSgpID0gZGVmYXVsdDsKQEAgLTk2LDE3ICsxMjYsMzggQEAgY29uc3QgRE9NUG9pbnRSZWFk
T25seSYgV2ViWFJSaWdpZFRyYW5zZm9ybTo6b3JpZW50YXRpb24oKSBjb25zdAogICAgIHJldHVy
biBtX29yaWVudGF0aW9uOwogfQogCi1SZWY8RmxvYXQzMkFycmF5PiAgV2ViWFJSaWdpZFRyYW5z
Zm9ybTo6bWF0cml4KCkgY29uc3QKK2NvbnN0IEZsb2F0MzJBcnJheSYgV2ViWFJSaWdpZFRyYW5z
Zm9ybTo6bWF0cml4KCkKK3sKKyAgICAvLyBNYXRyaXggc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhl
IHNhbWUgb2JqZWN0LgorICAgIGlmIChtX21hdHJpeCkKKyAgICAgICAgcmV0dXJuICptX21hdHJp
eDsKKworICAgIC8vIExhemlseSBjcmVhdGUgbWF0cml4IEZsb2F0MzJBcnJheS4KKyAgICBhdXRv
IG1hdHJpeERhdGEgPSBtX3Jhd1RyYW5zZm9ybS50b0NvbHVtbk1ham9yRmxvYXRBcnJheSgpOwor
ICAgIG1fbWF0cml4ID0gRmxvYXQzMkFycmF5OjpjcmVhdGUobWF0cml4RGF0YS5kYXRhKCksIG1h
dHJpeERhdGEuc2l6ZSgpKTsKKworICAgIHJldHVybiAqbV9tYXRyaXg7Cit9CisKK2NvbnN0IFdl
YlhSUmlnaWRUcmFuc2Zvcm0mIFdlYlhSUmlnaWRUcmFuc2Zvcm06OmludmVyc2UoKQogewotICAg
IGF1dG8gbWF0cml4ID0gRmxvYXQzMkFycmF5OjpjcmVhdGUoMTYpOwotICAgIG1hdHJpeC0+emVy
b0ZpbGwoKTsKLSAgICByZXR1cm4gbWF0cml4OworICAgIC8vIEludmVyc2Ugc2hvdWxkIGFsd2F5
cyByZXR1cm4gdGhlIHNhbWUgb2JqZWN0LgorICAgIGlmIChtX2ludmVyc2UpCisgICAgICAgIHJl
dHVybiAqbV9pbnZlcnNlOworICAgIAorICAgIGF1dG8gaW52ZXJzZVRyYW5zZm9ybSA9IG1fcmF3
VHJhbnNmb3JtLmludmVyc2UoKTsKKyAgICBBU1NFUlQoISFpbnZlcnNlVHJhbnNmb3JtKTsKKwor
ICAgIG1faW52ZXJzZSA9IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0ZSgqaW52ZXJzZVRyYW5z
Zm9ybSk7CisgICAgLy8gVGhlIGludmVyc2Ugb2YgYSBpbnZlcnNlIG9iamVjdCBzaG91bGQgcmV0
dXJuIHRoZSBvcmlnaW5hbCBvYmplY3QuCisgICAgbV9pbnZlcnNlLT5tX2ludmVyc2UgPSB0aGlz
OworCisgICAgcmV0dXJuICptX2ludmVyc2U7CiB9CiAKLVJlZjxXZWJYUlJpZ2lkVHJhbnNmb3Jt
PiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjppbnZlcnNlKCkgY29uc3QKK2NvbnN0IFRyYW5zZm9ybWF0
aW9uTWF0cml4JiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpyYXdUcmFuc2Zvcm0oKSBjb25zdAogewot
ICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgcHJvcGVybHkuCi0gICAgcmV0dXJuIFdlYlhSUmlnaWRU
cmFuc2Zvcm06OmNyZWF0ZSgpOworICAgIHJldHVybiBtX3Jhd1RyYW5zZm9ybTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhy
L1dlYlhSUmlnaWRUcmFuc2Zvcm0uaAppbmRleCBkNzM1OTQ2Nzc3MGQwOGQ2YmQ1Y2E5YTIzZTcw
NmMxNjE4MmZlZjJhLi4wZDM3MTkzZjg3MmQ1NzliNzY2MDFhMjljNDY5YjczMTA4MzdmZGZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zv
cm0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zv
cm0uaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShXRUJYUikKIAogI2luY2x1ZGUgIkV4
Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9GbG9hdDMyQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTQxLDIwICs0MiwyNSBAQCBjbGFz
cyBXZWJYUlJpZ2lkVHJhbnNmb3JtIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJSaWdpZFRyYW5z
Zm9ybT4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURURfRVhQT1JUKFdlYlhSUmlnaWRUcmFu
c2Zvcm0sIFdFQkNPUkVfRVhQT1JUKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYlhSUmln
aWRUcmFuc2Zvcm0+IGNyZWF0ZSgpOworICAgIHN0YXRpYyBSZWY8V2ViWFJSaWdpZFRyYW5zZm9y
bT4gY3JlYXRlKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPj4gY3JlYXRlKGNv
bnN0IERPTVBvaW50SW5pdCYsIGNvbnN0IERPTVBvaW50SW5pdCYpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIH5XZWJYUlJpZ2lkVHJhbnNmb3JtKCk7CiAKICAgICBjb25zdCBET01Qb2ludFJlYWRPbmx5
JiBwb3NpdGlvbigpIGNvbnN0OwogICAgIGNvbnN0IERPTVBvaW50UmVhZE9ubHkmIG9yaWVudGF0
aW9uKCkgY29uc3Q7Ci0gICAgUmVmPEZsb2F0MzJBcnJheT4gbWF0cml4KCkgY29uc3Q7Ci0gICAg
UmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IGludmVyc2UoKSBjb25zdDsKKyAgICBjb25zdCBGbG9h
dDMyQXJyYXkmIG1hdHJpeCgpOworICAgIGNvbnN0IFdlYlhSUmlnaWRUcmFuc2Zvcm0mIGludmVy
c2UoKTsKKyAgICBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgcmF3VHJhbnNmb3JtKCkgY29u
c3Q7CiAKIHByaXZhdGU6CiAgICAgV2ViWFJSaWdpZFRyYW5zZm9ybShjb25zdCBET01Qb2ludElu
aXQmLCBjb25zdCBET01Qb2ludEluaXQmKTsKKyAgICBXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4Jik7CiAKICAgICBSZWY8RE9NUG9pbnRSZWFkT25seT4gbV9w
b3NpdGlvbjsKICAgICBSZWY8RE9NUG9pbnRSZWFkT25seT4gbV9vcmllbnRhdGlvbjsKKyAgICBU
cmFuc2Zvcm1hdGlvbk1hdHJpeCBtX3Jhd1RyYW5zZm9ybTsKICAgICBSZWZQdHI8RmxvYXQzMkFy
cmF5PiBtX21hdHJpeDsKKyAgICBSZWZQdHI8V2ViWFJSaWdpZFRyYW5zZm9ybT4gbV9pbnZlcnNl
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0
aW9uTWF0cml4LmNwcAppbmRleCAxYTNiMDI2NzBlYWQwYzJjYjA3ZTQ5ZWIxMTViMjllYjg5YmU0
MTk0Li4xNTU5YTBjNWE3MjM5NWQxN2IyOThkY2RjMmI4N2NmMDU3NjZmOGQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0
aW9uTWF0cml4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcApAQCAtNTgwLDYgKzU4MCwyNyBAQCBUcmFu
c2Zvcm1hdGlvbk1hdHJpeDo6VHJhbnNmb3JtYXRpb25NYXRyaXgoY29uc3QgQWZmaW5lVHJhbnNm
b3JtJiB0KQogICAgIHNldE1hdHJpeCh0LmEoKSwgdC5iKCksIHQuYygpLCB0LmQoKSwgdC5lKCks
IHQuZigpKTsKIH0KIAorCisvLyBUT0RPOiBPbmNlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjA4NTYgaXMgYWRkcmVzc2VkIHdlIGNhbiByZXVzZSB0aGlzIGZ1bmN0
aW9uCisvLyBpbiBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6cmVjb21wb3NlNCgpLgorVHJhbnNmb3Jt
YXRpb25NYXRyaXggVHJhbnNmb3JtYXRpb25NYXRyaXg6OmZyb21RdWF0ZXJuaW9uKGRvdWJsZSBx
eCwgZG91YmxlIHF5LCBkb3VibGUgcXosIGRvdWJsZSBxdykKK3sKKyAgICBjb25zdCBkb3VibGUg
eHggPSBxeCAqIHF4OworICAgIGNvbnN0IGRvdWJsZSB5eSA9IHF5ICogcXk7CisgICAgY29uc3Qg
ZG91YmxlIHp6ID0gcXogKiBxejsKKyAgICBjb25zdCBkb3VibGUgeHogPSBxeCAqIHF6OworICAg
IGNvbnN0IGRvdWJsZSB4eSA9IHF4ICogcXk7IAorICAgIGNvbnN0IGRvdWJsZSB5eiA9IHF5ICog
cXo7CisgICAgY29uc3QgZG91YmxlIHh3ID0gcXcgKiBxeDsKKyAgICBjb25zdCBkb3VibGUgeXcg
PSBxdyAqIHF5OworICAgIGNvbnN0IGRvdWJsZSB6dyA9IHF3ICogcXo7CisKKyAgICByZXR1cm4g
VHJhbnNmb3JtYXRpb25NYXRyaXgoMSAtIDIgKiAoeXkgKyB6eiksIDIgKiAoeHkgKyB6dyksIDIg
KiAoeHogLSB5dyksIDAsCisgICAgICAgIDIgKiAoeHkgLSB6dyksIDEgLSAyICogKHh4ICsgenop
LCAyICogKHl6ICsgeHcpLCAwLAorICAgICAgICAyICogKHh6ICsgeXcpLCAyICogKHl6IC0geHcp
LCAxIC0gMiAqICh4eCArIHl5KSwgMCwKKyAgICAgICAgMCwgMCwgMCwgMSk7Cit9CisKIFRyYW5z
Zm9ybWF0aW9uTWF0cml4JiBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2NhbGUoZG91YmxlIHMpCiB7
CiAgICAgcmV0dXJuIHNjYWxlTm9uVW5pZm9ybShzLCBzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXgu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3Jt
YXRpb25NYXRyaXguaAppbmRleCBjZGQ1MmJjYTQyZjA5MDY3ODlhZDRhZWMxZGFhOWYyOWJjNjRk
YzNiLi42MDBlN2QwYjFjZTI2YTdjMjQyMWQ1ODU2MWNjNTc0YjA0YTE3YjI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0
aW9uTWF0cml4LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0xMTksNiArMTE5LDggQEAgcHVibGljOgog
CiAgICAgV0VCQ09SRV9FWFBPUlQgVHJhbnNmb3JtYXRpb25NYXRyaXgoY29uc3QgQWZmaW5lVHJh
bnNmb3JtJik7CiAKKyAgICBzdGF0aWMgVHJhbnNmb3JtYXRpb25NYXRyaXggZnJvbVF1YXRlcm5p
b24oZG91YmxlIHF4LCBkb3VibGUgcXksIGRvdWJsZSBxeiwgZG91YmxlIHF3KTsKKwogICAgIHN0
YXRpYyBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBpZGVudGl0eTsKIAogICAgIHZvaWQgc2V0
TWF0cml4KGRvdWJsZSBhLCBkb3VibGUgYiwgZG91YmxlIGMsIGRvdWJsZSBkLCBkb3VibGUgZSwg
ZG91YmxlIGYpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggYTVmNGFlZjk3YzAyMDRkNjJmOWVkODI0OTNiOGVjZWI4YTk1NWVk
Ni4uNTI0N2ViZDVjYzQ2N2RjOTQ3NzMwZjk5MDg2NWJhYzM0YTA2ODFjYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTAxLTIyICBJbWFub2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIENvbXBsZXRlIFdlYlhSUmlnaWRUcmFuc2Zvcm0gaW1wbGVtZW50
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MDczMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVu
YWJsZSBYUlJpZ2lkVHJhbnNmb3JtIFdlYlhSIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0v
d3BlL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDEtMjEgIFJvYiBCdWlzICA8cmJ1aXNAaWdh
bGlhLmNvbT4KIAogICAgICAgICBIYW5kbGUgc2hhcGVNYXJnaW4gYmVjb21pbmcgTmFOCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBjNjgxZmE1NGJmMWViNDhiZGNiZDhkOGYzMTI5
OTE0Zjg5MmZlNzcwLi5iYzcyMzJlMGJiNTViNzY5MDAyOThjYmI2YTk4NjI2N2FjYjI3NTM0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0y
MiAgSW1hbm9sIEZlcm5hbmRleiAgPGlmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBD
b21wbGV0ZSBXZWJYUlJpZ2lkVHJhbnNmb3JtIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA3MzIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgWFJSaWdpZFRyYW5zZm9y
bSBXZWJYUiB0ZXN0cy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJp
Z2lkVHJhbnNmb3JtX2ludmVyc2UuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9tYXRyaXguaHR0cHMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0wMS0yMSAgRGV2aW4gUm91c3NvICA8ZHJvdXNz
b0BhcHBsZS5jb20+CiAKICAgICAgICAgW0FwcGxlIFBheV0gdXNlIHRoZSBmaXJzdCBpdGVtIGlu
IGBzaGlwcGluZ09wdGlvbnNgIGV2ZW4gd2hlbiBpdCdzIG5vdCBgc2VsZWN0ZWRgCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hy
UmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52
ZXJzZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQ3ZDIzZjRhNjYyY2Q5ZTIxOGY3
OGI2NTEyOWY0NmNkYzcyMjA4NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9pbnZlcnNl
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBYUlJpZ2lkVHJhbnNm
b3JtIGludmVyc2Ugd29ya3MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX21hdHJpeC5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1fbWF0cml4Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZGUyYjdiMDEzMTg4NjAyOWE3Mjg4MzRmMWFjYTU3MWRkYjJlMThhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4
ci94clJpZ2lkVHJhbnNmb3JtX21hdHJpeC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgWFJSaWdpZFRyYW5zZm9ybSBtYXRyaXggd29ya3MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlYTNmNTg3OTE3YWFjM2U2OWFkZTQ4
MTU3ZjU2ZjEyZDc1OGIzNDc4Li5kYmM5ZmYyOTc0NzE3ZmUwOWRjM2JmNzM3NWUxMjc1YjI4NmVk
YzI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjQw
LDYgKzY0MCw4IEBAIHdlYmtpdC5vcmcvYi8yMDk4NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94cldlYkdMTGF5ZXJfZnJhbWVidWZmCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnhyL25hdmlnYXRvcl94cl9zYW1lT2JqZWN0Lmh0dHBzLmh0bWwgWyBQ
YXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJGcmFtZV9zZXNz
aW9uX3NhbWVPYmplY3QuaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX2NvbnN0cnVjdG9yLmh0dHBzLmh0bWwg
WyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRy
YW5zZm9ybV9pbnZlcnNlLmh0dHBzLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9tYXRyaXguaHR0cHMuaHRtbCBbIFBh
c3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fcHJl
dmVudF9tdWx0aXBsZV9leGNsdXNpdmUuaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9yZW5kZXJfc3RhdGVfdmVydGljYWxfZm92X2ltbWVy
c2l2ZS5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnhyL3JlbmRlcl9zdGF0ZV91cGRhdGUuaHR0cHMuaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418143</attachid>
            <date>2021-01-22 06:16:42 -0800</date>
            <delta_ts>2021-01-25 02:25:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220732-20210122151640.patch</filename>
            <type>text/plain</type>
            <size>15065</size>
            <attacher name="Imanol Fernandez">ifernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBlMTg1NzBmN2QyNTI1
MWZiMTY2MzllOGI1YTdjM2Q1OTU4MDRmMS4uNDg3OWYwZWVkMDYzNjU4OGQ3YWE3OTdjMDJlZWY5
ZDJjZWIxN2RhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw0ICsxLDMxIEBACi0yMDIxLTAxLTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKzIwMjEtMDEtMjIgIEltYW5vbCBGZXJuYW5k
ZXogIDxpZmVybmFuZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29tcGxldGUgV2ViWFJSaWdp
ZFRyYW5zZm9ybSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgLSBJbXBsZW1lbnQgWFJSaWdpZFRyYW5zZm9ybS5pbnZlcnNlKCku
CisgICAgICAgIC0gRXhwb3NlIHJhdyBtYXRyaXggdG8gYmUgdXNlZCBpbiBvdGhlciBXZWJYUiBt
YXRoIGNhbGN1bGF0aW9ucyAoZS5nIHBvc2UgY29tcG9zaXRpb24pLgorICAgICAgICAtIENvcnJl
Y3RseSBsYXppbHkgaW5pdGlhbGl6ZSBhbmQgcmV1c2UgdGhlIEZsb2F0MzJBcnJheSBtYXRyaXhE
YXRhLgorCisgICAgICAgIFRlc3RlZCBieSB0aGUgV2ViWFIgcGxhdGZvcm0gdGVzdHMuCisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6bm9ybWFsaXplUXVhdGVybmlvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUlJp
Z2lkVHJhbnNmb3JtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJSaWdpZFRyYW5z
Zm9ybTo6V2ViWFJSaWdpZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjptX29yaWVudGF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Om1fcmF3VHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYlhSUmlnaWRUcmFuc2Zvcm06Om1hdHJpeCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJY
UlJpZ2lkVHJhbnNmb3JtOjppbnZlcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSUmlnaWRU
cmFuc2Zvcm06OnJhd1RyYW5zZm9ybSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9X
ZWJYUlJpZ2lkVHJhbnNmb3JtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zv
cm1hdGlvbk1hdHJpeDo6ZnJvbVF1YXRlcm5pb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaDoKKworMjAyMS0wMS0yMiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+IAogCiAgICAgICAgIFZhbGlkYXRlIEl0ZW1I
YW5kbGVzIHdoZW4gZGVjb2RpbmcgdGhlbSBpbiBHUFVQcm9jZXNzCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA3MTAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwCmluZGV4IGQzZmRj
ZmI5MGU3MjViMTc5NzgwMDU0YmE2ZTdiYTU0NjRmZjk4OWQuLjcwYmE0NGQ1YmU3YzA2OGU3OWQw
MzA3YWQ0NDBhMDk0OTQ3Y2U4NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmNwcApAQCAtMzUsNiArMzUsMTggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgYm9vbCBub3JtYWxpemVRdWF0ZXJuaW9uKERPTVBv
aW50SW5pdCYgcSkKK3sKKyAgICBjb25zdCBkb3VibGUgbGVuZ3RoID0gc3RkOjpzcXJ0KHEueCAq
IHEueCArIHEueSAqIHEueSArIHEueiAqIHEueiArIHEudyAqIHEudyk7CisgICAgaWYgKFdURjo6
YXJlRXNzZW50aWFsbHlFcXVhbDxkb3VibGU+KGxlbmd0aCwgMCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBxLnggLz0gbGVuZ3RoOworICAgIHEueSAvPSBsZW5ndGg7CisgICAgcS56IC89
IGxlbmd0aDsKKyAgICBxLncgLz0gbGVuZ3RoOworICAgIHJldHVybiB0cnVlOworfQorCiBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2ViWFJSaWdpZFRyYW5zZm9ybSk7CiAKIFJlZjxXZWJY
UlJpZ2lkVHJhbnNmb3JtPiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoKQpAQCAtNDIsNiAr
NTQsMTIgQEAgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNy
ZWF0ZSgpCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJSaWdpZFRyYW5zZm9ybSh7IH0s
IHsgfSkpOwogfQogCitSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4gV2ViWFJSaWdpZFRyYW5zZm9y
bTo6Y3JlYXRlKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0pCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJSaWdpZFRyYW5zZm9ybSh0cmFuc2Zvcm0pKTsKK30K
KworCiBFeGNlcHRpb25PcjxSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4+IFdlYlhSUmlnaWRUcmFu
c2Zvcm06OmNyZWF0ZShjb25zdCBET01Qb2ludEluaXQmIHBvc2l0aW9uLCBjb25zdCBET01Qb2lu
dEluaXQmIG9yaWVudGF0aW9uKQogewogICAgIC8vIFRoZSBYUlJpZ2lkVHJhbnNmb3JtKHBvc2l0
aW9uLCBvcmllbnRhdGlvbikgY29uc3RydWN0b3IgTVVTVCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcg
c3RlcHMgd2hlbiBpbnZva2VkOgpAQCAtNTgsMTcgKzc2LDggQEAgRXhjZXB0aW9uT3I8UmVmPFdl
YlhSUmlnaWRUcmFuc2Zvcm0+PiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoY29uc3QgRE9N
UG9pbnQKICAgICAvLyAgIDYuIEVsc2UgaW5pdGlhbGl6ZSB0cmFuc2Zvcm3igJlzIG9yaWVudGF0
aW9u4oCZcyB4IHZhbHVlIHRvIG9yaWVudGF0aW9u4oCZcyB4IGRpY3Rpb25hcnkgbWVtYmVyLCB5
IHZhbHVlIHRvIG9yaWVudGF0aW9u4oCZcyB5IGRpY3Rpb25hcnkgbWVtYmVyLCB6IHZhbHVlIHRv
IG9yaWVudGF0aW9u4oCZcyB6IGRpY3Rpb25hcnkgbWVtYmVyIGFuZCB3IHZhbHVlIHRvIG9yaWVu
dGF0aW9u4oCZcyB3IGRpY3Rpb25hcnkgbWVtYmVyLgogICAgIC8vICAgNy4gTm9ybWFsaXplIHgs
IHksIHosIGFuZCB3IGNvbXBvbmVudHMgb2YgdHJhbnNmb3Jt4oCZcyBvcmllbnRhdGlvbi4KICAg
ICBET01Qb2ludEluaXQgb3JpZW50YXRpb25Jbml0IHsgb3JpZW50YXRpb24ueCwgb3JpZW50YXRp
b24ueSwgb3JpZW50YXRpb24ueiwgb3JpZW50YXRpb24udyB9OwotICAgIHsKLSAgICAgICAgZG91
YmxlIGxlbmd0aCA9IHN0ZDo6c3FydChvcmllbnRhdGlvbkluaXQueCAqIG9yaWVudGF0aW9uSW5p
dC54ICsgb3JpZW50YXRpb25Jbml0LnkgKiBvcmllbnRhdGlvbkluaXQueQotICAgICAgICAgICAg
KyBvcmllbnRhdGlvbkluaXQueiAqIG9yaWVudGF0aW9uSW5pdC56ICsgb3JpZW50YXRpb25Jbml0
LncgKiBvcmllbnRhdGlvbkluaXQudyk7Ci0gICAgICAgIGlmIChXVEY6OmFyZUVzc2VudGlhbGx5
RXF1YWw8ZG91YmxlPihsZW5ndGgsIDApKQotICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRTdGF0ZUVycm9yIH07Ci0KLSAgICAgICAgb3JpZW50YXRpb25Jbml0PSB7Ci0gICAg
ICAgICAgICBvcmllbnRhdGlvbkluaXQueCAvIGxlbmd0aCwgb3JpZW50YXRpb25Jbml0LnkgLyBs
ZW5ndGgsCi0gICAgICAgICAgICBvcmllbnRhdGlvbkluaXQueiAvIGxlbmd0aCwgb3JpZW50YXRp
b25Jbml0LncgLyBsZW5ndGgsCi0gICAgICAgIH07Ci0gICAgfQorICAgIGlmICghbm9ybWFsaXpl
UXVhdGVybmlvbihvcmllbnRhdGlvbkluaXQpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
SW52YWxpZFN0YXRlRXJyb3IgfTsKIAogICAgIC8vICAgOC4gUmV0dXJuIHRyYW5zZm9ybS4KICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJYUlJpZ2lkVHJhbnNmb3JtKHBvc2l0aW9uSW5pdCwg
b3JpZW50YXRpb25Jbml0KSk7CkBAIC03OCwxMCArODcsMzEgQEAgV2ViWFJSaWdpZFRyYW5zZm9y
bTo6V2ViWFJSaWdpZFRyYW5zZm9ybShjb25zdCBET01Qb2ludEluaXQmIHBvc2l0aW9uLCBjb25z
dCBET00KICAgICA6IG1fcG9zaXRpb24oRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRlKHBvc2l0aW9u
KSkKICAgICAsIG1fb3JpZW50YXRpb24oRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRlKG9yaWVudGF0
aW9uKSkKIHsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IHByb3Blcmx5LCBwZXIgc3BlYy4KLSAg
ICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtYXRyaXg7Ci0gICAgYXV0byBtYXRyaXhEYXRhID0gbWF0
cml4LnRvQ29sdW1uTWFqb3JGbG9hdEFycmF5KCk7Ci0gICAgbV9tYXRyaXggPSBGbG9hdDMyQXJy
YXk6OmNyZWF0ZShtYXRyaXhEYXRhLmRhdGEoKSwgbWF0cml4RGF0YS5zaXplKCkpOworICAgIFRy
YW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zbGF0aW9uOworICAgIHRyYW5zbGF0aW9uLnRyYW5zbGF0
ZTNkKHBvc2l0aW9uLngsIHBvc2l0aW9uLnksIHBvc2l0aW9uLnopOworICAgIGF1dG8gcm90YXRp
b24gPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZnJvbVF1YXRlcm5pb24ob3JpZW50YXRpb24ueCwg
b3JpZW50YXRpb24ueSwgb3JpZW50YXRpb24ueiwgb3JpZW50YXRpb24udyk7CisgICAgbV9yYXdU
cmFuc2Zvcm0gPSB0cmFuc2xhdGlvbiAqIHJvdGF0aW9uOworfQorCitXZWJYUlJpZ2lkVHJhbnNm
b3JtOjpXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFu
c2Zvcm0pCisgICAgOiBtX3Bvc2l0aW9uKERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZSh7IH0pKQor
ICAgICwgbV9vcmllbnRhdGlvbihET01Qb2ludFJlYWRPbmx5OjpjcmVhdGUoeyB9KSkKKyAgICAs
IG1fcmF3VHJhbnNmb3JtKHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJhbnNmb3JtLmlzSWRlbnRp
dHkoKSkgeworICAgICAgICAvLyBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZGVjb21wb3NlIHJldHVy
bnMgYSBlbXB0eSBxdWF0ZXJuaW9uIGluc3RlYWQgb2YgdW5pdCBxdWF0ZXJuaW9uIGZvciBJZGVu
dGl0eS4KKyAgICAgICAgLy8gV2ViWFIgdGVzdHMgZXhwZWN0IGEgdW5pdCBxdWF0ZXJuaW9uIGZv
ciB0aGlzIGNhc2UuCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBUcmFuc2Zvcm1hdGlv
bk1hdHJpeDo6RGVjb21wb3NlZDRUeXBlIGRlY29tcCA9IHsgfTsKKyAgICB0cmFuc2Zvcm0uZGVj
b21wb3NlNChkZWNvbXApOworCisgICAgbV9wb3NpdGlvbiA9IERPTVBvaW50UmVhZE9ubHk6OmNy
ZWF0ZShkZWNvbXAudHJhbnNsYXRlWCwgZGVjb21wLnRyYW5zbGF0ZVksIGRlY29tcC50cmFuc2xh
dGVaLCAxLjBmKTsKKworICAgIERPTVBvaW50SW5pdCBvcmllbnRhdGlvbkluaXQgeyAtZGVjb21w
LnF1YXRlcm5pb25YLCAtZGVjb21wLnF1YXRlcm5pb25ZLCAtZGVjb21wLnF1YXRlcm5pb25aLCBk
ZWNvbXAucXVhdGVybmlvblcgfTsKKyAgICBub3JtYWxpemVRdWF0ZXJuaW9uKG9yaWVudGF0aW9u
SW5pdCk7CisgICAgbV9vcmllbnRhdGlvbiA9IERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZShvcmll
bnRhdGlvbkluaXQpOwogfQogCiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjp+V2ViWFJSaWdpZFRyYW5z
Zm9ybSgpID0gZGVmYXVsdDsKQEAgLTk2LDE3ICsxMjYsNDIgQEAgY29uc3QgRE9NUG9pbnRSZWFk
T25seSYgV2ViWFJSaWdpZFRyYW5zZm9ybTo6b3JpZW50YXRpb24oKSBjb25zdAogICAgIHJldHVy
biBtX29yaWVudGF0aW9uOwogfQogCi1SZWY8RmxvYXQzMkFycmF5PiAgV2ViWFJSaWdpZFRyYW5z
Zm9ybTo6bWF0cml4KCkgY29uc3QKK2NvbnN0IEZsb2F0MzJBcnJheSYgV2ViWFJSaWdpZFRyYW5z
Zm9ybTo6bWF0cml4KCkKK3sKKyAgICAvLyBJZiB0aGUgb3BlcmF0aW9uIElzRGV0YWNoZWRCdWZm
ZXIgb24gaW50ZXJuYWwgbWF0cml4IGlzIGZhbHNlLCByZXR1cm4gdHJhbnNmb3Jt4oCZcyBpbnRl
cm5hbCBtYXRyaXguCisgICAgaWYgKG1fbWF0cml4ICYmICFtX21hdHJpeC0+aXNEZXRhY2hlZCgp
KQorICAgICAgICByZXR1cm4gKm1fbWF0cml4OworCisgICAgLy8gTGF6aWx5IGNyZWF0ZSBtYXRy
aXggRmxvYXQzMkFycmF5LgorICAgIGF1dG8gbWF0cml4RGF0YSA9IG1fcmF3VHJhbnNmb3JtLnRv
Q29sdW1uTWFqb3JGbG9hdEFycmF5KCk7CisgICAgbV9tYXRyaXggPSBGbG9hdDMyQXJyYXk6OmNy
ZWF0ZShtYXRyaXhEYXRhLmRhdGEoKSwgbWF0cml4RGF0YS5zaXplKCkpOworCisgICAgcmV0dXJu
ICptX21hdHJpeDsKK30KKworY29uc3QgV2ViWFJSaWdpZFRyYW5zZm9ybSYgV2ViWFJSaWdpZFRy
YW5zZm9ybTo6aW52ZXJzZSgpCiB7Ci0gICAgYXV0byBtYXRyaXggPSBGbG9hdDMyQXJyYXk6OmNy
ZWF0ZSgxNik7Ci0gICAgbWF0cml4LT56ZXJvRmlsbCgpOwotICAgIHJldHVybiBtYXRyaXg7Cisg
ICAgLy8gVGhlIGludmVyc2Ugb2YgYSBpbnZlcnNlIG9iamVjdCBzaG91bGQgcmV0dXJuIHRoZSBv
cmlnaW5hbCBvYmplY3QuCisgICAgaWYgKG1fcGFyZW50SW52ZXJzZSkKKyAgICAgICAgcmV0dXJu
ICptX3BhcmVudEludmVyc2U7CisKKyAgICAvLyBJbnZlcnNlIHNob3VsZCBhbHdheXMgcmV0dXJu
IHRoZSBzYW1lIG9iamVjdC4KKyAgICBpZiAobV9pbnZlcnNlKQorICAgICAgICByZXR1cm4gKm1f
aW52ZXJzZTsKKyAgICAKKyAgICBhdXRvIGludmVyc2VUcmFuc2Zvcm0gPSBtX3Jhd1RyYW5zZm9y
bS5pbnZlcnNlKCk7CisgICAgQVNTRVJUKCEhaW52ZXJzZVRyYW5zZm9ybSk7CisKKyAgICBtX2lu
dmVyc2UgPSBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoKmludmVyc2VUcmFuc2Zvcm0pOwor
ICAgIC8vIFRoZSBpbnZlcnNlIG9mIGEgaW52ZXJzZSBvYmplY3Qgc2hvdWxkIHJldHVybiB0aGUg
b3JpZ2luYWwgb2JqZWN0LgorICAgIG1faW52ZXJzZS0+bV9wYXJlbnRJbnZlcnNlID0gbWFrZVdl
YWtQdHIodGhpcyk7CisKKyAgICByZXR1cm4gKm1faW52ZXJzZTsKIH0KIAotUmVmPFdlYlhSUmln
aWRUcmFuc2Zvcm0+IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmludmVyc2UoKSBjb25zdAorY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmIFdlYlhSUmlnaWRUcmFuc2Zvcm06OnJhd1RyYW5zZm9ybSgp
IGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudCBwcm9wZXJseS4KLSAgICByZXR1cm4g
V2ViWFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKCk7CisgICAgcmV0dXJuIG1fcmF3VHJhbnNmb3Jt
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5oCmluZGV4IGQ3MzU5NDY3NzcwZDA4ZDZi
ZDVjYTlhMjNlNzA2YzE2MTgyZmVmMmEuLjc4Y2IyN2U3NzYyYTk5MmYwM2Q0NmVhZTU1MDk4YmMx
MjVkYjI4NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJS
aWdpZFRyYW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJS
aWdpZFRyYW5zZm9ybS5oCkBAIC0yOCwzMyArMjgsNDEgQEAKICNpZiBFTkFCTEUoV0VCWFIpCiAK
ICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4
LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRmxvYXQzMkFycmF5Lmg+CiAjaW5jbHVkZSA8
d3RmL0lzb01hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRE9NUG9pbnRJ
bml0OwogY2xhc3MgRE9NUG9pbnRSZWFkT25seTsKIAotY2xhc3MgV2ViWFJSaWdpZFRyYW5zZm9y
bSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IHsKK2NsYXNzIFdlYlhS
UmlnaWRUcmFuc2Zvcm0gOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJYUlJpZ2lkVHJhbnNmb3JtPiwg
cHVibGljIENhbk1ha2VXZWFrUHRyPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IHsKICAgICBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0VYUE9SVChXZWJYUlJpZ2lkVHJhbnNmb3JtLCBXRUJDT1JFX0VYUE9S
VCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiBjcmVhdGUo
KTsKKyAgICBzdGF0aWMgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IGNyZWF0ZShjb25zdCBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBFeGNlcHRpb25P
cjxSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4+IGNyZWF0ZShjb25zdCBET01Qb2ludEluaXQmLCBj
b25zdCBET01Qb2ludEluaXQmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+V2ViWFJSaWdpZFRyYW5z
Zm9ybSgpOwogCiAgICAgY29uc3QgRE9NUG9pbnRSZWFkT25seSYgcG9zaXRpb24oKSBjb25zdDsK
ICAgICBjb25zdCBET01Qb2ludFJlYWRPbmx5JiBvcmllbnRhdGlvbigpIGNvbnN0OwotICAgIFJl
ZjxGbG9hdDMyQXJyYXk+IG1hdHJpeCgpIGNvbnN0OwotICAgIFJlZjxXZWJYUlJpZ2lkVHJhbnNm
b3JtPiBpbnZlcnNlKCkgY29uc3Q7CisgICAgY29uc3QgRmxvYXQzMkFycmF5JiBtYXRyaXgoKTsK
KyAgICBjb25zdCBXZWJYUlJpZ2lkVHJhbnNmb3JtJiBpbnZlcnNlKCk7CisgICAgY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmIHJhd1RyYW5zZm9ybSgpIGNvbnN0OwogCiBwcml2YXRlOgogICAg
IFdlYlhSUmlnaWRUcmFuc2Zvcm0oY29uc3QgRE9NUG9pbnRJbml0JiwgY29uc3QgRE9NUG9pbnRJ
bml0Jik7CisgICAgV2ViWFJSaWdpZFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYpOwogCiAgICAgUmVmPERPTVBvaW50UmVhZE9ubHk+IG1fcG9zaXRpb247CiAgICAgUmVmPERP
TVBvaW50UmVhZE9ubHk+IG1fb3JpZW50YXRpb247CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXgg
bV9yYXdUcmFuc2Zvcm07CiAgICAgUmVmUHRyPEZsb2F0MzJBcnJheT4gbV9tYXRyaXg7CisgICAg
UmVmUHRyPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IG1faW52ZXJzZTsKKyAgICBXZWFrUHRyPFdlYlhS
UmlnaWRUcmFuc2Zvcm0+IG1fcGFyZW50SW52ZXJzZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAKaW5kZXggMWEzYjAy
NjcwZWFkMGMyY2IwN2U0OWViMTE1YjI5ZWI4OWJlNDE5NC4uODQ3ODI0Yjk4ZWY3MTUxMmYwNTYx
YzA4YTIxMzE5NDM0ZmE5YjM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJp
eC5jcHAKQEAgLTU4MCw2ICs1ODAsMjYgQEAgVHJhbnNmb3JtYXRpb25NYXRyaXg6OlRyYW5zZm9y
bWF0aW9uTWF0cml4KGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdCkKICAgICBzZXRNYXRyaXgodC5h
KCksIHQuYigpLCB0LmMoKSwgdC5kKCksIHQuZSgpLCB0LmYoKSk7CiB9CiAKKworLy8gVE9ETzog
T25jZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwODU2IGlzIGFk
ZHJlc3NlZCB3ZSBjYW4gcmV1c2UgdGhpcyBmdW5jdGlvbiBpbiBUcmFuc2Zvcm1hdGlvbk1hdHJp
eDo6cmVjb21wb3NlNCgpLgorVHJhbnNmb3JtYXRpb25NYXRyaXggVHJhbnNmb3JtYXRpb25NYXRy
aXg6OmZyb21RdWF0ZXJuaW9uKGRvdWJsZSBxeCwgZG91YmxlIHF5LCBkb3VibGUgcXosIGRvdWJs
ZSBxdykKK3sKKyAgICBjb25zdCBkb3VibGUgeHggPSBxeCAqIHF4OworICAgIGNvbnN0IGRvdWJs
ZSB5eSA9IHF5ICogcXk7CisgICAgY29uc3QgZG91YmxlIHp6ID0gcXogKiBxejsKKyAgICBjb25z
dCBkb3VibGUgeHogPSBxeCAqIHF6OworICAgIGNvbnN0IGRvdWJsZSB4eSA9IHF4ICogcXk7IAor
ICAgIGNvbnN0IGRvdWJsZSB5eiA9IHF5ICogcXo7CisgICAgY29uc3QgZG91YmxlIHh3ID0gcXcg
KiBxeDsKKyAgICBjb25zdCBkb3VibGUgeXcgPSBxdyAqIHF5OworICAgIGNvbnN0IGRvdWJsZSB6
dyA9IHF3ICogcXo7CisKKyAgICByZXR1cm4gVHJhbnNmb3JtYXRpb25NYXRyaXgoMSAtIDIgKiAo
eXkgKyB6eiksIDIgKiAoeHkgKyB6dyksIDIgKiAoeHogLSB5dyksIDAsCisgICAgICAgIDIgKiAo
eHkgLSB6dyksIDEgLSAyICogKHh4ICsgenopLCAyICogKHl6ICsgeHcpLCAwLAorICAgICAgICAy
ICogKHh6ICsgeXcpLCAyICogKHl6IC0geHcpLCAxIC0gMiAqICh4eCArIHl5KSwgMCwKKyAgICAg
ICAgMCwgMCwgMCwgMSk7Cit9CisKIFRyYW5zZm9ybWF0aW9uTWF0cml4JiBUcmFuc2Zvcm1hdGlv
bk1hdHJpeDo6c2NhbGUoZG91YmxlIHMpCiB7CiAgICAgcmV0dXJuIHNjYWxlTm9uVW5pZm9ybShz
LCBzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAppbmRleCBjZGQ1MmJjYTQy
ZjA5MDY3ODlhZDRhZWMxZGFhOWYyOWJjNjRkYzNiLi42MDBlN2QwYjFjZTI2YTdjMjQyMWQ1ODU2
MWNjNTc0YjA0YTE3YjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBA
IC0xMTksNiArMTE5LDggQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgVHJhbnNmb3Jt
YXRpb25NYXRyaXgoY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CiAKKyAgICBzdGF0aWMgVHJhbnNm
b3JtYXRpb25NYXRyaXggZnJvbVF1YXRlcm5pb24oZG91YmxlIHF4LCBkb3VibGUgcXksIGRvdWJs
ZSBxeiwgZG91YmxlIHF3KTsKKwogICAgIHN0YXRpYyBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCBpZGVudGl0eTsKIAogICAgIHZvaWQgc2V0TWF0cml4KGRvdWJsZSBhLCBkb3VibGUgYiwgZG91
YmxlIGMsIGRvdWJsZSBkLCBkb3VibGUgZSwgZG91YmxlIGYpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTVmNGFlZjk3YzAy
MDRkNjJmOWVkODI0OTNiOGVjZWI4YTk1NWVkNi4uNTI0N2ViZDVjYzQ2N2RjOTQ3NzMwZjk5MDg2
NWJhYzM0YTA2ODFjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAxLTIyICBJbWFub2wg
RmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbXBsZXRlIFdl
YlhSUmlnaWRUcmFuc2Zvcm0gaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDczMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBYUlJpZ2lkVHJhbnNmb3JtIFdlYlhSIHRl
c3RzLgorCisgICAgICAgICogcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEt
MDEtMjEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBIYW5kbGUgc2hh
cGVNYXJnaW4gYmVjb21pbmcgTmFOCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBj
NjgxZmE1NGJmMWViNDhiZGNiZDhkOGYzMTI5OTE0Zjg5MmZlNzcwLi5iYzcyMzJlMGJiNTViNzY5
MDAyOThjYmI2YTk4NjI2N2FjYjI3NTM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0yMiAgSW1hbm9sIEZlcm5hbmRleiAgPGlmZXJuYW5k
ZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBDb21wbGV0ZSBXZWJYUlJpZ2lkVHJhbnNmb3JtIGlt
cGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjA3MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBFbmFibGUgWFJSaWdpZFRyYW5zZm9ybSBXZWJYUiB0ZXN0cy4KKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX2ludmVyc2UuaHR0cHMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJS
aWdpZFRyYW5zZm9ybV9tYXRyaXguaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0w
MS0yMSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgW0FwcGxl
IFBheV0gdXNlIHRoZSBmaXJzdCBpdGVtIGluIGBzaGlwcGluZ09wdGlvbnNgIGV2ZW4gd2hlbiBp
dCdzIG5vdCBgc2VsZWN0ZWRgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjQ3ZDIzZjRhNjYyY2Q5ZTIxOGY3OGI2NTEyOWY0NmNkYzcyMjA4NAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIveHJSaWdpZFRyYW5zZm9ybV9pbnZlcnNlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBYUlJpZ2lkVHJhbnNmb3JtIGludmVyc2Ugd29ya3MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJp
Z2lkVHJhbnNmb3JtX21hdHJpeC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1fbWF0cml4
Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZGUyYjdiMDEzMTg4NjAyOWE3Mjg4MzRm
MWFjYTU3MWRkYjJlMThhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX21hdHJpeC5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgWFJSaWdpZFRyYW5zZm9ybSBt
YXRyaXggd29ya3MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCBlYTNmNTg3OTE3YWFjM2U2OWFkZTQ4MTU3ZjU2ZjEyZDc1OGIzNDc4Li5kYmM5ZmYyOTc0
NzE3ZmUwOWRjM2JmNzM3NWUxMjc1YjI4NmVkYzI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
cGUvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjQwLDYgKzY0MCw4IEBAIHdlYmtpdC5vcmcvYi8yMDk4
NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94cldlYkdMTGF5ZXJfZnJh
bWVidWZmCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL25hdmlnYXRvcl94
cl9zYW1lT2JqZWN0Lmh0dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2VieHIveHJGcmFtZV9zZXNzaW9uX3NhbWVPYmplY3QuaHR0cHMuaHRtbCBbIFBh
c3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNm
b3JtX2NvbnN0cnVjdG9yLmh0dHBzLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9pbnZlcnNlLmh0dHBzLmh0bWwgWyBQ
YXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5z
Zm9ybV9tYXRyaXguaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJ4ci94clNlc3Npb25fcHJldmVudF9tdWx0aXBsZV9leGNsdXNpdmUuaHR0cHMu
aHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9yZW5k
ZXJfc3RhdGVfdmVydGljYWxfZm92X2ltbWVyc2l2ZS5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3JlbmRlcl9zdGF0ZV91cGRhdGUuaHR0
cHMuaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418267</attachid>
            <date>2021-01-25 02:25:23 -0800</date>
            <delta_ts>2021-01-26 09:57:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220732-20210125112521.patch</filename>
            <type>text/plain</type>
            <size>14957</size>
            <attacher name="Imanol Fernandez">ifernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBlMTg1NzBmN2QyNTI1
MWZiMTY2MzllOGI1YTdjM2Q1OTU4MDRmMS4uNDg3OWYwZWVkMDYzNjU4OGQ3YWE3OTdjMDJlZWY5
ZDJjZWIxN2RhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw0ICsxLDMxIEBACi0yMDIxLTAxLTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKzIwMjEtMDEtMjIgIEltYW5vbCBGZXJuYW5k
ZXogIDxpZmVybmFuZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29tcGxldGUgV2ViWFJSaWdp
ZFRyYW5zZm9ybSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgLSBJbXBsZW1lbnQgWFJSaWdpZFRyYW5zZm9ybS5pbnZlcnNlKCku
CisgICAgICAgIC0gRXhwb3NlIHJhdyBtYXRyaXggdG8gYmUgdXNlZCBpbiBvdGhlciBXZWJYUiBt
YXRoIGNhbGN1bGF0aW9ucyAoZS5nIHBvc2UgY29tcG9zaXRpb24pLgorICAgICAgICAtIENvcnJl
Y3RseSBsYXppbHkgaW5pdGlhbGl6ZSBhbmQgcmV1c2UgdGhlIEZsb2F0MzJBcnJheSBtYXRyaXhE
YXRhLgorCisgICAgICAgIFRlc3RlZCBieSB0aGUgV2ViWFIgcGxhdGZvcm0gdGVzdHMuCisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6bm9ybWFsaXplUXVhdGVybmlvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUlJp
Z2lkVHJhbnNmb3JtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJSaWdpZFRyYW5z
Zm9ybTo6V2ViWFJSaWdpZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjptX29yaWVudGF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Om1fcmF3VHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYlhSUmlnaWRUcmFuc2Zvcm06Om1hdHJpeCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJY
UlJpZ2lkVHJhbnNmb3JtOjppbnZlcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSUmlnaWRU
cmFuc2Zvcm06OnJhd1RyYW5zZm9ybSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9X
ZWJYUlJpZ2lkVHJhbnNmb3JtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zv
cm1hdGlvbk1hdHJpeDo6ZnJvbVF1YXRlcm5pb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaDoKKworMjAyMS0wMS0yMiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+IAogCiAgICAgICAgIFZhbGlkYXRlIEl0ZW1I
YW5kbGVzIHdoZW4gZGVjb2RpbmcgdGhlbSBpbiBHUFVQcm9jZXNzCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA3MTAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwCmluZGV4IGQzZmRj
ZmI5MGU3MjViMTc5NzgwMDU0YmE2ZTdiYTU0NjRmZjk4OWQuLjY4M2Y2ZjM2MTIwY2RlY2FiMDMz
MWM4MTkwNDBlY2YwNDlkZjA0YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmNwcApAQCAtMzUsNiArMzUsMTggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgYm9vbCBub3JtYWxpemVRdWF0ZXJuaW9uKERPTVBv
aW50SW5pdCYgcSkKK3sKKyAgICBjb25zdCBkb3VibGUgbGVuZ3RoID0gc3RkOjpzcXJ0KHEueCAq
IHEueCArIHEueSAqIHEueSArIHEueiAqIHEueiArIHEudyAqIHEudyk7CisgICAgaWYgKFdURjo6
YXJlRXNzZW50aWFsbHlFcXVhbDxkb3VibGU+KGxlbmd0aCwgMCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBxLnggLz0gbGVuZ3RoOworICAgIHEueSAvPSBsZW5ndGg7CisgICAgcS56IC89
IGxlbmd0aDsKKyAgICBxLncgLz0gbGVuZ3RoOworICAgIHJldHVybiB0cnVlOworfQorCiBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2ViWFJSaWdpZFRyYW5zZm9ybSk7CiAKIFJlZjxXZWJY
UlJpZ2lkVHJhbnNmb3JtPiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoKQpAQCAtNDIsNiAr
NTQsMTIgQEAgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNy
ZWF0ZSgpCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJSaWdpZFRyYW5zZm9ybSh7IH0s
IHsgfSkpOwogfQogCitSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4gV2ViWFJSaWdpZFRyYW5zZm9y
bTo6Y3JlYXRlKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0pCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJSaWdpZFRyYW5zZm9ybSh0cmFuc2Zvcm0pKTsKK30K
KworCiBFeGNlcHRpb25PcjxSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4+IFdlYlhSUmlnaWRUcmFu
c2Zvcm06OmNyZWF0ZShjb25zdCBET01Qb2ludEluaXQmIHBvc2l0aW9uLCBjb25zdCBET01Qb2lu
dEluaXQmIG9yaWVudGF0aW9uKQogewogICAgIC8vIFRoZSBYUlJpZ2lkVHJhbnNmb3JtKHBvc2l0
aW9uLCBvcmllbnRhdGlvbikgY29uc3RydWN0b3IgTVVTVCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcg
c3RlcHMgd2hlbiBpbnZva2VkOgpAQCAtNTgsMTcgKzc2LDggQEAgRXhjZXB0aW9uT3I8UmVmPFdl
YlhSUmlnaWRUcmFuc2Zvcm0+PiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoY29uc3QgRE9N
UG9pbnQKICAgICAvLyAgIDYuIEVsc2UgaW5pdGlhbGl6ZSB0cmFuc2Zvcm3igJlzIG9yaWVudGF0
aW9u4oCZcyB4IHZhbHVlIHRvIG9yaWVudGF0aW9u4oCZcyB4IGRpY3Rpb25hcnkgbWVtYmVyLCB5
IHZhbHVlIHRvIG9yaWVudGF0aW9u4oCZcyB5IGRpY3Rpb25hcnkgbWVtYmVyLCB6IHZhbHVlIHRv
IG9yaWVudGF0aW9u4oCZcyB6IGRpY3Rpb25hcnkgbWVtYmVyIGFuZCB3IHZhbHVlIHRvIG9yaWVu
dGF0aW9u4oCZcyB3IGRpY3Rpb25hcnkgbWVtYmVyLgogICAgIC8vICAgNy4gTm9ybWFsaXplIHgs
IHksIHosIGFuZCB3IGNvbXBvbmVudHMgb2YgdHJhbnNmb3Jt4oCZcyBvcmllbnRhdGlvbi4KICAg
ICBET01Qb2ludEluaXQgb3JpZW50YXRpb25Jbml0IHsgb3JpZW50YXRpb24ueCwgb3JpZW50YXRp
b24ueSwgb3JpZW50YXRpb24ueiwgb3JpZW50YXRpb24udyB9OwotICAgIHsKLSAgICAgICAgZG91
YmxlIGxlbmd0aCA9IHN0ZDo6c3FydChvcmllbnRhdGlvbkluaXQueCAqIG9yaWVudGF0aW9uSW5p
dC54ICsgb3JpZW50YXRpb25Jbml0LnkgKiBvcmllbnRhdGlvbkluaXQueQotICAgICAgICAgICAg
KyBvcmllbnRhdGlvbkluaXQueiAqIG9yaWVudGF0aW9uSW5pdC56ICsgb3JpZW50YXRpb25Jbml0
LncgKiBvcmllbnRhdGlvbkluaXQudyk7Ci0gICAgICAgIGlmIChXVEY6OmFyZUVzc2VudGlhbGx5
RXF1YWw8ZG91YmxlPihsZW5ndGgsIDApKQotICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IEludmFsaWRTdGF0ZUVycm9yIH07Ci0KLSAgICAgICAgb3JpZW50YXRpb25Jbml0PSB7Ci0gICAg
ICAgICAgICBvcmllbnRhdGlvbkluaXQueCAvIGxlbmd0aCwgb3JpZW50YXRpb25Jbml0LnkgLyBs
ZW5ndGgsCi0gICAgICAgICAgICBvcmllbnRhdGlvbkluaXQueiAvIGxlbmd0aCwgb3JpZW50YXRp
b25Jbml0LncgLyBsZW5ndGgsCi0gICAgICAgIH07Ci0gICAgfQorICAgIGlmICghbm9ybWFsaXpl
UXVhdGVybmlvbihvcmllbnRhdGlvbkluaXQpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
SW52YWxpZFN0YXRlRXJyb3IgfTsKIAogICAgIC8vICAgOC4gUmV0dXJuIHRyYW5zZm9ybS4KICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJYUlJpZ2lkVHJhbnNmb3JtKHBvc2l0aW9uSW5pdCwg
b3JpZW50YXRpb25Jbml0KSk7CkBAIC03OCwxMCArODcsMzEgQEAgV2ViWFJSaWdpZFRyYW5zZm9y
bTo6V2ViWFJSaWdpZFRyYW5zZm9ybShjb25zdCBET01Qb2ludEluaXQmIHBvc2l0aW9uLCBjb25z
dCBET00KICAgICA6IG1fcG9zaXRpb24oRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRlKHBvc2l0aW9u
KSkKICAgICAsIG1fb3JpZW50YXRpb24oRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRlKG9yaWVudGF0
aW9uKSkKIHsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IHByb3Blcmx5LCBwZXIgc3BlYy4KLSAg
ICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtYXRyaXg7Ci0gICAgYXV0byBtYXRyaXhEYXRhID0gbWF0
cml4LnRvQ29sdW1uTWFqb3JGbG9hdEFycmF5KCk7Ci0gICAgbV9tYXRyaXggPSBGbG9hdDMyQXJy
YXk6OmNyZWF0ZShtYXRyaXhEYXRhLmRhdGEoKSwgbWF0cml4RGF0YS5zaXplKCkpOworICAgIFRy
YW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zbGF0aW9uOworICAgIHRyYW5zbGF0aW9uLnRyYW5zbGF0
ZTNkKHBvc2l0aW9uLngsIHBvc2l0aW9uLnksIHBvc2l0aW9uLnopOworICAgIGF1dG8gcm90YXRp
b24gPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZnJvbVF1YXRlcm5pb24ob3JpZW50YXRpb24ueCwg
b3JpZW50YXRpb24ueSwgb3JpZW50YXRpb24ueiwgb3JpZW50YXRpb24udyk7CisgICAgbV9yYXdU
cmFuc2Zvcm0gPSB0cmFuc2xhdGlvbiAqIHJvdGF0aW9uOworfQorCitXZWJYUlJpZ2lkVHJhbnNm
b3JtOjpXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFu
c2Zvcm0pCisgICAgOiBtX3Bvc2l0aW9uKERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZSh7IH0pKQor
ICAgICwgbV9vcmllbnRhdGlvbihET01Qb2ludFJlYWRPbmx5OjpjcmVhdGUoeyB9KSkKKyAgICAs
IG1fcmF3VHJhbnNmb3JtKHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJhbnNmb3JtLmlzSWRlbnRp
dHkoKSkgeworICAgICAgICAvLyBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZGVjb21wb3NlIHJldHVy
bnMgYSBlbXB0eSBxdWF0ZXJuaW9uIGluc3RlYWQgb2YgdW5pdCBxdWF0ZXJuaW9uIGZvciBJZGVu
dGl0eS4KKyAgICAgICAgLy8gV2ViWFIgdGVzdHMgZXhwZWN0IGEgdW5pdCBxdWF0ZXJuaW9uIGZv
ciB0aGlzIGNhc2UuCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBUcmFuc2Zvcm1hdGlv
bk1hdHJpeDo6RGVjb21wb3NlZDRUeXBlIGRlY29tcCA9IHsgfTsKKyAgICB0cmFuc2Zvcm0uZGVj
b21wb3NlNChkZWNvbXApOworCisgICAgbV9wb3NpdGlvbiA9IERPTVBvaW50UmVhZE9ubHk6OmNy
ZWF0ZShkZWNvbXAudHJhbnNsYXRlWCwgZGVjb21wLnRyYW5zbGF0ZVksIGRlY29tcC50cmFuc2xh
dGVaLCAxLjBmKTsKKworICAgIERPTVBvaW50SW5pdCBvcmllbnRhdGlvbkluaXQgeyAtZGVjb21w
LnF1YXRlcm5pb25YLCAtZGVjb21wLnF1YXRlcm5pb25ZLCAtZGVjb21wLnF1YXRlcm5pb25aLCBk
ZWNvbXAucXVhdGVybmlvblcgfTsKKyAgICBub3JtYWxpemVRdWF0ZXJuaW9uKG9yaWVudGF0aW9u
SW5pdCk7CisgICAgbV9vcmllbnRhdGlvbiA9IERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZShvcmll
bnRhdGlvbkluaXQpOwogfQogCiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjp+V2ViWFJSaWdpZFRyYW5z
Zm9ybSgpID0gZGVmYXVsdDsKQEAgLTk2LDE3ICsxMjYsNDEgQEAgY29uc3QgRE9NUG9pbnRSZWFk
T25seSYgV2ViWFJSaWdpZFRyYW5zZm9ybTo6b3JpZW50YXRpb24oKSBjb25zdAogICAgIHJldHVy
biBtX29yaWVudGF0aW9uOwogfQogCi1SZWY8RmxvYXQzMkFycmF5PiAgV2ViWFJSaWdpZFRyYW5z
Zm9ybTo6bWF0cml4KCkgY29uc3QKK2NvbnN0IEZsb2F0MzJBcnJheSYgV2ViWFJSaWdpZFRyYW5z
Zm9ybTo6bWF0cml4KCkKK3sKKyAgICBpZiAobV9tYXRyaXggJiYgIW1fbWF0cml4LT5pc0RldGFj
aGVkKCkpCisgICAgICAgIHJldHVybiAqbV9tYXRyaXg7CisKKyAgICAvLyBMYXppbHkgY3JlYXRl
IG1hdHJpeCBGbG9hdDMyQXJyYXkuCisgICAgYXV0byBtYXRyaXhEYXRhID0gbV9yYXdUcmFuc2Zv
cm0udG9Db2x1bW5NYWpvckZsb2F0QXJyYXkoKTsKKyAgICBtX21hdHJpeCA9IEZsb2F0MzJBcnJh
eTo6Y3JlYXRlKG1hdHJpeERhdGEuZGF0YSgpLCBtYXRyaXhEYXRhLnNpemUoKSk7CisKKyAgICBy
ZXR1cm4gKm1fbWF0cml4OworfQorCitjb25zdCBXZWJYUlJpZ2lkVHJhbnNmb3JtJiBXZWJYUlJp
Z2lkVHJhbnNmb3JtOjppbnZlcnNlKCkKIHsKLSAgICBhdXRvIG1hdHJpeCA9IEZsb2F0MzJBcnJh
eTo6Y3JlYXRlKDE2KTsKLSAgICBtYXRyaXgtPnplcm9GaWxsKCk7Ci0gICAgcmV0dXJuIG1hdHJp
eDsKKyAgICAvLyBUaGUgaW52ZXJzZSBvZiBhIGludmVyc2Ugb2JqZWN0IHNob3VsZCByZXR1cm4g
dGhlIG9yaWdpbmFsIG9iamVjdC4KKyAgICBpZiAobV9wYXJlbnRJbnZlcnNlKQorICAgICAgICBy
ZXR1cm4gKm1fcGFyZW50SW52ZXJzZTsKKworICAgIC8vIEludmVyc2Ugc2hvdWxkIGFsd2F5cyBy
ZXR1cm4gdGhlIHNhbWUgb2JqZWN0LgorICAgIGlmIChtX2ludmVyc2UpCisgICAgICAgIHJldHVy
biAqbV9pbnZlcnNlOworICAgIAorICAgIGF1dG8gaW52ZXJzZVRyYW5zZm9ybSA9IG1fcmF3VHJh
bnNmb3JtLmludmVyc2UoKTsKKyAgICBBU1NFUlQoISFpbnZlcnNlVHJhbnNmb3JtKTsKKworICAg
IG1faW52ZXJzZSA9IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0ZSgqaW52ZXJzZVRyYW5zZm9y
bSk7CisgICAgLy8gVGhlIGludmVyc2Ugb2YgYSBpbnZlcnNlIG9iamVjdCBzaG91bGQgcmV0dXJu
IHRoZSBvcmlnaW5hbCBvYmplY3QuCisgICAgbV9pbnZlcnNlLT5tX3BhcmVudEludmVyc2UgPSBt
YWtlV2Vha1B0cih0aGlzKTsKKworICAgIHJldHVybiAqbV9pbnZlcnNlOwogfQogCi1SZWY8V2Vi
WFJSaWdpZFRyYW5zZm9ybT4gV2ViWFJSaWdpZFRyYW5zZm9ybTo6aW52ZXJzZSgpIGNvbnN0Citj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgV2ViWFJSaWdpZFRyYW5zZm9ybTo6cmF3VHJhbnNm
b3JtKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IHByb3Blcmx5LgotICAgIHJl
dHVybiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoKTsKKyAgICByZXR1cm4gbV9yYXdUcmFu
c2Zvcm07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmgKaW5kZXggZDczNTk0Njc3NzBk
MDhkNmJkNWNhOWEyM2U3MDZjMTYxODJmZWYyYS4uNzhjYjI3ZTc3NjJhOTkyZjAzZDQ2ZWFlNTUw
OThiYzEyNWRiMjg2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUlJpZ2lkVHJhbnNmb3JtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUlJpZ2lkVHJhbnNmb3JtLmgKQEAgLTI4LDMzICsyOCw0MSBAQAogI2lmIEVOQUJMRShXRUJY
UikKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25N
YXRyaXguaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9GbG9hdDMyQXJyYXkuaD4KICNpbmNs
dWRlIDx3dGYvSXNvTWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBET01Q
b2ludEluaXQ7CiBjbGFzcyBET01Qb2ludFJlYWRPbmx5OwogCi1jbGFzcyBXZWJYUlJpZ2lkVHJh
bnNmb3JtIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJSaWdpZFRyYW5zZm9ybT4geworY2xhc3Mg
V2ViWFJSaWdpZFRyYW5zZm9ybSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSUmlnaWRUcmFuc2Zv
cm0+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViWFJSaWdpZFRyYW5zZm9ybT4gewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURURfRVhQT1JUKFdlYlhSUmlnaWRUcmFuc2Zvcm0sIFdFQkNPUkVf
RVhQT1JUKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IGNy
ZWF0ZSgpOworICAgIHN0YXRpYyBSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4gY3JlYXRlKGNvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIEV4Y2Vw
dGlvbk9yPFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPj4gY3JlYXRlKGNvbnN0IERPTVBvaW50SW5p
dCYsIGNvbnN0IERPTVBvaW50SW5pdCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5XZWJYUlJpZ2lk
VHJhbnNmb3JtKCk7CiAKICAgICBjb25zdCBET01Qb2ludFJlYWRPbmx5JiBwb3NpdGlvbigpIGNv
bnN0OwogICAgIGNvbnN0IERPTVBvaW50UmVhZE9ubHkmIG9yaWVudGF0aW9uKCkgY29uc3Q7Ci0g
ICAgUmVmPEZsb2F0MzJBcnJheT4gbWF0cml4KCkgY29uc3Q7Ci0gICAgUmVmPFdlYlhSUmlnaWRU
cmFuc2Zvcm0+IGludmVyc2UoKSBjb25zdDsKKyAgICBjb25zdCBGbG9hdDMyQXJyYXkmIG1hdHJp
eCgpOworICAgIGNvbnN0IFdlYlhSUmlnaWRUcmFuc2Zvcm0mIGludmVyc2UoKTsKKyAgICBjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgcmF3VHJhbnNmb3JtKCkgY29uc3Q7CiAKIHByaXZhdGU6
CiAgICAgV2ViWFJSaWdpZFRyYW5zZm9ybShjb25zdCBET01Qb2ludEluaXQmLCBjb25zdCBET01Q
b2ludEluaXQmKTsKKyAgICBXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4Jik7CiAKICAgICBSZWY8RE9NUG9pbnRSZWFkT25seT4gbV9wb3NpdGlvbjsKICAgICBS
ZWY8RE9NUG9pbnRSZWFkT25seT4gbV9vcmllbnRhdGlvbjsKKyAgICBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCBtX3Jhd1RyYW5zZm9ybTsKICAgICBSZWZQdHI8RmxvYXQzMkFycmF5PiBtX21hdHJpeDsK
KyAgICBSZWZQdHI8V2ViWFJSaWdpZFRyYW5zZm9ybT4gbV9pbnZlcnNlOworICAgIFdlYWtQdHI8
V2ViWFJSaWdpZFRyYW5zZm9ybT4gbV9wYXJlbnRJbnZlcnNlOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAppbmRleCAx
YTNiMDI2NzBlYWQwYzJjYjA3ZTQ5ZWIxMTViMjllYjg5YmU0MTk0Li5hN2U0ZTAxNDJjNGEzNGE1
ZWFkZDc5NzNmNGRiNDcyNTg1M2RmMGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9u
TWF0cml4LmNwcApAQCAtNTgwLDYgKzU4MCwyNiBAQCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6VHJh
bnNmb3JtYXRpb25NYXRyaXgoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0KQogICAgIHNldE1hdHJp
eCh0LmEoKSwgdC5iKCksIHQuYygpLCB0LmQoKSwgdC5lKCksIHQuZigpKTsKIH0KIAorCisvLyBG
SVhNRTogT25jZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwODU2
IGlzIGFkZHJlc3NlZCB3ZSBjYW4gcmV1c2UgdGhpcyBmdW5jdGlvbiBpbiBUcmFuc2Zvcm1hdGlv
bk1hdHJpeDo6cmVjb21wb3NlNCgpLgorVHJhbnNmb3JtYXRpb25NYXRyaXggVHJhbnNmb3JtYXRp
b25NYXRyaXg6OmZyb21RdWF0ZXJuaW9uKGRvdWJsZSBxeCwgZG91YmxlIHF5LCBkb3VibGUgcXos
IGRvdWJsZSBxdykKK3sKKyAgICBjb25zdCBkb3VibGUgeHggPSBxeCAqIHF4OworICAgIGNvbnN0
IGRvdWJsZSB5eSA9IHF5ICogcXk7CisgICAgY29uc3QgZG91YmxlIHp6ID0gcXogKiBxejsKKyAg
ICBjb25zdCBkb3VibGUgeHogPSBxeCAqIHF6OworICAgIGNvbnN0IGRvdWJsZSB4eSA9IHF4ICog
cXk7IAorICAgIGNvbnN0IGRvdWJsZSB5eiA9IHF5ICogcXo7CisgICAgY29uc3QgZG91YmxlIHh3
ID0gcXcgKiBxeDsKKyAgICBjb25zdCBkb3VibGUgeXcgPSBxdyAqIHF5OworICAgIGNvbnN0IGRv
dWJsZSB6dyA9IHF3ICogcXo7CisKKyAgICByZXR1cm4gVHJhbnNmb3JtYXRpb25NYXRyaXgoMSAt
IDIgKiAoeXkgKyB6eiksIDIgKiAoeHkgKyB6dyksIDIgKiAoeHogLSB5dyksIDAsCisgICAgICAg
IDIgKiAoeHkgLSB6dyksIDEgLSAyICogKHh4ICsgenopLCAyICogKHl6ICsgeHcpLCAwLAorICAg
ICAgICAyICogKHh6ICsgeXcpLCAyICogKHl6IC0geHcpLCAxIC0gMiAqICh4eCArIHl5KSwgMCwK
KyAgICAgICAgMCwgMCwgMCwgMSk7Cit9CisKIFRyYW5zZm9ybWF0aW9uTWF0cml4JiBUcmFuc2Zv
cm1hdGlvbk1hdHJpeDo6c2NhbGUoZG91YmxlIHMpCiB7CiAgICAgcmV0dXJuIHNjYWxlTm9uVW5p
Zm9ybShzLCBzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAppbmRleCBjZGQ1
MmJjYTQyZjA5MDY3ODlhZDRhZWMxZGFhOWYyOWJjNjRkYzNiLi42MDBlN2QwYjFjZTI2YTdjMjQy
MWQ1ODU2MWNjNTc0YjA0YTE3YjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJp
eC5oCkBAIC0xMTksNiArMTE5LDggQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgVHJh
bnNmb3JtYXRpb25NYXRyaXgoY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CiAKKyAgICBzdGF0aWMg
VHJhbnNmb3JtYXRpb25NYXRyaXggZnJvbVF1YXRlcm5pb24oZG91YmxlIHF4LCBkb3VibGUgcXks
IGRvdWJsZSBxeiwgZG91YmxlIHF3KTsKKwogICAgIHN0YXRpYyBjb25zdCBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCBpZGVudGl0eTsKIAogICAgIHZvaWQgc2V0TWF0cml4KGRvdWJsZSBhLCBkb3VibGUg
YiwgZG91YmxlIGMsIGRvdWJsZSBkLCBkb3VibGUgZSwgZG91YmxlIGYpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTVmNGFl
Zjk3YzAyMDRkNjJmOWVkODI0OTNiOGVjZWI4YTk1NWVkNi4uNTI0N2ViZDVjYzQ2N2RjOTQ3NzMw
Zjk5MDg2NWJhYzM0YTA2ODFjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAxLTIyICBJ
bWFub2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbXBs
ZXRlIFdlYlhSUmlnaWRUcmFuc2Zvcm0gaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDczMgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBYUlJpZ2lkVHJhbnNmb3JtIFdl
YlhSIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnM6CisK
IDIwMjEtMDEtMjEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBIYW5k
bGUgc2hhcGVNYXJnaW4gYmVjb21pbmcgTmFOCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBjNjgxZmE1NGJmMWViNDhiZGNiZDhkOGYzMTI5OTE0Zjg5MmZlNzcwLi5iYzcyMzJlMGJi
NTViNzY5MDAyOThjYmI2YTk4NjI2N2FjYjI3NTM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0yMiAgSW1hbm9sIEZlcm5hbmRleiAgPGlm
ZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBDb21wbGV0ZSBXZWJYUlJpZ2lkVHJhbnNm
b3JtIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjA3MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBFbmFibGUgWFJSaWdpZFRyYW5zZm9ybSBXZWJYUiB0ZXN0cy4KKworICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX2ludmVyc2UuaHR0
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIveHJSaWdpZFRyYW5zZm9ybV9tYXRyaXguaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwog
MjAyMS0wMS0yMSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAg
W0FwcGxlIFBheV0gdXNlIHRoZSBmaXJzdCBpdGVtIGluIGBzaGlwcGluZ09wdGlvbnNgIGV2ZW4g
d2hlbiBpdCdzIG5vdCBgc2VsZWN0ZWRgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5o
dHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5odHRwcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjQ3ZDIzZjRhNjYyY2Q5ZTIxOGY3OGI2NTEyOWY0NmNkYzcyMjA4NAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9pbnZlcnNlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBYUlJpZ2lkVHJhbnNmb3JtIGludmVyc2Ugd29ya3MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4
ci94clJpZ2lkVHJhbnNmb3JtX21hdHJpeC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1f
bWF0cml4Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZGUyYjdiMDEzMTg4NjAyOWE3
Mjg4MzRmMWFjYTU3MWRkYjJlMThhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX21hdHJp
eC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgWFJSaWdpZFRyYW5z
Zm9ybSBtYXRyaXggd29ya3MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3Bl
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBlYTNmNTg3OTE3YWFjM2U2OWFkZTQ4MTU3ZjU2ZjEyZDc1OGIzNDc4Li5kYmM5
ZmYyOTc0NzE3ZmUwOWRjM2JmNzM3NWUxMjc1YjI4NmVkYzI0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjQwLDYgKzY0MCw4IEBAIHdlYmtpdC5vcmcv
Yi8yMDk4NTkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94cldlYkdMTGF5
ZXJfZnJhbWVidWZmCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL25hdmln
YXRvcl94cl9zYW1lT2JqZWN0Lmh0dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2VieHIveHJGcmFtZV9zZXNzaW9uX3NhbWVPYmplY3QuaHR0cHMuaHRt
bCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lk
VHJhbnNmb3JtX2NvbnN0cnVjdG9yLmh0dHBzLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9pbnZlcnNlLmh0dHBzLmh0
bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdp
ZFRyYW5zZm9ybV9tYXRyaXguaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNlc3Npb25fcHJldmVudF9tdWx0aXBsZV9leGNsdXNpdmUu
aHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4
ci9yZW5kZXJfc3RhdGVfdmVydGljYWxfZm92X2ltbWVyc2l2ZS5odHRwcy5odG1sIFsgUGFzcyBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3JlbmRlcl9zdGF0ZV91cGRh
dGUuaHR0cHMuaHRtbCBbIFBhc3MgXQo=
</data>
<flag name="review"
          id="436182"
          type_id="1"
          status="+"
          setter="svillar"
    />
    <flag name="commit-queue"
          id="436184"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418273</attachid>
            <date>2021-01-25 04:29:08 -0800</date>
            <delta_ts>2021-01-26 09:57:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220732-20210125132906.patch</filename>
            <type>text/plain</type>
            <size>16757</size>
            <attacher name="Imanol Fernandez">ifernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGQ5MzllNTcyNmU0ODEx
ZDFiMWU3OTZiZTYyNGIxNDVjZjE0N2QzYS4uZDY1NDllM2E2NmU3MzI1OWQ2NzJkOWRmOWY0NTM5
YjdjODU5YmZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTI1ICBJbWFu
b2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbXBsZXRl
IFdlYlhSUmlnaWRUcmFuc2Zvcm0gaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDczMgorCisgICAgICAgIFJldmlld2VkIGJ5
IFNlcmdpbyBWaWxsYXIuCisKKyAgICAgICAgLSBJbXBsZW1lbnQgWFJSaWdpZFRyYW5zZm9ybS5p
bnZlcnNlKCkuCisgICAgICAgIC0gRXhwb3NlIHJhdyBtYXRyaXggdG8gYmUgdXNlZCBpbiBvdGhl
ciBXZWJYUiBtYXRoIGNhbGN1bGF0aW9ucyAoZS5nIHBvc2UgY29tcG9zaXRpb24pLgorICAgICAg
ICAtIENvcnJlY3RseSBsYXppbHkgaW5pdGlhbGl6ZSBhbmQgcmV1c2UgdGhlIEZsb2F0MzJBcnJh
eSBtYXRyaXhEYXRhLgorCisgICAgICAgIFRlc3RlZCBieSB0aGUgV2ViWFIgcGxhdGZvcm0gdGVz
dHMuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6bm9ybWFsaXplUXVhdGVybmlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJS
aWdpZFRyYW5zZm9ybTo6V2ViWFJSaWdpZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpt
X29yaWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Om1fcmF3VHJhbnNmb3JtKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlhSUmlnaWRUcmFuc2Zvcm06Om1hdHJpeCk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJYUlJpZ2lkVHJhbnNmb3JtOjppbnZlcnNlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlhSUmlnaWRUcmFuc2Zvcm06OnJhd1RyYW5zZm9ybSBjb25zdCk6CisgICAgICAgICogTW9kdWxl
cy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZnJvbVF1YXRlcm5pb24pOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaDoKKwogMjAyMS0w
MS0yNSAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAg
c2Nyb2xsLXBhZGRpbmcgc2hvdWxkIGFmZmVjdCBwYWdpbmcgb3BlcmF0aW9ucwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5jcHAKaW5k
ZXggZDNmZGNmYjkwZTcyNWIxNzk3ODAwNTRiYTZlN2JhNTQ2NGZmOTg5ZC4uNjgzZjZmMzYxMjBj
ZGVjYWIwMzMxYzgxOTA0MGVjZjA0OWRmMDRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwCkBAIC0zNSw2ICszNSwxOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBib29sIG5vcm1hbGl6ZVF1YXRlcm5p
b24oRE9NUG9pbnRJbml0JiBxKQoreworICAgIGNvbnN0IGRvdWJsZSBsZW5ndGggPSBzdGQ6OnNx
cnQocS54ICogcS54ICsgcS55ICogcS55ICsgcS56ICogcS56ICsgcS53ICogcS53KTsKKyAgICBp
ZiAoV1RGOjphcmVFc3NlbnRpYWxseUVxdWFsPGRvdWJsZT4obGVuZ3RoLCAwKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIHEueCAvPSBsZW5ndGg7CisgICAgcS55IC89IGxlbmd0aDsKKyAg
ICBxLnogLz0gbGVuZ3RoOworICAgIHEudyAvPSBsZW5ndGg7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXZWJYUlJpZ2lkVHJhbnNmb3JtKTsKIAog
UmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0ZSgpCkBA
IC00Miw2ICs1NCwxMiBAQCBSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4gV2ViWFJSaWdpZFRyYW5z
Zm9ybTo6Y3JlYXRlKCkKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJYUlJpZ2lkVHJhbnNm
b3JtKHsgfSwgeyB9KSk7CiB9CiAKK1JlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiBXZWJYUlJpZ2lk
VHJhbnNmb3JtOjpjcmVhdGUoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybSkK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJYUlJpZ2lkVHJhbnNmb3JtKHRyYW5zZm9y
bSkpOworfQorCisKIEV4Y2VwdGlvbk9yPFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPj4gV2ViWFJS
aWdpZFRyYW5zZm9ybTo6Y3JlYXRlKGNvbnN0IERPTVBvaW50SW5pdCYgcG9zaXRpb24sIGNvbnN0
IERPTVBvaW50SW5pdCYgb3JpZW50YXRpb24pCiB7CiAgICAgLy8gVGhlIFhSUmlnaWRUcmFuc2Zv
cm0ocG9zaXRpb24sIG9yaWVudGF0aW9uKSBjb25zdHJ1Y3RvciBNVVNUIHBlcmZvcm0gdGhlIGZv
bGxvd2luZyBzdGVwcyB3aGVuIGludm9rZWQ6CkBAIC01OCwxNyArNzYsOCBAQCBFeGNlcHRpb25P
cjxSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4+IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0ZShj
b25zdCBET01Qb2ludAogICAgIC8vICAgNi4gRWxzZSBpbml0aWFsaXplIHRyYW5zZm9ybeKAmXMg
b3JpZW50YXRpb27igJlzIHggdmFsdWUgdG8gb3JpZW50YXRpb27igJlzIHggZGljdGlvbmFyeSBt
ZW1iZXIsIHkgdmFsdWUgdG8gb3JpZW50YXRpb27igJlzIHkgZGljdGlvbmFyeSBtZW1iZXIsIHog
dmFsdWUgdG8gb3JpZW50YXRpb27igJlzIHogZGljdGlvbmFyeSBtZW1iZXIgYW5kIHcgdmFsdWUg
dG8gb3JpZW50YXRpb27igJlzIHcgZGljdGlvbmFyeSBtZW1iZXIuCiAgICAgLy8gICA3LiBOb3Jt
YWxpemUgeCwgeSwgeiwgYW5kIHcgY29tcG9uZW50cyBvZiB0cmFuc2Zvcm3igJlzIG9yaWVudGF0
aW9uLgogICAgIERPTVBvaW50SW5pdCBvcmllbnRhdGlvbkluaXQgeyBvcmllbnRhdGlvbi54LCBv
cmllbnRhdGlvbi55LCBvcmllbnRhdGlvbi56LCBvcmllbnRhdGlvbi53IH07Ci0gICAgewotICAg
ICAgICBkb3VibGUgbGVuZ3RoID0gc3RkOjpzcXJ0KG9yaWVudGF0aW9uSW5pdC54ICogb3JpZW50
YXRpb25Jbml0LnggKyBvcmllbnRhdGlvbkluaXQueSAqIG9yaWVudGF0aW9uSW5pdC55Ci0gICAg
ICAgICAgICArIG9yaWVudGF0aW9uSW5pdC56ICogb3JpZW50YXRpb25Jbml0LnogKyBvcmllbnRh
dGlvbkluaXQudyAqIG9yaWVudGF0aW9uSW5pdC53KTsKLSAgICAgICAgaWYgKFdURjo6YXJlRXNz
ZW50aWFsbHlFcXVhbDxkb3VibGU+KGxlbmd0aCwgMCkpCi0gICAgICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLQotICAgICAgICBvcmllbnRhdGlvbkluaXQ9
IHsKLSAgICAgICAgICAgIG9yaWVudGF0aW9uSW5pdC54IC8gbGVuZ3RoLCBvcmllbnRhdGlvbklu
aXQueSAvIGxlbmd0aCwKLSAgICAgICAgICAgIG9yaWVudGF0aW9uSW5pdC56IC8gbGVuZ3RoLCBv
cmllbnRhdGlvbkluaXQudyAvIGxlbmd0aCwKLSAgICAgICAgfTsKLSAgICB9CisgICAgaWYgKCFu
b3JtYWxpemVRdWF0ZXJuaW9uKG9yaWVudGF0aW9uSW5pdCkpCisgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwogCiAgICAgLy8gICA4LiBSZXR1cm4gdHJhbnNm
b3JtLgogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlhSUmlnaWRUcmFuc2Zvcm0ocG9zaXRp
b25Jbml0LCBvcmllbnRhdGlvbkluaXQpKTsKQEAgLTc4LDEwICs4NywzMSBAQCBXZWJYUlJpZ2lk
VHJhbnNmb3JtOjpXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0IERPTVBvaW50SW5pdCYgcG9zaXRp
b24sIGNvbnN0IERPTQogICAgIDogbV9wb3NpdGlvbihET01Qb2ludFJlYWRPbmx5OjpjcmVhdGUo
cG9zaXRpb24pKQogICAgICwgbV9vcmllbnRhdGlvbihET01Qb2ludFJlYWRPbmx5OjpjcmVhdGUo
b3JpZW50YXRpb24pKQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgcHJvcGVybHksIHBlciBz
cGVjLgotICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1hdHJpeDsKLSAgICBhdXRvIG1hdHJpeERh
dGEgPSBtYXRyaXgudG9Db2x1bW5NYWpvckZsb2F0QXJyYXkoKTsKLSAgICBtX21hdHJpeCA9IEZs
b2F0MzJBcnJheTo6Y3JlYXRlKG1hdHJpeERhdGEuZGF0YSgpLCBtYXRyaXhEYXRhLnNpemUoKSk7
CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNsYXRpb247CisgICAgdHJhbnNsYXRpb24u
dHJhbnNsYXRlM2QocG9zaXRpb24ueCwgcG9zaXRpb24ueSwgcG9zaXRpb24ueik7CisgICAgYXV0
byByb3RhdGlvbiA9IFRyYW5zZm9ybWF0aW9uTWF0cml4Ojpmcm9tUXVhdGVybmlvbihvcmllbnRh
dGlvbi54LCBvcmllbnRhdGlvbi55LCBvcmllbnRhdGlvbi56LCBvcmllbnRhdGlvbi53KTsKKyAg
ICBtX3Jhd1RyYW5zZm9ybSA9IHRyYW5zbGF0aW9uICogcm90YXRpb247Cit9CisKK1dlYlhSUmln
aWRUcmFuc2Zvcm06OldlYlhSUmlnaWRUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRy
aXgmIHRyYW5zZm9ybSkKKyAgICA6IG1fcG9zaXRpb24oRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRl
KHsgfSkpCisgICAgLCBtX29yaWVudGF0aW9uKERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZSh7IH0p
KQorICAgICwgbV9yYXdUcmFuc2Zvcm0odHJhbnNmb3JtKQoreworICAgIGlmICh0cmFuc2Zvcm0u
aXNJZGVudGl0eSgpKSB7CisgICAgICAgIC8vIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpkZWNvbXBv
c2UgcmV0dXJucyBhIGVtcHR5IHF1YXRlcm5pb24gaW5zdGVhZCBvZiB1bml0IHF1YXRlcm5pb24g
Zm9yIElkZW50aXR5LgorICAgICAgICAvLyBXZWJYUiB0ZXN0cyBleHBlY3QgYSB1bml0IHF1YXRl
cm5pb24gZm9yIHRoaXMgY2FzZS4KKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFRyYW5z
Zm9ybWF0aW9uTWF0cml4OjpEZWNvbXBvc2VkNFR5cGUgZGVjb21wID0geyB9OworICAgIHRyYW5z
Zm9ybS5kZWNvbXBvc2U0KGRlY29tcCk7CisKKyAgICBtX3Bvc2l0aW9uID0gRE9NUG9pbnRSZWFk
T25seTo6Y3JlYXRlKGRlY29tcC50cmFuc2xhdGVYLCBkZWNvbXAudHJhbnNsYXRlWSwgZGVjb21w
LnRyYW5zbGF0ZVosIDEuMGYpOworCisgICAgRE9NUG9pbnRJbml0IG9yaWVudGF0aW9uSW5pdCB7
IC1kZWNvbXAucXVhdGVybmlvblgsIC1kZWNvbXAucXVhdGVybmlvblksIC1kZWNvbXAucXVhdGVy
bmlvblosIGRlY29tcC5xdWF0ZXJuaW9uVyB9OworICAgIG5vcm1hbGl6ZVF1YXRlcm5pb24ob3Jp
ZW50YXRpb25Jbml0KTsKKyAgICBtX29yaWVudGF0aW9uID0gRE9NUG9pbnRSZWFkT25seTo6Y3Jl
YXRlKG9yaWVudGF0aW9uSW5pdCk7CiB9CiAKIFdlYlhSUmlnaWRUcmFuc2Zvcm06On5XZWJYUlJp
Z2lkVHJhbnNmb3JtKCkgPSBkZWZhdWx0OwpAQCAtOTYsMTcgKzEyNiw0MSBAQCBjb25zdCBET01Q
b2ludFJlYWRPbmx5JiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpvcmllbnRhdGlvbigpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fb3JpZW50YXRpb247CiB9CiAKLVJlZjxGbG9hdDMyQXJyYXk+ICBXZWJYUlJp
Z2lkVHJhbnNmb3JtOjptYXRyaXgoKSBjb25zdAorY29uc3QgRmxvYXQzMkFycmF5JiBXZWJYUlJp
Z2lkVHJhbnNmb3JtOjptYXRyaXgoKQoreworICAgIGlmIChtX21hdHJpeCAmJiAhbV9tYXRyaXgt
PmlzRGV0YWNoZWQoKSkKKyAgICAgICAgcmV0dXJuICptX21hdHJpeDsKKworICAgIC8vIExhemls
eSBjcmVhdGUgbWF0cml4IEZsb2F0MzJBcnJheS4KKyAgICBhdXRvIG1hdHJpeERhdGEgPSBtX3Jh
d1RyYW5zZm9ybS50b0NvbHVtbk1ham9yRmxvYXRBcnJheSgpOworICAgIG1fbWF0cml4ID0gRmxv
YXQzMkFycmF5OjpjcmVhdGUobWF0cml4RGF0YS5kYXRhKCksIG1hdHJpeERhdGEuc2l6ZSgpKTsK
KworICAgIHJldHVybiAqbV9tYXRyaXg7Cit9CisKK2NvbnN0IFdlYlhSUmlnaWRUcmFuc2Zvcm0m
IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmludmVyc2UoKQogewotICAgIGF1dG8gbWF0cml4ID0gRmxv
YXQzMkFycmF5OjpjcmVhdGUoMTYpOwotICAgIG1hdHJpeC0+emVyb0ZpbGwoKTsKLSAgICByZXR1
cm4gbWF0cml4OworICAgIC8vIFRoZSBpbnZlcnNlIG9mIGEgaW52ZXJzZSBvYmplY3Qgc2hvdWxk
IHJldHVybiB0aGUgb3JpZ2luYWwgb2JqZWN0LgorICAgIGlmIChtX3BhcmVudEludmVyc2UpCisg
ICAgICAgIHJldHVybiAqbV9wYXJlbnRJbnZlcnNlOworCisgICAgLy8gSW52ZXJzZSBzaG91bGQg
YWx3YXlzIHJldHVybiB0aGUgc2FtZSBvYmplY3QuCisgICAgaWYgKG1faW52ZXJzZSkKKyAgICAg
ICAgcmV0dXJuICptX2ludmVyc2U7CisgICAgCisgICAgYXV0byBpbnZlcnNlVHJhbnNmb3JtID0g
bV9yYXdUcmFuc2Zvcm0uaW52ZXJzZSgpOworICAgIEFTU0VSVCghIWludmVyc2VUcmFuc2Zvcm0p
OworCisgICAgbV9pbnZlcnNlID0gV2ViWFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKCppbnZlcnNl
VHJhbnNmb3JtKTsKKyAgICAvLyBUaGUgaW52ZXJzZSBvZiBhIGludmVyc2Ugb2JqZWN0IHNob3Vs
ZCByZXR1cm4gdGhlIG9yaWdpbmFsIG9iamVjdC4KKyAgICBtX2ludmVyc2UtPm1fcGFyZW50SW52
ZXJzZSA9IG1ha2VXZWFrUHRyKHRoaXMpOworCisgICAgcmV0dXJuICptX2ludmVyc2U7CiB9CiAK
LVJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjppbnZlcnNlKCkg
Y29uc3QKK2NvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpy
YXdUcmFuc2Zvcm0oKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgcHJvcGVybHku
Ci0gICAgcmV0dXJuIFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0ZSgpOworICAgIHJldHVybiBt
X3Jhd1RyYW5zZm9ybTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaAppbmRleCBkNzM1
OTQ2Nzc3MGQwOGQ2YmQ1Y2E5YTIzZTcwNmMxNjE4MmZlZjJhLi43OGNiMjdlNzc2MmE5OTJmMDNk
NDZlYWU1NTA5OGJjMTI1ZGIyODY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaApAQCAtMjgsMzMgKzI4LDQxIEBACiAjaWYgRU5B
QkxFKFdFQlhSKQogCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJUcmFuc2Zv
cm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Zsb2F0MzJBcnJheS5o
PgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3Ry
dWN0IERPTVBvaW50SW5pdDsKIGNsYXNzIERPTVBvaW50UmVhZE9ubHk7CiAKLWNsYXNzIFdlYlhS
UmlnaWRUcmFuc2Zvcm0gOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJYUlJpZ2lkVHJhbnNmb3JtPiB7
CitjbGFzcyBXZWJYUlJpZ2lkVHJhbnNmb3JtIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJSaWdp
ZFRyYW5zZm9ybT4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9FWFBPUlQoV2ViWFJSaWdpZFRyYW5zZm9ybSwg
V0VCQ09SRV9FWFBPUlQpOwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViWFJSaWdpZFRyYW5z
Zm9ybT4gY3JlYXRlKCk7CisgICAgc3RhdGljIFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiBjcmVh
dGUoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgRXhjZXB0aW9uT3I8UmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+PiBjcmVhdGUoY29uc3QgRE9N
UG9pbnRJbml0JiwgY29uc3QgRE9NUG9pbnRJbml0Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgfldl
YlhSUmlnaWRUcmFuc2Zvcm0oKTsKIAogICAgIGNvbnN0IERPTVBvaW50UmVhZE9ubHkmIHBvc2l0
aW9uKCkgY29uc3Q7CiAgICAgY29uc3QgRE9NUG9pbnRSZWFkT25seSYgb3JpZW50YXRpb24oKSBj
b25zdDsKLSAgICBSZWY8RmxvYXQzMkFycmF5PiBtYXRyaXgoKSBjb25zdDsKLSAgICBSZWY8V2Vi
WFJSaWdpZFRyYW5zZm9ybT4gaW52ZXJzZSgpIGNvbnN0OworICAgIGNvbnN0IEZsb2F0MzJBcnJh
eSYgbWF0cml4KCk7CisgICAgY29uc3QgV2ViWFJSaWdpZFRyYW5zZm9ybSYgaW52ZXJzZSgpOwor
ICAgIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiByYXdUcmFuc2Zvcm0oKSBjb25zdDsKIAog
cHJpdmF0ZToKICAgICBXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0IERPTVBvaW50SW5pdCYsIGNv
bnN0IERPTVBvaW50SW5pdCYpOworICAgIFdlYlhSUmlnaWRUcmFuc2Zvcm0oY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmKTsKIAogICAgIFJlZjxET01Qb2ludFJlYWRPbmx5PiBtX3Bvc2l0aW9u
OwogICAgIFJlZjxET01Qb2ludFJlYWRPbmx5PiBtX29yaWVudGF0aW9uOworICAgIFRyYW5zZm9y
bWF0aW9uTWF0cml4IG1fcmF3VHJhbnNmb3JtOwogICAgIFJlZlB0cjxGbG9hdDMyQXJyYXk+IG1f
bWF0cml4OworICAgIFJlZlB0cjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiBtX2ludmVyc2U7CisgICAg
V2Vha1B0cjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiBtX3BhcmVudEludmVyc2U7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3Bw
CmluZGV4IDFhM2IwMjY3MGVhZDBjMmNiMDdlNDllYjExNWIyOWViODliZTQxOTQuLmE3ZTRlMDE0
MmM0YTM0YTVlYWRkNzk3M2Y0ZGI0NzI1ODUzZGYwYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNm
b3JtYXRpb25NYXRyaXguY3BwCkBAIC01ODAsNiArNTgwLDI2IEBAIFRyYW5zZm9ybWF0aW9uTWF0
cml4OjpUcmFuc2Zvcm1hdGlvbk1hdHJpeChjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHQpCiAgICAg
c2V0TWF0cml4KHQuYSgpLCB0LmIoKSwgdC5jKCksIHQuZCgpLCB0LmUoKSwgdC5mKCkpOwogfQog
CisKKy8vIEZJWE1FOiBPbmNlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjA4NTYgaXMgYWRkcmVzc2VkIHdlIGNhbiByZXVzZSB0aGlzIGZ1bmN0aW9uIGluIFRyYW5z
Zm9ybWF0aW9uTWF0cml4OjpyZWNvbXBvc2U0KCkuCitUcmFuc2Zvcm1hdGlvbk1hdHJpeCBUcmFu
c2Zvcm1hdGlvbk1hdHJpeDo6ZnJvbVF1YXRlcm5pb24oZG91YmxlIHF4LCBkb3VibGUgcXksIGRv
dWJsZSBxeiwgZG91YmxlIHF3KQoreworICAgIGNvbnN0IGRvdWJsZSB4eCA9IHF4ICogcXg7Cisg
ICAgY29uc3QgZG91YmxlIHl5ID0gcXkgKiBxeTsKKyAgICBjb25zdCBkb3VibGUgenogPSBxeiAq
IHF6OworICAgIGNvbnN0IGRvdWJsZSB4eiA9IHF4ICogcXo7CisgICAgY29uc3QgZG91YmxlIHh5
ID0gcXggKiBxeTsgCisgICAgY29uc3QgZG91YmxlIHl6ID0gcXkgKiBxejsKKyAgICBjb25zdCBk
b3VibGUgeHcgPSBxdyAqIHF4OworICAgIGNvbnN0IGRvdWJsZSB5dyA9IHF3ICogcXk7CisgICAg
Y29uc3QgZG91YmxlIHp3ID0gcXcgKiBxejsKKworICAgIHJldHVybiBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCgxIC0gMiAqICh5eSArIHp6KSwgMiAqICh4eSArIHp3KSwgMiAqICh4eiAtIHl3KSwgMCwK
KyAgICAgICAgMiAqICh4eSAtIHp3KSwgMSAtIDIgKiAoeHggKyB6eiksIDIgKiAoeXogKyB4dyks
IDAsCisgICAgICAgIDIgKiAoeHogKyB5dyksIDIgKiAoeXogLSB4dyksIDEgLSAyICogKHh4ICsg
eXkpLCAwLAorICAgICAgICAwLCAwLCAwLCAxKTsKK30KKwogVHJhbnNmb3JtYXRpb25NYXRyaXgm
IFRyYW5zZm9ybWF0aW9uTWF0cml4OjpzY2FsZShkb3VibGUgcykKIHsKICAgICByZXR1cm4gc2Nh
bGVOb25Vbmlmb3JtKHMsIHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmlu
ZGV4IGNkZDUyYmNhNDJmMDkwNjc4OWFkNGFlYzFkYWE5ZjI5YmM2NGRjM2IuLjYwMGU3ZDBiMWNl
MjZhN2MyNDIxZDU4NTYxY2M1NzRiMDRhMTdiMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0
aW9uTWF0cml4LmgKQEAgLTExOSw2ICsxMTksOCBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VY
UE9SVCBUcmFuc2Zvcm1hdGlvbk1hdHJpeChjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKIAorICAg
IHN0YXRpYyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBmcm9tUXVhdGVybmlvbihkb3VibGUgcXgsIGRv
dWJsZSBxeSwgZG91YmxlIHF6LCBkb3VibGUgcXcpOworCiAgICAgc3RhdGljIGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4IGlkZW50aXR5OwogCiAgICAgdm9pZCBzZXRNYXRyaXgoZG91YmxlIGEs
IGRvdWJsZSBiLCBkb3VibGUgYywgZG91YmxlIGQsIGRvdWJsZSBlLCBkb3VibGUgZikKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5ZTQ4NGJhZGFl
YTNhMGNjMWE2MGVkYzlmM2QyNjA3NDk1Y2NiODJmLi4zNmFkMGRjNjQzZmE1ZjIxZTE0ZjI4ZGY2
YTRmNTJiZmYzYmI3ZGIwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjUgIEFsaWNpYSBCb3lhIEdhcmPD
rWEgIDxhYm95YUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIHJ1bi1ndGstdGVzdHM6IFVz
ZSBzeXMuZXhpdCgxKSBpbnN0ZWFkIG9mIHJldHVybiAxCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA4NjAKKworICAgICAgICBSZXZpZXdlZCBieSBQ
aGlsaXBwZSBOb3JtYW5kLgorCisgICAgICAgIFNldmVyYWwgcGFydHMgb2YgdGhlIGNvZGUgaW4g
YXBpX3Rlc3RfcnVubmVyLnB5IHJldHVybmVkIDEgb24gZmFpbHVyZS4KKyAgICAgICAgV2hpbGUg
Y29tbW9uIGZvciBtYWluKCkgZnVuY3Rpb25zLCB0aGlzIGlzIGJhZCBpbiBmdW5jdGlvbnMgdGhh
dCBhcmUKKyAgICAgICAgZXhwZWN0ZWQgdG8gcmV0dXJuIHNvbWV0aGluZyBlbHNlIHRoYW4gYW4g
ZXhpdCBjb2RlLCBhbmQgbGV0cyB0aGUKKyAgICAgICAgcHJvZ3JhbSBydW4gYWZ0ZXIgdGhlIGVy
cm9yLiBzeXMuZXhpdCgxKSBzaG91bGQgYmUgdXNlZCBpbiB0aG9zZSBjYXNlcworICAgICAgICBp
bnN0ZWFkLgorCisgICAgICAgICogZ2xpYi9hcGlfdGVzdF9ydW5uZXIucHk6CisgICAgICAgIChU
ZXN0UnVubmVyLl9nZXRfdGVzdHNfZnJvbV9nb29nbGVfdGVzdF9zdWl0ZSk6CisgICAgICAgIChU
ZXN0UnVubmVyLnJ1bl90ZXN0cyk6CisKIDIwMjEtMDEtMjQgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPUyBXSzJdIHRoZXZlcmdlLmNvbSAtIHJ1
YmJlciBiYW5kIHNjcm9sbGluZyBhdCB0aGUgdG9wIG9mIHRoZSBwYWdlIGNhdXNlcyBhbiBhYnJ1
cHQganVtcApkaWZmIC0tZ2l0IGEvVG9vbHMvZ2xpYi9hcGlfdGVzdF9ydW5uZXIucHkgYi9Ub29s
cy9nbGliL2FwaV90ZXN0X3J1bm5lci5weQppbmRleCBmM2RhOGY4MDRiMjUyNDlhMTgyYjEzZjli
NjIwMzZmMDFkODk0MWE2Li5hNTk0ZGZhODc2ZjUxYWYwMTY2MWJjNjFjNmMxOTMzZmY0MDFiODBk
IDEwMDc1NQotLS0gYS9Ub29scy9nbGliL2FwaV90ZXN0X3J1bm5lci5weQorKysgYi9Ub29scy9n
bGliL2FwaV90ZXN0X3J1bm5lci5weQpAQCAtMjAzLDcgKzIwMyw3IEBAIGNsYXNzIFRlc3RSdW5u
ZXIob2JqZWN0KToKICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9y
OgogICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiRVJST1I6IGNvdWxkIG5vdCBsaXN0IGF2
YWlsYWJsZSB0ZXN0cyBmb3IgYmluYXJ5ICVzLlxuIiAlICh0ZXN0X3Byb2dyYW0pKQogICAgICAg
ICAgICAgc3lzLnN0ZGVyci5mbHVzaCgpCi0gICAgICAgICAgICByZXR1cm4gMQorICAgICAgICAg
ICAgc3lzLmV4aXQoMSkKIAogICAgICAgICB0ZXN0cyA9IFtdCiAgICAgICAgIHByZWZpeCA9IE5v
bmUKQEAgLTI4Miw3ICsyODIsNyBAQCBjbGFzcyBUZXN0UnVubmVyKG9iamVjdCk6CiAgICAgICAg
IGlmIG5vdCBzZWxmLl90ZXN0czoKICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIkVSUk9S
OiB0ZXN0cyBub3QgZm91bmQgaW4gJXMuXG4iICUgKHNlbGYuX3Rlc3RfcHJvZ3JhbXNfYmFzZV9k
aXIoKSkpCiAgICAgICAgICAgICBzeXMuc3RkZXJyLmZsdXNoKCkKLSAgICAgICAgICAgIHJldHVy
biAxCisgICAgICAgICAgICBzeXMuZXhpdCgxKQogCiAgICAgICAgIHNlbGYuX3NldHVwX3Rlc3Rp
bmdfZW52aXJvbm1lbnQoKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmZjYjY5YzY3NmY3Yzk0ZjA2MGE0ZTgwZjkyMTk3
ZjVmYmJhNDRmYS4uZDZlNDNlYWVjMDk3YmM4MTQ1N2M2MmMxZWVmYWM5YjAzNjE0NWExOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAxLTI2IEltYW5vbCBGZXJuYW5kZXogIDxpZmVybmFu
ZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29tcGxldGUgV2ViWFJSaWdpZFRyYW5zZm9ybSBp
bXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIwNzMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2VyZ2lvIFZpbGxhci4KKworICAg
ICAgICBFbmFibGUgWFJSaWdpZFRyYW5zZm9ybSBXZWJYUiB0ZXN0cy4KKworICAgICAgICAqIHBs
YXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTAxLTI1ICBNYXJ0aW4gUm9iaW5z
b24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBzY3JvbGwtcGFkZGluZyBzaG91
bGQgYWZmZWN0IHBhZ2luZyBvcGVyYXRpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA5ZTBiMTljZTE5MDAzMDIxYTQ1NjViN2RjNGE5ZmU4YmU3OWYwYTBmLi4xYmI1YjQ3ODI0
OGUxZWI5ZTc1MzQ4ODRmYTM2ZjdlZTg4ZDhjNDNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0yNSAgSW1hbm9sIEZlcm5hbmRleiAgPGlm
ZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBDb21wbGV0ZSBXZWJYUlJpZ2lkVHJhbnNm
b3JtIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjA3MzIKKworICAgICAgICBSZXZpZXdlZCBieSBTZXJnaW8gVmlsbGFyLgor
CisgICAgICAgIEVuYWJsZSBYUlJpZ2lkVHJhbnNmb3JtIFdlYlhSIHRlc3RzLgorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5odHRw
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4
ci94clJpZ2lkVHJhbnNmb3JtX21hdHJpeC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAy
MDIxLTAxLTIyICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAg
U2hvdWxkIFNoYXJlZEFycmF5QnVmZmVyL1dlYkFzc2VtYmx5Lk1lbW9yeSByZWFsbHkgdGhyb3c/
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFu
c2Zvcm1faW52ZXJzZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQ3ZDIzZjRhNjYy
Y2Q5ZTIxOGY3OGI2NTEyOWY0NmNkYzcyMjA4NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9y
bV9pbnZlcnNlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBYUlJp
Z2lkVHJhbnNmb3JtIGludmVyc2Ugd29ya3MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX21hdHJp
eC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1fbWF0cml4Lmh0dHBzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45ZGUyYjdiMDEzMTg4NjAyOWE3Mjg4MzRmMWFjYTU3MWRkYjJlMThhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX21hdHJpeC5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgWFJSaWdpZFRyYW5zZm9ybSBtYXRyaXggd29ya3MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlYTNmNTg3OTE3YWFj
M2U2OWFkZTQ4MTU3ZjU2ZjEyZDc1OGIzNDc4Li5kYmM5ZmYyOTc0NzE3ZmUwOWRjM2JmNzM3NWUx
Mjc1YjI4NmVkYzI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtNjQwLDYgKzY0MCw4IEBAIHdlYmtpdC5vcmcvYi8yMDk4NTkgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94cldlYkdMTGF5ZXJfZnJhbWVidWZmCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL25hdmlnYXRvcl94cl9zYW1lT2JqZWN0Lmh0dHBz
Lmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJG
cmFtZV9zZXNzaW9uX3NhbWVPYmplY3QuaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX2NvbnN0cnVjdG9yLmh0
dHBzLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
eHJSaWdpZFRyYW5zZm9ybV9pbnZlcnNlLmh0dHBzLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9tYXRyaXguaHR0cHMu
aHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clNl
c3Npb25fcHJldmVudF9tdWx0aXBsZV9leGNsdXNpdmUuaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9yZW5kZXJfc3RhdGVfdmVydGljYWxf
Zm92X2ltbWVyc2l2ZS5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYnhyL3JlbmRlcl9zdGF0ZV91cGRhdGUuaHR0cHMuaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418277</attachid>
            <date>2021-01-25 04:55:42 -0800</date>
            <delta_ts>2021-01-26 09:58:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220732-20210125135541.patch</filename>
            <type>text/plain</type>
            <size>14841</size>
            <attacher name="Imanol Fernandez">ifernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2NiNzJjMDQzMzZkZjJj
ZTU5NjhjNzY0Y2E4ZGY4ZWYyY2YxNjMyOC4uZmY3ZGY5YmQxODQ0N2I2YzM5NTViYjBhMDM4MjJh
NDRhYzVhN2QwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTI1ICBJbWFu
b2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbXBsZXRl
IFdlYlhSUmlnaWRUcmFuc2Zvcm0gaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDczMgorCisgICAgICAgIFJldmlld2VkIGJ5
IFNlcmdpbyBWaWxsYXIuCisKKyAgICAgICAgLSBJbXBsZW1lbnQgWFJSaWdpZFRyYW5zZm9ybS5p
bnZlcnNlKCkuCisgICAgICAgIC0gRXhwb3NlIHJhdyBtYXRyaXggdG8gYmUgdXNlZCBpbiBvdGhl
ciBXZWJYUiBtYXRoIGNhbGN1bGF0aW9ucyAoZS5nIHBvc2UgY29tcG9zaXRpb24pLgorICAgICAg
ICAtIENvcnJlY3RseSBsYXppbHkgaW5pdGlhbGl6ZSBhbmQgcmV1c2UgdGhlIEZsb2F0MzJBcnJh
eSBtYXRyaXhEYXRhLgorCisgICAgICAgIFRlc3RlZCBieSB0aGUgV2ViWFIgcGxhdGZvcm0gdGVz
dHMuIAorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Om5vcm1hbGl6ZVF1YXRlcm5pb24pOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViWFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhS
UmlnaWRUcmFuc2Zvcm06OldlYlhSUmlnaWRUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6
bV9vcmllbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjptX3Jhd1RyYW5zZm9ybSk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJYUlJpZ2lkVHJhbnNmb3JtOjptYXRyaXgpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViWFJSaWdpZFRyYW5zZm9ybTo6aW52ZXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJYUlJpZ2lkVHJhbnNmb3JtOjpyYXdUcmFuc2Zvcm0gY29uc3QpOgorICAgICAgICAqIE1vZHVs
ZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VHJhbnNmb3JtYXRpb25NYXRyaXg6OmZyb21RdWF0ZXJuaW9uKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4Lmg6CisKIDIwMjEt
MDEtMjUgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBlLmNvbT4KIAogICAgICAgICBOdWxscHRy
IGRlcmVmZXJlbmNlIGluIFNwZWVjaFJlY29nbml0aW9uOjpzdG9wKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwCmluZGV4IGQz
ZmRjZmI5MGU3MjViMTc5NzgwMDU0YmE2ZTdiYTU0NjRmZjk4OWQuLjY4M2Y2ZjM2MTIwY2RlY2Fi
MDMzMWM4MTkwNDBlY2YwNDlkZjA0YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmNwcApAQCAtMzUsNiArMzUsMTggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgYm9vbCBub3JtYWxpemVRdWF0ZXJuaW9uKERP
TVBvaW50SW5pdCYgcSkKK3sKKyAgICBjb25zdCBkb3VibGUgbGVuZ3RoID0gc3RkOjpzcXJ0KHEu
eCAqIHEueCArIHEueSAqIHEueSArIHEueiAqIHEueiArIHEudyAqIHEudyk7CisgICAgaWYgKFdU
Rjo6YXJlRXNzZW50aWFsbHlFcXVhbDxkb3VibGU+KGxlbmd0aCwgMCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBxLnggLz0gbGVuZ3RoOworICAgIHEueSAvPSBsZW5ndGg7CisgICAgcS56
IC89IGxlbmd0aDsKKyAgICBxLncgLz0gbGVuZ3RoOworICAgIHJldHVybiB0cnVlOworfQorCiBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2ViWFJSaWdpZFRyYW5zZm9ybSk7CiAKIFJlZjxX
ZWJYUlJpZ2lkVHJhbnNmb3JtPiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoKQpAQCAtNDIs
NiArNTQsMTIgQEAgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IFdlYlhSUmlnaWRUcmFuc2Zvcm06
OmNyZWF0ZSgpCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJSaWdpZFRyYW5zZm9ybSh7
IH0sIHsgfSkpOwogfQogCitSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4gV2ViWFJSaWdpZFRyYW5z
Zm9ybTo6Y3JlYXRlKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm0pCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJSaWdpZFRyYW5zZm9ybSh0cmFuc2Zvcm0pKTsK
K30KKworCiBFeGNlcHRpb25PcjxSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4+IFdlYlhSUmlnaWRU
cmFuc2Zvcm06OmNyZWF0ZShjb25zdCBET01Qb2ludEluaXQmIHBvc2l0aW9uLCBjb25zdCBET01Q
b2ludEluaXQmIG9yaWVudGF0aW9uKQogewogICAgIC8vIFRoZSBYUlJpZ2lkVHJhbnNmb3JtKHBv
c2l0aW9uLCBvcmllbnRhdGlvbikgY29uc3RydWN0b3IgTVVTVCBwZXJmb3JtIHRoZSBmb2xsb3dp
bmcgc3RlcHMgd2hlbiBpbnZva2VkOgpAQCAtNTgsMTcgKzc2LDggQEAgRXhjZXB0aW9uT3I8UmVm
PFdlYlhSUmlnaWRUcmFuc2Zvcm0+PiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoY29uc3Qg
RE9NUG9pbnQKICAgICAvLyAgIDYuIEVsc2UgaW5pdGlhbGl6ZSB0cmFuc2Zvcm3igJlzIG9yaWVu
dGF0aW9u4oCZcyB4IHZhbHVlIHRvIG9yaWVudGF0aW9u4oCZcyB4IGRpY3Rpb25hcnkgbWVtYmVy
LCB5IHZhbHVlIHRvIG9yaWVudGF0aW9u4oCZcyB5IGRpY3Rpb25hcnkgbWVtYmVyLCB6IHZhbHVl
IHRvIG9yaWVudGF0aW9u4oCZcyB6IGRpY3Rpb25hcnkgbWVtYmVyIGFuZCB3IHZhbHVlIHRvIG9y
aWVudGF0aW9u4oCZcyB3IGRpY3Rpb25hcnkgbWVtYmVyLgogICAgIC8vICAgNy4gTm9ybWFsaXpl
IHgsIHksIHosIGFuZCB3IGNvbXBvbmVudHMgb2YgdHJhbnNmb3Jt4oCZcyBvcmllbnRhdGlvbi4K
ICAgICBET01Qb2ludEluaXQgb3JpZW50YXRpb25Jbml0IHsgb3JpZW50YXRpb24ueCwgb3JpZW50
YXRpb24ueSwgb3JpZW50YXRpb24ueiwgb3JpZW50YXRpb24udyB9OwotICAgIHsKLSAgICAgICAg
ZG91YmxlIGxlbmd0aCA9IHN0ZDo6c3FydChvcmllbnRhdGlvbkluaXQueCAqIG9yaWVudGF0aW9u
SW5pdC54ICsgb3JpZW50YXRpb25Jbml0LnkgKiBvcmllbnRhdGlvbkluaXQueQotICAgICAgICAg
ICAgKyBvcmllbnRhdGlvbkluaXQueiAqIG9yaWVudGF0aW9uSW5pdC56ICsgb3JpZW50YXRpb25J
bml0LncgKiBvcmllbnRhdGlvbkluaXQudyk7Ci0gICAgICAgIGlmIChXVEY6OmFyZUVzc2VudGlh
bGx5RXF1YWw8ZG91YmxlPihsZW5ndGgsIDApKQotICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IEludmFsaWRTdGF0ZUVycm9yIH07Ci0KLSAgICAgICAgb3JpZW50YXRpb25Jbml0PSB7Ci0g
ICAgICAgICAgICBvcmllbnRhdGlvbkluaXQueCAvIGxlbmd0aCwgb3JpZW50YXRpb25Jbml0Lnkg
LyBsZW5ndGgsCi0gICAgICAgICAgICBvcmllbnRhdGlvbkluaXQueiAvIGxlbmd0aCwgb3JpZW50
YXRpb25Jbml0LncgLyBsZW5ndGgsCi0gICAgICAgIH07Ci0gICAgfQorICAgIGlmICghbm9ybWFs
aXplUXVhdGVybmlvbihvcmllbnRhdGlvbkluaXQpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKIAogICAgIC8vICAgOC4gUmV0dXJuIHRyYW5zZm9ybS4K
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJYUlJpZ2lkVHJhbnNmb3JtKHBvc2l0aW9uSW5p
dCwgb3JpZW50YXRpb25Jbml0KSk7CkBAIC03OCwxMCArODcsMzEgQEAgV2ViWFJSaWdpZFRyYW5z
Zm9ybTo6V2ViWFJSaWdpZFRyYW5zZm9ybShjb25zdCBET01Qb2ludEluaXQmIHBvc2l0aW9uLCBj
b25zdCBET00KICAgICA6IG1fcG9zaXRpb24oRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRlKHBvc2l0
aW9uKSkKICAgICAsIG1fb3JpZW50YXRpb24oRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRlKG9yaWVu
dGF0aW9uKSkKIHsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IHByb3Blcmx5LCBwZXIgc3BlYy4K
LSAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtYXRyaXg7Ci0gICAgYXV0byBtYXRyaXhEYXRhID0g
bWF0cml4LnRvQ29sdW1uTWFqb3JGbG9hdEFycmF5KCk7Ci0gICAgbV9tYXRyaXggPSBGbG9hdDMy
QXJyYXk6OmNyZWF0ZShtYXRyaXhEYXRhLmRhdGEoKSwgbWF0cml4RGF0YS5zaXplKCkpOworICAg
IFRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zbGF0aW9uOworICAgIHRyYW5zbGF0aW9uLnRyYW5z
bGF0ZTNkKHBvc2l0aW9uLngsIHBvc2l0aW9uLnksIHBvc2l0aW9uLnopOworICAgIGF1dG8gcm90
YXRpb24gPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZnJvbVF1YXRlcm5pb24ob3JpZW50YXRpb24u
eCwgb3JpZW50YXRpb24ueSwgb3JpZW50YXRpb24ueiwgb3JpZW50YXRpb24udyk7CisgICAgbV9y
YXdUcmFuc2Zvcm0gPSB0cmFuc2xhdGlvbiAqIHJvdGF0aW9uOworfQorCitXZWJYUlJpZ2lkVHJh
bnNmb3JtOjpXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiB0
cmFuc2Zvcm0pCisgICAgOiBtX3Bvc2l0aW9uKERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZSh7IH0p
KQorICAgICwgbV9vcmllbnRhdGlvbihET01Qb2ludFJlYWRPbmx5OjpjcmVhdGUoeyB9KSkKKyAg
ICAsIG1fcmF3VHJhbnNmb3JtKHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJhbnNmb3JtLmlzSWRl
bnRpdHkoKSkgeworICAgICAgICAvLyBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZGVjb21wb3NlIHJl
dHVybnMgYSBlbXB0eSBxdWF0ZXJuaW9uIGluc3RlYWQgb2YgdW5pdCBxdWF0ZXJuaW9uIGZvciBJ
ZGVudGl0eS4KKyAgICAgICAgLy8gV2ViWFIgdGVzdHMgZXhwZWN0IGEgdW5pdCBxdWF0ZXJuaW9u
IGZvciB0aGlzIGNhc2UuCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBUcmFuc2Zvcm1h
dGlvbk1hdHJpeDo6RGVjb21wb3NlZDRUeXBlIGRlY29tcCA9IHsgfTsKKyAgICB0cmFuc2Zvcm0u
ZGVjb21wb3NlNChkZWNvbXApOworCisgICAgbV9wb3NpdGlvbiA9IERPTVBvaW50UmVhZE9ubHk6
OmNyZWF0ZShkZWNvbXAudHJhbnNsYXRlWCwgZGVjb21wLnRyYW5zbGF0ZVksIGRlY29tcC50cmFu
c2xhdGVaLCAxLjBmKTsKKworICAgIERPTVBvaW50SW5pdCBvcmllbnRhdGlvbkluaXQgeyAtZGVj
b21wLnF1YXRlcm5pb25YLCAtZGVjb21wLnF1YXRlcm5pb25ZLCAtZGVjb21wLnF1YXRlcm5pb25a
LCBkZWNvbXAucXVhdGVybmlvblcgfTsKKyAgICBub3JtYWxpemVRdWF0ZXJuaW9uKG9yaWVudGF0
aW9uSW5pdCk7CisgICAgbV9vcmllbnRhdGlvbiA9IERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZShv
cmllbnRhdGlvbkluaXQpOwogfQogCiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjp+V2ViWFJSaWdpZFRy
YW5zZm9ybSgpID0gZGVmYXVsdDsKQEAgLTk2LDE3ICsxMjYsNDEgQEAgY29uc3QgRE9NUG9pbnRS
ZWFkT25seSYgV2ViWFJSaWdpZFRyYW5zZm9ybTo6b3JpZW50YXRpb24oKSBjb25zdAogICAgIHJl
dHVybiBtX29yaWVudGF0aW9uOwogfQogCi1SZWY8RmxvYXQzMkFycmF5PiAgV2ViWFJSaWdpZFRy
YW5zZm9ybTo6bWF0cml4KCkgY29uc3QKK2NvbnN0IEZsb2F0MzJBcnJheSYgV2ViWFJSaWdpZFRy
YW5zZm9ybTo6bWF0cml4KCkKK3sKKyAgICBpZiAobV9tYXRyaXggJiYgIW1fbWF0cml4LT5pc0Rl
dGFjaGVkKCkpCisgICAgICAgIHJldHVybiAqbV9tYXRyaXg7CisKKyAgICAvLyBMYXppbHkgY3Jl
YXRlIG1hdHJpeCBGbG9hdDMyQXJyYXkuCisgICAgYXV0byBtYXRyaXhEYXRhID0gbV9yYXdUcmFu
c2Zvcm0udG9Db2x1bW5NYWpvckZsb2F0QXJyYXkoKTsKKyAgICBtX21hdHJpeCA9IEZsb2F0MzJB
cnJheTo6Y3JlYXRlKG1hdHJpeERhdGEuZGF0YSgpLCBtYXRyaXhEYXRhLnNpemUoKSk7CisKKyAg
ICByZXR1cm4gKm1fbWF0cml4OworfQorCitjb25zdCBXZWJYUlJpZ2lkVHJhbnNmb3JtJiBXZWJY
UlJpZ2lkVHJhbnNmb3JtOjppbnZlcnNlKCkKIHsKLSAgICBhdXRvIG1hdHJpeCA9IEZsb2F0MzJB
cnJheTo6Y3JlYXRlKDE2KTsKLSAgICBtYXRyaXgtPnplcm9GaWxsKCk7Ci0gICAgcmV0dXJuIG1h
dHJpeDsKKyAgICAvLyBUaGUgaW52ZXJzZSBvZiBhIGludmVyc2Ugb2JqZWN0IHNob3VsZCByZXR1
cm4gdGhlIG9yaWdpbmFsIG9iamVjdC4KKyAgICBpZiAobV9wYXJlbnRJbnZlcnNlKQorICAgICAg
ICByZXR1cm4gKm1fcGFyZW50SW52ZXJzZTsKKworICAgIC8vIEludmVyc2Ugc2hvdWxkIGFsd2F5
cyByZXR1cm4gdGhlIHNhbWUgb2JqZWN0LgorICAgIGlmIChtX2ludmVyc2UpCisgICAgICAgIHJl
dHVybiAqbV9pbnZlcnNlOworICAgIAorICAgIGF1dG8gaW52ZXJzZVRyYW5zZm9ybSA9IG1fcmF3
VHJhbnNmb3JtLmludmVyc2UoKTsKKyAgICBBU1NFUlQoISFpbnZlcnNlVHJhbnNmb3JtKTsKKwor
ICAgIG1faW52ZXJzZSA9IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0ZSgqaW52ZXJzZVRyYW5z
Zm9ybSk7CisgICAgLy8gVGhlIGludmVyc2Ugb2YgYSBpbnZlcnNlIG9iamVjdCBzaG91bGQgcmV0
dXJuIHRoZSBvcmlnaW5hbCBvYmplY3QuCisgICAgbV9pbnZlcnNlLT5tX3BhcmVudEludmVyc2Ug
PSBtYWtlV2Vha1B0cih0aGlzKTsKKworICAgIHJldHVybiAqbV9pbnZlcnNlOwogfQogCi1SZWY8
V2ViWFJSaWdpZFRyYW5zZm9ybT4gV2ViWFJSaWdpZFRyYW5zZm9ybTo6aW52ZXJzZSgpIGNvbnN0
Citjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgV2ViWFJSaWdpZFRyYW5zZm9ybTo6cmF3VHJh
bnNmb3JtKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50IHByb3Blcmx5LgotICAg
IHJldHVybiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoKTsKKyAgICByZXR1cm4gbV9yYXdU
cmFuc2Zvcm07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmgKaW5kZXggZDczNTk0Njc3
NzBkMDhkNmJkNWNhOWEyM2U3MDZjMTYxODJmZWYyYS4uNzhjYjI3ZTc3NjJhOTkyZjAzZDQ2ZWFl
NTUwOThiYzEyNWRiMjg2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmgKQEAgLTI4LDMzICsyOCw0MSBAQAogI2lmIEVOQUJMRShX
RUJYUikKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSAiVHJhbnNmb3JtYXRp
b25NYXRyaXguaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9GbG9hdDMyQXJyYXkuaD4KICNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBE
T01Qb2ludEluaXQ7CiBjbGFzcyBET01Qb2ludFJlYWRPbmx5OwogCi1jbGFzcyBXZWJYUlJpZ2lk
VHJhbnNmb3JtIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJSaWdpZFRyYW5zZm9ybT4geworY2xh
c3MgV2ViWFJSaWdpZFRyYW5zZm9ybSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSUmlnaWRUcmFu
c2Zvcm0+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViWFJSaWdpZFRyYW5zZm9ybT4gewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURURfRVhQT1JUKFdlYlhSUmlnaWRUcmFuc2Zvcm0sIFdFQkNP
UkVfRVhQT1JUKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+
IGNyZWF0ZSgpOworICAgIHN0YXRpYyBSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4gY3JlYXRlKGNv
bnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIEV4
Y2VwdGlvbk9yPFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPj4gY3JlYXRlKGNvbnN0IERPTVBvaW50
SW5pdCYsIGNvbnN0IERPTVBvaW50SW5pdCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5XZWJYUlJp
Z2lkVHJhbnNmb3JtKCk7CiAKICAgICBjb25zdCBET01Qb2ludFJlYWRPbmx5JiBwb3NpdGlvbigp
IGNvbnN0OwogICAgIGNvbnN0IERPTVBvaW50UmVhZE9ubHkmIG9yaWVudGF0aW9uKCkgY29uc3Q7
Ci0gICAgUmVmPEZsb2F0MzJBcnJheT4gbWF0cml4KCkgY29uc3Q7Ci0gICAgUmVmPFdlYlhSUmln
aWRUcmFuc2Zvcm0+IGludmVyc2UoKSBjb25zdDsKKyAgICBjb25zdCBGbG9hdDMyQXJyYXkmIG1h
dHJpeCgpOworICAgIGNvbnN0IFdlYlhSUmlnaWRUcmFuc2Zvcm0mIGludmVyc2UoKTsKKyAgICBj
b25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgcmF3VHJhbnNmb3JtKCkgY29uc3Q7CiAKIHByaXZh
dGU6CiAgICAgV2ViWFJSaWdpZFRyYW5zZm9ybShjb25zdCBET01Qb2ludEluaXQmLCBjb25zdCBE
T01Qb2ludEluaXQmKTsKKyAgICBXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0
aW9uTWF0cml4Jik7CiAKICAgICBSZWY8RE9NUG9pbnRSZWFkT25seT4gbV9wb3NpdGlvbjsKICAg
ICBSZWY8RE9NUG9pbnRSZWFkT25seT4gbV9vcmllbnRhdGlvbjsKKyAgICBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCBtX3Jhd1RyYW5zZm9ybTsKICAgICBSZWZQdHI8RmxvYXQzMkFycmF5PiBtX21hdHJp
eDsKKyAgICBSZWZQdHI8V2ViWFJSaWdpZFRyYW5zZm9ybT4gbV9pbnZlcnNlOworICAgIFdlYWtQ
dHI8V2ViWFJSaWdpZFRyYW5zZm9ybT4gbV9wYXJlbnRJbnZlcnNlOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAppbmRl
eCAxYTNiMDI2NzBlYWQwYzJjYjA3ZTQ5ZWIxMTViMjllYjg5YmU0MTk0Li5hN2U0ZTAxNDJjNGEz
NGE1ZWFkZDc5NzNmNGRiNDcyNTg1M2RmMGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0
aW9uTWF0cml4LmNwcApAQCAtNTgwLDYgKzU4MCwyNiBAQCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6
VHJhbnNmb3JtYXRpb25NYXRyaXgoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0KQogICAgIHNldE1h
dHJpeCh0LmEoKSwgdC5iKCksIHQuYygpLCB0LmQoKSwgdC5lKCksIHQuZigpKTsKIH0KIAorCisv
LyBGSVhNRTogT25jZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIw
ODU2IGlzIGFkZHJlc3NlZCB3ZSBjYW4gcmV1c2UgdGhpcyBmdW5jdGlvbiBpbiBUcmFuc2Zvcm1h
dGlvbk1hdHJpeDo6cmVjb21wb3NlNCgpLgorVHJhbnNmb3JtYXRpb25NYXRyaXggVHJhbnNmb3Jt
YXRpb25NYXRyaXg6OmZyb21RdWF0ZXJuaW9uKGRvdWJsZSBxeCwgZG91YmxlIHF5LCBkb3VibGUg
cXosIGRvdWJsZSBxdykKK3sKKyAgICBjb25zdCBkb3VibGUgeHggPSBxeCAqIHF4OworICAgIGNv
bnN0IGRvdWJsZSB5eSA9IHF5ICogcXk7CisgICAgY29uc3QgZG91YmxlIHp6ID0gcXogKiBxejsK
KyAgICBjb25zdCBkb3VibGUgeHogPSBxeCAqIHF6OworICAgIGNvbnN0IGRvdWJsZSB4eSA9IHF4
ICogcXk7IAorICAgIGNvbnN0IGRvdWJsZSB5eiA9IHF5ICogcXo7CisgICAgY29uc3QgZG91Ymxl
IHh3ID0gcXcgKiBxeDsKKyAgICBjb25zdCBkb3VibGUgeXcgPSBxdyAqIHF5OworICAgIGNvbnN0
IGRvdWJsZSB6dyA9IHF3ICogcXo7CisKKyAgICByZXR1cm4gVHJhbnNmb3JtYXRpb25NYXRyaXgo
MSAtIDIgKiAoeXkgKyB6eiksIDIgKiAoeHkgKyB6dyksIDIgKiAoeHogLSB5dyksIDAsCisgICAg
ICAgIDIgKiAoeHkgLSB6dyksIDEgLSAyICogKHh4ICsgenopLCAyICogKHl6ICsgeHcpLCAwLAor
ICAgICAgICAyICogKHh6ICsgeXcpLCAyICogKHl6IC0geHcpLCAxIC0gMiAqICh4eCArIHl5KSwg
MCwKKyAgICAgICAgMCwgMCwgMCwgMSk7Cit9CisKIFRyYW5zZm9ybWF0aW9uTWF0cml4JiBUcmFu
c2Zvcm1hdGlvbk1hdHJpeDo6c2NhbGUoZG91YmxlIHMpCiB7CiAgICAgcmV0dXJuIHNjYWxlTm9u
VW5pZm9ybShzLCBzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAppbmRleCBj
ZGQ1MmJjYTQyZjA5MDY3ODlhZDRhZWMxZGFhOWYyOWJjNjRkYzNiLi42MDBlN2QwYjFjZTI2YTdj
MjQyMWQ1ODU2MWNjNTc0YjA0YTE3YjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oCkBAIC0xMTksNiArMTE5LDggQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQg
VHJhbnNmb3JtYXRpb25NYXRyaXgoY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CiAKKyAgICBzdGF0
aWMgVHJhbnNmb3JtYXRpb25NYXRyaXggZnJvbVF1YXRlcm5pb24oZG91YmxlIHF4LCBkb3VibGUg
cXksIGRvdWJsZSBxeiwgZG91YmxlIHF3KTsKKwogICAgIHN0YXRpYyBjb25zdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCBpZGVudGl0eTsKIAogICAgIHZvaWQgc2V0TWF0cml4KGRvdWJsZSBhLCBkb3Vi
bGUgYiwgZG91YmxlIGMsIGRvdWJsZSBkLCBkb3VibGUgZSwgZG91YmxlIGYpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDdh
ZDJjOTJkZTMxYTAzZmQxN2FmODBhZjZkYWU5ZmExMDIxYjhhZS4uYzc0ZGQwZTlmMDBhOTdlNzA0
NDEyYTM2YzM1YzZmZmIxNTVmNTJhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAxLTI1
ICBJbWFub2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIENv
bXBsZXRlIFdlYlhSUmlnaWRUcmFuc2Zvcm0gaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDczMgorCisgICAgICAgIFJldmll
d2VkIGJ5IFNlcmdpbyBWaWxsYXIuCisKKyAgICAgICAgRW5hYmxlIFhSUmlnaWRUcmFuc2Zvcm0g
V2ViWFIgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9uczoK
KwogMjAyMS0wMS0yNSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGUuY29tPgogCiAgICAgICAg
IE51bGxwdHIgZGVyZWZlcmVuY2UgaW4gU3BlZWNoUmVjb2duaXRpb246OnN0b3AoKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOWUwYjE5Y2UxOTAwMzAyMWE0NTY1YjdkYzRhOWZl
OGJlNzlmMGEwZi4uMWJiNWI0NzgyNDhlMWViOWU3NTM0ODg0ZmEzNmY3ZWU4OGQ4YzQzZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDEtMjUg
IEltYW5vbCBGZXJuYW5kZXogIDxpZmVybmFuZGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29t
cGxldGUgV2ViWFJSaWdpZFRyYW5zZm9ybSBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNzMyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgU2VyZ2lvIFZpbGxhci4KKworICAgICAgICBFbmFibGUgWFJSaWdpZFRyYW5zZm9ybSBX
ZWJYUiB0ZXN0cy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lk
VHJhbnNmb3JtX2ludmVyc2UuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9tYXRyaXguaHR0cHMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0wMS0yMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgogCiAgICAgICAgIFNob3VsZCBTaGFyZWRBcnJheUJ1ZmZlci9XZWJBc3NlbWJs
eS5NZW1vcnkgcmVhbGx5IHRocm93PwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX2ludmVyc2UuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX2ludmVyc2UuaHR0cHMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY0N2QyM2Y0YTY2MmNkOWUyMThmNzhiNjUxMjlmNDZjZGM3MjIwODQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACisKK1BBU1MgWFJSaWdpZFRyYW5zZm9ybSBpbnZlcnNlIHdvcmtzCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
eHJSaWdpZFRyYW5zZm9ybV9tYXRyaXguaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX21h
dHJpeC5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWRlMmI3YjAxMzE4ODYwMjlhNzI4
ODM0ZjFhY2E1NzFkZGIyZTE4YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9tYXRyaXgu
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFhSUmlnaWRUcmFuc2Zv
cm0gbWF0cml4IHdvcmtzCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggZWEzZjU4NzkxN2FhYzNlNjlhZGU0ODE1N2Y1NmYxMmQ3NThiMzQ3OC4uZGJjOWZm
Mjk3NDcxN2ZlMDlkYzNiZjczNzVlMTI3NWIyODZlZGMyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY0MCw2ICs2NDAsOCBAQCB3ZWJraXQub3JnL2Iv
MjA5ODU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJXZWJHTExheWVy
X2ZyYW1lYnVmZgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9uYXZpZ2F0
b3JfeHJfc2FtZU9iamVjdC5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnhyL3hyRnJhbWVfc2Vzc2lvbl9zYW1lT2JqZWN0Lmh0dHBzLmh0bWwg
WyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRy
YW5zZm9ybV9jb25zdHJ1Y3Rvci5odHRwcy5odG1sIFsgUGFzcyBdCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5odHRwcy5odG1s
IFsgUGFzcyBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRU
cmFuc2Zvcm1fbWF0cml4Lmh0dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2VieHIveHJTZXNzaW9uX3ByZXZlbnRfbXVsdGlwbGVfZXhjbHVzaXZlLmh0
dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
cmVuZGVyX3N0YXRlX3ZlcnRpY2FsX2Zvdl9pbW1lcnNpdmUuaHR0cHMuaHRtbCBbIFBhc3MgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9yZW5kZXJfc3RhdGVfdXBkYXRl
Lmh0dHBzLmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418379</attachid>
            <date>2021-01-26 01:32:36 -0800</date>
            <delta_ts>2021-01-26 12:26:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220732-20210126103234.patch</filename>
            <type>text/plain</type>
            <size>15164</size>
            <attacher name="Imanol Fernandez">ifernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFhMTVhMDkxODU0NGVj
ZjNhYjNjNTllYzI4ZTg2ZjBkOTlhNWNkMC4uY2Y5OWE0MmUxYWE2NDRmN2QyMjQ4MWI0ZDNhMmNk
MDQ4Zjk2NDYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTAxLTI1ICBJbWFu
b2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbXBsZXRl
IFdlYlhSUmlnaWRUcmFuc2Zvcm0gaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDczMgorCisgICAgICAgIFJldmlld2VkIGJ5
IFNlcmdpbyBWaWxsYXIuCisKKyAgICAgICAgLSBJbXBsZW1lbnQgWFJSaWdpZFRyYW5zZm9ybS5p
bnZlcnNlKCkuCisgICAgICAgIC0gRXhwb3NlIHJhdyBtYXRyaXggdG8gYmUgdXNlZCBpbiBvdGhl
ciBXZWJYUiBtYXRoIGNhbGN1bGF0aW9ucyAoZS5nIHBvc2UgY29tcG9zaXRpb24pLgorICAgICAg
ICAtIENvcnJlY3RseSBsYXppbHkgaW5pdGlhbGl6ZSBhbmQgcmV1c2UgdGhlIEZsb2F0MzJBcnJh
eSBtYXRyaXhEYXRhLgorCisgICAgICAgIFRlc3RlZCBieSB0aGUgV2ViWFIgcGxhdGZvcm0gdGVz
dHMuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6bm9ybWFsaXplUXVhdGVybmlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJS
aWdpZFRyYW5zZm9ybTo6V2ViWFJSaWdpZFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpt
X29yaWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Om1fcmF3VHJhbnNmb3JtKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlhSUmlnaWRUcmFuc2Zvcm06Om1hdHJpeCk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJYUlJpZ2lkVHJhbnNmb3JtOjppbnZlcnNlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlhSUmlnaWRUcmFuc2Zvcm06OnJhd1RyYW5zZm9ybSBjb25zdCk6CisgICAgICAgICogTW9kdWxl
cy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZnJvbVF1YXRlcm5pb24pOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaDoKKwogMjAyMS0w
MS0yNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI3MTUxNCBhbmQgcjI3MTU0OQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5jcHAKaW5kZXggZDNmZGNmYjkw
ZTcyNWIxNzk3ODAwNTRiYTZlN2JhNTQ2NGZmOTg5ZC4uNjgzZjZmMzYxMjBjZGVjYWIwMzMxYzgx
OTA0MGVjZjA0OWRmMDRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwCkBAIC0zNSw2ICszNSwxOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBib29sIG5vcm1hbGl6ZVF1YXRlcm5pb24oRE9NUG9pbnRJ
bml0JiBxKQoreworICAgIGNvbnN0IGRvdWJsZSBsZW5ndGggPSBzdGQ6OnNxcnQocS54ICogcS54
ICsgcS55ICogcS55ICsgcS56ICogcS56ICsgcS53ICogcS53KTsKKyAgICBpZiAoV1RGOjphcmVF
c3NlbnRpYWxseUVxdWFsPGRvdWJsZT4obGVuZ3RoLCAwKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIHEueCAvPSBsZW5ndGg7CisgICAgcS55IC89IGxlbmd0aDsKKyAgICBxLnogLz0gbGVu
Z3RoOworICAgIHEudyAvPSBsZW5ndGg7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIFdURl9NQUtF
X0lTT19BTExPQ0FURURfSU1QTChXZWJYUlJpZ2lkVHJhbnNmb3JtKTsKIAogUmVmPFdlYlhSUmln
aWRUcmFuc2Zvcm0+IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0ZSgpCkBAIC00Miw2ICs1NCwx
MiBAQCBSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4gV2ViWFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRl
KCkKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJYUlJpZ2lkVHJhbnNmb3JtKHsgfSwgeyB9
KSk7CiB9CiAKK1JlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpj
cmVhdGUoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9ybSkKK3sKKyAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXZWJYUlJpZ2lkVHJhbnNmb3JtKHRyYW5zZm9ybSkpOworfQorCisK
IEV4Y2VwdGlvbk9yPFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPj4gV2ViWFJSaWdpZFRyYW5zZm9y
bTo6Y3JlYXRlKGNvbnN0IERPTVBvaW50SW5pdCYgcG9zaXRpb24sIGNvbnN0IERPTVBvaW50SW5p
dCYgb3JpZW50YXRpb24pCiB7CiAgICAgLy8gVGhlIFhSUmlnaWRUcmFuc2Zvcm0ocG9zaXRpb24s
IG9yaWVudGF0aW9uKSBjb25zdHJ1Y3RvciBNVVNUIHBlcmZvcm0gdGhlIGZvbGxvd2luZyBzdGVw
cyB3aGVuIGludm9rZWQ6CkBAIC01OCwxNyArNzYsOCBAQCBFeGNlcHRpb25PcjxSZWY8V2ViWFJS
aWdpZFRyYW5zZm9ybT4+IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0ZShjb25zdCBET01Qb2lu
dAogICAgIC8vICAgNi4gRWxzZSBpbml0aWFsaXplIHRyYW5zZm9ybeKAmXMgb3JpZW50YXRpb27i
gJlzIHggdmFsdWUgdG8gb3JpZW50YXRpb27igJlzIHggZGljdGlvbmFyeSBtZW1iZXIsIHkgdmFs
dWUgdG8gb3JpZW50YXRpb27igJlzIHkgZGljdGlvbmFyeSBtZW1iZXIsIHogdmFsdWUgdG8gb3Jp
ZW50YXRpb27igJlzIHogZGljdGlvbmFyeSBtZW1iZXIgYW5kIHcgdmFsdWUgdG8gb3JpZW50YXRp
b27igJlzIHcgZGljdGlvbmFyeSBtZW1iZXIuCiAgICAgLy8gICA3LiBOb3JtYWxpemUgeCwgeSwg
eiwgYW5kIHcgY29tcG9uZW50cyBvZiB0cmFuc2Zvcm3igJlzIG9yaWVudGF0aW9uLgogICAgIERP
TVBvaW50SW5pdCBvcmllbnRhdGlvbkluaXQgeyBvcmllbnRhdGlvbi54LCBvcmllbnRhdGlvbi55
LCBvcmllbnRhdGlvbi56LCBvcmllbnRhdGlvbi53IH07Ci0gICAgewotICAgICAgICBkb3VibGUg
bGVuZ3RoID0gc3RkOjpzcXJ0KG9yaWVudGF0aW9uSW5pdC54ICogb3JpZW50YXRpb25Jbml0Lngg
KyBvcmllbnRhdGlvbkluaXQueSAqIG9yaWVudGF0aW9uSW5pdC55Ci0gICAgICAgICAgICArIG9y
aWVudGF0aW9uSW5pdC56ICogb3JpZW50YXRpb25Jbml0LnogKyBvcmllbnRhdGlvbkluaXQudyAq
IG9yaWVudGF0aW9uSW5pdC53KTsKLSAgICAgICAgaWYgKFdURjo6YXJlRXNzZW50aWFsbHlFcXVh
bDxkb3VibGU+KGxlbmd0aCwgMCkpCi0gICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52
YWxpZFN0YXRlRXJyb3IgfTsKLQotICAgICAgICBvcmllbnRhdGlvbkluaXQ9IHsKLSAgICAgICAg
ICAgIG9yaWVudGF0aW9uSW5pdC54IC8gbGVuZ3RoLCBvcmllbnRhdGlvbkluaXQueSAvIGxlbmd0
aCwKLSAgICAgICAgICAgIG9yaWVudGF0aW9uSW5pdC56IC8gbGVuZ3RoLCBvcmllbnRhdGlvbklu
aXQudyAvIGxlbmd0aCwKLSAgICAgICAgfTsKLSAgICB9CisgICAgaWYgKCFub3JtYWxpemVRdWF0
ZXJuaW9uKG9yaWVudGF0aW9uSW5pdCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZh
bGlkU3RhdGVFcnJvciB9OwogCiAgICAgLy8gICA4LiBSZXR1cm4gdHJhbnNmb3JtLgogICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFdlYlhSUmlnaWRUcmFuc2Zvcm0ocG9zaXRpb25Jbml0LCBvcmll
bnRhdGlvbkluaXQpKTsKQEAgLTc4LDEwICs4NywzMSBAQCBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpX
ZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0IERPTVBvaW50SW5pdCYgcG9zaXRpb24sIGNvbnN0IERP
TQogICAgIDogbV9wb3NpdGlvbihET01Qb2ludFJlYWRPbmx5OjpjcmVhdGUocG9zaXRpb24pKQog
ICAgICwgbV9vcmllbnRhdGlvbihET01Qb2ludFJlYWRPbmx5OjpjcmVhdGUob3JpZW50YXRpb24p
KQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgcHJvcGVybHksIHBlciBzcGVjLgotICAgIFRy
YW5zZm9ybWF0aW9uTWF0cml4IG1hdHJpeDsKLSAgICBhdXRvIG1hdHJpeERhdGEgPSBtYXRyaXgu
dG9Db2x1bW5NYWpvckZsb2F0QXJyYXkoKTsKLSAgICBtX21hdHJpeCA9IEZsb2F0MzJBcnJheTo6
Y3JlYXRlKG1hdHJpeERhdGEuZGF0YSgpLCBtYXRyaXhEYXRhLnNpemUoKSk7CisgICAgVHJhbnNm
b3JtYXRpb25NYXRyaXggdHJhbnNsYXRpb247CisgICAgdHJhbnNsYXRpb24udHJhbnNsYXRlM2Qo
cG9zaXRpb24ueCwgcG9zaXRpb24ueSwgcG9zaXRpb24ueik7CisgICAgYXV0byByb3RhdGlvbiA9
IFRyYW5zZm9ybWF0aW9uTWF0cml4Ojpmcm9tUXVhdGVybmlvbihvcmllbnRhdGlvbi54LCBvcmll
bnRhdGlvbi55LCBvcmllbnRhdGlvbi56LCBvcmllbnRhdGlvbi53KTsKKyAgICBtX3Jhd1RyYW5z
Zm9ybSA9IHRyYW5zbGF0aW9uICogcm90YXRpb247Cit9CisKK1dlYlhSUmlnaWRUcmFuc2Zvcm06
OldlYlhSUmlnaWRUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9y
bSkKKyAgICA6IG1fcG9zaXRpb24oRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRlKHsgfSkpCisgICAg
LCBtX29yaWVudGF0aW9uKERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZSh7IH0pKQorICAgICwgbV9y
YXdUcmFuc2Zvcm0odHJhbnNmb3JtKQoreworICAgIGlmICh0cmFuc2Zvcm0uaXNJZGVudGl0eSgp
KSB7CisgICAgICAgIC8vIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpkZWNvbXBvc2UgcmV0dXJucyBh
IGVtcHR5IHF1YXRlcm5pb24gaW5zdGVhZCBvZiB1bml0IHF1YXRlcm5pb24gZm9yIElkZW50aXR5
LgorICAgICAgICAvLyBXZWJYUiB0ZXN0cyBleHBlY3QgYSB1bml0IHF1YXRlcm5pb24gZm9yIHRo
aXMgY2FzZS4KKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFRyYW5zZm9ybWF0aW9uTWF0
cml4OjpEZWNvbXBvc2VkNFR5cGUgZGVjb21wID0geyB9OworICAgIHRyYW5zZm9ybS5kZWNvbXBv
c2U0KGRlY29tcCk7CisKKyAgICBtX3Bvc2l0aW9uID0gRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRl
KGRlY29tcC50cmFuc2xhdGVYLCBkZWNvbXAudHJhbnNsYXRlWSwgZGVjb21wLnRyYW5zbGF0ZVos
IDEuMGYpOworCisgICAgRE9NUG9pbnRJbml0IG9yaWVudGF0aW9uSW5pdCB7IC1kZWNvbXAucXVh
dGVybmlvblgsIC1kZWNvbXAucXVhdGVybmlvblksIC1kZWNvbXAucXVhdGVybmlvblosIGRlY29t
cC5xdWF0ZXJuaW9uVyB9OworICAgIG5vcm1hbGl6ZVF1YXRlcm5pb24ob3JpZW50YXRpb25Jbml0
KTsKKyAgICBtX29yaWVudGF0aW9uID0gRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRlKG9yaWVudGF0
aW9uSW5pdCk7CiB9CiAKIFdlYlhSUmlnaWRUcmFuc2Zvcm06On5XZWJYUlJpZ2lkVHJhbnNmb3Jt
KCkgPSBkZWZhdWx0OwpAQCAtOTYsMTcgKzEyNiw0MSBAQCBjb25zdCBET01Qb2ludFJlYWRPbmx5
JiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpvcmllbnRhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1f
b3JpZW50YXRpb247CiB9CiAKLVJlZjxGbG9hdDMyQXJyYXk+ICBXZWJYUlJpZ2lkVHJhbnNmb3Jt
OjptYXRyaXgoKSBjb25zdAorY29uc3QgRmxvYXQzMkFycmF5JiBXZWJYUlJpZ2lkVHJhbnNmb3Jt
OjptYXRyaXgoKQoreworICAgIGlmIChtX21hdHJpeCAmJiAhbV9tYXRyaXgtPmlzRGV0YWNoZWQo
KSkKKyAgICAgICAgcmV0dXJuICptX21hdHJpeDsKKworICAgIC8vIExhemlseSBjcmVhdGUgbWF0
cml4IEZsb2F0MzJBcnJheS4KKyAgICBhdXRvIG1hdHJpeERhdGEgPSBtX3Jhd1RyYW5zZm9ybS50
b0NvbHVtbk1ham9yRmxvYXRBcnJheSgpOworICAgIG1fbWF0cml4ID0gRmxvYXQzMkFycmF5Ojpj
cmVhdGUobWF0cml4RGF0YS5kYXRhKCksIG1hdHJpeERhdGEuc2l6ZSgpKTsKKworICAgIHJldHVy
biAqbV9tYXRyaXg7Cit9CisKK2NvbnN0IFdlYlhSUmlnaWRUcmFuc2Zvcm0mIFdlYlhSUmlnaWRU
cmFuc2Zvcm06OmludmVyc2UoKQogewotICAgIGF1dG8gbWF0cml4ID0gRmxvYXQzMkFycmF5Ojpj
cmVhdGUoMTYpOwotICAgIG1hdHJpeC0+emVyb0ZpbGwoKTsKLSAgICByZXR1cm4gbWF0cml4Owor
ICAgIC8vIFRoZSBpbnZlcnNlIG9mIGEgaW52ZXJzZSBvYmplY3Qgc2hvdWxkIHJldHVybiB0aGUg
b3JpZ2luYWwgb2JqZWN0LgorICAgIGlmIChtX3BhcmVudEludmVyc2UpCisgICAgICAgIHJldHVy
biAqbV9wYXJlbnRJbnZlcnNlOworCisgICAgLy8gSW52ZXJzZSBzaG91bGQgYWx3YXlzIHJldHVy
biB0aGUgc2FtZSBvYmplY3QuCisgICAgaWYgKG1faW52ZXJzZSkKKyAgICAgICAgcmV0dXJuICpt
X2ludmVyc2U7CisgICAgCisgICAgYXV0byBpbnZlcnNlVHJhbnNmb3JtID0gbV9yYXdUcmFuc2Zv
cm0uaW52ZXJzZSgpOworICAgIEFTU0VSVCghIWludmVyc2VUcmFuc2Zvcm0pOworCisgICAgbV9p
bnZlcnNlID0gV2ViWFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKCppbnZlcnNlVHJhbnNmb3JtKTsK
KyAgICAvLyBUaGUgaW52ZXJzZSBvZiBhIGludmVyc2Ugb2JqZWN0IHNob3VsZCByZXR1cm4gdGhl
IG9yaWdpbmFsIG9iamVjdC4KKyAgICBtX2ludmVyc2UtPm1fcGFyZW50SW52ZXJzZSA9IG1ha2VX
ZWFrUHRyKHRoaXMpOworCisgICAgcmV0dXJuICptX2ludmVyc2U7CiB9CiAKLVJlZjxXZWJYUlJp
Z2lkVHJhbnNmb3JtPiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjppbnZlcnNlKCkgY29uc3QKK2NvbnN0
IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpyYXdUcmFuc2Zvcm0o
KSBjb25zdAogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgcHJvcGVybHkuCi0gICAgcmV0dXJu
IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0ZSgpOworICAgIHJldHVybiBtX3Jhd1RyYW5zZm9y
bTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaAppbmRleCBkNzM1OTQ2Nzc3MGQwOGQ2
YmQ1Y2E5YTIzZTcwNmMxNjE4MmZlZjJhLi43OGNiMjdlNzc2MmE5OTJmMDNkNDZlYWU1NTA5OGJj
MTI1ZGIyODY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
UmlnaWRUcmFuc2Zvcm0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
UmlnaWRUcmFuc2Zvcm0uaApAQCAtMjgsMzMgKzI4LDQxIEBACiAjaWYgRU5BQkxFKFdFQlhSKQog
CiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJp
eC5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Zsb2F0MzJBcnJheS5oPgogI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUg
PHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IERPTVBvaW50
SW5pdDsKIGNsYXNzIERPTVBvaW50UmVhZE9ubHk7CiAKLWNsYXNzIFdlYlhSUmlnaWRUcmFuc2Zv
cm0gOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJYUlJpZ2lkVHJhbnNmb3JtPiB7CitjbGFzcyBXZWJY
UlJpZ2lkVHJhbnNmb3JtIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJSaWdpZFRyYW5zZm9ybT4s
IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9FWFBPUlQoV2ViWFJSaWdpZFRyYW5zZm9ybSwgV0VCQ09SRV9FWFBP
UlQpOwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4gY3JlYXRl
KCk7CisgICAgc3RhdGljIFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiBjcmVhdGUoY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgRXhjZXB0aW9u
T3I8UmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+PiBjcmVhdGUoY29uc3QgRE9NUG9pbnRJbml0Jiwg
Y29uc3QgRE9NUG9pbnRJbml0Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgfldlYlhSUmlnaWRUcmFu
c2Zvcm0oKTsKIAogICAgIGNvbnN0IERPTVBvaW50UmVhZE9ubHkmIHBvc2l0aW9uKCkgY29uc3Q7
CiAgICAgY29uc3QgRE9NUG9pbnRSZWFkT25seSYgb3JpZW50YXRpb24oKSBjb25zdDsKLSAgICBS
ZWY8RmxvYXQzMkFycmF5PiBtYXRyaXgoKSBjb25zdDsKLSAgICBSZWY8V2ViWFJSaWdpZFRyYW5z
Zm9ybT4gaW52ZXJzZSgpIGNvbnN0OworICAgIGNvbnN0IEZsb2F0MzJBcnJheSYgbWF0cml4KCk7
CisgICAgY29uc3QgV2ViWFJSaWdpZFRyYW5zZm9ybSYgaW52ZXJzZSgpOworICAgIGNvbnN0IFRy
YW5zZm9ybWF0aW9uTWF0cml4JiByYXdUcmFuc2Zvcm0oKSBjb25zdDsKIAogcHJpdmF0ZToKICAg
ICBXZWJYUlJpZ2lkVHJhbnNmb3JtKGNvbnN0IERPTVBvaW50SW5pdCYsIGNvbnN0IERPTVBvaW50
SW5pdCYpOworICAgIFdlYlhSUmlnaWRUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRy
aXgmKTsKIAogICAgIFJlZjxET01Qb2ludFJlYWRPbmx5PiBtX3Bvc2l0aW9uOwogICAgIFJlZjxE
T01Qb2ludFJlYWRPbmx5PiBtX29yaWVudGF0aW9uOworICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4
IG1fcmF3VHJhbnNmb3JtOwogICAgIFJlZlB0cjxGbG9hdDMyQXJyYXk+IG1fbWF0cml4OworICAg
IFJlZlB0cjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiBtX2ludmVyc2U7CisgICAgV2Vha1B0cjxXZWJY
UlJpZ2lkVHJhbnNmb3JtPiBtX3BhcmVudEludmVyc2U7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCmluZGV4IDFhM2Iw
MjY3MGVhZDBjMmNiMDdlNDllYjExNWIyOWViODliZTQxOTQuLmE3ZTRlMDE0MmM0YTM0YTVlYWRk
Nzk3M2Y0ZGI0NzI1ODUzZGYwYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRy
aXguY3BwCkBAIC01ODAsNiArNTgwLDI2IEBAIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpUcmFuc2Zv
cm1hdGlvbk1hdHJpeChjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHQpCiAgICAgc2V0TWF0cml4KHQu
YSgpLCB0LmIoKSwgdC5jKCksIHQuZCgpLCB0LmUoKSwgdC5mKCkpOwogfQogCisKKy8vIEZJWE1F
OiBPbmNlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA4NTYgaXMg
YWRkcmVzc2VkIHdlIGNhbiByZXVzZSB0aGlzIGZ1bmN0aW9uIGluIFRyYW5zZm9ybWF0aW9uTWF0
cml4OjpyZWNvbXBvc2U0KCkuCitUcmFuc2Zvcm1hdGlvbk1hdHJpeCBUcmFuc2Zvcm1hdGlvbk1h
dHJpeDo6ZnJvbVF1YXRlcm5pb24oZG91YmxlIHF4LCBkb3VibGUgcXksIGRvdWJsZSBxeiwgZG91
YmxlIHF3KQoreworICAgIGNvbnN0IGRvdWJsZSB4eCA9IHF4ICogcXg7CisgICAgY29uc3QgZG91
YmxlIHl5ID0gcXkgKiBxeTsKKyAgICBjb25zdCBkb3VibGUgenogPSBxeiAqIHF6OworICAgIGNv
bnN0IGRvdWJsZSB4eiA9IHF4ICogcXo7CisgICAgY29uc3QgZG91YmxlIHh5ID0gcXggKiBxeTsg
CisgICAgY29uc3QgZG91YmxlIHl6ID0gcXkgKiBxejsKKyAgICBjb25zdCBkb3VibGUgeHcgPSBx
dyAqIHF4OworICAgIGNvbnN0IGRvdWJsZSB5dyA9IHF3ICogcXk7CisgICAgY29uc3QgZG91Ymxl
IHp3ID0gcXcgKiBxejsKKworICAgIHJldHVybiBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgxIC0gMiAq
ICh5eSArIHp6KSwgMiAqICh4eSArIHp3KSwgMiAqICh4eiAtIHl3KSwgMCwKKyAgICAgICAgMiAq
ICh4eSAtIHp3KSwgMSAtIDIgKiAoeHggKyB6eiksIDIgKiAoeXogKyB4dyksIDAsCisgICAgICAg
IDIgKiAoeHogKyB5dyksIDIgKiAoeXogLSB4dyksIDEgLSAyICogKHh4ICsgeXkpLCAwLAorICAg
ICAgICAwLCAwLCAwLCAxKTsKK30KKwogVHJhbnNmb3JtYXRpb25NYXRyaXgmIFRyYW5zZm9ybWF0
aW9uTWF0cml4OjpzY2FsZShkb3VibGUgcykKIHsKICAgICByZXR1cm4gc2NhbGVOb25Vbmlmb3Jt
KHMsIHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IGNkZDUyYmNh
NDJmMDkwNjc4OWFkNGFlYzFkYWE5ZjI5YmM2NGRjM2IuLjYwMGU3ZDBiMWNlMjZhN2MyNDIxZDU4
NTYxY2M1NzRiMDRhMTdiMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgK
QEAgLTExOSw2ICsxMTksOCBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeChjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKIAorICAgIHN0YXRpYyBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCBmcm9tUXVhdGVybmlvbihkb3VibGUgcXgsIGRvdWJsZSBxeSwgZG91
YmxlIHF6LCBkb3VibGUgcXcpOworCiAgICAgc3RhdGljIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0
cml4IGlkZW50aXR5OwogCiAgICAgdm9pZCBzZXRNYXRyaXgoZG91YmxlIGEsIGRvdWJsZSBiLCBk
b3VibGUgYywgZG91YmxlIGQsIGRvdWJsZSBlLCBkb3VibGUgZikKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhNDY1YjI2NjJh
MTI5YzFlNDMyY2I2MzUwMzRjZmMwMjg4OGM5ODM3Li4zOWY3ODZiY2I1MjY2OGY1YTJjY2Q1MzEx
ODYzY2QxZjM4MGQ5ZTBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDEtMjYgSW1hbm9s
IEZlcm5hbmRleiAgPGlmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBDb21wbGV0ZSBX
ZWJYUlJpZ2lkVHJhbnNmb3JtIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA3MzIKKworICAgICAgICBSZXZpZXdlZCBieSBT
ZXJnaW8gVmlsbGFyLgorCisgICAgICAgIEVuYWJsZSBYUlJpZ2lkVHJhbnNmb3JtIFdlYlhSIHRl
c3RzLgorCisgICAgICAgICogcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEt
MDEtMjUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcmV2ZXJ0aW5nIHIyNzE1MTQgYW5kIHIyNzE1NDkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IGZlNzgxNTZjZmM4ZTA5YzZmYzY4ODhjNmZhM2EyNWY0OGEyNmRjNTUuLjM5
ZWM4Nzg1YWNlMDMxNjZlMmFmODFkOTFlOWVkZGZiMTQ4MjdlOGUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAxLTI1ICBJbWFub2wgRmVybmFu
ZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbXBsZXRlIFdlYlhSUmln
aWRUcmFuc2Zvcm0gaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMDczMgorCisgICAgICAgIFJldmlld2VkIGJ5IFNlcmdpbyBW
aWxsYXIuCisKKyAgICAgICAgRW5hYmxlIFhSUmlnaWRUcmFuc2Zvcm0gV2ViWFIgdGVzdHMuCisK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9pbnZl
cnNlLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1fbWF0cml4Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisKIDIwMjEtMDEtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBTdXBwb3J0IEFib3J0U2lnbmFsIGluIGFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHRvIHVu
c3Vic2NyaWJlIGZyb20gZXZlbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odG1sNWxpYi9n
ZW5lcmF0ZS10ZXN0LXdyYXBwZXJzIGIvTGF5b3V0VGVzdHMvaHRtbDVsaWIvZ2VuZXJhdGUtdGVz
dC13cmFwcGVycwpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRU
cmFuc2Zvcm1faW52ZXJzZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5o
dHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQ3ZDIzZjRhNjYyY2Q5ZTIxOGY3OGI2NTEy
OWY0NmNkYzcyMjA4NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9pbnZlcnNlLmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBYUlJpZ2lkVHJhbnNmb3JtIGlu
dmVyc2Ugd29ya3MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX21hdHJpeC5odHRwcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhy
L3hyUmlnaWRUcmFuc2Zvcm1fbWF0cml4Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
ZGUyYjdiMDEzMTg4NjAyOWE3Mjg4MzRmMWFjYTU3MWRkYjJlMThhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJp
Z2lkVHJhbnNmb3JtX21hdHJpeC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgWFJSaWdpZFRyYW5zZm9ybSBtYXRyaXggd29ya3MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvbWVkaWEvdHJhY2svb3BlcmEvdHJhY2svd2VidnR0L3BhcnNpbmctY3VlLWRhdGEvYnVp
bGR0ZXN0cyBiL0xheW91dFRlc3RzL21lZGlhL3RyYWNrL29wZXJhL3RyYWNrL3dlYnZ0dC9wYXJz
aW5nLWN1ZS1kYXRhL2J1aWxkdGVzdHMKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlYTNmNTg3OTE3
YWFjM2U2OWFkZTQ4MTU3ZjU2ZjEyZDc1OGIzNDc4Li5kYmM5ZmYyOTc0NzE3ZmUwOWRjM2JmNzM3
NWUxMjc1YjI4NmVkYzI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtNjQwLDYgKzY0MCw4IEBAIHdlYmtpdC5vcmcvYi8yMDk4NTkgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94cldlYkdMTGF5ZXJfZnJhbWVidWZmCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL25hdmlnYXRvcl94cl9zYW1lT2JqZWN0Lmh0
dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
eHJGcmFtZV9zZXNzaW9uX3NhbWVPYmplY3QuaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX2NvbnN0cnVjdG9y
Lmh0dHBzLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
eHIveHJSaWdpZFRyYW5zZm9ybV9pbnZlcnNlLmh0dHBzLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9tYXRyaXguaHR0
cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94
clNlc3Npb25fcHJldmVudF9tdWx0aXBsZV9leGNsdXNpdmUuaHR0cHMuaHRtbCBbIFBhc3MgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9yZW5kZXJfc3RhdGVfdmVydGlj
YWxfZm92X2ltbWVyc2l2ZS5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnhyL3JlbmRlcl9zdGF0ZV91cGRhdGUuaHR0cHMuaHRtbCBbIFBhc3Mg
XQo=
</data>
<flag name="review"
          id="436338"
          type_id="1"
          status="+"
          setter="svillar"
    />
    <flag name="commit-queue"
          id="436339"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418519</attachid>
            <date>2021-01-27 02:10:23 -0800</date>
            <delta_ts>2021-01-27 03:04:23 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-220732-20210127111021.patch</filename>
            <type>text/plain</type>
            <size>15062</size>
            <attacher name="Imanol Fernandez">ifernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxOTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTY0NjQ3ZDc0OWZhNGEw
NjQxZjliMTg0YTBhYTM3Nzg1YjI1ODBjMy4uMTNkYmU3NzM0NTQ4NDc5Y2Q4YmNjNDAzMzFkM2Zj
NjczZDgzNGUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTAxLTI3ICBJbWFu
b2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbXBsZXRl
IFdlYlhSUmlnaWRUcmFuc2Zvcm0gaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDczMgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzM2MTczMDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgLSBJbXBsZW1lbnQgWFJSaWdpZFRyYW5zZm9ybS5pbnZlcnNlKCkuCisgICAgICAgIC0g
RXhwb3NlIHJhdyBtYXRyaXggdG8gYmUgdXNlZCBpbiBvdGhlciBXZWJYUiBtYXRoIGNhbGN1bGF0
aW9ucyAoZS5nIHBvc2UgY29tcG9zaXRpb24pLgorICAgICAgICAtIENvcnJlY3RseSBsYXppbHkg
aW5pdGlhbGl6ZSBhbmQgcmV1c2UgdGhlIEZsb2F0MzJBcnJheSBtYXRyaXhEYXRhLgorCisgICAg
ICAgIFRlc3RlZCBieSB0aGUgV2ViWFIgcGxhdGZvcm0gdGVzdHMuIAorCisgICAgICAgICogTW9k
dWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5v
cm1hbGl6ZVF1YXRlcm5pb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJSaWdpZFRyYW5zZm9y
bTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSUmlnaWRUcmFuc2Zvcm06OldlYlhS
UmlnaWRUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6bV9vcmllbnRhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjptX3Jhd1RyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUlJp
Z2lkVHJhbnNmb3JtOjptYXRyaXgpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJSaWdpZFRyYW5z
Zm9ybTo6aW52ZXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUlJpZ2lkVHJhbnNmb3JtOjpy
YXdUcmFuc2Zvcm0gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRy
YW5zZm9ybS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNm
b3JtYXRpb25NYXRyaXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRy
aXg6OmZyb21RdWF0ZXJuaW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4Lmg6CisKIDIwMjEtMDEtMjcgIEFuZHkgRXN0ZXMgIDxh
ZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIE1lZGlhU2FtcGxlQ3Vyc29yOjpzdGVw
SW5PcmRlcmVkTWFwIGNhbiBoYW5nIHdoZW4gc3RlcHBpbmcgdG8gdGhlIGVuZCBvZiBhIHRyYWNr
IHRoYXQgaGFzbid0IGJlZW4gZnVsbHkgcGFyc2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmNwcAppbmRleCBkM2ZkY2ZiOTBlNzI1
YjE3OTc4MDA1NGJhNmU3YmE1NDY0ZmY5ODlkLi42ODNmNmYzNjEyMGNkZWNhYjAzMzFjODE5MDQw
ZWNmMDQ5ZGYwNGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dl
YlhSUmlnaWRUcmFuc2Zvcm0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJSaWdpZFRyYW5zZm9ybS5jcHAKQEAgLTM1LDYgKzM1LDE4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorc3RhdGljIGJvb2wgbm9ybWFsaXplUXVhdGVybmlvbihET01Qb2ludEluaXQm
IHEpCit7CisgICAgY29uc3QgZG91YmxlIGxlbmd0aCA9IHN0ZDo6c3FydChxLnggKiBxLnggKyBx
LnkgKiBxLnkgKyBxLnogKiBxLnogKyBxLncgKiBxLncpOworICAgIGlmIChXVEY6OmFyZUVzc2Vu
dGlhbGx5RXF1YWw8ZG91YmxlPihsZW5ndGgsIDApKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgcS54IC89IGxlbmd0aDsKKyAgICBxLnkgLz0gbGVuZ3RoOworICAgIHEueiAvPSBsZW5ndGg7
CisgICAgcS53IC89IGxlbmd0aDsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogV1RGX01BS0VfSVNP
X0FMTE9DQVRFRF9JTVBMKFdlYlhSUmlnaWRUcmFuc2Zvcm0pOwogCiBSZWY8V2ViWFJSaWdpZFRy
YW5zZm9ybT4gV2ViWFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKCkKQEAgLTQyLDYgKzU0LDEyIEBA
IFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoKQog
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlhSUmlnaWRUcmFuc2Zvcm0oeyB9LCB7IH0pKTsK
IH0KIAorUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0
ZShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtKQoreworICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFdlYlhSUmlnaWRUcmFuc2Zvcm0odHJhbnNmb3JtKSk7Cit9CisKKwogRXhj
ZXB0aW9uT3I8UmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+PiBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpj
cmVhdGUoY29uc3QgRE9NUG9pbnRJbml0JiBwb3NpdGlvbiwgY29uc3QgRE9NUG9pbnRJbml0JiBv
cmllbnRhdGlvbikKIHsKICAgICAvLyBUaGUgWFJSaWdpZFRyYW5zZm9ybShwb3NpdGlvbiwgb3Jp
ZW50YXRpb24pIGNvbnN0cnVjdG9yIE1VU1QgcGVyZm9ybSB0aGUgZm9sbG93aW5nIHN0ZXBzIHdo
ZW4gaW52b2tlZDoKQEAgLTU4LDE3ICs3Niw4IEBAIEV4Y2VwdGlvbk9yPFJlZjxXZWJYUlJpZ2lk
VHJhbnNmb3JtPj4gV2ViWFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKGNvbnN0IERPTVBvaW50CiAg
ICAgLy8gICA2LiBFbHNlIGluaXRpYWxpemUgdHJhbnNmb3Jt4oCZcyBvcmllbnRhdGlvbuKAmXMg
eCB2YWx1ZSB0byBvcmllbnRhdGlvbuKAmXMgeCBkaWN0aW9uYXJ5IG1lbWJlciwgeSB2YWx1ZSB0
byBvcmllbnRhdGlvbuKAmXMgeSBkaWN0aW9uYXJ5IG1lbWJlciwgeiB2YWx1ZSB0byBvcmllbnRh
dGlvbuKAmXMgeiBkaWN0aW9uYXJ5IG1lbWJlciBhbmQgdyB2YWx1ZSB0byBvcmllbnRhdGlvbuKA
mXMgdyBkaWN0aW9uYXJ5IG1lbWJlci4KICAgICAvLyAgIDcuIE5vcm1hbGl6ZSB4LCB5LCB6LCBh
bmQgdyBjb21wb25lbnRzIG9mIHRyYW5zZm9ybeKAmXMgb3JpZW50YXRpb24uCiAgICAgRE9NUG9p
bnRJbml0IG9yaWVudGF0aW9uSW5pdCB7IG9yaWVudGF0aW9uLngsIG9yaWVudGF0aW9uLnksIG9y
aWVudGF0aW9uLnosIG9yaWVudGF0aW9uLncgfTsKLSAgICB7Ci0gICAgICAgIGRvdWJsZSBsZW5n
dGggPSBzdGQ6OnNxcnQob3JpZW50YXRpb25Jbml0LnggKiBvcmllbnRhdGlvbkluaXQueCArIG9y
aWVudGF0aW9uSW5pdC55ICogb3JpZW50YXRpb25Jbml0LnkKLSAgICAgICAgICAgICsgb3JpZW50
YXRpb25Jbml0LnogKiBvcmllbnRhdGlvbkluaXQueiArIG9yaWVudGF0aW9uSW5pdC53ICogb3Jp
ZW50YXRpb25Jbml0LncpOwotICAgICAgICBpZiAoV1RGOjphcmVFc3NlbnRpYWxseUVxdWFsPGRv
dWJsZT4obGVuZ3RoLCAwKSkKLSAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlk
U3RhdGVFcnJvciB9OwotCi0gICAgICAgIG9yaWVudGF0aW9uSW5pdD0gewotICAgICAgICAgICAg
b3JpZW50YXRpb25Jbml0LnggLyBsZW5ndGgsIG9yaWVudGF0aW9uSW5pdC55IC8gbGVuZ3RoLAot
ICAgICAgICAgICAgb3JpZW50YXRpb25Jbml0LnogLyBsZW5ndGgsIG9yaWVudGF0aW9uSW5pdC53
IC8gbGVuZ3RoLAotICAgICAgICB9OwotICAgIH0KKyAgICBpZiAoIW5vcm1hbGl6ZVF1YXRlcm5p
b24ob3JpZW50YXRpb25Jbml0KSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRT
dGF0ZUVycm9yIH07CiAKICAgICAvLyAgIDguIFJldHVybiB0cmFuc2Zvcm0uCiAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgV2ViWFJSaWdpZFRyYW5zZm9ybShwb3NpdGlvbkluaXQsIG9yaWVudGF0
aW9uSW5pdCkpOwpAQCAtNzgsMTAgKzg3LDMxIEBAIFdlYlhSUmlnaWRUcmFuc2Zvcm06OldlYlhS
UmlnaWRUcmFuc2Zvcm0oY29uc3QgRE9NUG9pbnRJbml0JiBwb3NpdGlvbiwgY29uc3QgRE9NCiAg
ICAgOiBtX3Bvc2l0aW9uKERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZShwb3NpdGlvbikpCiAgICAg
LCBtX29yaWVudGF0aW9uKERPTVBvaW50UmVhZE9ubHk6OmNyZWF0ZShvcmllbnRhdGlvbikpCiB7
Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudCBwcm9wZXJseSwgcGVyIHNwZWMuCi0gICAgVHJhbnNm
b3JtYXRpb25NYXRyaXggbWF0cml4OwotICAgIGF1dG8gbWF0cml4RGF0YSA9IG1hdHJpeC50b0Nv
bHVtbk1ham9yRmxvYXRBcnJheSgpOwotICAgIG1fbWF0cml4ID0gRmxvYXQzMkFycmF5OjpjcmVh
dGUobWF0cml4RGF0YS5kYXRhKCksIG1hdHJpeERhdGEuc2l6ZSgpKTsKKyAgICBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCB0cmFuc2xhdGlvbjsKKyAgICB0cmFuc2xhdGlvbi50cmFuc2xhdGUzZChwb3Np
dGlvbi54LCBwb3NpdGlvbi55LCBwb3NpdGlvbi56KTsKKyAgICBhdXRvIHJvdGF0aW9uID0gVHJh
bnNmb3JtYXRpb25NYXRyaXg6OmZyb21RdWF0ZXJuaW9uKG9yaWVudGF0aW9uLngsIG9yaWVudGF0
aW9uLnksIG9yaWVudGF0aW9uLnosIG9yaWVudGF0aW9uLncpOworICAgIG1fcmF3VHJhbnNmb3Jt
ID0gdHJhbnNsYXRpb24gKiByb3RhdGlvbjsKK30KKworV2ViWFJSaWdpZFRyYW5zZm9ybTo6V2Vi
WFJSaWdpZFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtKQor
ICAgIDogbV9wb3NpdGlvbihET01Qb2ludFJlYWRPbmx5OjpjcmVhdGUoeyB9KSkKKyAgICAsIG1f
b3JpZW50YXRpb24oRE9NUG9pbnRSZWFkT25seTo6Y3JlYXRlKHsgfSkpCisgICAgLCBtX3Jhd1Ry
YW5zZm9ybSh0cmFuc2Zvcm0pCit7CisgICAgaWYgKHRyYW5zZm9ybS5pc0lkZW50aXR5KCkpIHsK
KyAgICAgICAgLy8gVHJhbnNmb3JtYXRpb25NYXRyaXg6OmRlY29tcG9zZSByZXR1cm5zIGEgZW1w
dHkgcXVhdGVybmlvbiBpbnN0ZWFkIG9mIHVuaXQgcXVhdGVybmlvbiBmb3IgSWRlbnRpdHkuCisg
ICAgICAgIC8vIFdlYlhSIHRlc3RzIGV4cGVjdCBhIHVuaXQgcXVhdGVybmlvbiBmb3IgdGhpcyBj
YXNlLgorICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXg6
OkRlY29tcG9zZWQ0VHlwZSBkZWNvbXAgPSB7IH07CisgICAgdHJhbnNmb3JtLmRlY29tcG9zZTQo
ZGVjb21wKTsKKworICAgIG1fcG9zaXRpb24gPSBET01Qb2ludFJlYWRPbmx5OjpjcmVhdGUoZGVj
b21wLnRyYW5zbGF0ZVgsIGRlY29tcC50cmFuc2xhdGVZLCBkZWNvbXAudHJhbnNsYXRlWiwgMS4w
Zik7CisKKyAgICBET01Qb2ludEluaXQgb3JpZW50YXRpb25Jbml0IHsgLWRlY29tcC5xdWF0ZXJu
aW9uWCwgLWRlY29tcC5xdWF0ZXJuaW9uWSwgLWRlY29tcC5xdWF0ZXJuaW9uWiwgZGVjb21wLnF1
YXRlcm5pb25XIH07CisgICAgbm9ybWFsaXplUXVhdGVybmlvbihvcmllbnRhdGlvbkluaXQpOwor
ICAgIG1fb3JpZW50YXRpb24gPSBET01Qb2ludFJlYWRPbmx5OjpjcmVhdGUob3JpZW50YXRpb25J
bml0KTsKIH0KIAogV2ViWFJSaWdpZFRyYW5zZm9ybTo6fldlYlhSUmlnaWRUcmFuc2Zvcm0oKSA9
IGRlZmF1bHQ7CkBAIC05NiwxNyArMTI2LDQxIEBAIGNvbnN0IERPTVBvaW50UmVhZE9ubHkmIFdl
YlhSUmlnaWRUcmFuc2Zvcm06Om9yaWVudGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9vcmll
bnRhdGlvbjsKIH0KIAotUmVmPEZsb2F0MzJBcnJheT4gIFdlYlhSUmlnaWRUcmFuc2Zvcm06Om1h
dHJpeCgpIGNvbnN0Citjb25zdCBGbG9hdDMyQXJyYXkmIFdlYlhSUmlnaWRUcmFuc2Zvcm06Om1h
dHJpeCgpCit7CisgICAgaWYgKG1fbWF0cml4ICYmICFtX21hdHJpeC0+aXNEZXRhY2hlZCgpKQor
ICAgICAgICByZXR1cm4gKm1fbWF0cml4OworCisgICAgLy8gTGF6aWx5IGNyZWF0ZSBtYXRyaXgg
RmxvYXQzMkFycmF5LgorICAgIGF1dG8gbWF0cml4RGF0YSA9IG1fcmF3VHJhbnNmb3JtLnRvQ29s
dW1uTWFqb3JGbG9hdEFycmF5KCk7CisgICAgbV9tYXRyaXggPSBGbG9hdDMyQXJyYXk6OmNyZWF0
ZShtYXRyaXhEYXRhLmRhdGEoKSwgbWF0cml4RGF0YS5zaXplKCkpOworCisgICAgcmV0dXJuICpt
X21hdHJpeDsKK30KKworY29uc3QgV2ViWFJSaWdpZFRyYW5zZm9ybSYgV2ViWFJSaWdpZFRyYW5z
Zm9ybTo6aW52ZXJzZSgpCiB7Ci0gICAgYXV0byBtYXRyaXggPSBGbG9hdDMyQXJyYXk6OmNyZWF0
ZSgxNik7Ci0gICAgbWF0cml4LT56ZXJvRmlsbCgpOwotICAgIHJldHVybiBtYXRyaXg7CisgICAg
Ly8gVGhlIGludmVyc2Ugb2YgYSBpbnZlcnNlIG9iamVjdCBzaG91bGQgcmV0dXJuIHRoZSBvcmln
aW5hbCBvYmplY3QuCisgICAgaWYgKG1fcGFyZW50SW52ZXJzZSkKKyAgICAgICAgcmV0dXJuICpt
X3BhcmVudEludmVyc2U7CisKKyAgICAvLyBJbnZlcnNlIHNob3VsZCBhbHdheXMgcmV0dXJuIHRo
ZSBzYW1lIG9iamVjdC4KKyAgICBpZiAobV9pbnZlcnNlKQorICAgICAgICByZXR1cm4gKm1faW52
ZXJzZTsKKyAgICAKKyAgICBhdXRvIGludmVyc2VUcmFuc2Zvcm0gPSBtX3Jhd1RyYW5zZm9ybS5p
bnZlcnNlKCk7CisgICAgQVNTRVJUKCEhaW52ZXJzZVRyYW5zZm9ybSk7CisKKyAgICBtX2ludmVy
c2UgPSBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoKmludmVyc2VUcmFuc2Zvcm0pOworICAg
IC8vIFRoZSBpbnZlcnNlIG9mIGEgaW52ZXJzZSBvYmplY3Qgc2hvdWxkIHJldHVybiB0aGUgb3Jp
Z2luYWwgb2JqZWN0LgorICAgIG1faW52ZXJzZS0+bV9wYXJlbnRJbnZlcnNlID0gbWFrZVdlYWtQ
dHIodGhpcyk7CisKKyAgICByZXR1cm4gKm1faW52ZXJzZTsKIH0KIAotUmVmPFdlYlhSUmlnaWRU
cmFuc2Zvcm0+IFdlYlhSUmlnaWRUcmFuc2Zvcm06OmludmVyc2UoKSBjb25zdAorY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmIFdlYlhSUmlnaWRUcmFuc2Zvcm06OnJhd1RyYW5zZm9ybSgpIGNv
bnN0CiB7Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudCBwcm9wZXJseS4KLSAgICByZXR1cm4gV2Vi
WFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKCk7CisgICAgcmV0dXJuIG1fcmF3VHJhbnNmb3JtOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5oCmluZGV4IGQ3MzU5NDY3NzcwZDA4ZDZiZDVj
YTlhMjNlNzA2YzE2MTgyZmVmMmEuLjc4Y2IyN2U3NzYyYTk5MmYwM2Q0NmVhZTU1MDk4YmMxMjVk
YjI4NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdp
ZFRyYW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdp
ZFRyYW5zZm9ybS5oCkBAIC0yOCwzMyArMjgsNDEgQEAKICNpZiBFTkFCTEUoV0VCWFIpCiAKICNp
bmNsdWRlICJFeGNlcHRpb25Pci5oIgorI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4Lmgi
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRmxvYXQzMkFycmF5Lmg+CiAjaW5jbHVkZSA8d3Rm
L0lzb01hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRE9NUG9pbnRJbml0
OwogY2xhc3MgRE9NUG9pbnRSZWFkT25seTsKIAotY2xhc3MgV2ViWFJSaWdpZFRyYW5zZm9ybSA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IHsKK2NsYXNzIFdlYlhSUmln
aWRUcmFuc2Zvcm0gOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJYUlJpZ2lkVHJhbnNmb3JtPiwgcHVi
bGljIENhbk1ha2VXZWFrUHRyPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IHsKICAgICBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0VYUE9SVChXZWJYUlJpZ2lkVHJhbnNmb3JtLCBXRUJDT1JFX0VYUE9SVCk7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiBjcmVhdGUoKTsK
KyAgICBzdGF0aWMgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IGNyZWF0ZShjb25zdCBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBFeGNlcHRpb25PcjxS
ZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4+IGNyZWF0ZShjb25zdCBET01Qb2ludEluaXQmLCBjb25z
dCBET01Qb2ludEluaXQmKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+V2ViWFJSaWdpZFRyYW5zZm9y
bSgpOwogCiAgICAgY29uc3QgRE9NUG9pbnRSZWFkT25seSYgcG9zaXRpb24oKSBjb25zdDsKICAg
ICBjb25zdCBET01Qb2ludFJlYWRPbmx5JiBvcmllbnRhdGlvbigpIGNvbnN0OwotICAgIFJlZjxG
bG9hdDMyQXJyYXk+IG1hdHJpeCgpIGNvbnN0OwotICAgIFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3Jt
PiBpbnZlcnNlKCkgY29uc3Q7CisgICAgY29uc3QgRmxvYXQzMkFycmF5JiBtYXRyaXgoKTsKKyAg
ICBjb25zdCBXZWJYUlJpZ2lkVHJhbnNmb3JtJiBpbnZlcnNlKCk7CisgICAgY29uc3QgVHJhbnNm
b3JtYXRpb25NYXRyaXgmIHJhd1RyYW5zZm9ybSgpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIFdl
YlhSUmlnaWRUcmFuc2Zvcm0oY29uc3QgRE9NUG9pbnRJbml0JiwgY29uc3QgRE9NUG9pbnRJbml0
Jik7CisgICAgV2ViWFJSaWdpZFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYp
OwogCiAgICAgUmVmPERPTVBvaW50UmVhZE9ubHk+IG1fcG9zaXRpb247CiAgICAgUmVmPERPTVBv
aW50UmVhZE9ubHk+IG1fb3JpZW50YXRpb247CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9y
YXdUcmFuc2Zvcm07CiAgICAgUmVmUHRyPEZsb2F0MzJBcnJheT4gbV9tYXRyaXg7CisgICAgUmVm
UHRyPFdlYlhSUmlnaWRUcmFuc2Zvcm0+IG1faW52ZXJzZTsKKyAgICBXZWFrUHRyPFdlYlhSUmln
aWRUcmFuc2Zvcm0+IG1fcGFyZW50SW52ZXJzZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAKaW5kZXggMWEzYjAyNjcw
ZWFkMGMyY2IwN2U0OWViMTE1YjI5ZWI4OWJlNDE5NC4uYTdlNGUwMTQyYzRhMzRhNWVhZGQ3OTcz
ZjRkYjQ3MjU4NTNkZjBjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5j
cHAKQEAgLTU4MCw2ICs1ODAsMjYgQEAgVHJhbnNmb3JtYXRpb25NYXRyaXg6OlRyYW5zZm9ybWF0
aW9uTWF0cml4KGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdCkKICAgICBzZXRNYXRyaXgodC5hKCks
IHQuYigpLCB0LmMoKSwgdC5kKCksIHQuZSgpLCB0LmYoKSk7CiB9CiAKKworLy8gRklYTUU6IE9u
Y2UgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDg1NiBpcyBhZGRy
ZXNzZWQgd2UgY2FuIHJldXNlIHRoaXMgZnVuY3Rpb24gaW4gVHJhbnNmb3JtYXRpb25NYXRyaXg6
OnJlY29tcG9zZTQoKS4KK1RyYW5zZm9ybWF0aW9uTWF0cml4IFRyYW5zZm9ybWF0aW9uTWF0cml4
Ojpmcm9tUXVhdGVybmlvbihkb3VibGUgcXgsIGRvdWJsZSBxeSwgZG91YmxlIHF6LCBkb3VibGUg
cXcpCit7CisgICAgY29uc3QgZG91YmxlIHh4ID0gcXggKiBxeDsKKyAgICBjb25zdCBkb3VibGUg
eXkgPSBxeSAqIHF5OworICAgIGNvbnN0IGRvdWJsZSB6eiA9IHF6ICogcXo7CisgICAgY29uc3Qg
ZG91YmxlIHh6ID0gcXggKiBxejsKKyAgICBjb25zdCBkb3VibGUgeHkgPSBxeCAqIHF5OyAKKyAg
ICBjb25zdCBkb3VibGUgeXogPSBxeSAqIHF6OworICAgIGNvbnN0IGRvdWJsZSB4dyA9IHF3ICog
cXg7CisgICAgY29uc3QgZG91YmxlIHl3ID0gcXcgKiBxeTsKKyAgICBjb25zdCBkb3VibGUgencg
PSBxdyAqIHF6OworCisgICAgcmV0dXJuIFRyYW5zZm9ybWF0aW9uTWF0cml4KDEgLSAyICogKHl5
ICsgenopLCAyICogKHh5ICsgencpLCAyICogKHh6IC0geXcpLCAwLAorICAgICAgICAyICogKHh5
IC0gencpLCAxIC0gMiAqICh4eCArIHp6KSwgMiAqICh5eiArIHh3KSwgMCwKKyAgICAgICAgMiAq
ICh4eiArIHl3KSwgMiAqICh5eiAtIHh3KSwgMSAtIDIgKiAoeHggKyB5eSksIDAsCisgICAgICAg
IDAsIDAsIDAsIDEpOworfQorCiBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgVHJhbnNmb3JtYXRpb25N
YXRyaXg6OnNjYWxlKGRvdWJsZSBzKQogewogICAgIHJldHVybiBzY2FsZU5vblVuaWZvcm0ocywg
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKaW5kZXggY2RkNTJiY2E0MmYw
OTA2Nzg5YWQ0YWVjMWRhYTlmMjliYzY0ZGMzYi4uNjAwZTdkMGIxY2UyNmE3YzI0MjFkNTg1NjFj
YzU3NGIwNGExN2IyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaApAQCAt
MTE5LDYgKzExOSw4IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIFRyYW5zZm9ybWF0
aW9uTWF0cml4KGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOwogCisgICAgc3RhdGljIFRyYW5zZm9y
bWF0aW9uTWF0cml4IGZyb21RdWF0ZXJuaW9uKGRvdWJsZSBxeCwgZG91YmxlIHF5LCBkb3VibGUg
cXosIGRvdWJsZSBxdyk7CisKICAgICBzdGF0aWMgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgg
aWRlbnRpdHk7CiAKICAgICB2b2lkIHNldE1hdHJpeChkb3VibGUgYSwgZG91YmxlIGIsIGRvdWJs
ZSBjLCBkb3VibGUgZCwgZG91YmxlIGUsIGRvdWJsZSBmKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE3ODU2Yzg3ZmVjMzI5
YjI0NjY1NmFhZjQ5ODkyZmJjMTE2NDMxOTIuLmJjOWJjZGM5Zjc0MGIzOThkMDg4MjAzNWY3OWQx
OWNjM2ViODRhZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0yNyAgSW1hbm9sIEZl
cm5hbmRleiAgPGlmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBDb21wbGV0ZSBXZWJY
UlJpZ2lkVHJhbnNmb3JtIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA3MzIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcz
NjE3MzAyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEVuYWJsZSBYUlJpZ2lkVHJhbnNmb3JtIFdlYlhSIHRlc3RzLgorCisgICAgICAgICogcGxhdGZv
cm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDEtMjcgIEFuZHkgRXN0ZXMgIDxhZXN0
ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdIE1lZGlhU2FtcGxlQ3Vyc29yOjpzdGVwSW5P
cmRlcmVkTWFwIGNhbiBoYW5nIHdoZW4gc3RlcHBpbmcgdG8gdGhlIGVuZCBvZiBhIHRyYWNrIHRo
YXQgaGFzbid0IGJlZW4gZnVsbHkgcGFyc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCAxMDA0MWNlZmUyN2MwYWM3MDhmZTMyYWViZjc0ZTJjODRkNTdiYTgwLi5kZDEwOTQ1Zjdh
YjUzNDMxNDM3MGU5OGFjNDU4NmUyNzRmY2FlY2NiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wMS0yNyAgSW1hbm9sIEZlcm5hbmRleiAgPGlm
ZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBDb21wbGV0ZSBXZWJYUlJpZ2lkVHJhbnNm
b3JtIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjA3MzIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzczNjE3MzAyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBYUlJp
Z2lkVHJhbnNmb3JtIFdlYlhSIHRlc3RzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX21h
dHJpeC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIxLTAxLTI3ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgUlRDUnRw
UGFyYW1ldGVycy5ydGNwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnhyL3hyUmlnaWRUcmFuc2Zvcm1faW52ZXJzZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjQ3ZDIzZjRhNjYyY2Q5ZTIxOGY3OGI2NTEyOWY0NmNkYzcyMjA4NAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIv
eHJSaWdpZFRyYW5zZm9ybV9pbnZlcnNlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBYUlJpZ2lkVHJhbnNmb3JtIGludmVyc2Ugd29ya3MKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lk
VHJhbnNmb3JtX21hdHJpeC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3hyUmlnaWRUcmFuc2Zvcm1fbWF0cml4Lmh0
dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZGUyYjdiMDEzMTg4NjAyOWE3Mjg4MzRmMWFj
YTU3MWRkYjJlMThhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3JtX21hdHJpeC5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgWFJSaWdpZFRyYW5zZm9ybSBtYXRy
aXggd29ya3MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBlYTNmNTg3OTE3YWFjM2U2OWFkZTQ4MTU3ZjU2ZjEyZDc1OGIzNDc4Li5kYmM5ZmYyOTc0NzE3
ZmUwOWRjM2JmNzM3NWUxMjc1YjI4NmVkYzI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93cGUvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93cGUv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtNjQwLDYgKzY0MCw4IEBAIHdlYmtpdC5vcmcvYi8yMDk4NTkg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94cldlYkdMTGF5ZXJfZnJhbWVi
dWZmCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL25hdmlnYXRvcl94cl9z
YW1lT2JqZWN0Lmh0dHBzLmh0bWwgWyBQYXNzIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2VieHIveHJGcmFtZV9zZXNzaW9uX3NhbWVPYmplY3QuaHR0cHMuaHRtbCBbIFBhc3Mg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci94clJpZ2lkVHJhbnNmb3Jt
X2NvbnN0cnVjdG9yLmh0dHBzLmh0bWwgWyBQYXNzIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9ybV9pbnZlcnNlLmh0dHBzLmh0bWwgWyBQYXNz
IF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VieHIveHJSaWdpZFRyYW5zZm9y
bV9tYXRyaXguaHR0cHMuaHRtbCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJ4ci94clNlc3Npb25fcHJldmVudF9tdWx0aXBsZV9leGNsdXNpdmUuaHR0cHMuaHRt
bCBbIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJ4ci9yZW5kZXJf
c3RhdGVfdmVydGljYWxfZm92X2ltbWVyc2l2ZS5odHRwcy5odG1sIFsgUGFzcyBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnhyL3JlbmRlcl9zdGF0ZV91cGRhdGUuaHR0cHMu
aHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>