<?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>119678</bug_id>
          
          <creation_ts>2013-08-12 03:50:19 -0700</creation_ts>
          <short_desc>Move ElementTraversal to ElementTraversal.h</short_desc>
          <delta_ts>2013-08-12 04:41:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abucur</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>916232</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-08-12 03:50:19 -0700</bug_when>
    <thetext>from NodeTraversal.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916236</commentid>
    <comment_count>1</comment_count>
      <attachid>208528</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-08-12 03:59:45 -0700</bug_when>
    <thetext>Created attachment 208528
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916238</commentid>
    <comment_count>2</comment_count>
      <attachid>208528</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-08-12 04:03:38 -0700</bug_when>
    <thetext>Comment on attachment 208528
patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916244</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-08-12 04:20:33 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/153939</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916252</commentid>
    <comment_count>4</comment_count>
    <who name="Andrei Bucur">abucur</who>
    <bug_when>2013-08-12 04:41:02 -0700</bug_when>
    <thetext>Thank you! :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208528</attachid>
            <date>2013-08-12 03:59:45 -0700</date>
            <delta_ts>2013-08-12 04:03:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>element-traversal-file.patch</filename>
            <type>text/plain</type>
            <size>36749</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MzkzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU3IEBACisyMDEzLTA4LTEyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEVsZW1lbnRUcmF2ZXJz
YWwgdG8gRWxlbWVudFRyYXZlcnNhbC5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTk2NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBNb3ZlIEVsZW1lbnRUcmF2ZXJzYWwgbmFtZXNwYWNlIGZyb20gTm9k
ZVRyYXZlcnNhbC5oIHRvIGEgY29ycmVjdGx5IG5hbWVkIGZpbGUuCisKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKiBjc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5j
cHA6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnRP
cmRlcmVkTWFwLmNwcDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgICogZG9t
L0VsZW1lbnRUcmF2ZXJzYWwuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50VHJh
dmVyc2FsOjpmaXJzdEVsZW1lbnRXaXRoaW5UZW1wbGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50VHJhdmVyc2FsOjpmaXJzdFdpdGhpbik6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
VHJhdmVyc2FsOjp0cmF2ZXJzZU5leHRFbGVtZW50VGVtcGxhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudFRyYXZlcnNhbDo6bmV4dCk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50VHJh
dmVyc2FsOjp0cmF2ZXJzZU5leHRFbGVtZW50U2tpcHBpbmdDaGlsZHJlblRlbXBsYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnRUcmF2ZXJzYWw6Om5leHRTa2lwcGluZ0NoaWxkcmVuKToK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRUcmF2ZXJzYWw6OnByZXZpb3VzSW5jbHVkaW5nUHNl
dWRvKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRUcmF2ZXJzYWw6Om5leHRJbmNsdWRpbmdQ
c2V1ZG8pOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFRyYXZlcnNhbDo6bmV4dEluY2x1ZGlu
Z1BzZXVkb1NraXBwaW5nQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFRyYXZl
cnNhbDo6cHNldWRvQXdhcmVQcmV2aW91c1NpYmxpbmcpOgorICAgICAgICAqIGRvbS9Ob2RlLmNw
cDoKKyAgICAgICAgKiBkb20vTm9kZVRyYXZlcnNhbC5oOgorICAgICAgICAqIGRvbS9TZWxlY3Rv
clF1ZXJ5LmNwcDoKKyAgICAgICAgKiBkb20vVHJlZVNjb3BlLmNwcDoKKyAgICAgICAgKiBkb20v
VmlzaXRlZExpbmtTdGF0ZS5jcHA6CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHA6CisgICAgICAgICogZWRpdGluZy9tYXJrdXAuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTENv
bGxlY3Rpb24uY3BwOgorICAgICAgICAqIGh0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5jcHA6Cisg
ICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvSFRNTExh
YmVsRWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHA6Cisg
ICAgICAgICogaHRtbC9IVE1MTWFwRWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9IVE1MT2Jq
ZWN0RWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6Cisg
ICAgICAgICogaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcDoKKyAgICAgICAgKiBw
YWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckNvdW50
ZXIuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHA6CisgICAgICAg
ICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRFbGVtZW50
LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbi9TTUlMVGltZUNvbnRhaW5lci5jcHA6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NW
R0ltYWdlLmNwcDoKKwogMjAxMy0wOC0xMiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgTW92ZSBzb21lIERvY3VtZW50IHJlY2FsY1N0eWxlIGNvZGUgdG8gU3R5
bGVSZXNvbHZlVHJlZQpJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lv
biAxNTM5MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5n
IGNvcHkpCkBAIC0yOTA3LDYgKzI5MDcsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnRTaGFkb3cuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFNoYWRvdy5oIFwK
KwlTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFRyYXZlcnNhbC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vRW50aXR5LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FbnRpdHlSZWZlcmVuY2UuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRW50aXR5UmVmZXJlbmNlLmggXApJbmRleDogU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCShyZXZpc2lvbiAxNTM5MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNjA5LDYgKzE2MDksNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vRGF0
YXNldERPTVN0cmluZ01hcC5oIFwKICAgICBkb20vRWxlbWVudC5oIFwKICAgICBkb20vRWxlbWVu
dFNoYWRvdy5oIFwKKyAgICBkb20vRWxlbWVudFRyYXZlc2FsLmggXAogICAgIGRvbS9FbnRpdHku
aCBcCiAgICAgZG9tL0VudGl0eVJlZmVyZW5jZS5oIFwKICAgICBkb20vRXZlbnQuaCBcCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oJKHJl
dmlzaW9uIDE1MzkzMikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTIwMTk3LDYgKzIwMTk3LDcgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxET01TdHJpbmdNYXAuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGRvbVxET01UaW1lU3RhbXAuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGRvbVxFbGVtZW50LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21c
RWxlbWVudFRyYXZlcnNhbC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEVu
dGl0eS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEVudGl0eVJlZmVyZW5j
ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9tXEVycm9yRXZlbnQuaCIgLz4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHJldmlzaW9uIDE1MzkzMikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNTU0OSw2ICs1NTQ5LDcgQEAK
IAkJRTRENThFQjUxN0I0REJEQzAwQ0JEQ0E4IC8qIFN0eWxlUmVzb2x2ZUZvckRvY3VtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEQ1OEVCMzE3
QjREQkRDMDBDQkRDQTggLyogU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuaCAqLzsgfTsKIAkJRTRE
NThFQjgxN0I0RUQ4OTAwQ0JEQ0E4IC8qIFN0eWxlRm9udFNpemVGdW5jdGlvbnMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRENThFQjYxN0I0RUQ4
OTAwQ0JEQ0E4IC8qIFN0eWxlRm9udFNpemVGdW5jdGlvbnMuY3BwICovOyB9OwogCQlFNEQ1OEVC
OTE3QjRFRDg5MDBDQkRDQTggLyogU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRENThFQjcxN0I0RUQ4OTAwQ0JE
Q0E4IC8qIFN0eWxlRm9udFNpemVGdW5jdGlvbnMuaCAqLzsgfTsKKwkJRTRENThFQkIxN0I4RjEy
ODAwQ0JEQ0E4IC8qIEVsZW1lbnRUcmF2ZXJzYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0RDU4RUJBMTdCOEYxMjgwMENCRENBOCAvKiBFbGVtZW50
VHJhdmVyc2FsLmggKi87IH07CiAJCUU0RDY4Nzc3MEVEN0FFM0QwMDZFQTk3OCAvKiBQdXJnZWFi
bGVCdWZmZXJNYWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTRENjg3NzYwRUQ3QUUzRDAwNkVBOTc4IC8qIFB1cmdlYWJsZUJ1ZmZlck1hYy5jcHAg
Ki87IH07CiAJCUU0RDY4Nzc5MEVEN0FFNEYwMDZFQTk3OCAvKiBQdXJnZWFibGVCdWZmZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0RDY4Nzc4MEVE
N0FFNEYwMDZFQTk3OCAvKiBQdXJnZWFibGVCdWZmZXIuaCAqLzsgfTsKIAkJRTRERUFBMTcxN0E5
M0RDMzAwMEUwNDMwIC8qIFN0eWxlUmVzb2x2ZVRyZWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRERUFBMTUxN0E5M0RDMzAwMEUwNDMwIC8qIFN0
eWxlUmVzb2x2ZVRyZWUuY3BwICovOyB9OwpAQCAtMTIzNzIsNiArMTIzNzMsNyBAQAogCQlFNEQ1
OEVCMzE3QjREQkRDMDBDQkRDQTggLyogU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRENThFQjYxN0I0RUQ4OTAwQ0JEQ0E4IC8qIFN0
eWxlRm9udFNpemVGdW5jdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUU0RDU4RUI3MTdCNEVEODkwMENCRENBOCAvKiBTdHlsZUZvbnRTaXplRnVuY3Rpb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlRm9udFNpemVGdW5jdGlv
bnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTRENThFQkExN0I4RjEyODAwQ0JE
Q0E4IC8qIEVsZW1lbnRUcmF2ZXJzYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRWxlbWVudFRyYXZlcnNhbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEQ2
ODc3NjBFRDdBRTNEMDA2RUE5NzggLyogUHVyZ2VhYmxlQnVmZmVyTWFjLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFB1cmdlYWJsZUJ1ZmZlck1hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0RDY4Nzc4MEVEN0FFNEYwMDZFQTk3OCAvKiBQdXJn
ZWFibGVCdWZmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVyZ2VhYmxl
QnVmZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0REVBQTE1MTdBOTNEQzMw
MDBFMDQzMCAvKiBTdHlsZVJlc29sdmVUcmVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFN0eWxlUmVzb2x2ZVRyZWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMjAzMDgsNiArMjAzMTAsNyBAQAogCQkJCTYzN0I3QURFMEU4NzY3QjgwMEUzMjE5
NCAvKiBFbGVtZW50UmFyZURhdGEuaCAqLywKIAkJCQk1N0NGNEM4NDE0Rjc1OTdBMDBFQ0ZGMTQg
LyogRWxlbWVudFNoYWRvdy5jcHAgKi8sCiAJCQkJNTdDRjRDODUxNEY3NTk3QTAwRUNGRjE0IC8q
IEVsZW1lbnRTaGFkb3cuaCAqLywKKwkJCQlFNEQ1OEVCQTE3QjhGMTI4MDBDQkRDQTggLyogRWxl
bWVudFRyYXZlcnNhbC5oICovLAogCQkJCUE4RUE3RUJBMEExOTQ1RDAwMEE4RUY1RiAvKiBFbnRp
dHkuaCAqLywKIAkJCQk5M0VFQzFFQjA5QzI4Nzc3MDBDNTE1RDEgLyogRW50aXR5LmlkbCAqLywK
IAkJCQlBOEVBN0VCOTBBMTk0NUQwMDBBOEVGNUYgLyogRW50aXR5UmVmZXJlbmNlLmNwcCAqLywK
QEAgLTIxOTA3LDYgKzIxOTEwLDcgQEAKIAkJCQk2NTZEMzczQzBBREJBNURFMDBBNDU1NEQgLyog
RnJhbWVMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1NkQzNzNFMEFEQkE1REUwMEE0NTU0
RCAvKiBGcmFtZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDAwMEVCQTMxMUJE
QUZENDAwQzQ3NzI2IC8qIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmggaW4gSGVhZGVycyAqLywK
KwkJCQlFNEQ1OEVCQjE3QjhGMTI4MDBDQkRDQTggLyogRWxlbWVudFRyYXZlcnNhbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTNCNzdBMzgwQURENzkyNTAwRUE0QjgxIC8qIEZyYW1lTG9hZGVyVHlw
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1ODQzNjg2MEFFMDFCNzQwMEU1Mzc1MyAvKiBGcmFt
ZUxvYWRSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk2MjhEMjE0RTEyMTMxRUY0MDA1NURD
RkMgLyogRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDE1MzkzMikKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VGFibGUuaCIKICNpbmNsdWRl
ICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgorI2luY2x1ZGUgIkVsZW1lbnRU
cmF2ZXJzYWwuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0
LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTYyLDcgKzYzLDYgQEAKICNpbmNsdWRlICJMb2Nh
bGl6ZWRTdHJpbmdzLmgiCiAjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb2Rl
TGlzdC5oIgotI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyQnV0dG9uLmgiCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlSW52YWxpZGF0aW9uQW5hbHlzaXMu
Y3BwCShyZXZpc2lvbiAxNTM5MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVJbnZhbGlk
YXRpb25BbmFseXNpcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lu
Y2x1ZGUgIkNTU1NlbGVjdG9yTGlzdC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVk
ZSAiTm9kZVRyYXZlcnNhbC5oIgorI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNs
dWRlICJTdHlsZVJ1bGVJbXBvcnQuaCIKICNpbmNsdWRlICJTdHlsZVNoZWV0Q29udGVudHMuaCIK
ICNpbmNsdWRlICJTdHlsZWRFbGVtZW50LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHJldmlzaW9uIDE1MzkzOCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNs
dWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgorI2luY2x1ZGUgIkVs
ZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJFbnRpdHlSZWZlcmVuY2UuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50RmFjdG9yeS5oIgpAQCAtMTEzLDcgKzExNCw2IEBA
CiAjaW5jbHVkZSAiTm9kZUZpbHRlci5oIgogI2luY2x1ZGUgIk5vZGVJdGVyYXRvci5oIgogI2lu
Y2x1ZGUgIk5vZGVSYXJlRGF0YS5oIgotI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKICNpbmNs
dWRlICJOb2RlV2l0aEluZGV4LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VD
b25zb2xlLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRPcmRlcmVkTWFwLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRPcmRlcmVkTWFwLmNw
cAkocmV2aXNpb24gMTUzOTMyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50T3JkZXJl
ZE1hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDExICszMiwxMSBAQAogI2luY2x1ZGUgIkRv
Y3VtZW50T3JkZXJlZE1hcC5oIgogCiAjaW5jbHVkZSAiRWxlbWVudC5oIgorI2luY2x1ZGUgIkVs
ZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJIVE1MTGFiZWxFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTE1hcEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZUNvbGxlY3Rpb24uaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVk
ZSAiVHJlZVNjb3BlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE1MzkzMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50
RnJhZ21lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudFNoYXJlZE9iamVjdFBvb2wuaCIKICNpbmNs
dWRlICJFbGVtZW50UmFyZURhdGEuaCIKKyNpbmNsdWRlICJFbGVtZW50VHJhdmVyc2FsLmgiCiAj
aW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgog
I2luY2x1ZGUgIkZsb3dUaHJlYWRDb250cm9sbGVyLmgiCkBAIC02OSw3ICs3MCw2IEBACiAjaW5j
bHVkZSAiTm9kZUxpc3QuaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRl
ICJOb2RlUmVuZGVyaW5nQ29udGV4dC5oIgotI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKICNp
bmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUG9pbnRlckxvY2tDb250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiUHNldWRvRWxlbWVudC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRU
cmF2ZXJzYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFRyYXZl
cnNhbC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRUcmF2ZXJz
YWwuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQorICogICAgICAgICAgIChDKSAxOTk5
IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQorICogICAgICAgICAgIChDKSAyMDAx
IERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDExLCAyMDEyLCAyMDEzIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBU
b3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1v
YmlsZS5jb20vKQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqCisgKi8KKworI2lmbmRlZiBFbGVtZW50VHJhdmVyc2FsX2gKKyNkZWZpbmUgRWxlbWVu
dFRyYXZlcnNhbF9oCisKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiTm9kZVRyYXZl
cnNhbC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgRWxlbWVudFRyYXZlcnNh
bCB7CisKKy8vIEZpcnN0IGVsZW1lbnQgY2hpbGQgb2YgdGhlIG5vZGUuCitFbGVtZW50KiBmaXJz
dFdpdGhpbihjb25zdCBOb2RlKik7CitFbGVtZW50KiBmaXJzdFdpdGhpbihjb25zdCBDb250YWlu
ZXJOb2RlKik7CisKKy8vIFByZS1vcmRlciB0cmF2ZXJzYWwgc2tpcHBpbmcgbm9uLWVsZW1lbnQg
bm9kZXMuCitFbGVtZW50KiBuZXh0KGNvbnN0IE5vZGUqKTsKK0VsZW1lbnQqIG5leHQoY29uc3Qg
Tm9kZSosIGNvbnN0IE5vZGUqIHN0YXlXaXRoaW4pOworRWxlbWVudCogbmV4dChjb25zdCBDb250
YWluZXJOb2RlKik7CitFbGVtZW50KiBuZXh0KGNvbnN0IENvbnRhaW5lck5vZGUqLCBjb25zdCBO
b2RlKiBzdGF5V2l0aGluKTsKKworLy8gTGlrZSBuZXh0LCBidXQgc2tpcHMgY2hpbGRyZW4uCitF
bGVtZW50KiBuZXh0U2tpcHBpbmdDaGlsZHJlbihjb25zdCBOb2RlKik7CitFbGVtZW50KiBuZXh0
U2tpcHBpbmdDaGlsZHJlbihjb25zdCBOb2RlKiwgY29uc3QgTm9kZSogc3RheVdpdGhpbik7CitF
bGVtZW50KiBuZXh0U2tpcHBpbmdDaGlsZHJlbihjb25zdCBDb250YWluZXJOb2RlKik7CitFbGVt
ZW50KiBuZXh0U2tpcHBpbmdDaGlsZHJlbihjb25zdCBDb250YWluZXJOb2RlKiwgY29uc3QgTm9k
ZSogc3RheVdpdGhpbik7CisKKy8vIFByZS1vcmRlciB0cmF2ZXJzYWwgaW5jbHVkaW5nIHRoZSBw
c2V1ZG8tZWxlbWVudHMuCitFbGVtZW50KiBwcmV2aW91c0luY2x1ZGluZ1BzZXVkbyhjb25zdCBO
b2RlKiwgY29uc3QgTm9kZSogPSAwKTsKK0VsZW1lbnQqIG5leHRJbmNsdWRpbmdQc2V1ZG8oY29u
c3QgTm9kZSosIGNvbnN0IE5vZGUqID0gMCk7CitFbGVtZW50KiBuZXh0SW5jbHVkaW5nUHNldWRv
U2tpcHBpbmdDaGlsZHJlbihjb25zdCBOb2RlKiwgY29uc3QgTm9kZSogPSAwKTsKKworLy8gVXRp
bGl0eSBmdW5jdGlvbiB0byB0cmF2ZXJzZSBvbmx5IHRoZSBlbGVtZW50IGFuZCBwc2V1ZG8tZWxl
bWVudCBzaWJsaW5ncyBvZiBhIG5vZGUuCitFbGVtZW50KiBwc2V1ZG9Bd2FyZVByZXZpb3VzU2li
bGluZyhjb25zdCBOb2RlKik7CisKK30KKworbmFtZXNwYWNlIEVsZW1lbnRUcmF2ZXJzYWwgewor
dGVtcGxhdGUgPGNsYXNzIE5vZGVUeXBlPgoraW5saW5lIEVsZW1lbnQqIGZpcnN0RWxlbWVudFdp
dGhpblRlbXBsYXRlKE5vZGVUeXBlKiBjdXJyZW50KQoreworICAgIC8vIEV4Y2VwdCBmb3IgdGhl
IHJvb3QgY29udGFpbmVycywgb25seSBlbGVtZW50cyBjYW4gaGF2ZSBlbGVtZW50IGNoaWxkcmVu
LgorICAgIE5vZGUqIG5vZGUgPSBjdXJyZW50LT5maXJzdENoaWxkKCk7CisgICAgd2hpbGUgKG5v
ZGUgJiYgIW5vZGUtPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAgbm9kZSA9IG5vZGUtPm5leHRT
aWJsaW5nKCk7CisgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKTsKK30KK2lubGluZSBFbGVtZW50
KiBmaXJzdFdpdGhpbihjb25zdCBDb250YWluZXJOb2RlKiBjdXJyZW50KSB7IHJldHVybiBmaXJz
dEVsZW1lbnRXaXRoaW5UZW1wbGF0ZShjdXJyZW50KTsgfQoraW5saW5lIEVsZW1lbnQqIGZpcnN0
V2l0aGluKGNvbnN0IE5vZGUqIGN1cnJlbnQpIHsgcmV0dXJuIGZpcnN0RWxlbWVudFdpdGhpblRl
bXBsYXRlKGN1cnJlbnQpOyB9CisKK3RlbXBsYXRlIDxjbGFzcyBOb2RlVHlwZT4KK2lubGluZSBF
bGVtZW50KiB0cmF2ZXJzZU5leHRFbGVtZW50VGVtcGxhdGUoTm9kZVR5cGUqIGN1cnJlbnQpCit7
CisgICAgTm9kZSogbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHQoY3VycmVudCk7CisgICAgd2hp
bGUgKG5vZGUgJiYgIW5vZGUtPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAgbm9kZSA9IE5vZGVU
cmF2ZXJzYWw6Om5leHRTa2lwcGluZ0NoaWxkcmVuKG5vZGUpOworICAgIHJldHVybiB0b0VsZW1l
bnQobm9kZSk7Cit9CitpbmxpbmUgRWxlbWVudCogbmV4dChjb25zdCBDb250YWluZXJOb2RlKiBj
dXJyZW50KSB7IHJldHVybiB0cmF2ZXJzZU5leHRFbGVtZW50VGVtcGxhdGUoY3VycmVudCk7IH0K
K2lubGluZSBFbGVtZW50KiBuZXh0KGNvbnN0IE5vZGUqIGN1cnJlbnQpIHsgcmV0dXJuIHRyYXZl
cnNlTmV4dEVsZW1lbnRUZW1wbGF0ZShjdXJyZW50KTsgfQorCit0ZW1wbGF0ZSA8Y2xhc3MgTm9k
ZVR5cGU+CitpbmxpbmUgRWxlbWVudCogdHJhdmVyc2VOZXh0RWxlbWVudFRlbXBsYXRlKE5vZGVU
eXBlKiBjdXJyZW50LCBjb25zdCBOb2RlKiBzdGF5V2l0aGluKQoreworICAgIE5vZGUqIG5vZGUg
PSBOb2RlVHJhdmVyc2FsOjpuZXh0KGN1cnJlbnQsIHN0YXlXaXRoaW4pOworICAgIHdoaWxlIChu
b2RlICYmICFub2RlLT5pc0VsZW1lbnROb2RlKCkpCisgICAgICAgIG5vZGUgPSBOb2RlVHJhdmVy
c2FsOjpuZXh0U2tpcHBpbmdDaGlsZHJlbihub2RlLCBzdGF5V2l0aGluKTsKKyAgICByZXR1cm4g
dG9FbGVtZW50KG5vZGUpOworfQoraW5saW5lIEVsZW1lbnQqIG5leHQoY29uc3QgQ29udGFpbmVy
Tm9kZSogY3VycmVudCwgY29uc3QgTm9kZSogc3RheVdpdGhpbikgeyByZXR1cm4gdHJhdmVyc2VO
ZXh0RWxlbWVudFRlbXBsYXRlKGN1cnJlbnQsIHN0YXlXaXRoaW4pOyB9CitpbmxpbmUgRWxlbWVu
dCogbmV4dChjb25zdCBOb2RlKiBjdXJyZW50LCBjb25zdCBOb2RlKiBzdGF5V2l0aGluKSB7IHJl
dHVybiB0cmF2ZXJzZU5leHRFbGVtZW50VGVtcGxhdGUoY3VycmVudCwgc3RheVdpdGhpbik7IH0K
KwordGVtcGxhdGUgPGNsYXNzIE5vZGVUeXBlPgoraW5saW5lIEVsZW1lbnQqIHRyYXZlcnNlTmV4
dEVsZW1lbnRTa2lwcGluZ0NoaWxkcmVuVGVtcGxhdGUoTm9kZVR5cGUqIGN1cnJlbnQpCit7Cisg
ICAgTm9kZSogbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHRTa2lwcGluZ0NoaWxkcmVuKGN1cnJl
bnQpOworICAgIHdoaWxlIChub2RlICYmICFub2RlLT5pc0VsZW1lbnROb2RlKCkpCisgICAgICAg
IG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0U2tpcHBpbmdDaGlsZHJlbihub2RlKTsKKyAgICBy
ZXR1cm4gdG9FbGVtZW50KG5vZGUpOworfQoraW5saW5lIEVsZW1lbnQqIG5leHRTa2lwcGluZ0No
aWxkcmVuKGNvbnN0IENvbnRhaW5lck5vZGUqIGN1cnJlbnQpIHsgcmV0dXJuIHRyYXZlcnNlTmV4
dEVsZW1lbnRTa2lwcGluZ0NoaWxkcmVuVGVtcGxhdGUoY3VycmVudCk7IH0KK2lubGluZSBFbGVt
ZW50KiBuZXh0U2tpcHBpbmdDaGlsZHJlbihjb25zdCBOb2RlKiBjdXJyZW50KSB7IHJldHVybiB0
cmF2ZXJzZU5leHRFbGVtZW50U2tpcHBpbmdDaGlsZHJlblRlbXBsYXRlKGN1cnJlbnQpOyB9CisK
K3RlbXBsYXRlIDxjbGFzcyBOb2RlVHlwZT4KK2lubGluZSBFbGVtZW50KiB0cmF2ZXJzZU5leHRF
bGVtZW50U2tpcHBpbmdDaGlsZHJlblRlbXBsYXRlKE5vZGVUeXBlKiBjdXJyZW50LCBjb25zdCBO
b2RlKiBzdGF5V2l0aGluKQoreworICAgIE5vZGUqIG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0
U2tpcHBpbmdDaGlsZHJlbihjdXJyZW50LCBzdGF5V2l0aGluKTsKKyAgICB3aGlsZSAobm9kZSAm
JiAhbm9kZS0+aXNFbGVtZW50Tm9kZSgpKQorICAgICAgICBub2RlID0gTm9kZVRyYXZlcnNhbDo6
bmV4dFNraXBwaW5nQ2hpbGRyZW4obm9kZSwgc3RheVdpdGhpbik7CisgICAgcmV0dXJuIHRvRWxl
bWVudChub2RlKTsKK30KK2lubGluZSBFbGVtZW50KiBuZXh0U2tpcHBpbmdDaGlsZHJlbihjb25z
dCBDb250YWluZXJOb2RlKiBjdXJyZW50LCBjb25zdCBOb2RlKiBzdGF5V2l0aGluKSB7IHJldHVy
biB0cmF2ZXJzZU5leHRFbGVtZW50U2tpcHBpbmdDaGlsZHJlblRlbXBsYXRlKGN1cnJlbnQsIHN0
YXlXaXRoaW4pOyB9CitpbmxpbmUgRWxlbWVudCogbmV4dFNraXBwaW5nQ2hpbGRyZW4oY29uc3Qg
Tm9kZSogY3VycmVudCwgY29uc3QgTm9kZSogc3RheVdpdGhpbikgeyByZXR1cm4gdHJhdmVyc2VO
ZXh0RWxlbWVudFNraXBwaW5nQ2hpbGRyZW5UZW1wbGF0ZShjdXJyZW50LCBzdGF5V2l0aGluKTsg
fQorCitpbmxpbmUgRWxlbWVudCogcHJldmlvdXNJbmNsdWRpbmdQc2V1ZG8oY29uc3QgTm9kZSog
Y3VycmVudCwgY29uc3QgTm9kZSogc3RheVdpdGhpbikKK3sKKyAgICBOb2RlKiBub2RlID0gTm9k
ZVRyYXZlcnNhbDo6cHJldmlvdXNJbmNsdWRpbmdQc2V1ZG8oY3VycmVudCwgc3RheVdpdGhpbik7
CisgICAgd2hpbGUgKG5vZGUgJiYgIW5vZGUtPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAgbm9k
ZSA9IE5vZGVUcmF2ZXJzYWw6OnByZXZpb3VzSW5jbHVkaW5nUHNldWRvKG5vZGUsIHN0YXlXaXRo
aW4pOworICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSk7Cit9CisKK2lubGluZSBFbGVtZW50KiBu
ZXh0SW5jbHVkaW5nUHNldWRvKGNvbnN0IE5vZGUqIGN1cnJlbnQsIGNvbnN0IE5vZGUqIHN0YXlX
aXRoaW4pCit7CisgICAgTm9kZSogbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHRJbmNsdWRpbmdQ
c2V1ZG8oY3VycmVudCwgc3RheVdpdGhpbik7CisgICAgd2hpbGUgKG5vZGUgJiYgIW5vZGUtPmlz
RWxlbWVudE5vZGUoKSkKKyAgICAgICAgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHRJbmNsdWRp
bmdQc2V1ZG8obm9kZSwgc3RheVdpdGhpbik7CisgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKTsK
K30KKworaW5saW5lIEVsZW1lbnQqIG5leHRJbmNsdWRpbmdQc2V1ZG9Ta2lwcGluZ0NoaWxkcmVu
KGNvbnN0IE5vZGUqIGN1cnJlbnQsIGNvbnN0IE5vZGUqIHN0YXlXaXRoaW4pCit7CisgICAgTm9k
ZSogbm9kZSA9IE5vZGVUcmF2ZXJzYWw6Om5leHRJbmNsdWRpbmdQc2V1ZG9Ta2lwcGluZ0NoaWxk
cmVuKGN1cnJlbnQsIHN0YXlXaXRoaW4pOworICAgIHdoaWxlIChub2RlICYmICFub2RlLT5pc0Vs
ZW1lbnROb2RlKCkpCisgICAgICAgIG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0SW5jbHVkaW5n
UHNldWRvU2tpcHBpbmdDaGlsZHJlbihub2RlLCBzdGF5V2l0aGluKTsKKyAgICByZXR1cm4gdG9F
bGVtZW50KG5vZGUpOworfQorCitpbmxpbmUgRWxlbWVudCogcHNldWRvQXdhcmVQcmV2aW91c1Np
YmxpbmcoY29uc3QgTm9kZSogY3VycmVudCkKK3sKKyAgICBOb2RlKiBub2RlID0gY3VycmVudC0+
cHNldWRvQXdhcmVQcmV2aW91c1NpYmxpbmcoKTsKKyAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+
aXNFbGVtZW50Tm9kZSgpKQorICAgICAgICBub2RlID0gbm9kZS0+cHNldWRvQXdhcmVQcmV2aW91
c1NpYmxpbmcoKTsKKyAgICByZXR1cm4gdG9FbGVtZW50KG5vZGUpOworfQorCit9Cit9CisKKyNl
bmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAkocmV2aXNpb24gMTUzOTMyKQorKysgU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBACiAjaW5j
bHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRSYXJlRGF0YS5oIgogI2luY2x1ZGUg
IkVsZW1lbnRTaGFkb3cuaCIKKyNpbmNsdWRlICJFbGVtZW50VHJhdmVyc2FsLmgiCiAjaW5jbHVk
ZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudENvbnRleHQuaCIKICNpbmNsdWRlICJFdmVudERp
c3BhdGNoTWVkaWF0b3IuaCIKQEAgLTgwLDcgKzgxLDYgQEAKICNpbmNsdWRlICJOYW1lZE5vZGVN
YXAuaCIKICNpbmNsdWRlICJOb2RlUmFyZURhdGEuaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyaW5n
Q29udGV4dC5oIgotI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJQYWdlLmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVl
bEV2ZW50LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZVRyYXZlcnNhbC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlVHJhdmVyc2FsLmgJKHJldmlzaW9uIDE1
MzkzMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlVHJhdmVyc2FsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI1LDM4ICsyNSw5IEBACiAjaWZuZGVmIE5vZGVUcmF2ZXJzYWxfaAogI2RlZmluZSBO
b2RlVHJhdmVyc2FsX2gKIAotI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJOb2RlLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLQotbmFtZXNwYWNlIEVsZW1lbnRUcmF2ZXJzYWwgewot
Ci0vLyBGaXJzdCBlbGVtZW50IGNoaWxkIG9mIHRoZSBub2RlLgotRWxlbWVudCogZmlyc3RXaXRo
aW4oY29uc3QgTm9kZSopOwotRWxlbWVudCogZmlyc3RXaXRoaW4oY29uc3QgQ29udGFpbmVyTm9k
ZSopOwotCi0vLyBQcmUtb3JkZXIgdHJhdmVyc2FsIHNraXBwaW5nIG5vbi1lbGVtZW50IG5vZGVz
LgotRWxlbWVudCogbmV4dChjb25zdCBOb2RlKik7Ci1FbGVtZW50KiBuZXh0KGNvbnN0IE5vZGUq
LCBjb25zdCBOb2RlKiBzdGF5V2l0aGluKTsKLUVsZW1lbnQqIG5leHQoY29uc3QgQ29udGFpbmVy
Tm9kZSopOwotRWxlbWVudCogbmV4dChjb25zdCBDb250YWluZXJOb2RlKiwgY29uc3QgTm9kZSog
c3RheVdpdGhpbik7Ci0KLS8vIExpa2UgbmV4dCwgYnV0IHNraXBzIGNoaWxkcmVuLgotRWxlbWVu
dCogbmV4dFNraXBwaW5nQ2hpbGRyZW4oY29uc3QgTm9kZSopOwotRWxlbWVudCogbmV4dFNraXBw
aW5nQ2hpbGRyZW4oY29uc3QgTm9kZSosIGNvbnN0IE5vZGUqIHN0YXlXaXRoaW4pOwotRWxlbWVu
dCogbmV4dFNraXBwaW5nQ2hpbGRyZW4oY29uc3QgQ29udGFpbmVyTm9kZSopOwotRWxlbWVudCog
bmV4dFNraXBwaW5nQ2hpbGRyZW4oY29uc3QgQ29udGFpbmVyTm9kZSosIGNvbnN0IE5vZGUqIHN0
YXlXaXRoaW4pOwotCi0vLyBQcmUtb3JkZXIgdHJhdmVyc2FsIGluY2x1ZGluZyB0aGUgcHNldWRv
LWVsZW1lbnRzLgotRWxlbWVudCogcHJldmlvdXNJbmNsdWRpbmdQc2V1ZG8oY29uc3QgTm9kZSos
IGNvbnN0IE5vZGUqID0gMCk7Ci1FbGVtZW50KiBuZXh0SW5jbHVkaW5nUHNldWRvKGNvbnN0IE5v
ZGUqLCBjb25zdCBOb2RlKiA9IDApOwotRWxlbWVudCogbmV4dEluY2x1ZGluZ1BzZXVkb1NraXBw
aW5nQ2hpbGRyZW4oY29uc3QgTm9kZSosIGNvbnN0IE5vZGUqID0gMCk7Ci0KLS8vIFV0aWxpdHkg
ZnVuY3Rpb24gdG8gdHJhdmVyc2Ugb25seSB0aGUgZWxlbWVudCBhbmQgcHNldWRvLWVsZW1lbnQg
c2libGluZ3Mgb2YgYSBub2RlLgotRWxlbWVudCogcHNldWRvQXdhcmVQcmV2aW91c1NpYmxpbmco
Y29uc3QgTm9kZSopOwotCi19Ci0KIG5hbWVzcGFjZSBOb2RlVHJhdmVyc2FsIHsKIAogLy8gRG9l
cyBhIHByZS1vcmRlciB0cmF2ZXJzYWwgb2YgdGhlIHRyZWUgdG8gZmluZCB0aGUgbmV4dCBub2Rl
IGFmdGVyIHRoaXMgb25lLgpAQCAtOTQsOTcgKzY1LDYgQEAgTm9kZSogbmV4dEluY2x1ZGluZ1Bz
ZXVkb1NraXBwaW5nQ2hpbGRyZQogCiB9CiAKLW5hbWVzcGFjZSBFbGVtZW50VHJhdmVyc2FsIHsK
LXRlbXBsYXRlIDxjbGFzcyBOb2RlVHlwZT4KLWlubGluZSBFbGVtZW50KiBmaXJzdEVsZW1lbnRX
aXRoaW5UZW1wbGF0ZShOb2RlVHlwZSogY3VycmVudCkKLXsKLSAgICAvLyBFeGNlcHQgZm9yIHRo
ZSByb290IGNvbnRhaW5lcnMsIG9ubHkgZWxlbWVudHMgY2FuIGhhdmUgZWxlbWVudCBjaGlsZHJl
bi4KLSAgICBOb2RlKiBub2RlID0gY3VycmVudC0+Zmlyc3RDaGlsZCgpOwotICAgIHdoaWxlIChu
b2RlICYmICFub2RlLT5pc0VsZW1lbnROb2RlKCkpCi0gICAgICAgIG5vZGUgPSBub2RlLT5uZXh0
U2libGluZygpOwotICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSk7Ci19Ci1pbmxpbmUgRWxlbWVu
dCogZmlyc3RXaXRoaW4oY29uc3QgQ29udGFpbmVyTm9kZSogY3VycmVudCkgeyByZXR1cm4gZmly
c3RFbGVtZW50V2l0aGluVGVtcGxhdGUoY3VycmVudCk7IH0KLWlubGluZSBFbGVtZW50KiBmaXJz
dFdpdGhpbihjb25zdCBOb2RlKiBjdXJyZW50KSB7IHJldHVybiBmaXJzdEVsZW1lbnRXaXRoaW5U
ZW1wbGF0ZShjdXJyZW50KTsgfQotCi10ZW1wbGF0ZSA8Y2xhc3MgTm9kZVR5cGU+Ci1pbmxpbmUg
RWxlbWVudCogdHJhdmVyc2VOZXh0RWxlbWVudFRlbXBsYXRlKE5vZGVUeXBlKiBjdXJyZW50KQot
ewotICAgIE5vZGUqIG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0KGN1cnJlbnQpOwotICAgIHdo
aWxlIChub2RlICYmICFub2RlLT5pc0VsZW1lbnROb2RlKCkpCi0gICAgICAgIG5vZGUgPSBOb2Rl
VHJhdmVyc2FsOjpuZXh0U2tpcHBpbmdDaGlsZHJlbihub2RlKTsKLSAgICByZXR1cm4gdG9FbGVt
ZW50KG5vZGUpOwotfQotaW5saW5lIEVsZW1lbnQqIG5leHQoY29uc3QgQ29udGFpbmVyTm9kZSog
Y3VycmVudCkgeyByZXR1cm4gdHJhdmVyc2VOZXh0RWxlbWVudFRlbXBsYXRlKGN1cnJlbnQpOyB9
Ci1pbmxpbmUgRWxlbWVudCogbmV4dChjb25zdCBOb2RlKiBjdXJyZW50KSB7IHJldHVybiB0cmF2
ZXJzZU5leHRFbGVtZW50VGVtcGxhdGUoY3VycmVudCk7IH0KLQotdGVtcGxhdGUgPGNsYXNzIE5v
ZGVUeXBlPgotaW5saW5lIEVsZW1lbnQqIHRyYXZlcnNlTmV4dEVsZW1lbnRUZW1wbGF0ZShOb2Rl
VHlwZSogY3VycmVudCwgY29uc3QgTm9kZSogc3RheVdpdGhpbikKLXsKLSAgICBOb2RlKiBub2Rl
ID0gTm9kZVRyYXZlcnNhbDo6bmV4dChjdXJyZW50LCBzdGF5V2l0aGluKTsKLSAgICB3aGlsZSAo
bm9kZSAmJiAhbm9kZS0+aXNFbGVtZW50Tm9kZSgpKQotICAgICAgICBub2RlID0gTm9kZVRyYXZl
cnNhbDo6bmV4dFNraXBwaW5nQ2hpbGRyZW4obm9kZSwgc3RheVdpdGhpbik7Ci0gICAgcmV0dXJu
IHRvRWxlbWVudChub2RlKTsKLX0KLWlubGluZSBFbGVtZW50KiBuZXh0KGNvbnN0IENvbnRhaW5l
ck5vZGUqIGN1cnJlbnQsIGNvbnN0IE5vZGUqIHN0YXlXaXRoaW4pIHsgcmV0dXJuIHRyYXZlcnNl
TmV4dEVsZW1lbnRUZW1wbGF0ZShjdXJyZW50LCBzdGF5V2l0aGluKTsgfQotaW5saW5lIEVsZW1l
bnQqIG5leHQoY29uc3QgTm9kZSogY3VycmVudCwgY29uc3QgTm9kZSogc3RheVdpdGhpbikgeyBy
ZXR1cm4gdHJhdmVyc2VOZXh0RWxlbWVudFRlbXBsYXRlKGN1cnJlbnQsIHN0YXlXaXRoaW4pOyB9
Ci0KLXRlbXBsYXRlIDxjbGFzcyBOb2RlVHlwZT4KLWlubGluZSBFbGVtZW50KiB0cmF2ZXJzZU5l
eHRFbGVtZW50U2tpcHBpbmdDaGlsZHJlblRlbXBsYXRlKE5vZGVUeXBlKiBjdXJyZW50KQotewot
ICAgIE5vZGUqIG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0U2tpcHBpbmdDaGlsZHJlbihjdXJy
ZW50KTsKLSAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+aXNFbGVtZW50Tm9kZSgpKQotICAgICAg
ICBub2RlID0gTm9kZVRyYXZlcnNhbDo6bmV4dFNraXBwaW5nQ2hpbGRyZW4obm9kZSk7Ci0gICAg
cmV0dXJuIHRvRWxlbWVudChub2RlKTsKLX0KLWlubGluZSBFbGVtZW50KiBuZXh0U2tpcHBpbmdD
aGlsZHJlbihjb25zdCBDb250YWluZXJOb2RlKiBjdXJyZW50KSB7IHJldHVybiB0cmF2ZXJzZU5l
eHRFbGVtZW50U2tpcHBpbmdDaGlsZHJlblRlbXBsYXRlKGN1cnJlbnQpOyB9Ci1pbmxpbmUgRWxl
bWVudCogbmV4dFNraXBwaW5nQ2hpbGRyZW4oY29uc3QgTm9kZSogY3VycmVudCkgeyByZXR1cm4g
dHJhdmVyc2VOZXh0RWxlbWVudFNraXBwaW5nQ2hpbGRyZW5UZW1wbGF0ZShjdXJyZW50KTsgfQot
Ci10ZW1wbGF0ZSA8Y2xhc3MgTm9kZVR5cGU+Ci1pbmxpbmUgRWxlbWVudCogdHJhdmVyc2VOZXh0
RWxlbWVudFNraXBwaW5nQ2hpbGRyZW5UZW1wbGF0ZShOb2RlVHlwZSogY3VycmVudCwgY29uc3Qg
Tm9kZSogc3RheVdpdGhpbikKLXsKLSAgICBOb2RlKiBub2RlID0gTm9kZVRyYXZlcnNhbDo6bmV4
dFNraXBwaW5nQ2hpbGRyZW4oY3VycmVudCwgc3RheVdpdGhpbik7Ci0gICAgd2hpbGUgKG5vZGUg
JiYgIW5vZGUtPmlzRWxlbWVudE5vZGUoKSkKLSAgICAgICAgbm9kZSA9IE5vZGVUcmF2ZXJzYWw6
Om5leHRTa2lwcGluZ0NoaWxkcmVuKG5vZGUsIHN0YXlXaXRoaW4pOwotICAgIHJldHVybiB0b0Vs
ZW1lbnQobm9kZSk7Ci19Ci1pbmxpbmUgRWxlbWVudCogbmV4dFNraXBwaW5nQ2hpbGRyZW4oY29u
c3QgQ29udGFpbmVyTm9kZSogY3VycmVudCwgY29uc3QgTm9kZSogc3RheVdpdGhpbikgeyByZXR1
cm4gdHJhdmVyc2VOZXh0RWxlbWVudFNraXBwaW5nQ2hpbGRyZW5UZW1wbGF0ZShjdXJyZW50LCBz
dGF5V2l0aGluKTsgfQotaW5saW5lIEVsZW1lbnQqIG5leHRTa2lwcGluZ0NoaWxkcmVuKGNvbnN0
IE5vZGUqIGN1cnJlbnQsIGNvbnN0IE5vZGUqIHN0YXlXaXRoaW4pIHsgcmV0dXJuIHRyYXZlcnNl
TmV4dEVsZW1lbnRTa2lwcGluZ0NoaWxkcmVuVGVtcGxhdGUoY3VycmVudCwgc3RheVdpdGhpbik7
IH0KLQotaW5saW5lIEVsZW1lbnQqIHByZXZpb3VzSW5jbHVkaW5nUHNldWRvKGNvbnN0IE5vZGUq
IGN1cnJlbnQsIGNvbnN0IE5vZGUqIHN0YXlXaXRoaW4pCi17Ci0gICAgTm9kZSogbm9kZSA9IE5v
ZGVUcmF2ZXJzYWw6OnByZXZpb3VzSW5jbHVkaW5nUHNldWRvKGN1cnJlbnQsIHN0YXlXaXRoaW4p
OwotICAgIHdoaWxlIChub2RlICYmICFub2RlLT5pc0VsZW1lbnROb2RlKCkpCi0gICAgICAgIG5v
ZGUgPSBOb2RlVHJhdmVyc2FsOjpwcmV2aW91c0luY2x1ZGluZ1BzZXVkbyhub2RlLCBzdGF5V2l0
aGluKTsKLSAgICByZXR1cm4gdG9FbGVtZW50KG5vZGUpOwotfQotCi1pbmxpbmUgRWxlbWVudCog
bmV4dEluY2x1ZGluZ1BzZXVkbyhjb25zdCBOb2RlKiBjdXJyZW50LCBjb25zdCBOb2RlKiBzdGF5
V2l0aGluKQotewotICAgIE5vZGUqIG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0SW5jbHVkaW5n
UHNldWRvKGN1cnJlbnQsIHN0YXlXaXRoaW4pOwotICAgIHdoaWxlIChub2RlICYmICFub2RlLT5p
c0VsZW1lbnROb2RlKCkpCi0gICAgICAgIG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0SW5jbHVk
aW5nUHNldWRvKG5vZGUsIHN0YXlXaXRoaW4pOwotICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSk7
Ci19Ci0KLWlubGluZSBFbGVtZW50KiBuZXh0SW5jbHVkaW5nUHNldWRvU2tpcHBpbmdDaGlsZHJl
bihjb25zdCBOb2RlKiBjdXJyZW50LCBjb25zdCBOb2RlKiBzdGF5V2l0aGluKQotewotICAgIE5v
ZGUqIG5vZGUgPSBOb2RlVHJhdmVyc2FsOjpuZXh0SW5jbHVkaW5nUHNldWRvU2tpcHBpbmdDaGls
ZHJlbihjdXJyZW50LCBzdGF5V2l0aGluKTsKLSAgICB3aGlsZSAobm9kZSAmJiAhbm9kZS0+aXNF
bGVtZW50Tm9kZSgpKQotICAgICAgICBub2RlID0gTm9kZVRyYXZlcnNhbDo6bmV4dEluY2x1ZGlu
Z1BzZXVkb1NraXBwaW5nQ2hpbGRyZW4obm9kZSwgc3RheVdpdGhpbik7Ci0gICAgcmV0dXJuIHRv
RWxlbWVudChub2RlKTsKLX0KLQotaW5saW5lIEVsZW1lbnQqIHBzZXVkb0F3YXJlUHJldmlvdXNT
aWJsaW5nKGNvbnN0IE5vZGUqIGN1cnJlbnQpCi17Ci0gICAgTm9kZSogbm9kZSA9IGN1cnJlbnQt
PnBzZXVkb0F3YXJlUHJldmlvdXNTaWJsaW5nKCk7Ci0gICAgd2hpbGUgKG5vZGUgJiYgIW5vZGUt
PmlzRWxlbWVudE5vZGUoKSkKLSAgICAgICAgbm9kZSA9IG5vZGUtPnBzZXVkb0F3YXJlUHJldmlv
dXNTaWJsaW5nKCk7Ci0gICAgcmV0dXJuIHRvRWxlbWVudChub2RlKTsKLX0KLQotfQotCiBuYW1l
c3BhY2UgTm9kZVRyYXZlcnNhbCB7CiAKIE5vZGUqIG5leHRBbmNlc3RvclNpYmxpbmcoY29uc3Qg
Tm9kZSopOwpAQCAtMjM5LDcgKzExOSw2IEBAIGlubGluZSBOb2RlKiBuZXh0U2tpcHBpbmdDaGls
ZHJlbihjb25zdCAKIGlubGluZSBOb2RlKiBuZXh0U2tpcHBpbmdDaGlsZHJlbihjb25zdCBDb250
YWluZXJOb2RlKiBjdXJyZW50LCBjb25zdCBOb2RlKiBzdGF5V2l0aGluKSB7IHJldHVybiB0cmF2
ZXJzZU5leHRTa2lwcGluZ0NoaWxkcmVuVGVtcGxhdGUoY3VycmVudCwgc3RheVdpdGhpbik7IH0K
IAogfQotCiB9CiAKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NlbGVjdG9yUXVl
cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TZWxlY3RvclF1ZXJ5LmNw
cAkocmV2aXNpb24gMTUzOTMyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NlbGVjdG9yUXVlcnku
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiQ1NTUGFyc2Vy
LmgiCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3JMaXN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
LSNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCisjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5o
IgogI2luY2x1ZGUgIlNlbGVjdG9yQ2hlY2tlci5oIgogI2luY2x1ZGUgIlNlbGVjdG9yQ2hlY2tl
ckZhc3RQYXRoLmgiCiAjaW5jbHVkZSAiU3RhdGljTm9kZUxpc3QuaCIKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9UcmVlU2NvcGUuY3BwCShyZXZpc2lvbiAxNTM5MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
VHJlZVNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
IkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5o
IgorI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJGb2N1c0NvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgpAQCAtNDIs
NyArNDMsNiBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1
bHQuaCIKICNpbmNsdWRlICJJZFRhcmdldE9ic2VydmVyUmVnaXN0cnkuaCIKLSNpbmNsdWRlICJO
b2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcu
aCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vVmlzaXRlZExpbmtTdGF0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL1Zpc2l0ZWRMaW5rU3RhdGUuY3BwCShyZXZpc2lvbiAxNTM5MzIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vVmlzaXRlZExpbmtTdGF0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDEw
ICsyOSwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3Rh
dGUuaCIKIAorI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJGcmFtZS5o
IgogI2luY2x1ZGUgIkhUTUxBbmNob3JFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgi
Ci0jaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRl
ICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCShyZXZpc2lvbiAxNTM5MzIp
CisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkVkaXRvci5oIgogI2luY2x1ZGUgIkVk
aXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJFbGVtZW50VHJh
dmVyc2FsLmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9u
Q29kZS5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgpAQCAtNDgsNyArNDksNiBAQAogI2luY2x1
ZGUgIkhpdFRlc3RSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1
ZGUgIklubGluZVRleHRCb3guaCIKLSNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgpJ
bmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAkocmV2aXNpb24gMTUzOTMyKQorKysgU291
cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0
MSw3IEBACiAjZW5kaWYKICNpbmNsdWRlICJEb2N1bWVudEZyYWdtZW50LmgiCiAjaW5jbHVkZSAi
RWRpdG9yLmgiCisjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCIKICNpbmNs
dWRlICJGcmFtZS5oIgpAQCAtNTIsNyArNTMsNiBAQAogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIk1hcmt1cEFjY3Vt
dWxhdG9yLmgiCi0jaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlJhbmdlLmgi
CiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCShyZXZpc2lvbiAxNTM5MzIp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIkhUTUxDb2xsZWN0aW9uLmgiCiAKICNpbmNs
dWRlICJDbGFzc05vZGVMaXN0LmgiCisjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5oIgogI2lu
Y2x1ZGUgIkhUTUxEb2N1bWVudC5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTE5hbWVDb2xsZWN0aW9uLmgiCkBAIC0zMiw3ICszMyw2IEBACiAjaW5jbHVkZSAiSFRN
TE9wdGlvbkVsZW1lbnQuaCIKICNpbmNsdWRlICJOb2RlTGlzdC5oIgogI2luY2x1ZGUgIk5vZGVS
YXJlRGF0YS5oIgotI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5j
cHAJKHJldmlzaW9uIDE1MzkzMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDExICsyNSwxMSBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkhUTUxGaWVsZFNldEVsZW1lbnQuaCIKIAorI2luY2x1ZGUg
IkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJIVE1MQ29sbGVjdGlvbi5oIgogI2luY2x1
ZGUgIkhUTUxMZWdlbmRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVk
ZSAiSFRNTE9iamVjdEVsZW1lbnQuaCIKLSNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5j
bHVkZSAiUmVuZGVyRmllbGRzZXQuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAJKHJldmlzaW9uIDE1
MzkzMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiQXR0cmlidXRlLmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJFbGVtZW50VHJhdmVyc2FsLmgiCiAjaW5jbHVk
ZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRm9ybUNvbnRy
b2xsZXIuaCIKQEAgLTQxLDcgKzQyLDYgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNs
dWRlICJIVE1MVGFibGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlcmluZ0NvbnRleHQu
aCIKLSNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1
ZGUgIlJlbmRlclRleHRDb250cm9sLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCShyZXZpc2lvbiAx
NTM5MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpbmNsdWRlICJIVE1MTGFiZWxFbGVtZW50
LmgiCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwu
aCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJGb3JtQXNzb2NpYXRlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKLSNpbmNs
dWRlICJOb2RlVHJhdmVyc2FsLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHAJKHJldmlzaW9uIDE1MzkzMikK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNSwxMCArMjUsMTAgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJI
VE1MTGVnZW5kRWxlbWVudC5oIgogCisjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5oIgogI2lu
Y2x1ZGUgIkhUTUxGaWVsZFNldEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xF
bGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiTm9kZVRyYXZlcnNh
bC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1hcEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1hcEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNTM5MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNYXBFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsMTMgKzI0LDEzIEBACiAK
ICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUg
IkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJIVE1MQXJlYUVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVk
ZSAiSW50U2l6ZS5oIgotI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJSZW5k
ZXJPYmplY3QuaCIKIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNTM5MzIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjks
NiArMjksNyBAQAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgi
CiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCisjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5o
IgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAj
aW5jbHVkZSAiRm9ybURhdGFMaXN0LmgiCkBAIC00Miw3ICs0Myw2IEBACiAjaW5jbHVkZSAiSFRN
TFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRl
ICJOb2RlTGlzdC5oIgotI2luY2x1ZGUgIk5vZGVUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiUGx1Z2luVmlld0Jhc2UuaCIKICNpbmNsdWRlICJSZW5kZXJFbWJlZGRl
ZE9iamVjdC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5j
cHAJKHJldmlzaW9uIDE1MzkzMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQXR0
cmlidXRlLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50Lmgi
CisjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5o
IgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vo
b2xkZXIuaCIKQEAgLTQ3LDcgKzQ4LDYgQEAKICNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgi
CiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJpbmdDb250ZXh0
LmgiCi0jaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJSZW5kZXJMaXN0Qm94LmgiCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRv
ci5jcHAJKHJldmlzaW9uIDE1MzkzMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Nv
bnRlbnREaXN0cmlidXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDggKzI4LDggQEAKICNp
bmNsdWRlICJDb250ZW50RGlzdHJpYnV0b3IuaCIKIAogI2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cu
aCIKKyNpbmNsdWRlICJFbGVtZW50VHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiSFRNTENvbnRlbnRF
bGVtZW50LmgiCi0jaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlNoYWRvd1Jv
b3QuaCIKIAogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCShy
ZXZpc2lvbiAxNTM5MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJFZGl0b3JDbGll
bnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgor
I2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1
ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKQEAgLTUwLDcgKzUx
LDYgQEAKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVu
dC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJpbmdUcmF2ZXJzYWwuaCIKLSNpbmNsdWRlICJOb2Rl
VHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5j
bHVkZSAiUmVuZGVyT2JqZWN0LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQ291bnRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckNvdW50ZXIuY3BwCShyZXZpc2lvbiAxNTM5MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQ291bnRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDkgKzI1LDkgQEAK
ICNpbmNsdWRlICJDb3VudGVyTm9kZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiRWxlbWVudC5oIgorI2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MT0xpc3RFbGVtZW50LmgiCi0jaW5jbHVkZSAiTm9k
ZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlJlbmRlckxpc3RJdGVtLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyTGlzdE1hcmtlci5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAJKHJldmlzaW9uIDE1MzkzMikK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDkgKzI0LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJS
ZW5kZXJMaXN0SXRlbS5oIgogCisjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5oIgogI2luY2x1
ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxPTGlzdEVsZW1lbnQuaCIKLSNpbmNsdWRl
ICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGlzdE1hcmtlci5oIgogI2luY2x1
ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAJKHJldmlzaW9uIDE1MzkzMikKKysrIFNv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgs
NiArMjgsNyBAQAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkNTU0hlbHBlci5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5oIgog
I2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5j
bHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCkBAIC0zNyw3ICszOCw2IEBACiAjaW5jbHVkZSAiRnJh
bWVUcmVlLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgi
Ci0jaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgog
I2luY2x1ZGUgIlJlbmRlclBhcnQuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgpJ
bmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcAkocmV2aXNpb24gMTUz
OTMyKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNiw5ICsyNiw5IEBACiAjaW5jbHVkZSAiQXR0ci5oIgogI2luY2x1ZGUgIkNT
U1BhcnNlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRWxlbWVudFRyYXZl
cnNhbC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
LSNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAj
aW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2UuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJj
ZUNsaXBwZXIuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE1MzkzMikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzMsMTEgKzMzLDExIEBACiAjaW5jbHVkZSAiQ2FjaGVkU1ZHRG9jdW1l
bnQuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cuaCIK
KyNpbmNsdWRlICJFbGVtZW50VHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNs
dWRlICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAi
Tm9kZVJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiTm9kZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUg
IlJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUmVzb3VyY2Uu
aCIKICNpbmNsdWRlICJSZW5kZXJTVkdUcmFuc2Zvcm1hYmxlQ29udGFpbmVyLmgiCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NNSUxUaW1lQ29udGFpbmVyLmNw
cAkocmV2aXNpb24gMTUzOTMyKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TTUlM
VGltZUNvbnRhaW5lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lm
IEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJOb2RlVHJhdmVy
c2FsLmgiCisjaW5jbHVkZSAiRWxlbWVudFRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlNWR05hbWVz
LmgiCiAjaW5jbHVkZSAiU1ZHU01JTEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50
LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAJKHJldmlz
aW9uIDE1MzkzMikKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMyLDExICszMiwxMSBAQAogCiAjaW5jbHVkZSAiQ2hyb21lLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRlICJFbGVtZW50VHJhdmVyc2Fs
LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKICNp
bmNsdWRlICJJbWFnZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgotI2luY2x1ZGUg
Ik5vZGVUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSb290LmgiCiAjaW5jbHVkZSAi
UmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgo=
</data>
<flag name="review"
          id="230433"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>