<?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>149472</bug_id>
          
          <creation_ts>2015-09-22 12:02:05 -0700</creation_ts>
          <short_desc>Get rid of ENABLE(GGC)</short_desc>
          <delta_ts>2015-09-22 13:02:00 -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>JavaScriptCore</component>
          <version>Other</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149435</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1128069</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-22 12:02:05 -0700</bug_when>
    <thetext>We don&apos;t test the no-GGC configuration and it&apos;s not clear why we have that.  If we did have to disable generations, we could do it at run-time using one of the Options.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128082</commentid>
    <comment_count>1</comment_count>
      <attachid>261761</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-22 12:33:30 -0700</bug_when>
    <thetext>Created attachment 261761
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128084</commentid>
    <comment_count>2</comment_count>
      <attachid>261761</attachid>
    <who name="Mark Hahnenberg">mhahnenb</who>
    <bug_when>2015-09-22 12:34:41 -0700</bug_when>
    <thetext>Comment on attachment 261761
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128085</commentid>
    <comment_count>3</comment_count>
      <attachid>261761</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-09-22 12:35:09 -0700</bug_when>
    <thetext>Comment on attachment 261761
the patch

r=me too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128092</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-22 13:02:00 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/190129</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261761</attachid>
            <date>2015-09-22 12:33:30 -0700</date>
            <delta_ts>2015-09-22 12:34:41 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>33080</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkwMTI2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc0IEBA
CisyMDE1LTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
R2V0IHJpZCBvZiBFTkFCTEUoR0dDKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ5NDcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgR2V0dGluZyByaWQgb2YgdGhpcyBmZWF0dXJlIGZsYWcgYWxsb3dzIHVz
IHRvIHJlbW92ZSBhIGxvdCBvZiB5dWNrLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2Nr
Lmg6CisgICAgICAgIChKU0M6OkNvZGVCbG9ja1NldDo6bWFyayk6CisgICAgICAgIChKU0M6OlNj
cmlwdEV4ZWN1dGFibGU6OmZvckVhY2hDb2RlQmxvY2spOgorICAgICAgICAqIGJ5dGVjb2RlL1Bv
bHltb3JwaGljQWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Z2VuZXJhdGUp
OgorICAgICAgICAqIGRmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwOgorICAgICAgICAo
SlNDOjpERkc6OnJlaWZ5SW5saW5lZENhbGxGcmFtZXMpOgorICAgICAgICAoSlNDOjpERkc6Om9z
cldyaXRlQmFycmllcik6CisgICAgICAgIChKU0M6OkRGRzo6YWRqdXN0QW5kSnVtcFRvVGFyZ2V0
KToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OlNwZWN1bGF0aXZlSklUOjpsaW5rQnJhbmNoZXMpOgorICAgICAgICAoSlNDOjpERkc6OlNw
ZWN1bGF0aXZlSklUOjpjb21waWxlU3RvcmVCYXJyaWVyKToKKyAgICAgICAgKEpTQzo6REZHOjpT
cGVjdWxhdGl2ZUpJVDo6d3JpdGVCYXJyaWVyKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRp
dmVKSVQuaDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6bWFzcXVlcmFkZXNB
c1VuZGVmaW5lZFdhdGNocG9pbnRJc1N0aWxsVmFsaWQpOgorICAgICAgICAoSlNDOjpERkc6OlNw
ZWN1bGF0aXZlSklUOjpzZWxlY3RTY3JhdGNoR1BSKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVCYXNlVmFsdWVTdG9yZUJhcnJpZXIpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpjb21waWxlT2JqZWN0RXF1YWxpdHkpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1
bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6
d3JpdGVCYXJyaWVyKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6bW92ZVRy
dWVUbyk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlQmFzZVZhbHVlU3RvcmVCYXJyaWVyKToK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU9iamVjdEVxdWFsaXR5
KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OndyaXRlQmFycmllcik6CisgICAgICAgIChKU0M6
OkRGRzo6U3BlY3VsYXRpdmVKSVQ6Om1vdmVUcnVlVG8pOgorICAgICAgICAqIGZ0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvTExWTTo6
ZW1pdFN0b3JlQmFycmllcik6CisgICAgICAgICogaGVhcC9Db2RlQmxvY2tTZXQuY3BwOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2tTZXQ6OnJlbWVtYmVyQ3VycmVudGx5RXhlY3V0aW5nQ29kZUJs
b2Nrcyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9ja1NldDo6ZHVtcCk6CisgICAgICAgICogaGVh
cC9IZWFwLmNwcDoKKyAgICAgICAgKEpTQzo6SGVhcDo6SGVhcCk6CisgICAgICAgIChKU0M6Okhl
YXA6Om1hcmtSb290cyk6CisgICAgICAgIChKU0M6OkhlYXA6OmNsZWFyUmVtZW1iZXJlZFNldCk6
CisgICAgICAgIChKU0M6OkhlYXA6OnVwZGF0ZU9iamVjdENvdW50cyk6CisgICAgICAgIChKU0M6
OkhlYXA6OmZsdXNoV3JpdGVCYXJyaWVyQnVmZmVyKToKKyAgICAgICAgKEpTQzo6SGVhcDo6c2hv
dWxkRG9GdWxsQ29sbGVjdGlvbik6CisgICAgICAgIChKU0M6OkhlYXA6OmFkZExvZ2ljYWxseUVt
cHR5V2Vha0Jsb2NrKToKKyAgICAgICAgKiBoZWFwL0hlYXBJbmxpbmVzLmg6CisgICAgICAgIChK
U0M6OkhlYXA6OmlzV3JpdGVCYXJyaWVyRW5hYmxlZCk6CisgICAgICAgIChKU0M6OkhlYXA6Ondy
aXRlQmFycmllcik6CisgICAgICAgIChKU0M6OkhlYXA6OnJlcG9ydEV4dHJhTWVtb3J5QWxsb2Nh
dGVkKToKKyAgICAgICAgKEpTQzo6SGVhcDo6cmVwb3J0RXh0cmFNZW1vcnlWaXNpdGVkKToKKyAg
ICAgICAgKiBoZWFwL01hcmtlZEJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6TWFya2VkQmxvY2s6
OmNsZWFyTWFya3MpOgorICAgICAgICAqIGhlYXAvTWFya2VkU3BhY2UuY3BwOgorICAgICAgICAo
SlNDOjpNYXJrZWRTcGFjZTo6cmVzZXRBbGxvY2F0b3JzKToKKyAgICAgICAgKEpTQzo6TWFya2Vk
U3BhY2U6OnZpc2l0V2Vha1NldHMpOgorICAgICAgICAqIGhlYXAvTWFya2VkU3BhY2UuaDoKKyAg
ICAgICAgKEpTQzo6TWFya2VkU3BhY2U6OmRpZEFsbG9jYXRlSW5CbG9jayk6CisgICAgICAgIChK
U0M6Ok1hcmtlZFNwYWNlOjpvYmplY3RDb3VudCk6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5
QWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0V3JpdGVCYXJyaWVyKToKKyAgICAg
ICAgKEpTQzo6SklUOjplbWl0SWRlbnRpZmllckNoZWNrKToKKyAgICAgICAgKEpTQzo6SklUOjpw
cml2YXRlQ29tcGlsZVB1dEJ5VmFsKToKKyAgICAgICAgKiBsbGludC9MTEludE9mZmxpbmVBc21D
b25maWcuaDoKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgor
ICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206CisKIDIwMTUtMDktMjIg
IFN1a29sc2FrIFNha3NodXdvbmcgIDxzdWtvbHNha0BnbWFpbC5jb20+CiAKICAgICAgICAgSW1w
bGVtZW50IHRoZSBjb25kaXRpb25hbCBpbnN0cnVjdGlvbiBpbiBXZWJBc3NlbWJseQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAkocmV2aXNpb24gMTkw
MTI1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjU2LDkgKzEyNTYsNyBAQCBpbmxpbmUgdm9pZCBDb2RlQmxvY2tTZXQ6
Om1hcmsoQ29kZUJsb2NrCiAgICAgLy8gYSBiYXJyaWVyIHdoZW4gYSBDb2RlQmxvY2sgbmVlZHMg
aXQuCiAgICAgY29kZUJsb2NrLT5jbGVhck1hcmtzKCk7CiAKLSNpZiBFTkFCTEUoR0dDKQogICAg
IG1fY3VycmVudGx5RXhlY3V0aW5nLmFkZChjb2RlQmxvY2spOwotI2VuZGlmCiB9CiAKIHRlbXBs
YXRlIDx0eXBlbmFtZSBGdW5jdG9yPiBpbmxpbmUgdm9pZCBTY3JpcHRFeGVjdXRhYmxlOjpmb3JF
YWNoQ29kZUJsb2NrKEZ1bmN0b3ImJiBmdW5jdG9yKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCShyZXZpc2lvbiAx
OTAxMjUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nl
c3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MjYsNyArODI2LDYgQEAgdm9pZCBBY2Nlc3NDYXNl
OjpnZW5lcmF0ZShBY2Nlc3NHZW5lcmF0aQogICAgICAgICBpZiAobmV3U3RydWN0dXJlKCktPm91
dE9mTGluZUNhcGFjaXR5KCkgIT0gc3RydWN0dXJlKCktPm91dE9mTGluZUNhcGFjaXR5KCkpCiAg
ICAgICAgICAgICBzY3JhdGNoQnVmZmVyID0gdm0uc2NyYXRjaEJ1ZmZlckZvclNpemUoYWxsb2Nh
dG9yLmRlc2lyZWRTY3JhdGNoQnVmZmVyU2l6ZUZvckNhbGwoKSk7CiAKLSNpZiBFTkFCTEUoR0dD
KQogICAgICAgICBpZiAobmV3U3RydWN0dXJlKCktPm91dE9mTGluZUNhcGFjaXR5KCkgIT0gc3Ry
dWN0dXJlKCktPm91dE9mTGluZUNhcGFjaXR5KCkpIHsKICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6Q2FsbCBjYWxsRmx1c2hXcml0ZUJhcnJpZXJCdWZmZXI7CiAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6Okp1bXAgb3duZXJJc1JlbWVtYmVyZWRPckluRWRlbiA9IGppdC5qdW1wSWZJc1JlbWVt
YmVyZWRPckluRWRlbihiYXNlR1BSKTsKQEAgLTg2OSw3ICs4NjgsNiBAQCB2b2lkIEFjY2Vzc0Nh
c2U6OmdlbmVyYXRlKEFjY2Vzc0dlbmVyYXRpCiAgICAgICAgICAgICAgICAgICAgIGxpbmtCdWZm
ZXIubGluayhjYWxsRmx1c2hXcml0ZUJhcnJpZXJCdWZmZXIsIG9wZXJhdGlvbkZsdXNoV3JpdGVC
YXJyaWVyQnVmZmVyKTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgfQotI2VuZGlmIC8v
IEVOQUJMRShHR0MpCiAgICAgICAgIAogICAgICAgICBhbGxvY2F0b3IucmVzdG9yZVJldXNlZFJl
Z2lzdGVyc0J5UG9wcGluZyhqaXQsIG51bWJlck9mUGFkZGluZ0J5dGVzKTsKICAgICAgICAgc3Rh
dGUuc3VjY2VlZCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0
Q29tcGlsZXJDb21tb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcAkocmV2aXNpb24gMTkwMTI1KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMjYsNyArMjI2LDYgQEAgdm9pZCByZWlmeUlubGluZWRDYWxsRnJhbWVz
KENDYWxsSGVscGVycwogICAgIGppdC5zdG9yZTMyKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZElt
bTMyKGxvY2F0aW9uQml0cyksIEFzc2VtYmx5SGVscGVyczo6dGFnRm9yKChWaXJ0dWFsUmVnaXN0
ZXIpKEpTU3RhY2s6OkFyZ3VtZW50Q291bnQpKSk7CiB9CiAKLSNpZiBFTkFCTEUoR0dDKQogc3Rh
dGljIHZvaWQgb3NyV3JpdGVCYXJyaWVyKENDYWxsSGVscGVycyYgaml0LCBHUFJSZWcgb3duZXIs
IEdQUlJlZyBzY3JhdGNoKQogewogICAgIEFzc2VtYmx5SGVscGVyczo6SnVtcCBvd25lcklzUmVt
ZW1iZXJlZE9ySW5FZGVuID0gaml0Lmp1bXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuKG93bmVyKTsK
QEAgLTI0NiwxMSArMjQ1LDkgQEAgc3RhdGljIHZvaWQgb3NyV3JpdGVCYXJyaWVyKENDYWxsSGVs
cGVycwogCiAgICAgb3duZXJJc1JlbWVtYmVyZWRPckluRWRlbi5saW5rKCZqaXQpOwogfQotI2Vu
ZGlmIC8vIEVOQUJMRShHR0MpCiAKIHZvaWQgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0KENDYWxsSGVs
cGVycyYgaml0LCBjb25zdCBPU1JFeGl0QmFzZSYgZXhpdCwgYm9vbCBpc0V4aXRpbmdUb09wQ2F0
Y2gpCiB7Ci0jaWYgRU5BQkxFKEdHQykgCiAgICAgaml0Lm1vdmUoQXNzZW1ibHlIZWxwZXJzOjpU
cnVzdGVkSW1tUHRyKGppdC5jb2RlQmxvY2soKS0+b3duZXJFeGVjdXRhYmxlKCkpLCBHUFJJbmZv
Ojphcmd1bWVudEdQUjEpOwogICAgIG9zcldyaXRlQmFycmllcihqaXQsIEdQUkluZm86OmFyZ3Vt
ZW50R1BSMSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAgSW5saW5lQ2FsbEZyYW1lU2V0KiBp
bmxpbmVDYWxsRnJhbWVzID0gaml0LmNvZGVCbG9jaygpLT5qaXRDb2RlKCktPmRmZ0NvbW1vbigp
LT5pbmxpbmVDYWxsRnJhbWVzLmdldCgpOwpAQCAtMjYxLDcgKzI1OCw2IEBAIHZvaWQgYWRqdXN0
QW5kSnVtcFRvVGFyZ2V0KENDYWxsSGVscGVycyYKICAgICAgICAgICAgIG9zcldyaXRlQmFycmll
cihqaXQsIEdQUkluZm86OmFyZ3VtZW50R1BSMSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAg
ICAgIH0KICAgICB9Ci0jZW5kaWYKIAogICAgIGlmIChleGl0Lm1fY29kZU9yaWdpbi5pbmxpbmVD
YWxsRnJhbWUpCiAgICAgICAgIGppdC5hZGRQdHIoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1t
MzIoZXhpdC5tX2NvZGVPcmlnaW4uaW5saW5lQ2FsbEZyYW1lLT5zdGFja09mZnNldCAqIHNpemVv
ZihFbmNvZGVkSlNWYWx1ZSkpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAJKHJldmlzaW9uIDE5MDEyNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMjEsNyArMTEyMSw2
IEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJVDo6ZmlsbFNwZWN1bGF0ZUJvb2wKIAogdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZUJhc2VWYWx1ZVN0b3JlQmFycmllcihFZGdlJiBiYXNlRWRnZSwg
RWRnZSYgdmFsdWVFZGdlKQogewotI2lmIEVOQUJMRShHR0MpCiAgICAgQVNTRVJUKCFpc0tub3du
Tm90Q2VsbCh2YWx1ZUVkZ2Uubm9kZSgpKSk7CiAKICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBi
YXNlKHRoaXMsIGJhc2VFZGdlKTsKQEAgLTExMzAsMTAgKzExMjksNiBAQCB2b2lkIFNwZWN1bGF0
aXZlSklUOjpjb21waWxlQmFzZVZhbHVlU3RvCiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRo
aXMpOwogCiAgICAgd3JpdGVCYXJyaWVyKGJhc2UuZ3ByKCksIHZhbHVlLnRhZ0dQUigpLCB2YWx1
ZUVkZ2UsIHNjcmF0Y2gxLmdwcigpLCBzY3JhdGNoMi5ncHIoKSk7Ci0jZWxzZQotICAgIFVOVVNF
RF9QQVJBTShiYXNlRWRnZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVlRWRnZSk7Ci0jZW5kaWYK
IH0KIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU9iamVjdEVxdWFsaXR5KE5vZGUqIG5v
ZGUpCkBAIC00NzYxLDcgKzQ3NTYsNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5v
ZGUqIG5vZGUpCiAgICAgICAgIHVzZShub2RlKTsKIH0KIAotI2lmIEVOQUJMRShHR0MpCiB2b2lk
IFNwZWN1bGF0aXZlSklUOjp3cml0ZUJhcnJpZXIoR1BSUmVnIG93bmVyR1BSLCBHUFJSZWcgdmFs
dWVUYWdHUFIsIEVkZ2UgdmFsdWVVc2UsIEdQUlJlZyBzY3JhdGNoMSwgR1BSUmVnIHNjcmF0Y2gy
KQogewogICAgIEpJVENvbXBpbGVyOjpKdW1wIGlzTm90Q2VsbDsKQEAgLTQ3NzUsNyArNDc2OSw2
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OndyaXRlQmFycmllcihHUFJSZWcKICAgICBpZiAoIWlz
S25vd25DZWxsKHZhbHVlVXNlLm5vZGUoKSkpCiAgICAgICAgIGlzTm90Q2VsbC5saW5rKCZtX2pp
dCk7CiB9Ci0jZW5kaWYgLy8gRU5BQkxFKEdHQykKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6bW92
ZVRydWVUbyhHUFJSZWcgZ3ByKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxOTAxMjUpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjI4LDcgKzEyMjgsNiBAQCBHUFJSZWcgU3BlY3VsYXRpdmVKSVQ6OmZpbGxTcGVj
dWxhdGVCb29sCiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVCYXNlVmFsdWVTdG9yZUJh
cnJpZXIoRWRnZSYgYmFzZUVkZ2UsIEVkZ2UmIHZhbHVlRWRnZSkKIHsKLSNpZiBFTkFCTEUoR0dD
KQogICAgIEFTU0VSVCghaXNLbm93bk5vdENlbGwodmFsdWVFZGdlLm5vZGUoKSkpOwogCiAgICAg
U3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBiYXNlRWRnZSk7CkBAIC0xMjM3LDEwICsx
MjM2LDYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUJhc2VWYWx1ZVN0bwogICAgIEdQ
UlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKIAogICAgIHdyaXRlQmFycmllcihiYXNlLmdwcigp
LCB2YWx1ZS5ncHIoKSwgdmFsdWVFZGdlLCBzY3JhdGNoMS5ncHIoKSwgc2NyYXRjaDIuZ3ByKCkp
OwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oYmFzZUVkZ2UpOwotICAgIFVOVVNFRF9QQVJBTSh2
YWx1ZUVkZ2UpOwotI2VuZGlmCiB9CiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVPYmpl
Y3RFcXVhbGl0eShOb2RlKiBub2RlKQpAQCAtNDgxNSw3ICs0ODEwLDYgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICB1c2Uobm9kZSk7CiB9CiAKLSNp
ZiBFTkFCTEUoR0dDKQogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6d3JpdGVCYXJyaWVyKEdQUlJlZyBv
d25lckdQUiwgR1BSUmVnIHZhbHVlR1BSLCBFZGdlIHZhbHVlVXNlLCBHUFJSZWcgc2NyYXRjaDEs
IEdQUlJlZyBzY3JhdGNoMikKIHsKICAgICBKSVRDb21waWxlcjo6SnVtcCBpc05vdENlbGw7CkBA
IC00ODI5LDcgKzQ4MjMsNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjp3cml0ZUJhcnJpZXIoR1BS
UmVnCiAgICAgaWYgKCFpc0tub3duQ2VsbCh2YWx1ZVVzZS5ub2RlKCkpKQogICAgICAgICBpc05v
dENlbGwubGluaygmbV9qaXQpOwogfQotI2VuZGlmIC8vIEVOQUJMRShHR0MpCiAKIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6Om1vdmVUcnVlVG8oR1BSUmVnIGdwcikKIHsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAxOTAx
MjUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjUzOSw3ICs2NTM5LDYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
bGlua0JyYW5jaGVzKCkKICAgICB9CiB9CiAKLSNpZiBFTkFCTEUoR0dDKQogdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZVN0b3JlQmFycmllcihOb2RlKiBub2RlKQogewogICAgIEFTU0VSVChu
b2RlLT5vcCgpID09IFN0b3JlQmFycmllcik7CkBAIC02NTgzLDEzICs2NTgyLDYgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6d3JpdGVCYXJyaWVyKEdQUlJlZwogICAgIHN0b3JlVG9Xcml0ZUJhcnJp
ZXJCdWZmZXIob3duZXJHUFIsIHNjcmF0Y2gxLCBzY3JhdGNoMik7CiAgICAgb3duZXJJc1JlbWVt
YmVyZWRPckluRWRlbi5saW5rKCZtX2ppdCk7CiB9Ci0jZWxzZQotdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZVN0b3JlQmFycmllcihOb2RlKiBub2RlKQotewotICAgIERGR19OT0RFX0RPX1RP
X0NISUxEUkVOKG1faml0LmdyYXBoKCksIG5vZGUsIHNwZWN1bGF0ZSk7Ci0gICAgbm9SZXN1bHQo
bm9kZSk7Ci19Ci0jZW5kaWYgLy8gRU5BQkxFKEdHQykKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6
OkRGRwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5oCShyZXZpc2lvbiAxOTAxMjUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTI5MywxMyArMjkzLDEyIEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIG1hc3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50SXNT
dGlsbFZhbGlkKG1fY3VycmVudE5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CiAgICAgfQogCi0jaWYg
RU5BQkxFKEdHQykKICAgICB2b2lkIHN0b3JlVG9Xcml0ZUJhcnJpZXJCdWZmZXIoR1BSUmVnIGNl
bGwsIEdQUlJlZyBzY3JhdGNoMSwgR1BSUmVnIHNjcmF0Y2gyKTsKIAogICAgIHZvaWQgd3JpdGVC
YXJyaWVyKEdQUlJlZyBvd25lciwgR1BSUmVnIHNjcmF0Y2gxLCBHUFJSZWcgc2NyYXRjaDIpOwog
CiAgICAgdm9pZCB3cml0ZUJhcnJpZXIoR1BSUmVnIG93bmVyLCBHUFJSZWcgdmFsdWUsIEVkZ2Ug
dmFsdWVVc2UsIEdQUlJlZyBzY3JhdGNoMSwgR1BSUmVnIHNjcmF0Y2gyKTsKLSNlbmRpZgorCiAg
ICAgdm9pZCBjb21waWxlU3RvcmVCYXJyaWVyKE5vZGUqKTsKIAogICAgIHN0YXRpYyBHUFJSZWcg
c2VsZWN0U2NyYXRjaEdQUihHUFJSZWcgcHJlc2VydmUxID0gSW52YWxpZEdQUlJlZywgR1BSUmVn
IHByZXNlcnZlMiA9IEludmFsaWRHUFJSZWcsIEdQUlJlZyBwcmVzZXJ2ZTMgPSBJbnZhbGlkR1BS
UmVnLCBHUFJSZWcgcHJlc2VydmU0ID0gSW52YWxpZEdQUlJlZykKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCShyZXZpc2lvbiAxOTAx
MjUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODE5OCw3ICs4MTk4LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
ZW1pdFN0b3JlQmFycmllcihMVmFsdWUgYmFzZSkKICAgICB7Ci0jaWYgRU5BQkxFKEdHQykKICAg
ICAgICAgTEJhc2ljQmxvY2sgaXNNYXJrZWRBbmROb3RSZW1lbWJlcmVkID0gRlRMX05FV19CTE9D
SyhtX291dCwgKCJTdG9yZSBiYXJyaWVyIGlzIG1hcmtlZCBibG9jayIpKTsKICAgICAgICAgTEJh
c2ljQmxvY2sgYnVmZmVySGFzU3BhY2UgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIlN0b3JlIGJh
cnJpZXIgYnVmZmVyIGhhcyBzcGFjZSIpKTsKICAgICAgICAgTEJhc2ljQmxvY2sgYnVmZmVySXNG
dWxsID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJTdG9yZSBiYXJyaWVyIGJ1ZmZlciBpcyBmdWxs
IikpOwpAQCAtODIyOSw5ICs4MjI4LDYgQEAgcHJpdmF0ZToKICAgICAgICAgbV9vdXQuanVtcChj
b250aW51YXRpb24pOwogCiAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFz
dE5leHQpOwotI2Vsc2UKLSAgICAgICAgVU5VU0VEX1BBUkFNKGJhc2UpOwotI2VuZGlmCiAgICAg
fQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0NvZGVCbG9ja1NldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvQ29kZUJsb2NrU2V0LmNwcAkocmV2aXNpb24gMTkwMTI1KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29kZUJsb2NrU2V0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTQ4LDcgKzE0OCw2IEBAIHZvaWQgQ29kZUJsb2NrU2V0Ojp0cmFjZU1hcmtlZChTbG90Vmlz
aXQKIAogdm9pZCBDb2RlQmxvY2tTZXQ6OnJlbWVtYmVyQ3VycmVudGx5RXhlY3V0aW5nQ29kZUJs
b2NrcyhIZWFwKiBoZWFwKQogewotI2lmIEVOQUJMRShHR0MpCiAgICAgaWYgKHZlcmJvc2UpCiAg
ICAgICAgIGRhdGFMb2coIlJlbWVtYmVyaW5nICIsIG1fY3VycmVudGx5RXhlY3V0aW5nLnNpemUo
KSwgIiBjb2RlIGJsb2Nrcy5cbiIpOwogICAgIGZvciAoY29uc3QgUmVmUHRyPENvZGVCbG9jaz4m
IGNvZGVCbG9jayA6IG1fY3VycmVudGx5RXhlY3V0aW5nKQpAQCAtMTU4LDkgKzE1Nyw2IEBAIHZv
aWQgQ29kZUJsb2NrU2V0OjpyZW1lbWJlckN1cnJlbnRseUV4ZWMKICAgICAvLyBpbiB0aGVtIHVu
dGlsIHRoZSBuZXh0IEdDLCBhbmQgd2UnbGwgcmVjb21wdXRlIHRoZW0gYXQgdGhhdCB0aW1lLgog
ICAgIG1fY3VycmVudGx5RXhlY3V0aW5nLmNsZWFyKCk7CiAgICAgbV9yZW1lbWJlcmVkLmNsZWFy
KCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShoZWFwKTsKLSNlbmRpZiAvLyBFTkFCTEUoR0dD
KQogfQogCiB2b2lkIENvZGVCbG9ja1NldDo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAJKHJldmlzaW9uIDE5MDEyNSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NDcsMTEgKzM0Nyw3IEBAIEhlYXA6OkhlYXAoVk0qIHZtLCBIZWFwVHlwZSBoZWFwVHlwZSkKICAg
ICAsIG1fbGFzdEZ1bGxHQ0xlbmd0aCgwLjAxKQogICAgICwgbV9sYXN0RWRlbkdDTGVuZ3RoKDAu
MDEpCiAgICAgLCBtX2Z1bGxBY3Rpdml0eUNhbGxiYWNrKEdDQWN0aXZpdHlDYWxsYmFjazo6Y3Jl
YXRlRnVsbFRpbWVyKHRoaXMpKQotI2lmIEVOQUJMRShHR0MpCiAgICAgLCBtX2VkZW5BY3Rpdml0
eUNhbGxiYWNrKEdDQWN0aXZpdHlDYWxsYmFjazo6Y3JlYXRlRWRlblRpbWVyKHRoaXMpKQotI2Vs
c2UKLSAgICAsIG1fZWRlbkFjdGl2aXR5Q2FsbGJhY2sobV9mdWxsQWN0aXZpdHlDYWxsYmFjaykK
LSNlbmRpZgogI2lmIFVTRShDRikKICAgICAsIG1fc3dlZXBlcihzdGQ6Om1ha2VfdW5pcXVlPElu
Y3JlbWVudGFsU3dlZXBlcj4odGhpcywgQ0ZSdW5Mb29wR2V0Q3VycmVudCgpKSkKICNlbHNlCkBA
IC01MjMsMTIgKzUxOSw4IEBAIHZvaWQgSGVhcDo6bWFya1Jvb3RzKGRvdWJsZSBnY1N0YXJ0VGlt
ZSwKICAgICBHQ1BIQVNFKE1hcmtSb290cyk7CiAgICAgQVNTRVJUKGlzVmFsaWRUaHJlYWRTdGF0
ZShtX3ZtKSk7CiAKLSNpZiBFTkFCTEUoR0dDKQogICAgIFZlY3Rvcjxjb25zdCBKU0NlbGwqPiBy
ZW1lbWJlcmVkU2V0KG1fc2xvdFZpc2l0b3IubWFya1N0YWNrKCkuc2l6ZSgpKTsKICAgICBtX3Ns
b3RWaXNpdG9yLm1hcmtTdGFjaygpLmZpbGxWZWN0b3IocmVtZW1iZXJlZFNldCk7Ci0jZWxzZQot
ICAgIFZlY3Rvcjxjb25zdCBKU0NlbGwqPiByZW1lbWJlcmVkU2V0OwotI2VuZGlmCiAKICNpZiBF
TkFCTEUoREZHX0pJVCkKICAgICBERkc6OmNsZWFyQ29kZUJsb2NrTWFya3MoKm1fdm0pOwpAQCAt
NzkyLDEzICs3ODQsOSBAQCB2b2lkIEhlYXA6OnZpc2l0V2Vha0hhbmRsZXMoSGVhcFJvb3RWaXNp
CiAKIHZvaWQgSGVhcDo6Y2xlYXJSZW1lbWJlcmVkU2V0KFZlY3Rvcjxjb25zdCBKU0NlbGwqPiYg
cmVtZW1iZXJlZFNldCkKIHsKLSNpZiBFTkFCTEUoR0dDKQogICAgIEdDUEhBU0UoQ2xlYXJSZW1l
bWJlcmVkU2V0KTsKICAgICBmb3IgKGF1dG8qIGNlbGwgOiByZW1lbWJlcmVkU2V0KQogICAgICAg
ICBjb25zdF9jYXN0PEpTQ2VsbCo+KGNlbGwpLT5zZXRSZW1lbWJlcmVkKGZhbHNlKTsKLSNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKHJlbWVtYmVyZWRTZXQpOwotI2VuZGlmCiB9CiAKIHZvaWQgSGVh
cDo6dXBkYXRlT2JqZWN0Q291bnRzKGRvdWJsZSBnY1N0YXJ0VGltZSkKQEAgLTE0MjYsMTcgKzE0
MTQsMTIgQEAgdm9pZCBIZWFwOjp6b21iaWZ5RGVhZE9iamVjdHMoKQogCiB2b2lkIEhlYXA6OmZs
dXNoV3JpdGVCYXJyaWVyQnVmZmVyKEpTQ2VsbCogY2VsbCkKIHsKLSNpZiBFTkFCTEUoR0dDKQog
ICAgIG1fd3JpdGVCYXJyaWVyQnVmZmVyLmZsdXNoKCp0aGlzKTsKICAgICBtX3dyaXRlQmFycmll
ckJ1ZmZlci5hZGQoY2VsbCk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjZWxsKTsKLSNlbmRp
ZgogfQogCiBib29sIEhlYXA6OnNob3VsZERvRnVsbENvbGxlY3Rpb24oSGVhcE9wZXJhdGlvbiBy
ZXF1ZXN0ZWRDb2xsZWN0aW9uVHlwZSkgY29uc3QKIHsKLSNpZiBFTkFCTEUoR0dDKQogICAgIGlm
IChPcHRpb25zOjphbHdheXNEb0Z1bGxDb2xsZWN0aW9uKCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCkBAIC0xNDUzLDEwICsxNDM2LDYgQEAgYm9vbCBIZWFwOjpzaG91bGREb0Z1bGxDb2xsZWN0
aW9uKEhlYXBPcAogICAgIH0KICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
IHJldHVybiBmYWxzZTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHJlcXVlc3RlZENvbGxlY3Rp
b25UeXBlKTsKLSAgICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgogfQogCiB2b2lkIEhlYXA6OmFkZExv
Z2ljYWxseUVtcHR5V2Vha0Jsb2NrKFdlYWtCbG9jayogYmxvY2spCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9IZWFwSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0hlYXBJbmxpbmVzLmgJKHJldmlzaW9uIDE5MDEyNSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXBJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTk1
LDExICs5NSw3IEBAIGlubGluZSB2b2lkIEhlYXA6OnNldE1hcmtlZChjb25zdCB2b2lkKiAKIAog
aW5saW5lIGJvb2wgSGVhcDo6aXNXcml0ZUJhcnJpZXJFbmFibGVkKCkKIHsKLSNpZiBFTkFCTEUo
V1JJVEVfQkFSUklFUl9QUk9GSUxJTkcpIHx8IEVOQUJMRShHR0MpCiAgICAgcmV0dXJuIHRydWU7
Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCBIZWFw
Ojp3cml0ZUJhcnJpZXIoY29uc3QgSlNDZWxsKiBmcm9tLCBKU1ZhbHVlIHRvKQpAQCAtMTA3LDE0
ICsxMDMsOSBAQCBpbmxpbmUgdm9pZCBIZWFwOjp3cml0ZUJhcnJpZXIoY29uc3QgSlNDCiAjaWYg
RU5BQkxFKFdSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQogICAgIFdyaXRlQmFycmllckNvdW50ZXJz
Ojpjb3VudFdyaXRlQmFycmllcigpOwogI2VuZGlmCi0jaWYgRU5BQkxFKEdHQykKICAgICBpZiAo
IXRvLmlzQ2VsbCgpKQogICAgICAgICByZXR1cm47CiAgICAgd3JpdGVCYXJyaWVyKGZyb20sIHRv
LmFzQ2VsbCgpKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGZyb20pOwotICAgIFVOVVNFRF9Q
QVJBTSh0byk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSGVhcDo6d3JpdGVCYXJyaWVyKGNv
bnN0IEpTQ2VsbCogZnJvbSwgSlNDZWxsKiB0bykKQEAgLTEyMiw3ICsxMTMsNiBAQCBpbmxpbmUg
dm9pZCBIZWFwOjp3cml0ZUJhcnJpZXIoY29uc3QgSlNDCiAjaWYgRU5BQkxFKFdSSVRFX0JBUlJJ
RVJfUFJPRklMSU5HKQogICAgIFdyaXRlQmFycmllckNvdW50ZXJzOjpjb3VudFdyaXRlQmFycmll
cigpOwogI2VuZGlmCi0jaWYgRU5BQkxFKEdHQykKICAgICBpZiAoIWZyb20gfHwgIWZyb20tPmlz
TWFya2VkKCkpIHsKICAgICAgICAgQVNTRVJUKCFmcm9tIHx8ICFpc01hcmtlZChmcm9tKSk7CiAg
ICAgICAgIHJldHVybjsKQEAgLTEzMiwxNSArMTIyLDEwIEBAIGlubGluZSB2b2lkIEhlYXA6Ondy
aXRlQmFycmllcihjb25zdCBKU0MKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBhZGRUb1Jl
bWVtYmVyZWRTZXQoZnJvbSk7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShmcm9tKTsKLSAgICBV
TlVTRURfUEFSQU0odG8pOwotI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIEhlYXA6OndyaXRlQmFy
cmllcihjb25zdCBKU0NlbGwqIGZyb20pCiB7Ci0jaWYgRU5BQkxFKEdHQykKICAgICBBU1NFUlRf
R0NfT0JKRUNUX0xPT0tTX1ZBTElEKGNvbnN0X2Nhc3Q8SlNDZWxsKj4oZnJvbSkpOwogICAgIGlm
ICghZnJvbSB8fCAhZnJvbS0+aXNNYXJrZWQoKSkgewogICAgICAgICBBU1NFUlQoIWZyb20gfHwg
IWlzTWFya2VkKGZyb20pKTsKQEAgLTE0OCw5ICsxMzMsNiBAQCBpbmxpbmUgdm9pZCBIZWFwOjp3
cml0ZUJhcnJpZXIoY29uc3QgSlNDCiAgICAgfQogICAgIEFTU0VSVChpc01hcmtlZChmcm9tKSk7
CiAgICAgYWRkVG9SZW1lbWJlcmVkU2V0KGZyb20pOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
ZnJvbSk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgSGVhcDo6cmVwb3J0RXh0cmFNZW1vcnlB
bGxvY2F0ZWQoc2l6ZV90IHNpemUpCkBAIC0xNjEsMTMgKzE0Myw5IEBAIGlubGluZSB2b2lkIEhl
YXA6OnJlcG9ydEV4dHJhTWVtb3J5QWxsb2MKIAogaW5saW5lIHZvaWQgSGVhcDo6cmVwb3J0RXh0
cmFNZW1vcnlWaXNpdGVkKEpTQ2VsbCogb3duZXIsIHNpemVfdCBzaXplKQogewotI2lmIEVOQUJM
RShHR0MpCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBkb3VibGUtY291bnQgdGhlIGV4dHJhIG1l
bW9yeSB0aGF0IHdhcyByZXBvcnRlZCBpbiBwcmV2aW91cyBjb2xsZWN0aW9ucy4KICAgICBpZiAo
b3BlcmF0aW9uSW5Qcm9ncmVzcygpID09IEVkZW5Db2xsZWN0aW9uICYmIEhlYXA6OmlzUmVtZW1i
ZXJlZChvd25lcikpCiAgICAgICAgIHJldHVybjsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKG93
bmVyKTsKLSNlbmRpZgogCiAgICAgc2l6ZV90KiBjb3VudGVyID0gJm1fZXh0cmFNZW1vcnlTaXpl
OwogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkQmxvY2suY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmNw
cAkocmV2aXNpb24gMTkwMTI1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2Vk
QmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDgsMTQgKzIwOCwxMCBAQCB2b2lkIE1hcmtl
ZEJsb2NrOjpzdG9wQWxsb2NhdGluZyhjb25zdCBGCiAKIHZvaWQgTWFya2VkQmxvY2s6OmNsZWFy
TWFya3MoKQogewotI2lmIEVOQUJMRShHR0MpCiAgICAgaWYgKGhlYXAoKS0+b3BlcmF0aW9uSW5Q
cm9ncmVzcygpID09IEpTQzo6RWRlbkNvbGxlY3Rpb24pCiAgICAgICAgIHRoaXMtPmNsZWFyTWFy
a3NXaXRoQ29sbGVjdGlvblR5cGU8RWRlbkNvbGxlY3Rpb24+KCk7CiAgICAgZWxzZQogICAgICAg
ICB0aGlzLT5jbGVhck1hcmtzV2l0aENvbGxlY3Rpb25UeXBlPEZ1bGxDb2xsZWN0aW9uPigpOwot
I2Vsc2UKLSAgICB0aGlzLT5jbGVhck1hcmtzV2l0aENvbGxlY3Rpb25UeXBlPEZ1bGxDb2xsZWN0
aW9uPigpOwotI2VuZGlmCiB9CiAKIHRlbXBsYXRlIDxIZWFwT3BlcmF0aW9uIGNvbGxlY3Rpb25U
eXBlPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3BhY2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZFNwYWNlLmNwcAko
cmV2aXNpb24gMTkwMTI1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2VkU3Bh
Y2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIsOSArMTQyLDcgQEAgdm9pZCBNYXJrZWRTcGFj
ZTo6cmVzZXRBbGxvY2F0b3JzKCkKICAgICBtX25vcm1hbFNwYWNlLmxhcmdlQWxsb2NhdG9yLnJl
c2V0KCk7CiAgICAgbV9kZXN0cnVjdG9yU3BhY2UubGFyZ2VBbGxvY2F0b3IucmVzZXQoKTsKIAot
I2lmIEVOQUJMRShHR0MpCiAgICAgbV9ibG9ja3NXaXRoTmV3T2JqZWN0cy5jbGVhcigpOwotI2Vu
ZGlmCiB9CiAKIHZvaWQgTWFya2VkU3BhY2U6OnZpc2l0V2Vha1NldHMoSGVhcFJvb3RWaXNpdG9y
JiBoZWFwUm9vdFZpc2l0b3IpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJr
ZWRTcGFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtl
ZFNwYWNlLmgJKHJldmlzaW9uIDE5MDEyNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L01hcmtlZFNwYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2MSwxMSArMjYxLDcgQEAgaW5saW5l
IHZvaWQgTWFya2VkU3BhY2U6OmRpZEFkZEJsb2NrKE1hcgogCiBpbmxpbmUgdm9pZCBNYXJrZWRT
cGFjZTo6ZGlkQWxsb2NhdGVJbkJsb2NrKE1hcmtlZEJsb2NrKiBibG9jaykKIHsKLSNpZiBFTkFC
TEUoR0dDKQogICAgIG1fYmxvY2tzV2l0aE5ld09iamVjdHMuYXBwZW5kKGJsb2NrKTsKLSNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKGJsb2NrKTsKLSNlbmRpZgogfQogCiBpbmxpbmUgc2l6ZV90IE1h
cmtlZFNwYWNlOjpvYmplY3RDb3VudCgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAkocmV2aXNpb24gMTkwMTI1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTExMzgsNyArMTEzOCw2IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF90b19hcmd1bWVudHMo
SW5zdHIKICNpZiBVU0UoSlNWQUxVRTY0KQogdm9pZCBKSVQ6OmVtaXRXcml0ZUJhcnJpZXIodW5z
aWduZWQgb3duZXIsIHVuc2lnbmVkIHZhbHVlLCBXcml0ZUJhcnJpZXJNb2RlIG1vZGUpCiB7Ci0j
aWYgRU5BQkxFKEdHQykKICAgICBKdW1wIHZhbHVlTm90Q2VsbDsKICAgICBpZiAobW9kZSA9PSBT
aG91bGRGaWx0ZXJWYWx1ZSB8fCBtb2RlID09IFNob3VsZEZpbHRlckJhc2VBbmRWYWx1ZSkgewog
ICAgICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHZhbHVlLCByZWdUMCk7CkBAIC0xMTU4LDE2
ICsxMTU3LDEwIEBAIHZvaWQgSklUOjplbWl0V3JpdGVCYXJyaWVyKHVuc2lnbmVkIG93bmUKICAg
ICAgICAgb3duZXJOb3RDZWxsLmxpbmsodGhpcyk7CiAgICAgaWYgKG1vZGUgPT0gU2hvdWxkRmls
dGVyVmFsdWUgfHwgbW9kZSA9PSBTaG91bGRGaWx0ZXJCYXNlQW5kVmFsdWUpIAogICAgICAgICB2
YWx1ZU5vdENlbGwubGluayh0aGlzKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKG93bmVyKTsK
LSAgICBVTlVTRURfUEFSQU0odmFsdWUpOwotICAgIFVOVVNFRF9QQVJBTShtb2RlKTsKLSNlbmRp
ZgogfQogCiB2b2lkIEpJVDo6ZW1pdFdyaXRlQmFycmllcihKU0NlbGwqIG93bmVyLCB1bnNpZ25l
ZCB2YWx1ZSwgV3JpdGVCYXJyaWVyTW9kZSBtb2RlKQogewotI2lmIEVOQUJMRShHR0MpCiAgICAg
ZW1pdEdldFZpcnR1YWxSZWdpc3Rlcih2YWx1ZSwgcmVnVDApOwogICAgIEp1bXAgdmFsdWVOb3RD
ZWxsOwogICAgIGlmIChtb2RlID09IFNob3VsZEZpbHRlclZhbHVlKQpAQCAtMTE3NywxOCArMTE3
MCwxMiBAQCB2b2lkIEpJVDo6ZW1pdFdyaXRlQmFycmllcihKU0NlbGwqIG93bmVyCiAKICAgICBp
ZiAobW9kZSA9PSBTaG91bGRGaWx0ZXJWYWx1ZSkgCiAgICAgICAgIHZhbHVlTm90Q2VsbC5saW5r
KHRoaXMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ob3duZXIpOwotICAgIFVOVVNFRF9QQVJB
TSh2YWx1ZSk7Ci0gICAgVU5VU0VEX1BBUkFNKG1vZGUpOwotI2VuZGlmCiB9CiAKICNlbHNlIC8v
IFVTRShKU1ZBTFVFNjQpCiAKIHZvaWQgSklUOjplbWl0V3JpdGVCYXJyaWVyKHVuc2lnbmVkIG93
bmVyLCB1bnNpZ25lZCB2YWx1ZSwgV3JpdGVCYXJyaWVyTW9kZSBtb2RlKQogewotI2lmIEVOQUJM
RShHR0MpCiAgICAgSnVtcCB2YWx1ZU5vdENlbGw7CiAgICAgaWYgKG1vZGUgPT0gU2hvdWxkRmls
dGVyVmFsdWUgfHwgbW9kZSA9PSBTaG91bGRGaWx0ZXJCYXNlQW5kVmFsdWUpIHsKICAgICAgICAg
ZW1pdExvYWRUYWcodmFsdWUsIHJlZ1QwKTsKQEAgLTEyMDgsMTYgKzExOTUsMTAgQEAgdm9pZCBK
SVQ6OmVtaXRXcml0ZUJhcnJpZXIodW5zaWduZWQgb3duZQogICAgICAgICBvd25lck5vdENlbGwu
bGluayh0aGlzKTsKICAgICBpZiAobW9kZSA9PSBTaG91bGRGaWx0ZXJWYWx1ZSB8fCBtb2RlID09
IFNob3VsZEZpbHRlckJhc2VBbmRWYWx1ZSkgCiAgICAgICAgIHZhbHVlTm90Q2VsbC5saW5rKHRo
aXMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ob3duZXIpOwotICAgIFVOVVNFRF9QQVJBTSh2
YWx1ZSk7Ci0gICAgVU5VU0VEX1BBUkFNKG1vZGUpOwotI2VuZGlmCiB9CiAKIHZvaWQgSklUOjpl
bWl0V3JpdGVCYXJyaWVyKEpTQ2VsbCogb3duZXIsIHVuc2lnbmVkIHZhbHVlLCBXcml0ZUJhcnJp
ZXJNb2RlIG1vZGUpCiB7Ci0jaWYgRU5BQkxFKEdHQykKICAgICBKdW1wIHZhbHVlTm90Q2VsbDsK
ICAgICBpZiAobW9kZSA9PSBTaG91bGRGaWx0ZXJWYWx1ZSkgewogICAgICAgICBlbWl0TG9hZFRh
Zyh2YWx1ZSwgcmVnVDApOwpAQCAtMTIyOCwyNyArMTIwOSwxOCBAQCB2b2lkIEpJVDo6ZW1pdFdy
aXRlQmFycmllcihKU0NlbGwqIG93bmVyCiAKICAgICBpZiAobW9kZSA9PSBTaG91bGRGaWx0ZXJW
YWx1ZSkgCiAgICAgICAgIHZhbHVlTm90Q2VsbC5saW5rKHRoaXMpOwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0ob3duZXIpOwotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZSk7Ci0gICAgVU5VU0VEX1BB
UkFNKG1vZGUpOwotI2VuZGlmCiB9CiAKICNlbmRpZiAvLyBVU0UoSlNWQUxVRTY0KQogCiB2b2lk
IEpJVDo6ZW1pdFdyaXRlQmFycmllcihKU0NlbGwqIG93bmVyKQogewotI2lmIEVOQUJMRShHR0Mp
CiAgICAgaWYgKCFNYXJrZWRCbG9jazo6YmxvY2tGb3Iob3duZXIpLT5pc01hcmtlZChvd25lcikp
IHsKICAgICAgICAgSnVtcCBvd25lcklzUmVtZW1iZXJlZE9ySW5FZGVuID0ganVtcElmSXNSZW1l
bWJlcmVkT3JJbkVkZW4ob3duZXIpOwogICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblVu
Y29uZGl0aW9uYWxXcml0ZUJhcnJpZXIsIG93bmVyKTsKICAgICAgICAgb3duZXJJc1JlbWVtYmVy
ZWRPckluRWRlbi5saW5rKHRoaXMpOwogICAgIH0gZWxzZQogICAgICAgICBjYWxsT3BlcmF0aW9u
KG9wZXJhdGlvblVuY29uZGl0aW9uYWxXcml0ZUJhcnJpZXIsIG93bmVyKTsKLSNlbHNlCi0gICAg
VU5VU0VEX1BBUkFNKG93bmVyKTsKLSNlbmRpZiAvLyBFTkFCTEUoR0dDKQogfQogCiB2b2lkIEpJ
VDo6ZW1pdElkZW50aWZpZXJDaGVjayhSZWdpc3RlcklEIGNlbGwsIFJlZ2lzdGVySUQgc2NyYXRj
aCwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKdW1wTGlzdCYgc2xvd0Nhc2VzKQpA
QCAtMTM1Myw5ICsxMzI1LDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlWYWwoQnlW
YWxJbgogICAgIFBhdGNoYWJsZUp1bXAgYmFkVHlwZTsKICAgICBKdW1wTGlzdCBzbG93Q2FzZXM7
CiAKLSNpZiBFTkFCTEUoR0dDKQogICAgIGJvb2wgbmVlZHNMaW5rRm9yV3JpdGVCYXJyaWVyID0g
ZmFsc2U7Ci0jZW5kaWYKIAogICAgIHN3aXRjaCAoYXJyYXlNb2RlKSB7CiAgICAgY2FzZSBKSVRJ
bnQzMjoKQEAgLTEzNjYsMTUgKzEzMzYsMTEgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUHV0
QnlWYWwoQnlWYWxJbgogICAgICAgICBicmVhazsKICAgICBjYXNlIEpJVENvbnRpZ3VvdXM6CiAg
ICAgICAgIHNsb3dDYXNlcyA9IGVtaXRDb250aWd1b3VzUHV0QnlWYWwoY3VycmVudEluc3RydWN0
aW9uLCBiYWRUeXBlKTsKLSNpZiBFTkFCTEUoR0dDKQogICAgICAgICBuZWVkc0xpbmtGb3JXcml0
ZUJhcnJpZXIgPSB0cnVlOwotI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSklUQXJy
YXlTdG9yYWdlOgogICAgICAgICBzbG93Q2FzZXMgPSBlbWl0QXJyYXlTdG9yYWdlUHV0QnlWYWwo
Y3VycmVudEluc3RydWN0aW9uLCBiYWRUeXBlKTsKLSNpZiBFTkFCTEUoR0dDKQogICAgICAgICBu
ZWVkc0xpbmtGb3JXcml0ZUJhcnJpZXIgPSB0cnVlOwotI2VuZGlmCiAgICAgICAgIGJyZWFrOwog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIFR5cGVkQXJyYXlUeXBlIHR5cGUgPSB0eXBlZEFycmF5VHlw
ZUZvckpJVEFycmF5TW9kZShhcnJheU1vZGUpOwpAQCAtMTM5MSwxMiArMTM1NywxMCBAQCB2b2lk
IEpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeVZhbChCeVZhbEluCiAgICAgcGF0Y2hCdWZmZXIubGlu
ayhiYWRUeXBlLCBDb2RlTG9jYXRpb25MYWJlbChNYWNyb0Fzc2VtYmxlckNvZGVQdHI6OmNyZWF0
ZUZyb21FeGVjdXRhYmxlQWRkcmVzcyhyZXR1cm5BZGRyZXNzLnZhbHVlKCkpKS5sYWJlbEF0T2Zm
c2V0KGJ5VmFsSW5mby0+cmV0dXJuQWRkcmVzc1RvU2xvd1BhdGgpKTsKICAgICBwYXRjaEJ1ZmZl
ci5saW5rKHNsb3dDYXNlcywgQ29kZUxvY2F0aW9uTGFiZWwoTWFjcm9Bc3NlbWJsZXJDb2RlUHRy
OjpjcmVhdGVGcm9tRXhlY3V0YWJsZUFkZHJlc3MocmV0dXJuQWRkcmVzcy52YWx1ZSgpKSkubGFi
ZWxBdE9mZnNldChieVZhbEluZm8tPnJldHVybkFkZHJlc3NUb1Nsb3dQYXRoKSk7CiAgICAgcGF0
Y2hCdWZmZXIubGluayhkb25lLCBieVZhbEluZm8tPmJhZFR5cGVKdW1wLmxhYmVsQXRPZmZzZXQo
YnlWYWxJbmZvLT5iYWRUeXBlSnVtcFRvRG9uZSkpOwotI2lmIEVOQUJMRShHR0MpCiAgICAgaWYg
KG5lZWRzTGlua0ZvcldyaXRlQmFycmllcikgewogICAgICAgICBBU1NFUlQobV9jYWxscy5sYXN0
KCkudG8gPT0gb3BlcmF0aW9uVW5jb25kaXRpb25hbFdyaXRlQmFycmllcik7CiAgICAgICAgIHBh
dGNoQnVmZmVyLmxpbmsobV9jYWxscy5sYXN0KCkuZnJvbSwgb3BlcmF0aW9uVW5jb25kaXRpb25h
bFdyaXRlQmFycmllcik7CiAgICAgfQotI2VuZGlmCiAgICAgCiAgICAgYm9vbCBpc0RpcmVjdCA9
IG1faW50ZXJwcmV0ZXItPmdldE9wY29kZUlEKGN1cnJlbnRJbnN0cnVjdGlvbi0+dS5vcGNvZGUp
ID09IG9wX3B1dF9ieV92YWxfZGlyZWN0OwogICAgIGlmICghaXNEaXJlY3QpIHsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmln
LmgJKHJldmlzaW9uIDE5MDEyNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dE9mZmxpbmVBc21Db25maWcuaAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDEwICsxNjEsNCBAQAog
I2RlZmluZSBPRkZMSU5FX0FTTV9FWEVDVVRJT05fVFJBQ0lORyAwCiAjZW5kaWYKIAotI2lmIEVO
QUJMRShHR0MpCi0jZGVmaW5lIE9GRkxJTkVfQVNNX0dHQyAxCi0jZWxzZQotI2RlZmluZSBPRkZM
SU5FX0FTTV9HR0MgMAotI2VuZGlmCi0KICNlbmRpZiAvLyBMTEludE9mZmxpbmVBc21Db25maWdf
aApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIz
Ml82NC5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIzMl82NC5hc20JKHJldmlzaW9uIDE5MDEyNSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCSh3b3JraW5nIGNv
cHkpCkBAIC00OTQsNjAgKzQ5NCw1NCBAQCBtYWNybyBzdG9yZVN0cnVjdHVyZVdpdGhUeXBlSW5m
byhjZWxsLCBzCiBlbmQKIAogbWFjcm8gd3JpdGVCYXJyaWVyT25PcGVyYW5kKGNlbGxPcGVyYW5k
KQotICAgIGlmIEdHQwotICAgICAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oY2VsbE9wZXJhbmQs
IHQxKQotICAgICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZCh0MSwgQ2VsbFRhZywg
dDIsIC53cml0ZUJhcnJpZXJEb25lKQotICAgICAgICBza2lwSWZJc1JlbWVtYmVyZWRPckluRWRl
bih0MiwgdDEsIHQzLCAKLSAgICAgICAgICAgIG1hY3JvKGdjRGF0YSkKLSAgICAgICAgICAgICAg
ICBidGJueiBnY0RhdGEsIC53cml0ZUJhcnJpZXJEb25lCi0gICAgICAgICAgICAgICAgcHVzaCBj
ZnIsIFBDCi0gICAgICAgICAgICAgICAgIyBXZSBtYWtlIHR3byBleHRyYSBzbG90cyBiZWNhdXNl
IGNDYWxsMiB3aWxsIHBva2UuCi0gICAgICAgICAgICAgICAgc3VicCA4LCBzcAotICAgICAgICAg
ICAgICAgIG1vdmUgdDIsIGExICMgdDIgY2FuIGJlIGEwIG9uIHg4NgotICAgICAgICAgICAgICAg
IG1vdmUgY2ZyLCBhMAotICAgICAgICAgICAgICAgIGNDYWxsMlZvaWQoX2xsaW50X3dyaXRlX2Jh
cnJpZXJfc2xvdykKLSAgICAgICAgICAgICAgICBhZGRwIDgsIHNwCi0gICAgICAgICAgICAgICAg
cG9wIFBDLCBjZnIKLSAgICAgICAgICAgIGVuZAotICAgICAgICApCi0gICAgLndyaXRlQmFycmll
ckRvbmU6Ci0gICAgZW5kCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKGNlbGxPcGVyYW5kLCB0
MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZCh0MSwgQ2VsbFRhZywgdDIsIC53
cml0ZUJhcnJpZXJEb25lKQorICAgIHNraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuKHQyLCB0MSwg
dDMsIAorICAgICAgICBtYWNybyhnY0RhdGEpCisgICAgICAgICAgICBidGJueiBnY0RhdGEsIC53
cml0ZUJhcnJpZXJEb25lCisgICAgICAgICAgICBwdXNoIGNmciwgUEMKKyAgICAgICAgICAgICMg
V2UgbWFrZSB0d28gZXh0cmEgc2xvdHMgYmVjYXVzZSBjQ2FsbDIgd2lsbCBwb2tlLgorICAgICAg
ICAgICAgc3VicCA4LCBzcAorICAgICAgICAgICAgbW92ZSB0MiwgYTEgIyB0MiBjYW4gYmUgYTAg
b24geDg2CisgICAgICAgICAgICBtb3ZlIGNmciwgYTAKKyAgICAgICAgICAgIGNDYWxsMlZvaWQo
X2xsaW50X3dyaXRlX2JhcnJpZXJfc2xvdykKKyAgICAgICAgICAgIGFkZHAgOCwgc3AKKyAgICAg
ICAgICAgIHBvcCBQQywgY2ZyCisgICAgICAgIGVuZAorICAgICkKKy53cml0ZUJhcnJpZXJEb25l
OgogZW5kCiAKIG1hY3JvIHdyaXRlQmFycmllck9uT3BlcmFuZHMoY2VsbE9wZXJhbmQsIHZhbHVl
T3BlcmFuZCkKLSAgICBpZiBHR0MKLSAgICAgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKHZhbHVl
T3BlcmFuZCwgdDEpCi0gICAgICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVUYWcodDEsIHQwKQot
ICAgICAgICBiaW5lcSB0MCwgQ2VsbFRhZywgLndyaXRlQmFycmllckRvbmUKLSAgICAKLSAgICAg
ICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kKGNlbGxPcGVyYW5kKQotICAgIC53cml0ZUJhcnJpZXJE
b25lOgotICAgIGVuZAorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbih2YWx1ZU9wZXJhbmQsIHQx
KQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVUYWcodDEsIHQwKQorICAgIGJpbmVxIHQwLCBD
ZWxsVGFnLCAud3JpdGVCYXJyaWVyRG9uZQorCisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kKGNl
bGxPcGVyYW5kKQorLndyaXRlQmFycmllckRvbmU6CiBlbmQKIAogbWFjcm8gd3JpdGVCYXJyaWVy
T25HbG9iYWwodmFsdWVPcGVyYW5kLCBsb2FkSGVscGVyKQotICAgIGlmIEdHQwotICAgICAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24odmFsdWVPcGVyYW5kLCB0MSkKLSAgICAgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZVRhZyh0MSwgdDApCi0gICAgICAgIGJpbmVxIHQwLCBDZWxsVGFnLCAud3Jp
dGVCYXJyaWVyRG9uZQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbih2YWx1ZU9wZXJhbmQsIHQx
KQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVUYWcodDEsIHQwKQorICAgIGJpbmVxIHQwLCBD
ZWxsVGFnLCAud3JpdGVCYXJyaWVyRG9uZQogCi0gICAgICAgIGxvYWRIZWxwZXIodDMpCi0gICAg
Ci0gICAgICAgIHNraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuKHQzLCB0MSwgdDIsCi0gICAgICAg
ICAgICBtYWNybyhnY0RhdGEpCi0gICAgICAgICAgICAgICAgYnRibnogZ2NEYXRhLCAud3JpdGVC
YXJyaWVyRG9uZQotICAgICAgICAgICAgICAgIHB1c2ggY2ZyLCBQQwotICAgICAgICAgICAgICAg
ICMgV2UgbWFrZSB0d28gZXh0cmEgc2xvdHMgYmVjYXVzZSBjQ2FsbDIgd2lsbCBwb2tlLgotICAg
ICAgICAgICAgICAgIHN1YnAgOCwgc3AKLSAgICAgICAgICAgICAgICBtb3ZlIGNmciwgYTAKLSAg
ICAgICAgICAgICAgICBtb3ZlIHQzLCBhMQotICAgICAgICAgICAgICAgIGNDYWxsMlZvaWQoX2xs
aW50X3dyaXRlX2JhcnJpZXJfc2xvdykKLSAgICAgICAgICAgICAgICBhZGRwIDgsIHNwCi0gICAg
ICAgICAgICAgICAgcG9wIFBDLCBjZnIKLSAgICAgICAgICAgIGVuZAotICAgICAgICApCi0gICAg
LndyaXRlQmFycmllckRvbmU6Ci0gICAgZW5kCisgICAgbG9hZEhlbHBlcih0MykKKworICAgIHNr
aXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuKHQzLCB0MSwgdDIsCisgICAgICAgIG1hY3JvKGdjRGF0
YSkKKyAgICAgICAgICAgIGJ0Ym56IGdjRGF0YSwgLndyaXRlQmFycmllckRvbmUKKyAgICAgICAg
ICAgIHB1c2ggY2ZyLCBQQworICAgICAgICAgICAgIyBXZSBtYWtlIHR3byBleHRyYSBzbG90cyBi
ZWNhdXNlIGNDYWxsMiB3aWxsIHBva2UuCisgICAgICAgICAgICBzdWJwIDgsIHNwCisgICAgICAg
ICAgICBtb3ZlIGNmciwgYTAKKyAgICAgICAgICAgIG1vdmUgdDMsIGExCisgICAgICAgICAgICBj
Q2FsbDJWb2lkKF9sbGludF93cml0ZV9iYXJyaWVyX3Nsb3cpCisgICAgICAgICAgICBhZGRwIDgs
IHNwCisgICAgICAgICAgICBwb3AgUEMsIGNmcgorICAgICAgICBlbmQKKyAgICApCisud3JpdGVC
YXJyaWVyRG9uZToKIGVuZAogCiBtYWNybyB3cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdCh2YWx1
ZU9wZXJhbmQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkocmV2aXNpb24gMTkwMTI1KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHdvcmtpbmcgY29w
eSkKQEAgLTM5OCw1MyArMzk4LDQ3IEBAIG1hY3JvIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
KGluZGV4LCAKIGVuZAogCiBtYWNybyB3cml0ZUJhcnJpZXJPbk9wZXJhbmQoY2VsbE9wZXJhbmQp
Ci0gICAgaWYgR0dDCi0gICAgICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbihjZWxsT3BlcmFuZCwg
dDEpCi0gICAgICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQxLCB0MiwgLndyaXRlQmFy
cmllckRvbmUpCi0gICAgICAgIHNraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuKHQyLCB0MSwgdDMs
IAotICAgICAgICAgICAgbWFjcm8oZ2NEYXRhKQotICAgICAgICAgICAgICAgIGJ0Ym56IGdjRGF0
YSwgLndyaXRlQmFycmllckRvbmUKLSAgICAgICAgICAgICAgICBwdXNoIFBCLCBQQwotICAgICAg
ICAgICAgICAgIG1vdmUgdDIsIGExICMgdDIgY2FuIGJlIGEwIChub3Qgb24gNjQgYml0cywgYnV0
IGJldHRlciBzYWZlIHRoYW4gc29ycnkpCi0gICAgICAgICAgICAgICAgbW92ZSBjZnIsIGEwCi0g
ICAgICAgICAgICAgICAgY0NhbGwyVm9pZChfbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KQotICAg
ICAgICAgICAgICAgIHBvcCBQQywgUEIKLSAgICAgICAgICAgIGVuZAotICAgICAgICApCi0gICAg
LndyaXRlQmFycmllckRvbmU6Ci0gICAgZW5kCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKGNl
bGxPcGVyYW5kLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbCh0MSwgdDIsIC53
cml0ZUJhcnJpZXJEb25lKQorICAgIHNraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuKHQyLCB0MSwg
dDMsIAorICAgICAgICBtYWNybyhnY0RhdGEpCisgICAgICAgICAgICBidGJueiBnY0RhdGEsIC53
cml0ZUJhcnJpZXJEb25lCisgICAgICAgICAgICBwdXNoIFBCLCBQQworICAgICAgICAgICAgbW92
ZSB0MiwgYTEgIyB0MiBjYW4gYmUgYTAgKG5vdCBvbiA2NCBiaXRzLCBidXQgYmV0dGVyIHNhZmUg
dGhhbiBzb3JyeSkKKyAgICAgICAgICAgIG1vdmUgY2ZyLCBhMAorICAgICAgICAgICAgY0NhbGwy
Vm9pZChfbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KQorICAgICAgICAgICAgcG9wIFBDLCBQQgor
ICAgICAgICBlbmQKKyAgICApCisud3JpdGVCYXJyaWVyRG9uZToKIGVuZAogCiBtYWNybyB3cml0
ZUJhcnJpZXJPbk9wZXJhbmRzKGNlbGxPcGVyYW5kLCB2YWx1ZU9wZXJhbmQpCi0gICAgaWYgR0dD
Ci0gICAgICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbih2YWx1ZU9wZXJhbmQsIHQxKQotICAgICAg
ICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbCh0MSwgdDAsIC53cml0ZUJhcnJpZXJEb25lKQot
ICAgICAgICBidHB6IHQwLCAud3JpdGVCYXJyaWVyRG9uZQotICAgIAotICAgICAgICB3cml0ZUJh
cnJpZXJPbk9wZXJhbmQoY2VsbE9wZXJhbmQpCi0gICAgLndyaXRlQmFycmllckRvbmU6Ci0gICAg
ZW5kCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKHZhbHVlT3BlcmFuZCwgdDEpCisgICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGwodDEsIHQwLCAud3JpdGVCYXJyaWVyRG9uZSkKKyAgICBi
dHB6IHQwLCAud3JpdGVCYXJyaWVyRG9uZQorCisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kKGNl
bGxPcGVyYW5kKQorLndyaXRlQmFycmllckRvbmU6CiBlbmQKIAogbWFjcm8gd3JpdGVCYXJyaWVy
T25HbG9iYWwodmFsdWVPcGVyYW5kLCBsb2FkSGVscGVyKQotICAgIGlmIEdHQwotICAgICAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24odmFsdWVPcGVyYW5kLCB0MSkKLSAgICAgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGwodDEsIHQwLCAud3JpdGVCYXJyaWVyRG9uZSkKLSAgICAgICAgYnRw
eiB0MCwgLndyaXRlQmFycmllckRvbmUKLSAgICAKLSAgICAgICAgbG9hZEhlbHBlcih0MykKLSAg
ICAgICAgc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW4odDMsIHQxLCB0MiwKLSAgICAgICAgICAg
IG1hY3JvKGdjRGF0YSkKLSAgICAgICAgICAgICAgICBidGJueiBnY0RhdGEsIC53cml0ZUJhcnJp
ZXJEb25lCi0gICAgICAgICAgICAgICAgcHVzaCBQQiwgUEMKLSAgICAgICAgICAgICAgICBtb3Zl
IGNmciwgYTAKLSAgICAgICAgICAgICAgICBtb3ZlIHQzLCBhMQotICAgICAgICAgICAgICAgIGND
YWxsMlZvaWQoX2xsaW50X3dyaXRlX2JhcnJpZXJfc2xvdykKLSAgICAgICAgICAgICAgICBwb3Ag
UEMsIFBCCi0gICAgICAgICAgICBlbmQKLSAgICAgICAgKQotICAgIC53cml0ZUJhcnJpZXJEb25l
OgotICAgIGVuZAorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbih2YWx1ZU9wZXJhbmQsIHQxKQor
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQxLCB0MCwgLndyaXRlQmFycmllckRvbmUp
CisgICAgYnRweiB0MCwgLndyaXRlQmFycmllckRvbmUKKworICAgIGxvYWRIZWxwZXIodDMpCisg
ICAgc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW4odDMsIHQxLCB0MiwKKyAgICAgICAgbWFjcm8o
Z2NEYXRhKQorICAgICAgICAgICAgYnRibnogZ2NEYXRhLCAud3JpdGVCYXJyaWVyRG9uZQorICAg
ICAgICAgICAgcHVzaCBQQiwgUEMKKyAgICAgICAgICAgIG1vdmUgY2ZyLCBhMAorICAgICAgICAg
ICAgbW92ZSB0MywgYTEKKyAgICAgICAgICAgIGNDYWxsMlZvaWQoX2xsaW50X3dyaXRlX2JhcnJp
ZXJfc2xvdykKKyAgICAgICAgICAgIHBvcCBQQywgUEIKKyAgICAgICAgZW5kCisgICAgKQorLndy
aXRlQmFycmllckRvbmU6CiBlbmQKIAogbWFjcm8gd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3Qo
dmFsdWVPcGVyYW5kKQpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDEyNikKKysrIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDktMjIgIEZpbGlw
IFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIEVOQUJMRShH
R0MpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk0
NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0
Zi9QbGF0Zm9ybS5oOgorCiAyMDE1LTA5LTIxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CiAKICAgICAgICAgQWx3YXlzIHVzZSB0aGUgY29tcGlsZXIncyBDQVMgaW1wbGVtZW50YXRp
b24gYW5kIGdldCByaWQgb2YgRU5BQkxFKENPTVBBUkVfQU5EX1NXQVApCkluZGV4OiBTb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
LmgJKHJldmlzaW9uIDE5MDEyNSkKKysrIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHdvcmtp
bmcgY29weSkKQEAgLTc4MSwxNSArNzgxLDYgQEAKICNkZWZpbmUgRU5BQkxFX0ZUTF9KSVQgMAog
I2VuZGlmCiAKLS8qIEdlbmVyYXRpb25hbCBjb2xsZWN0b3IgZm9yIEpTQyAqLwotI2lmICFkZWZp
bmVkKEVOQUJMRV9HR0MpCi0jaWYgQ1BVKFg4Nl82NCkgfHwgQ1BVKFg4NikgfHwgQ1BVKEFSTTY0
KSB8fCBDUFUoQVJNKQotI2RlZmluZSBFTkFCTEVfR0dDIDEKLSNlbHNlCi0jZGVmaW5lIEVOQUJM
RV9HR0MgMAotI2VuZGlmIC8qIENQVShYODZfNjQpIHx8IENQVShYODYpIHx8IENQVShBUk02NCkg
fHwgQ1BVKEFSTSkgKi8KLSNlbmRpZiAvKiAhZGVmaW5lZChFTkFCTEVfR0dDKSAqLwotCiAvKiBD
b3VudHMgdXNlcyBvZiB3cml0ZSBiYXJyaWVycyB1c2luZyBzYW1wbGluZyBjb3VudGVycy4gQmUg
c3VyZSB0byBhbHNvCiAgICBzZXQgRU5BQkxFX1NBTVBMSU5HX0NPVU5URVJTIHRvIDEuICovCiAj
aWYgIWRlZmluZWQoRU5BQkxFX1dSSVRFX0JBUlJJRVJfUFJPRklMSU5HKQpJbmRleDogU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTkwMTI3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDktMjIgIEZpbGlwIFBpemxvICA8ZnBpemxv
QGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIEVOQUJMRShHR0MpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk0NzIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVz
ZSBubyBuZXcgYmVoYXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jh
c2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpjb21tb25WTSk6CisK
IDIwMTUtMDktMjIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWFrZSBpdCBtb3JlIG9idmlvdXMgd2hlbiB1c2luZyBhbiB1bmFjY2VsZXJhdGVkIGlt
YWdlIGJ1ZmZlciwgYW5kIGZpeCBhIGZldyBjYWxsZXJzIHdobyBkbwpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCShyZXZpc2lvbiAxOTAx
MjUpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDYsMTEgKzIwNiw4IEBAIFZNJiBKU0RPTVdpbmRvd0Jhc2U6OmNv
bW1vblZNKCkKICAgICAgICAgdm0tPnNldEV4Y2x1c2l2ZVRocmVhZChzdGQ6OnRoaXNfdGhyZWFk
OjpnZXRfaWQoKSk7CiAjZWxzZQogICAgICAgICB2bS0+aGVhcC5zZXRGdWxsQWN0aXZpdHlDYWxs
YmFjayhXZWJTYWZlRnVsbEdDQWN0aXZpdHlDYWxsYmFjazo6Y3JlYXRlKCZ2bS0+aGVhcCkpOwot
I2lmIEVOQUJMRShHR0MpCiAgICAgICAgIHZtLT5oZWFwLnNldEVkZW5BY3Rpdml0eUNhbGxiYWNr
KFdlYlNhZmVFZGVuR0NBY3Rpdml0eUNhbGxiYWNrOjpjcmVhdGUoJnZtLT5oZWFwKSk7Ci0jZWxz
ZQotICAgICAgICB2bS0+aGVhcC5zZXRFZGVuQWN0aXZpdHlDYWxsYmFjayh2bS0+aGVhcC5mdWxs
QWN0aXZpdHlDYWxsYmFjaygpKTsKLSNlbmRpZgorCiAgICAgICAgIHZtLT5oZWFwLnNldEluY3Jl
bWVudGFsU3dlZXBlcihzdGQ6Om1ha2VfdW5pcXVlPFdlYlNhZmVJbmNyZW1lbnRhbFN3ZWVwZXI+
KCZ2bS0+aGVhcCkpOwogICAgICAgICB2bS0+aGVhcC5tYWNoaW5lVGhyZWFkcygpLmFkZEN1cnJl
bnRUaHJlYWQoKTsKICNlbmRpZgo=
</data>
<flag name="review"
          id="286950"
          type_id="1"
          status="+"
          setter="mhahnenb"
    />
          </attachment>
      

    </bug>

</bugzilla>