<?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>123844</bug_id>
          
          <creation_ts>2013-11-05 17:53:32 -0800</creation_ts>
          <short_desc>Change ctiTrampoline into a thunk</short_desc>
          <delta_ts>2013-11-20 10:17:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>116888</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>eflews.bot</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>philn</cc>
    
    <cc>ralpht+bugs</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>947440</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-05 17:53:32 -0800</bug_when>
    <thetext>Given that moving JSC to the C++ stack will require changes to all flavors of ctiTrampoline, it makes sense to convert it and its companion, ctiOpThrowNotCaught, to a thunks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947451</commentid>
    <comment_count>1</comment_count>
      <attachid>216107</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-05 18:47:42 -0800</bug_when>
    <thetext>Created attachment 216107
Patch

The changes for ARM traditional, ARM64, MIPS, SH4 and Windows are speculative.  The EWS bots will test some of these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947453</commentid>
    <comment_count>2</comment_count>
      <attachid>216107</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-11-05 19:05:12 -0800</bug_when>
    <thetext>Comment on attachment 216107
Patch

Attachment 216107 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/21248083</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947509</commentid>
    <comment_count>3</comment_count>
      <attachid>216122</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-05 21:22:37 -0800</bug_when>
    <thetext>Created attachment 216122
Updated with speculative build fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947517</commentid>
    <comment_count>4</comment_count>
      <attachid>216122</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-05 21:40:24 -0800</bug_when>
    <thetext>Comment on attachment 216122
Updated with speculative build fixes

Attachment 216122 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/21668004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947709</commentid>
    <comment_count>5</comment_count>
      <attachid>216122</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-11-06 08:39:44 -0800</bug_when>
    <thetext>Comment on attachment 216122
Updated with speculative build fixes

Cool!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947736</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-06 09:27:58 -0800</bug_when>
    <thetext>Committed r158751: &lt;http://trac.webkit.org/changeset/158751&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952658</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-20 10:17:59 -0800</bug_when>
    <thetext>*** Bug 123908 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216107</attachid>
            <date>2013-11-05 18:47:42 -0800</date>
            <delta_ts>2013-11-05 21:22:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>123844.patch</filename>
            <type>text/plain</type>
            <size>60495</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU4NzA4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBA
CisyMDEzLTExLTA1ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENoYW5nZSBjdGlUcmFtcG9saW5lIGludG8gYSB0aHVuaworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzODQ0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udmVydGVkIGN0aVRyYW1wb2xpbmUgYW5k
IGN0aU9wVGhyb3dOb3RDYXVnaHQgaW50byB0aHVua3MgbmFtZWQgY2FsbFRvSmF2YVNjcmlwdAor
ICAgICAgICBhbmQgcmV0dXJuRnJvbUphdmFTY3JpcHQuICBDbGVhbmVkIHVwIGFuZCBpbiBzb21l
IGNhc2VzIHJlbW92ZWQgSklUU3R1YnNYWFguaCBmaWxlcworICAgICAgICBhZnRlciByZW1vdmlu
ZyBjdGlUcmFtcG9saW5lIGFuZCBjdGlPcFRocm93Tm90Q2F1Z2h0LiAgQWRkZWQgY2FsbEphdmFT
Y3JpcHRKSVRGdW5jdGlvbgorICAgICAgICB0byBWTSB0aGF0IGlzIGEgZnVuY3Rpb24gcG9pbnRl
ciB0byB0aGUgY2FsbFRvSmF2YVNjcmlwdCB0aHVuay4KKworICAgICAgICAqIGRmZy9ERkdEcml2
ZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNvbXBpbGVJbXBsKToKKyAgICAgICAgKiBqaXQv
SklUQ29kZS5jcHA6CisgICAgICAgIChKU0M6OkpJVENvZGU6OmV4ZWN1dGUpOgorICAgICAgICAq
IGppdC9KSVRFeGNlcHRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6Z2VuZXJpY1Vud2luZCk6Cisg
ICAgICAgICogaml0L0pJVFN0dWJzLmNwcDoKKyAgICAgICAgKiBqaXQvSklUU3R1YnMuaDoKKyAg
ICAgICAgKiBqaXQvSklUU3R1YnNBUk0uaDoKKyAgICAgICAgKiBqaXQvSklUU3R1YnNBUk02NC5o
OiBSZW1vdmVkLgorICAgICAgICAqIGppdC9KSVRTdHVic0FSTXY3Lmg6CisgICAgICAgICogaml0
L0pJVFN0dWJzTUlQUy5oOiBSZW1vdmVkLgorICAgICAgICAqIGppdC9KSVRTdHVic01TVkM2NC5h
c206CisgICAgICAgICogaml0L0pJVFN0dWJzU0g0Lmg6IFJlbW92ZWQuCisgICAgICAgICogaml0
L0pJVFN0dWJzWDg2Lmg6CisgICAgICAgICogaml0L0pJVFN0dWJzWDg2XzY0Lmg6CisgICAgICAg
ICogaml0L0pTSW50ZXJmYWNlSklULmg6CisgICAgICAgICogaml0L1RodW5rR2VuZXJhdG9ycy5j
cHA6CisgICAgICAgIChKU0M6OnJldHVybkZyb21KYXZhU2NyaXB0KToKKyAgICAgICAgKEpTQzo6
Y2FsbFRvSmF2YVNjcmlwdCk6CisgICAgICAgICogaml0L1RodW5rR2VuZXJhdG9ycy5oOgorICAg
ICAgICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAoSlNDOjpWTTo6Vk0pOgorICAgICAgICAq
IHJ1bnRpbWUvVk0uaDoKKwogMjAxMy0xMS0wNSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlbW92ZSBvbGQgdW51c2VkIGNvZGUgZm9yIGh5cG90aGV0aWNhbCBM
TFZNIGludHJpbnNpY3MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJpdmVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5j
cHAJKHJldmlzaW9uIDE1ODY0NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJp
dmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsOCBAQCBzdGF0aWMgQ29tcGlsYXRp
b25SZXN1bHQgY29tcGlsZUltcGwoCiAgICAgCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgYW55IHN0
dWJzIHRoYXQgdGhlIERGRyBpcyBnb2luZyB0byB1c2UgYXJlIGluaXRpYWxpemVkLiBXZSB3YW50
IHRvCiAgICAgLy8gbWFrZSBzdXJlIHRoYXQgYWxsIEpJVCBjb2RlIGdlbmVyYXRpb24gZG9lcyBm
aW5hbGl6YXRpb24gb24gdGhlIG1haW4gdGhyZWFkLgorICAgIHZtLmdldENUSVN0dWIoY2FsbFRv
SmF2YVNjcmlwdCk7CisgICAgdm0uZ2V0Q1RJU3R1Yih0aHJvd05vdENhdWdodCk7CiAgICAgdm0u
Z2V0Q1RJU3R1Yihvc3JFeGl0R2VuZXJhdGlvblRodW5rR2VuZXJhdG9yKTsKICAgICB2bS5nZXRD
VElTdHViKHRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcik7CiAgICAgdm0u
Z2V0Q1RJU3R1YihsaW5rQ2FsbFRodW5rR2VuZXJhdG9yKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUQ29kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRDb2RlLmNwcAkocmV2aXNpb24gMTU4NjQ3KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRDb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAog
I2luY2x1ZGUgIkpJVENvZGUuaCIKIAogI2luY2x1ZGUgIk9wZXJhdGlvbnMuaCIKKyNpbmNsdWRl
ICJUaHVua0dlbmVyYXRvcnMuaCIKICNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CkBAIC00Myw3ICs0NCw5IEBAIEpJVENvZGU6On5KSVRDb2RlKCkKICNpZiBF
TkFCTEUoSklUKQogSlNWYWx1ZSBKSVRDb2RlOjpleGVjdXRlKEpTU3RhY2sqIHN0YWNrLCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSwgVk0qIHZtKQogewotICAgIEpTVmFsdWUgcmVzdWx0ID0gSlNWYWx1
ZTo6ZGVjb2RlKGN0aVRyYW1wb2xpbmUoZXhlY3V0YWJsZUFkZHJlc3MoKSwgc3RhY2ssIGNhbGxG
cmFtZSwgMCwgMCwgdm0pKTsKKyAgICBVTlVTRURfUEFSQU0oc3RhY2spOworCisgICAgSlNWYWx1
ZSByZXN1bHQgPSBKU1ZhbHVlOjpkZWNvZGUodm0tPmNhbGxKYXZhU2NyaXB0SklURnVuY3Rpb24o
ZXhlY3V0YWJsZUFkZHJlc3MoKSwgY2FsbEZyYW1lKSk7CiAgICAgcmV0dXJuIHZtLT5leGNlcHRp
b24oKSA/IGpzTnVsbCgpIDogcmVzdWx0OwogfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVEV4Y2VwdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklURXhjZXB0aW9ucy5jcHAJKHJldmlzaW9uIDE1ODY0NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURXhjZXB0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ5LDcgKzQ5LDcgQEAgdm9pZCBnZW5lcmljVW53aW5kKFZNKiB2bSwgRXhlY1N0YXRlKiBj
YQogICAgICAgICBjYXRjaFBDRm9ySW50ZXJwcmV0ZXIgPSAmY2FsbEZyYW1lLT5jb2RlQmxvY2so
KS0+aW5zdHJ1Y3Rpb25zKClbaGFuZGxlci0+dGFyZ2V0XTsKICAgICAgICAgY2F0Y2hSb3V0aW5l
ID0gRXhlY3V0YWJsZUJhc2U6OmNhdGNoUm91dGluZUZvcihoYW5kbGVyLCBjYXRjaFBDRm9ySW50
ZXJwcmV0ZXIpOwogICAgIH0gZWxzZQotICAgICAgICBjYXRjaFJvdXRpbmUgPSBGdW5jdGlvblB0
cihMTEludDo6Z2V0Q29kZVB0cihjdGlPcFRocm93Tm90Q2F1Z2h0KSkudmFsdWUoKTsKKyAgICAg
ICAgY2F0Y2hSb3V0aW5lID0gdm0tPmdldENUSVN0dWIodGhyb3dOb3RDYXVnaHQpLmNvZGUoKS5l
eGVjdXRhYmxlQWRkcmVzcygpOwogICAgIAogICAgIHZtLT5jYWxsRnJhbWVGb3JUaHJvdyA9IGNh
bGxGcmFtZTsKICAgICB2bS0+dGFyZ2V0TWFjaGluZVBDRm9yVGhyb3cgPSBjYXRjaFJvdXRpbmU7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAkocmV2aXNpb24gMTU4
NjQ3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDgyICszMywyMiBAQAogI2lmIEVOQUJMRShKSVQpCiAjaW5jbHVkZSAiSklU
U3R1YnMuaCIKIAotI2luY2x1ZGUgIkFyZ3VtZW50cy5oIgotI2luY2x1ZGUgIkFycmF5Q29uc3Ry
dWN0b3IuaCIKLSNpbmNsdWRlICJDYWxsRnJhbWUuaCIKLSNpbmNsdWRlICJDYWxsRnJhbWVJbmxp
bmVzLmgiCi0jaW5jbHVkZSAiQ29kZUJsb2NrLmgiCi0jaW5jbHVkZSAiQ29kZVByb2ZpbGluZy5o
IgotI2luY2x1ZGUgIkNvbW1vblNsb3dQYXRocy5oIgotI2luY2x1ZGUgIkRGR0NvbXBpbGF0aW9u
TW9kZS5oIgotI2luY2x1ZGUgIkRGR0RyaXZlci5oIgotI2luY2x1ZGUgIkRGR09TUkVudHJ5Lmgi
Ci0jaW5jbHVkZSAiREZHV29ya2xpc3QuaCIKLSNpbmNsdWRlICJEZWJ1Z2dlci5oIgotI2luY2x1
ZGUgIkRlZmVyR0MuaCIKLSNpbmNsdWRlICJFcnJvckluc3RhbmNlLmgiCi0jaW5jbHVkZSAiRXhj
ZXB0aW9uSGVscGVycy5oIgotI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgotI2luY2x1ZGUgIkhl
YXAuaCIKLSNpbmNsdWRlIDx3dGYvSW5saW5lQVNNLmg+Ci0jaW5jbHVkZSAiSklULmgiCi0jaW5j
bHVkZSAiSklURXhjZXB0aW9ucy5oIgotI2luY2x1ZGUgIkpJVFRvREZHRGVmZXJyZWRDb21waWxh
dGlvbkNhbGxiYWNrLmgiCi0jaW5jbHVkZSAiSlNBY3RpdmF0aW9uLmgiCi0jaW5jbHVkZSAiSlNB
cnJheS5oIgotI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKLSNpbmNsdWRlICJKU0dsb2JhbE9iamVj
dEZ1bmN0aW9ucy5oIgotI2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCi0jaW5jbHVkZSAiSlNOb3RB
bk9iamVjdC5oIgotI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lSXRlcmF0b3IuaCIKLSNpbmNsdWRl
ICJKU1N0cmluZy5oIgotI2luY2x1ZGUgIkpTV2l0aFNjb3BlLmgiCi0jaW5jbHVkZSAiTGVnYWN5
UHJvZmlsZXIuaCIKLSNpbmNsdWRlICJOYW1lSW5zdGFuY2UuaCIKLSNpbmNsdWRlICJPYmplY3RD
b25zdHJ1Y3Rvci5oIgotI2luY2x1ZGUgIk9iamVjdFByb3RvdHlwZS5oIgotI2luY2x1ZGUgIk9w
ZXJhdGlvbnMuaCIKLSNpbmNsdWRlICJQYXJzZXIuaCIKLSNpbmNsdWRlICJSZWdFeHBPYmplY3Qu
aCIKLSNpbmNsdWRlICJSZWdFeHBQcm90b3R5cGUuaCIKLSNpbmNsdWRlICJSZWdpc3Rlci5oIgot
I2luY2x1ZGUgIlJlcGF0Y2hCdWZmZXIuaCIKLSNpbmNsdWRlICJTYW1wbGluZ1Rvb2wuaCIKLSNp
bmNsdWRlICJTbG93UGF0aENhbGwuaCIKLSNpbmNsdWRlICJTdHJvbmcuaCIKLSNpbmNsdWRlICJT
dHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaCIKLSNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+
Ci0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLQotdXNpbmcgbmFtZXNw
YWNlIHN0ZDsKLQogI2lmIENQVShBUk1fVFJBRElUSU9OQUwpCiAjaW5jbHVkZSAiSklUU3R1YnNB
Uk0uaCIKICNlbGlmIENQVShBUk1fVEhVTUIyKQogI2luY2x1ZGUgIkpJVFN0dWJzQVJNdjcuaCIK
LSNlbGlmIENQVShNSVBTKQotI2luY2x1ZGUgIkpJVFN0dWJzTUlQUy5oIgotI2VsaWYgQ1BVKFNI
NCkKLSNpbmNsdWRlICJKSVRTdHVic1NINC5oIgogI2VsaWYgQ1BVKFg4NikKICNpbmNsdWRlICJK
SVRTdHVic1g4Ni5oIgogI2VsaWYgQ1BVKFg4Nl82NCkKICNpbmNsdWRlICJKSVRTdHVic1g4Nl82
NC5oIgogI2VsaWYgQ1BVKEFSTTY0KQotI2luY2x1ZGUgIkpJVFN0dWJzQVJNNjQuaCIKKy8vIFRo
ZXJlIGlzbid0IGFuIEFSTTY0IHNwZWNpZmljIC5oIGZpbGUKKyNlbGlmIENQVShNSVBTKQorLy8g
VGhlcmUgaXNuJ3QgYSBNSVBTIHNwZWNpZmljIC5oIGZpbGUKKyNlbGlmIENQVShTSDQpCisvLyBU
aGVyZSBpc24ndCBhbiBTSDQgc3BlY2lmaWMgLmggZmlsZQogI2Vsc2UKICNlcnJvciAiSklUIG5v
dCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4iCiAjZW5kaWYKIAotbmFtZXNwYWNlIEpTQyB7
Ci0KLSNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQotICAgICNkZWZpbmUgQ1RJX1NBTVBMRVIg
c3RhY2tGcmFtZS52bS0+aW50ZXJwcmV0ZXItPnNhbXBsZXIoKQotI2Vsc2UKLSAgICAjZGVmaW5l
IENUSV9TQU1QTEVSIDAKLSNlbmRpZgotCi19IC8vIG5hbWVzcGFjZSBKU0MKLQogI2VuZGlmIC8v
IEVOQUJMRShKSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5oCShyZXZp
c2lvbiAxNTg2NDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMwLDU4ICszMCwxMCBAQAogI2lmbmRlZiBKSVRTdHVic19oCiAjZGVm
aW5lIEpJVFN0dWJzX2gKIAotI2luY2x1ZGUgIkNhbGxEYXRhLmgiCi0jaW5jbHVkZSAiSW50cmlu
c2ljLmgiCi0jaW5jbHVkZSAiSklURXhjZXB0aW9ucy5oIgotI2luY2x1ZGUgIkxvd0xldmVsSW50
ZXJwcmV0ZXIuaCIKLSNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKLSNpbmNsdWRl
ICJSZWdpc3Rlci5oIgotCiBuYW1lc3BhY2UgSlNDIHsKIAogI2lmIEVOQUJMRShKSVQpCiAKLXN0
cnVjdCBTdHJ1Y3R1cmVTdHViSW5mbzsKLQotY2xhc3MgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZTsK
LWNsYXNzIENvZGVCbG9jazsKLWNsYXNzIEV4ZWN1dGFibGVQb29sOwotY2xhc3MgRnVuY3Rpb25F
eGVjdXRhYmxlOwotY2xhc3MgSWRlbnRpZmllcjsKLWNsYXNzIFZNOwotY2xhc3MgSlNHbG9iYWxP
YmplY3Q7Ci1jbGFzcyBKU09iamVjdDsKLWNsYXNzIEpTUHJvcGVydHlOYW1lSXRlcmF0b3I7Ci1j
bGFzcyBKU1N0YWNrOwotY2xhc3MgSlNWYWx1ZTsKLWNsYXNzIEpTVmFsdWVFbmNvZGVkQXNQb2lu
dGVyOwotY2xhc3MgTGVnYWN5UHJvZmlsZXI7Ci1jbGFzcyBOYXRpdmVFeGVjdXRhYmxlOwotY2xh
c3MgUHJvcGVydHlTbG90OwotY2xhc3MgUHV0UHJvcGVydHlTbG90OwotY2xhc3MgUmVnRXhwOwot
Y2xhc3MgU3RydWN0dXJlOwotCi0jZGVmaW5lIFNUVUJfQVJHU19ERUNMQVJBVElPTiB2b2lkKiog
YXJncwotI2RlZmluZSBTVFVCX0FSR1MgKGFyZ3MpCi0KLSNpZiBDUFUoWDg2KQotI2lmIENPTVBJ
TEVSKE1TVkMpCi0jZGVmaW5lIEpJVF9TVFVCIF9fZmFzdGNhbGwKLSNlbGlmIENPTVBJTEVSKEdD
QykKLSNkZWZpbmUgSklUX1NUVUIgIF9fYXR0cmlidXRlX18gKChmYXN0Y2FsbCkpCi0jZWxpZiBD
T01QSUxFUihTVU5DQykKLSNkZWZpbmUgSklUX1NUVUIKLSNlbHNlCi0jZXJyb3IgIkpJVF9TVFVC
IGZ1bmN0aW9uIGNhbGxzIHJlcXVpcmUgZmFzdGNhbGwgY29udmVudGlvbnMgb24geDg2LCBhZGQg
YXBwcm9wcmlhdGUgZGlyZWN0aXZlL2F0dHJpYnV0ZSBoZXJlIGZvciB5b3VyIGNvbXBpbGVyISIK
LSNlbmRpZgotI2Vsc2UKLSNkZWZpbmUgSklUX1NUVUIKLSNlbmRpZgotCi1leHRlcm4gIkMiIHZv
aWQgY3RpT3BUaHJvd05vdENhdWdodCgpOwotZXh0ZXJuICJDIiBFbmNvZGVkSlNWYWx1ZSBjdGlU
cmFtcG9saW5lKHZvaWQqIGNvZGUsIEpTU3RhY2sqLCBDYWxsRnJhbWUqLCB2b2lkKiAvKnVudXNl
ZDEqLywgdm9pZCogLyp1bnVzZWQyKi8sIFZNKik7Ci0KICNpZiBVU0UoTUFTTV9QUk9CRSkKIGV4
dGVybiAiQyIgdm9pZCBjdGlNYXNtUHJvYmVUcmFtcG9saW5lKCk7CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNBUk02NC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNBUk02NC5oCShyZXZpc2lvbiAxNTg2NDcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNNjQuaAkod29ya2luZyBj
b3B5KQpAQCAtMSwxNDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAg
TmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRo
ZSBuYW1lcyBvZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBKSVRTdHVic0FSTTY0X2gKLSNk
ZWZpbmUgSklUU3R1YnNBUk02NF9oCi0KLSNpZiAhQ1BVKEFSTTY0KQotI2Vycm9yICJKSVRTdHVi
c0FSTTY0Lmggc2hvdWxkIG9ubHkgYmUgI2luY2x1ZGVkIGlmIENQVShBUk02NCkiCi0jZW5kaWYK
LQotI2lmICFVU0UoSlNWQUxVRTY0KQotI2Vycm9yICJKSVRTdHVic0FSTTY0Lmggb25seSBpbXBs
ZW1lbnRzIFVTRShKU1ZBTFVFNjQpIgotI2VuZGlmCi0KLW5hbWVzcGFjZSBKU0MgewotCi0jaWYg
Q09NUElMRVIoR0NDKQotCi0jZGVmaW5lIFRIVU5LX1JFVFVSTl9BRERSRVNTX09GRlNFVCAgICAg
IDB4MzAKLSNkZWZpbmUgUFJFU0VSVkVEX1JFVFVSTl9BRERSRVNTX09GRlNFVCAgMHgzOAotI2Rl
ZmluZSBQUkVTRVJWRURfWDE5X09GRlNFVCAgICAgICAgICAgICAweDQwCi0jZGVmaW5lIFBSRVNF
UlZFRF9YMjBfT0ZGU0VUICAgICAgICAgICAgIDB4NDgKLSNkZWZpbmUgUFJFU0VSVkVEX1gyMV9P
RkZTRVQgICAgICAgICAgICAgMHg1MAotI2RlZmluZSBQUkVTRVJWRURfWDIyX09GRlNFVCAgICAg
ICAgICAgICAweDU4Ci0jZGVmaW5lIFBSRVNFUlZFRF9YMjNfT0ZGU0VUICAgICAgICAgICAgIDB4
NjAKLSNkZWZpbmUgUFJFU0VSVkVEX1gyNF9PRkZTRVQgICAgICAgICAgICAgMHg2OAotI2RlZmlu
ZSBQUkVTRVJWRURfWDI1X09GRlNFVCAgICAgICAgICAgICAweDcwCi0jZGVmaW5lIFBSRVNFUlZF
RF9YMjZfT0ZGU0VUICAgICAgICAgICAgIDB4NzgKLSNkZWZpbmUgUFJFU0VSVkVEX1gyN19PRkZT
RVQgICAgICAgICAgICAgMHg4MAotI2RlZmluZSBQUkVTRVJWRURfWDI4X09GRlNFVCAgICAgICAg
ICAgICAweDg4Ci0jZGVmaW5lIFJFR0lTVEVSX0ZJTEVfT0ZGU0VUICAgICAgICAgICAgIDB4OTAK
LSNkZWZpbmUgQ0FMTEZSQU1FX09GRlNFVCAgICAgICAgICAgICAgICAgMHg5OAotI2RlZmluZSBQ
Uk9GSUxFUl9SRUZFUkVOQ0VfT0ZGU0VUICAgICAgICAweGEwCi0jZGVmaW5lIFZNX09GRlNFVCAg
ICAgICAgICAgICAgICAgICAgICAgIDB4YTgKLSNkZWZpbmUgU0laRU9GX0pJVFNUQUNLRlJBTUUg
ICAgICAgICAgICAgMHhiMAotCi1hc20gKAotIi5zZWN0aW9uIF9fVEVYVCxfX3RleHQscmVndWxh
cixwdXJlX2luc3RydWN0aW9ucyIgIlxuIgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVHJh
bXBvbGluZSkgIlxuIgotIi5hbGlnbiAyIiAiXG4iCi1ISURFX1NZTUJPTChjdGlUcmFtcG9saW5l
KSAiXG4iCi1TWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICI6IiAiXG4iCi0gICAgInN1YiBz
cCwgc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihTSVpFT0ZfSklUU1RBQ0tGUkFNRSkgIlxuIgot
ICAgICJzdHIgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SRVRVUk5f
QUREUkVTU19PRkZTRVQpICJdIiAiXG4iCi0gICAgInN0ciB4MTksIFtzcCwgIyIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBSRVNFUlZFRF9YMTlfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJzdHIgeDIwLCBb
c3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDIwX09GRlNFVCkgIl0iICJcbiIK
LSAgICAic3RyIHgyMSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gyMV9P
RkZTRVQpICJdIiAiXG4iCi0gICAgInN0ciB4MjIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBSRVNFUlZFRF9YMjJfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJzdHIgeDIzLCBbc3AsICMiIFNU
UklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDIzX09GRlNFVCkgIl0iICJcbiIKLSAgICAic3Ry
IHgyNCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gyNF9PRkZTRVQpICJd
IiAiXG4iCi0gICAgInN0ciB4MjUsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZF
RF9YMjVfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJzdHIgeDI2LCBbc3AsICMiIFNUUklOR0laRV9W
QUxVRV9PRihQUkVTRVJWRURfWDI2X09GRlNFVCkgIl0iICJcbiIKLSAgICAic3RyIHgyNywgW3Nw
LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gyN19PRkZTRVQpICJdIiAiXG4iCi0g
ICAgInN0ciB4MjgsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjhfT0ZG
U0VUKSAiXSIgIlxuIgotICAgICJzdHIgeDEsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFJF
R0lTVEVSX0ZJTEVfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJzdHIgeDIsIFtzcCwgIyIgU1RSSU5H
SVpFX1ZBTFVFX09GKENBTExGUkFNRV9PRkZTRVQpICJdIiAiXG4iCi0gICAgInN0ciB4NCwgW3Nw
LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPRklMRVJfUkVGRVJFTkNFX09GRlNFVCkgIl0iICJc
biIKLSAgICAic3RyIHg1LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihWTV9PRkZTRVQpICJd
IiAiXG4iCi0gICAgImxkciB4MTksIFt4Ml0iICJcbiIgLy8gU3RvcmUgdGhlIHByZXZpb3VzIGZy
YW1lIHBvaW50ZXIgaW4gdGhlIFZNIGVudHJ5IHNlbnRpbmFsIGZyYW1lIGFib3ZlIHVzCi0gICAg
InN0ciB4MjksIFt4MTldIiAiXG4iCi0gICAgIm1vdiB4MjUsIHgyIiAiXG4iIC8vIGNhbGxGcmFt
ZVJlZ2lzdGVyID0gQVJNNjRSZWdpc3RlcnM6OngyNQotICAgICJtb3YgeDI2LCAjNTEyIiAiXG4i
IC8vIHRpbWVvdXRDaGVja1JlZ2lzdGVyID0gQVJNNjRSZWdpc3RlcnM6OngyNgotICAgICJtb3Yg
eDI3LCAjMHhGRkZGMDAwMDAwMDAwMDAwIiAiXG4iIC8vIHRhZ1R5cGVOdW1iZXJSZWdpc3RlciA9
IEFSTTY0UmVnaXN0ZXJzOjp4MjcKLSAgICAiYWRkIHgyOCwgeDI3LCAjMiIgIlxuIiAvLyAoICMw
eEZGRkYwMDAwMDAwMDAwMDIgKSB0YWdNYXNrUmVnaXN0ZXIgPSBBUk02NFJlZ2lzdGVyczo6eDI4
Ci0gICAgImJsciB4MCIgIlxuIgotICAgICJsZHIgeDI4LCBbc3AsICMiIFNUUklOR0laRV9WQUxV
RV9PRihQUkVTRVJWRURfWDI4X09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyIHgyNywgW3NwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gyN19PRkZTRVQpICJdIiAiXG4iCi0gICAg
ImxkciB4MjYsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjZfT0ZGU0VU
KSAiXSIgIlxuIgotICAgICJsZHIgeDI1LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVT
RVJWRURfWDI1X09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyIHgyNCwgW3NwLCAjIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gyNF9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciB4MjMs
IFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjNfT0ZGU0VUKSAiXSIgIlxu
IgotICAgICJsZHIgeDIyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDIy
X09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyIHgyMSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJFU0VSVkVEX1gyMV9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciB4MjAsIFtzcCwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjBfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJs
ZHIgeDE5LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDE5X09GRlNFVCkg
Il0iICJcbiIKLSAgICAibGRyIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJW
RURfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJhZGQgc3AsIHNwLCAjIiBT
VFJJTkdJWkVfVkFMVUVfT0YoU0laRU9GX0pJVFNUQUNLRlJBTUUpICJcbiIKLSAgICAicmV0IiAi
XG4iCi0KLUhJREVfU1lNQk9MKGN0aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKLVNZTUJPTF9TVFJJ
TkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICJcbiIKLSAgICAibGRyIHgyOCwgW3NwLCAjIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gyOF9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxk
ciB4MjcsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjdfT0ZGU0VUKSAi
XSIgIlxuIgotICAgICJsZHIgeDI2LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJW
RURfWDI2X09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyIHgyNSwgW3NwLCAjIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJFU0VSVkVEX1gyNV9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciB4MjQsIFtz
cCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjRfT0ZGU0VUKSAiXSIgIlxuIgot
ICAgICJsZHIgeDIzLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDIzX09G
RlNFVCkgIl0iICJcbiIKLSAgICAibGRyIHgyMiwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJFU0VSVkVEX1gyMl9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciB4MjEsIFtzcCwgIyIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjFfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIg
eDIwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDIwX09GRlNFVCkgIl0i
ICJcbiIKLSAgICAibGRyIHgxOSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVE
X1gxOV9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJFU0VSVkVEX1JFVFVSTl9BRERSRVNTX09GRlNFVCkgIl0iICJcbiIKLSAgICAiYWRk
IHNwLCBzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFNJWkVPRl9KSVRTVEFDS0ZSQU1FKSAiXG4i
Ci0gICAgInJldCIgIlxuIgotKTsKLQotI2RlZmluZSBERUZJTkVfU1RVQl9GVU5DVElPTihydHlw
ZSwgb3ApIFwKLSAgICBleHRlcm4gIkMiIHsgXAotICAgICAgICBydHlwZSBKSVRTdHViVGh1bmtl
ZF8jI29wKFNUVUJfQVJHU19ERUNMQVJBVElPTik7IFwKLSAgICB9OyBcCi0gICAgYXNtICggXAot
ICAgICAgICAiLnNlY3Rpb24gX19URVhULF9fdGV4dCxyZWd1bGFyLHB1cmVfaW5zdHJ1Y3Rpb25z
IiAiXG4iIFwKLSAgICAgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpXyMjb3ApICJcbiIg
XAotICAgICAgICAiLmFsaWduIDIiICJcbiIgXAotICAgICAgICBISURFX1NZTUJPTChjdGlfIyNv
cCkgIlxuIiAgICAgICAgICAgICBcCi0gICAgICAgIFNZTUJPTF9TVFJJTkcoY3RpXyMjb3ApICI6
IiAiXG4iIFwKLSAgICAgICAgInN0ciBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoVEhV
TktfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSAiXSIgIlxuIiBcCi0gICAgICAgICJibCAiIFNZTUJP
TF9TVFJJTkcoSklUU3R1YlRodW5rZWRfIyNvcCkgIlxuIiBcCi0gICAgICAgICJsZHIgbHIsIFtz
cCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFRIVU5LX1JFVFVSTl9BRERSRVNTX09GRlNFVCkgIl0i
ICJcbiIgXAotICAgICAgICAicmV0IiAiXG4iIFwKLSAgICAgICAgKTsgXAotICAgIHJ0eXBlIEpJ
VFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKSBcCi0KLSNlbmRpZiAvLyBD
T01QSUxFUihHQ0MpCi0KLX0gLy8gbmFtZXNwYWNlIEpTQwotCi0jZW5kaWYgLy8gSklUU3R1YnNB
Uk02NF9oCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic0FSTS5oCShyZXZp
c2lvbiAxNTg2NDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQxLDExICs0MSw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0v
LyBBbHNvIHVwZGF0ZSB0aGUgTVNWQyBzZWN0aW9uIChkZWZpbmVkIGF0IERFRklORV9TVFVCX0ZV
TkNUSU9OKQotLy8gd2hlbiBjaGFuZ2luZyBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMuCi0j
ZGVmaW5lIFRIVU5LX1JFVFVSTl9BRERSRVNTX09GRlNFVCA2NAotI2RlZmluZSBQUkVTRVJWRURS
NF9PRkZTRVQgICAgICAgICAgNjgKLQogI2lmIENPTVBJTEVSKEdDQykKIAogI2lmIFVTRShNQVNN
X1BST0JFKQpAQCAtMTUxLDM5ICsxNDYsNiBAQCBDT01QSUxFX0FTU0VSVChzaXplb2YoTWFjcm9B
c3NlbWJsZXI6OlByCiAjZW5kaWYgLy8gVVNFKE1BU01fUFJPQkUpCiAKIAotYXNtICgKLSIudGV4
dCIgIlxuIgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIlxuIgotSElE
RV9TWU1CT0woY3RpVHJhbXBvbGluZSkgIlxuIgotSU5MSU5FX0FSTV9GVU5DVElPTihjdGlUcmFt
cG9saW5lKQotU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiOiIgIlxuIgotICAgICJzdG1k
YiBzcCEsIHtyMS1yM30iICJcbiIKLSAgICAic3RtZGIgc3AhLCB7cjQtcjYsIHI4LXIxMSwgbHJ9
IiAiXG4iCi0gICAgInN1YiBzcCwgc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURS
NF9PRkZTRVQpICJcbiIKLSAgICAibW92IHI1LCByMiIgIlxuIgotICAgICJsZHIgcjQsIFtyNV0i
ICJcbiIKLSAgICAic3RyIHIxMSwgW3I0XSIgIlxuIgotICAgIC8vIHIwIGNvbnRhaW5zIHRoZSBj
b2RlCi0gICAgImJseCByMCIgIlxuIgotICAgICJhZGQgc3AsIHNwLCAjIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJFU0VSVkVEUjRfT0ZGU0VUKSAiXG4iCi0gICAgImxkbWlhIHNwISwge3I0LXI2LCBy
OC1yMTEsIGxyfSIgIlxuIgotICAgICJhZGQgc3AsIHNwLCAjMTIiICJcbiIKLSAgICAiYnggbHIi
ICJcbiIKLSk7Ci0KLWFzbSAoCi0vLyBCb3RoIGhhcyB0aGUgc2FtZSByZXR1cm4gc2VxdWVuY2UK
LSIudGV4dCIgIlxuIgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdo
dCkgIlxuIgotSElERV9TWU1CT0woY3RpT3BUaHJvd05vdENhdWdodCkgIlxuIgotSU5MSU5FX0FS
TV9GVU5DVElPTihjdGlPcFRocm93Tm90Q2F1Z2h0KQotU1lNQk9MX1NUUklORyhjdGlPcFRocm93
Tm90Q2F1Z2h0KSAiOiIgIlxuIgotICAgICJhZGQgc3AsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJFU0VSVkVEUjRfT0ZGU0VUKSAiXG4iCi0gICAgImxkbWlhIHNwISwge3I0LXI2LCByOC1y
MTEsIGxyfSIgIlxuIgotICAgICJhZGQgc3AsIHNwLCAjMTIiICJcbiIKLSAgICAiYnggbHIiICJc
biIKLSk7Ci0KICNpZiBVU0UoTUFTTV9QUk9CRSkKIGFzbSAoCiAiLnRleHQiICJcbiIKQEAgLTMz
MiwxNDAgKzI5NCwxNiBAQCBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVFbmQp
CiAjZW5kaWYgLy8gVVNFKE1BU01fUFJPQkUpCiAKIAotI2RlZmluZSBERUZJTkVfU1RVQl9GVU5D
VElPTihydHlwZSwgb3ApIFwKLSAgICBleHRlcm4gIkMiIHsgXAotICAgICAgICBydHlwZSBKSVRT
dHViVGh1bmtlZF8jI29wKFNUVUJfQVJHU19ERUNMQVJBVElPTik7IFwKLSAgICB9OyBcCi0gICAg
YXNtICggXAotICAgICAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlfIyNvcCkgIlxuIiBc
Ci0gICAgICAgIElOTElORV9BUk1fRlVOQ1RJT04oY3RpXyMjb3ApIFwKLSAgICAgICAgU1lNQk9M
X1NUUklORyhjdGlfIyNvcCkgIjoiICJcbiIgXAotICAgICAgICAic3RyIGxyLCBbc3AsICMiIFNU
UklOR0laRV9WQUxVRV9PRihUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQpICJdIiAiXG4iIFwK
LSAgICAgICAgImJsICIgU1lNQk9MX1NUUklORyhKSVRTdHViVGh1bmtlZF8jI29wKSAiXG4iIFwK
LSAgICAgICAgImxkciBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoVEhVTktfUkVUVVJO
X0FERFJFU1NfT0ZGU0VUKSAiXSIgIlxuIiBcCi0gICAgICAgICJieCBsciIgIlxuIiBcCi0gICAg
ICAgICk7IFwKLSAgICBydHlwZSBKSVRTdHViVGh1bmtlZF8jI29wKFNUVUJfQVJHU19ERUNMQVJB
VElPTikKIAogI2VuZGlmIC8vIENPTVBJTEVSKEdDQykKIAogI2lmIENPTVBJTEVSKFJWQ1QpCiAK
LV9fYXNtIEVuY29kZWRKU1ZhbHVlIGN0aVRyYW1wb2xpbmUodm9pZCosIEpTU3RhY2sqLCBDYWxs
RnJhbWUqLCB2b2lkKiAvKnVudXNlZDEqLywgdm9pZCogLyp1bnVzZWQyKi8sIFZNKikKLXsKLSAg
ICBBUk0KLSAgICBzdG1kYiBzcCEsIHtyMS1yM30KLSAgICBzdG1kYiBzcCEsIHtyNC1yNiwgcjgt
cjExLCBscn0KLSAgICBzdWIgc3AsIHNwLCAjIFBSRVNFUlZFRFI0X09GRlNFVAotICAgIG1vdiBy
NSwgcjIKLSAgICBsZHIgcjQsIFtyNV0KLSAgICBzdHIgcjExLCBbcjRdCi0gICAgbW92IGxyLCBw
YwotICAgIGJ4IHIwCi0gICAgYWRkIHNwLCBzcCwgIyBQUkVTRVJWRURSNF9PRkZTRVQKLSAgICBs
ZG1pYSBzcCEsIHtyNC1yNiwgcjgtcjExLCBscn0KLSAgICBhZGQgc3AsIHNwLCAjMTIKLSAgICBi
eCBscgotfQotCi1fX2FzbSB2b2lkIGN0aU9wVGhyb3dOb3RDYXVnaHQoKQotewotICAgIEFSTQot
ICAgIGFkZCBzcCwgc3AsICMgUFJFU0VSVkVEUjRfT0ZGU0VUCi0gICAgbGRtaWEgc3AhLCB7cjQt
cjgsIGxyfQotICAgIGFkZCBzcCwgc3AsICMxMgotICAgIGJ4IGxyCi19Ci0KLSNkZWZpbmUgREVG
SU5FX1NUVUJfRlVOQ1RJT04ocnR5cGUsIG9wKSBydHlwZSBKSVRTdHViVGh1bmtlZF8jI29wKFNU
VUJfQVJHU19ERUNMQVJBVElPTikKLQotLyogVGhlIGZvbGxvd2luZyBpcyBhIHdvcmthcm91bmQg
Zm9yIFJWQ1QgdG9vbGNoYWluOyBwcmVjb21waWxlciBtYWNyb3MgYXJlIG5vdCBleHBhbmRlZCBi
ZWZvcmUgdGhlIGNvZGUgaXMgcGFzc2VkIHRvIHRoZSBhc3NlbWJsZXIgKi8KLQotLyogVGhlIGZv
bGxvd2luZyBzZWN0aW9uIGlzIGEgdGVtcGxhdGUgdG8gZ2VuZXJhdGUgY29kZSBmb3IgR2VuZXJh
dGVkSklUU3R1YnNfUlZDVC5oICovCi0vKiBUaGUgcGF0dGVybiAiI3h4eCMiIHdpbGwgYmUgcmVw
bGFjZWQgd2l0aCAieHh4IiAqLwotCi0vKgotUlZDVChleHRlcm4gIkMiICNydHlwZSMgSklUU3R1
YlRodW5rZWRfI29wIyhTVFVCX0FSR1NfREVDTEFSQVRJT04pOykKLVJWQ1QoX19hc20gI3J0eXBl
IyBjdGlfI29wIyhTVFVCX0FSR1NfREVDTEFSQVRJT04pKQotUlZDVCh7KQotUlZDVCggICAgUFJF
U0VSVkU4KQotUlZDVCggICAgSU1QT1JUIEpJVFN0dWJUaHVua2VkXyNvcCMpCi1SVkNUKCAgICBz
dHIgbHIsIFtzcCwgIyBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVRdKQotUlZDVCggICAgYmwg
SklUU3R1YlRodW5rZWRfI29wIykKLVJWQ1QoICAgIGxkciBsciwgW3NwLCAjIFRIVU5LX1JFVFVS
Tl9BRERSRVNTX09GRlNFVF0pCi1SVkNUKCAgICBieCBscikKLVJWQ1QofSkKLVJWQ1QoKQotKi8K
LQogLyogSW5jbHVkZSB0aGUgZ2VuZXJhdGVkIGZpbGUgKi8KICNpbmNsdWRlICJHZW5lcmF0ZWRK
SVRTdHVic19SVkNULmgiCiAKICNlbmRpZiAvLyBDT01QSUxFUihSVkNUKQogCi0jaWYgQ09NUElM
RVIoTVNWQykKLQotI2RlZmluZSBERUZJTkVfU1RVQl9GVU5DVElPTihydHlwZSwgb3ApIGV4dGVy
biAiQyIgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pCi0K
LS8qIFRoZSBmb2xsb3dpbmcgaXMgYSB3b3JrYXJvdW5kIGZvciBNU1ZDIHRvb2xjaGFpbjsgaW5s
aW5lIGFzc2VtYmxlciBpcyBub3Qgc3VwcG9ydGVkICovCi0KLS8qIFRoZSBmb2xsb3dpbmcgc2Vj
dGlvbiBpcyBhIHRlbXBsYXRlIHRvIGdlbmVyYXRlIGNvZGUgZm9yIEdlbmVyYXRlZEpJVFN0dWJz
X01TVkMuYXNtICovCi0vKiBUaGUgcGF0dGVybiAiI3h4eCMiIHdpbGwgYmUgcmVwbGFjZWQgd2l0
aCAieHh4IiAqLwotCi0vKgotTVNWQ19CRUdJTiggICAgQVJFQSBUcmFtcG9saW5lLCBDT0RFKQot
TVNWQ19CRUdJTigpCi1NU1ZDX0JFR0lOKCAgICBFWFBPUlQgY3RpVHJhbXBvbGluZSkKLU1TVkNf
QkVHSU4oICAgIEVYUE9SVCBjdGlUcmFtcG9saW5lRW5kKQotTVNWQ19CRUdJTiggICAgRVhQT1JU
IGN0aU9wVGhyb3dOb3RDYXVnaHQpCi1NU1ZDX0JFR0lOKCAgICBFWFBPUlQgZ2V0SG9zdENhbGxS
ZXR1cm5WYWx1ZSkKLU1TVkNfQkVHSU4oICAgIElNUE9SVCBnZXRIb3N0Q2FsbFJldHVyblZhbHVl
V2l0aEV4ZWNTdGF0ZSkKLU1TVkNfQkVHSU4oKQotTVNWQ19CRUdJTihjdGlUcmFtcG9saW5lIFBS
T0MpCi1NU1ZDX0JFR0lOKCAgICBzdG1kYiBzcCEsIHtyMS1yM30pCi1NU1ZDX0JFR0lOKCAgICBz
dG1kYiBzcCEsIHtyNC1yNiwgcjgtcjExLCBscn0pCi1NU1ZDX0JFR0lOKCAgICBzdWIgc3AsIHNw
LCAjNjggOyBzeW5jIHdpdGggUFJFU0VSVkVEUjRfT0ZGU0VUKQotTVNWQ19CRUdJTiggICAgbW92
IHI1LCByMikKLU1TVkNfQkVHSU4oICAgIGxkciByNCwgW3I1XSkKLU1TVkNfQkVHSU4oICAgIHN0
ciByMTEsIFtyNF0pCi1NU1ZDX0JFR0lOKCAgICA7IHIwIGNvbnRhaW5zIHRoZSBjb2RlKQotTVNW
Q19CRUdJTiggICAgbW92IGxyLCBwYykKLU1TVkNfQkVHSU4oICAgIGJ4IHIwKQotTVNWQ19CRUdJ
TiggICAgYWRkIHNwLCBzcCwgIzY4IDsgc3luYyB3aXRoIFBSRVNFUlZFRFI0X09GRlNFVCkKLU1T
VkNfQkVHSU4oICAgIGxkbWlhIHNwISwge3I0LXI2LCByOC1yMTEsIGxyfSkKLU1TVkNfQkVHSU4o
ICAgIGFkZCBzcCwgc3AsICMxMikKLU1TVkNfQkVHSU4oICAgIGJ4IGxyKQotTVNWQ19CRUdJTihj
dGlUcmFtcG9saW5lRW5kKQotTVNWQ19CRUdJTihjdGlUcmFtcG9saW5lIEVORFApCi1NU1ZDX0JF
R0lOKCkKLU1TVkNfQkVHSU4oY3RpT3BUaHJvd05vdENhdWdodCBQUk9DKQotTVNWQ19CRUdJTigg
ICAgYWRkIHNwLCBzcCwgIzY4IDsgc3luYyB3aXRoIFBSRVNFUlZFRFI0X09GRlNFVCkKLU1TVkNf
QkVHSU4oICAgIGxkbWlhIHNwISwge3I0LXI2LCByOC1yMTEsIGxyfSkKLU1TVkNfQkVHSU4oICAg
IGFkZCBzcCwgc3AsICMxMikKLU1TVkNfQkVHSU4oICAgIGJ4IGxyKQotTVNWQ19CRUdJTihjdGlP
cFRocm93Tm90Q2F1Z2h0IEVORFApCi1NU1ZDX0JFR0lOKCkKLU1TVkNfQkVHSU4oZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZSBQUk9DKQotTVNWQ19CRUdJTiggICAgbGRyIHI1LCBbcjUsICM0MF0pCi1N
U1ZDX0JFR0lOKCAgICBtb3YgcjAsIHI1KQotTVNWQ19CRUdJTiggICAgYiBnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkKLU1TVkNfQkVHSU4oZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZSBFTkRQKQotTVNWQ19CRUdJTigpCi0KLU1TVkMoICAgIEVYUE9SVCBjdGlfI29wIykKLU1TVkMo
ICAgIElNUE9SVCBKSVRTdHViVGh1bmtlZF8jb3AjKQotTVNWQyhjdGlfI29wIyBQUk9DKQotTVNW
QyggICAgc3RyIGxyLCBbc3AsICM2NF0gOyBzeW5jIHdpdGggVEhVTktfUkVUVVJOX0FERFJFU1Nf
T0ZGU0VUKQotTVNWQyggICAgYmwgSklUU3R1YlRodW5rZWRfI29wIykKLU1TVkMoICAgIGxkciBs
ciwgW3NwLCAjNjRdIDsgc3luYyB3aXRoIFRIVU5LX1JFVFVSTl9BRERSRVNTX09GRlNFVCkKLU1T
VkMoICAgIGJ4IGxyKQotTVNWQyhjdGlfI29wIyBFTkRQKQotTVNWQygpCi0KLU1TVkNfRU5EKCAg
ICBFTkQpCi0qLwotI2VuZGlmIC8vIENPTVBJTEVSKE1TVkMpCi0KIH0gLy8gbmFtZXNwYWNlIEpT
QwogCiAjZW5kaWYgLy8gSklUU3R1YnNBUk1faApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRTdHVic0FSTXY3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRTdHVic0FSTXY3LmgJKHJldmlzaW9uIDE1ODY0NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUU3R1YnNBUk12Ny5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxOSArNDEs
NiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotI2RlZmluZSBUSFVOS19SRVRVUk5fQUREUkVTU19P
RkZTRVQgICAgICAweDM4Ci0jZGVmaW5lIFBSRVNFUlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQg
IDB4M0MKLSNkZWZpbmUgUFJFU0VSVkVEX1I0X09GRlNFVCAgICAgICAgICAgICAgMHg0MAotI2Rl
ZmluZSBQUkVTRVJWRURfUjVfT0ZGU0VUICAgICAgICAgICAgICAweDQ0Ci0jZGVmaW5lIFBSRVNF
UlZFRF9SNl9PRkZTRVQgICAgICAgICAgICAgIDB4NDgKLSNkZWZpbmUgUFJFU0VSVkVEX1I3X09G
RlNFVCAgICAgICAgICAgICAgMHg0QwotI2RlZmluZSBQUkVTRVJWRURfUjhfT0ZGU0VUICAgICAg
ICAgICAgICAweDUwCi0jZGVmaW5lIFBSRVNFUlZFRF9SOV9PRkZTRVQgICAgICAgICAgICAgIDB4
NTQKLSNkZWZpbmUgUFJFU0VSVkVEX1IxMF9PRkZTRVQgICAgICAgICAgICAgMHg1OAotI2RlZmlu
ZSBQUkVTRVJWRURfUjExX09GRlNFVCAgICAgICAgICAgICAweDVDCi0jZGVmaW5lIFJFR0lTVEVS
X0ZJTEVfT0ZGU0VUICAgICAgICAgICAgIDB4NjAKLSNkZWZpbmUgRklSU1RfU1RBQ0tfQVJHVU1F
TlQgICAgICAgICAgICAgMHg2OAotCiAjaWYgQ09NUElMRVIoR0NDKQogCiAjaWYgVVNFKE1BU01f
UFJPQkUpCkBAIC0xOTgsNjcgKzE4NSw2IEBAIENPTVBJTEVfQVNTRVJUKHNpemVvZihNYWNyb0Fz
c2VtYmxlcjo6UHIKIAogI3VuZGVmIFBST0JFX09GRlNFVE9GCiAKLSNlbmRpZiAvLyBVU0UoTUFT
TV9QUk9CRSkKLQotCi1hc20gKAotIi50ZXh0IiAiXG4iCi0iLmFsaWduIDIiICJcbiIKLSIuZ2xv
YmwgIiBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICJcbiIKLUhJREVfU1lNQk9MKGN0aVRy
YW1wb2xpbmUpICJcbiIKLSIudGh1bWIiICJcbiIKLSIudGh1bWJfZnVuYyAiIFRIVU1CX0ZVTkNf
UEFSQU0oY3RpVHJhbXBvbGluZSkgIlxuIgotU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAi
OiIgIlxuIgotICAgICJzdWIgc3AsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoRklSU1RfU1RB
Q0tfQVJHVU1FTlQpICJcbiIKLSAgICAic3RyIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9P
RihQUkVTRVJWRURfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJzdHIgcjQs
IFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SNF9PRkZTRVQpICJdIiAiXG4i
Ci0gICAgInN0ciByNSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1I1X09G
RlNFVCkgIl0iICJcbiIKLSAgICAic3RyIHI2LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
UkVTRVJWRURfUjZfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJzdHIgcjcsIFtzcCwgIyIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SN19PRkZTRVQpICJdIiAiXG4iCi0gICAgInN0ciByOCwg
W3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1I4X09GRlNFVCkgIl0iICJcbiIK
LSAgICAic3RyIHI5LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUjlfT0ZG
U0VUKSAiXSIgIlxuIgotICAgICJzdHIgcjEwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
UkVTRVJWRURfUjEwX09GRlNFVCkgIl0iICJcbiIKLSAgICAic3RyIHIxMSwgW3NwLCAjIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1IxMV9PRkZTRVQpICJdIiAiXG4iCi0gICAgInN0ciBy
MSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUkVHSVNURVJfRklMRV9PRkZTRVQpICJdIiAi
XG4iCi0gICAgIm1vdiByNSwgcjIiICJcbiIKLSAgICAibGRyIHI0LCBbcjVdIiAiXG4iCi0gICAg
InN0ciByNywgW3I0XSIgIlxuIgotICAgICJibHggcjAiICJcbiIKLSAgICAibGRyIHIxMSwgW3Nw
LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1IxMV9PRkZTRVQpICJdIiAiXG4iCi0g
ICAgImxkciByMTAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SMTBfT0ZG
U0VUKSAiXSIgIlxuIgotICAgICJsZHIgcjksIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
RVNFUlZFRF9SOV9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciByOCwgW3NwLCAjIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoUFJFU0VSVkVEX1I4X09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyIHI3LCBb
c3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUjdfT0ZGU0VUKSAiXSIgIlxuIgot
ICAgICJsZHIgcjYsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SNl9PRkZT
RVQpICJdIiAiXG4iCi0gICAgImxkciByNSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJF
U0VSVkVEX1I1X09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyIHI0LCBbc3AsICMiIFNUUklOR0la
RV9WQUxVRV9PRihQUkVTRVJWRURfUjRfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgbHIsIFtz
cCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQp
ICJdIiAiXG4iCi0gICAgImFkZCBzcCwgc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihGSVJTVF9T
VEFDS19BUkdVTUVOVCkgIlxuIgotICAgICJieCBsciIgIlxuIgotKTsKLQotYXNtICgKLSIudGV4
dCIgIlxuIgotIi5hbGlnbiAyIiAiXG4iCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlPcFRo
cm93Tm90Q2F1Z2h0KSAiXG4iCi1ISURFX1NZTUJPTChjdGlPcFRocm93Tm90Q2F1Z2h0KSAiXG4i
Ci0iLnRodW1iIiAiXG4iCi0iLnRodW1iX2Z1bmMgIiBUSFVNQl9GVU5DX1BBUkFNKGN0aU9wVGhy
b3dOb3RDYXVnaHQpICJcbiIKLVNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoi
ICJcbiIKLSAgICAibGRyIHIxMSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVE
X1IxMV9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciByMTAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBSRVNFUlZFRF9SMTBfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgcjksIFtzcCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SOV9PRkZTRVQpICJdIiAiXG4iCi0gICAg
ImxkciByOCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1I4X09GRlNFVCkg
Il0iICJcbiIKLSAgICAibGRyIHI3LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJW
RURfUjdfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgcjYsIFtzcCwgIyIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBSRVNFUlZFRF9SNl9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciByNSwgW3NwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1I1X09GRlNFVCkgIl0iICJcbiIKLSAgICAi
bGRyIHI0LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUjRfT0ZGU0VUKSAi
XSIgIlxuIgotICAgICJsZHIgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZF
RF9SRVRVUk5fQUREUkVTU19PRkZTRVQpICJdIiAiXG4iCi0gICAgImFkZCBzcCwgc3AsICMiIFNU
UklOR0laRV9WQUxVRV9PRihGSVJTVF9TVEFDS19BUkdVTUVOVCkgIlxuIgotICAgICJieCBsciIg
IlxuIgotKTsKLQotI2lmIFVTRShNQVNNX1BST0JFKQogYXNtICgKICIudGV4dCIgIlxuIgogIi5h
bGlnbiAyIiAiXG4iCkBAIC00MTgsOTggKzM0NCwxMCBAQCBTWU1CT0xfU1RSSU5HKGN0aU1hc21Q
cm9iZVRyYW1wb2xpbmVFbmQpCiApOwogI2VuZGlmIC8vIFVTRShNQVNNX1BST0JFKQogCi0KLSNk
ZWZpbmUgREVGSU5FX1NUVUJfRlVOQ1RJT04ocnR5cGUsIG9wKSBcCi0gICAgZXh0ZXJuICJDIiB7
IFwKLSAgICAgICAgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJ
T04pOyBcCi0gICAgfTsgXAotICAgIGFzbSAoIFwKLSAgICAgICAgIi50ZXh0IiAiXG4iIFwKLSAg
ICAgICAgIi5hbGlnbiAyIiAiXG4iIFwKLSAgICAgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkco
Y3RpXyMjb3ApICJcbiIgXAotICAgICAgICBISURFX1NZTUJPTChjdGlfIyNvcCkgIlxuIiAgICAg
ICAgICAgICBcCi0gICAgICAgICIudGh1bWIiICJcbiIgXAotICAgICAgICAiLnRodW1iX2Z1bmMg
IiBUSFVNQl9GVU5DX1BBUkFNKGN0aV8jI29wKSAiXG4iIFwKLSAgICAgICAgU1lNQk9MX1NUUklO
RyhjdGlfIyNvcCkgIjoiICJcbiIgXAotICAgICAgICAic3RyIGxyLCBbc3AsICMiIFNUUklOR0la
RV9WQUxVRV9PRihUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQpICJdIiAiXG4iIFwKLSAgICAg
ICAgImJsICIgU1lNQk9MX1NUUklORyhKSVRTdHViVGh1bmtlZF8jI29wKSAiXG4iIFwKLSAgICAg
ICAgImxkciBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoVEhVTktfUkVUVVJOX0FERFJF
U1NfT0ZGU0VUKSAiXSIgIlxuIiBcCi0gICAgICAgICJieCBsciIgIlxuIiBcCi0gICAgICAgICk7
IFwKLSAgICBydHlwZSBKSVRTdHViVGh1bmtlZF8jI29wKFNUVUJfQVJHU19ERUNMQVJBVElPTikg
XAotCiAjZW5kaWYgLy8gQ09NUElMRVIoR0NDKQogCiAjaWYgQ09NUElMRVIoUlZDVCkKIAotX19h
c20gRW5jb2RlZEpTVmFsdWUgY3RpVHJhbXBvbGluZSh2b2lkKiwgSlNTdGFjayosIENhbGxGcmFt
ZSosIHZvaWQqIC8qdW51c2VkMSovLCB2b2lkKiAvKnVudXNlZDIqLywgVk0qKQotewotICAgIFBS
RVNFUlZFOAotICAgIHN1YiBzcCwgc3AsICMgRklSU1RfU1RBQ0tfQVJHVU1FTlQKLSAgICBzdHIg
bHIsIFtzcCwgIyBQUkVTRVJWRURfUkVUVVJOX0FERFJFU1NfT0ZGU0VUIF0KLSAgICBzdHIgcjQs
IFtzcCwgIyBQUkVTRVJWRURfUjRfT0ZGU0VUIF0KLSAgICBzdHIgcjUsIFtzcCwgIyBQUkVTRVJW
RURfUjVfT0ZGU0VUIF0KLSAgICBzdHIgcjYsIFtzcCwgIyBQUkVTRVJWRURfUjZfT0ZGU0VUIF0K
LSAgICBzdHIgcjcsIFtzcCwgIyBQUkVTRVJWRURfUjdfT0ZGU0VUIF0KLSAgICBzdHIgcjgsIFtz
cCwgIyBQUkVTRVJWRURfUjhfT0ZGU0VUIF0KLSAgICBzdHIgcjksIFtzcCwgIyBQUkVTRVJWRURf
UjlfT0ZGU0VUIF0KLSAgICBzdHIgcjEwLCBbc3AsICMgUFJFU0VSVkVEX1IxMF9PRkZTRVQgXQot
ICAgIHN0ciByMTEsIFtzcCwgIyBQUkVTRVJWRURfUjExX09GRlNFVCBdCi0gICAgc3RyIHIxLCBb
c3AsICMgUkVHSVNURVJfRklMRV9PRkZTRVQgXQotICAgIG1vdiByNSwgcjIKLSAgICBsZHIgcjQs
IFtyNV0KLSAgICBzdHIgcjcsIFtyNF0KLSAgICBibHggcjAKLSAgICBsZHIgcjExLCBbc3AsICMg
UFJFU0VSVkVEX1IxMV9PRkZTRVQgXQotICAgIGxkciByMTAsIFtzcCwgIyBQUkVTRVJWRURfUjEw
X09GRlNFVCBdCi0gICAgbGRyIHI5LCBbc3AsICMgUFJFU0VSVkVEX1I5X09GRlNFVCBdCi0gICAg
bGRyIHI4LCBbc3AsICMgUFJFU0VSVkVEX1I4X09GRlNFVCBdCi0gICAgbGRyIHI3LCBbc3AsICMg
UFJFU0VSVkVEX1I3X09GRlNFVCBdCi0gICAgbGRyIHI2LCBbc3AsICMgUFJFU0VSVkVEX1I2X09G
RlNFVCBdCi0gICAgbGRyIHI1LCBbc3AsICMgUFJFU0VSVkVEX1I1X09GRlNFVCBdCi0gICAgbGRy
IHI0LCBbc3AsICMgUFJFU0VSVkVEX1I0X09GRlNFVCBdCi0gICAgbGRyIGxyLCBbc3AsICMgUFJF
U0VSVkVEX1JFVFVSTl9BRERSRVNTX09GRlNFVCBdCi0gICAgYWRkIHNwLCBzcCwgIyBGSVJTVF9T
VEFDS19BUkdVTUVOVAotICAgIGJ4IGxyCi19Ci0KLV9fYXNtIHZvaWQgY3RpT3BUaHJvd05vdENh
dWdodCgpCi17Ci0gICAgUFJFU0VSVkU4Ci0gICAgbGRyIHIxMSwgW3NwLCAjIFBSRVNFUlZFRF9S
MTFfT0ZGU0VUIF0KLSAgICBsZHIgcjEwLCBbc3AsICMgUFJFU0VSVkVEX1IxMF9PRkZTRVQgXQot
ICAgIGxkciByOSwgW3NwLCAjIFBSRVNFUlZFRF9SOV9PRkZTRVQgXQotICAgIGxkciByOCwgW3Nw
LCAjIFBSRVNFUlZFRF9SOF9PRkZTRVQgXQotICAgIGxkciByNywgW3NwLCAjIFBSRVNFUlZFRF9S
N19PRkZTRVQgXQotICAgIGxkciByNiwgW3NwLCAjIFBSRVNFUlZFRF9SNl9PRkZTRVQgXQotICAg
IGxkciByNSwgW3NwLCAjIFBSRVNFUlZFRF9SNV9PRkZTRVQgXQotICAgIGxkciByNCwgW3NwLCAj
IFBSRVNFUlZFRF9SNF9PRkZTRVQgXQotICAgIGxkciBsciwgW3NwLCAjIFBSRVNFUlZFRF9SRVRV
Uk5fQUREUkVTU19PRkZTRVQgXQotICAgIGFkZCBzcCwgc3AsICMgRklSU1RfU1RBQ0tfQVJHVU1F
TlQKLSAgICBieCBscgotfQotCi0jZGVmaW5lIERFRklORV9TVFVCX0ZVTkNUSU9OKHJ0eXBlLCBv
cCkgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pCi0KLS8q
IFRoZSBmb2xsb3dpbmcgaXMgYSB3b3JrYXJvdW5kIGZvciBSVkNUIHRvb2xjaGFpbjsgcHJlY29t
cGlsZXIgbWFjcm9zIGFyZSBub3QgZXhwYW5kZWQgYmVmb3JlIHRoZSBjb2RlIGlzIHBhc3NlZCB0
byB0aGUgYXNzZW1ibGVyICovCi0KLS8qIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBhIHRlbXBs
YXRlIHRvIGdlbmVyYXRlIGNvZGUgZm9yIEdlbmVyYXRlZEpJVFN0dWJzX1JWQ1QuaCAqLwotLyog
VGhlIHBhdHRlcm4gIiN4eHgjIiB3aWxsIGJlIHJlcGxhY2VkIHdpdGggInh4eCIgKi8KLQotLyoK
LVJWQ1QoZXh0ZXJuICJDIiAjcnR5cGUjIEpJVFN0dWJUaHVua2VkXyNvcCMoU1RVQl9BUkdTX0RF
Q0xBUkFUSU9OKTspCi1SVkNUKF9fYXNtICNydHlwZSMgY3RpXyNvcCMoU1RVQl9BUkdTX0RFQ0xB
UkFUSU9OKSkKLVJWQ1QoeykKLVJWQ1QoICAgIFBSRVNFUlZFOCkKLVJWQ1QoICAgIElNUE9SVCBK
SVRTdHViVGh1bmtlZF8jb3AjKQotUlZDVCggICAgc3RyIGxyLCBbc3AsICMgVEhVTktfUkVUVVJO
X0FERFJFU1NfT0ZGU0VUXSkKLVJWQ1QoICAgIGJsIEpJVFN0dWJUaHVua2VkXyNvcCMpCi1SVkNU
KCAgICBsZHIgbHIsIFtzcCwgIyBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVRdKQotUlZDVCgg
ICAgYnggbHIpCi1SVkNUKH0pCi1SVkNUKCkKLSovCi0KIC8qIEluY2x1ZGUgdGhlIGdlbmVyYXRl
ZCBmaWxlICovCiAjaW5jbHVkZSAiR2VuZXJhdGVkSklUU3R1YnNfUlZDVC5oIgogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzTUlQUy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNNSVBTLmgJKHJldmlzaW9uIDE1ODY0NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNNSVBTLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMTgxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA4
IENhbWVyb24gWndhcmljaCA8Y3d6d2FyaWNoQHV3YXRlcmxvby5jYT4KLSAqIENvcHlyaWdodCAo
QykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMCwgMjAxMS4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0g
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxl
IENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAot
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaWZuZGVmIEpJVFN0dWJzTUlQU19oCi0jZGVmaW5lIEpJVFN0dWJzTUlQU19oCi0KLSNp
ZiAhQ1BVKE1JUFMpCi0jZXJyb3IgIkpJVFN0dWJzTUlQUy5oIHNob3VsZCBvbmx5IGJlICNpbmNs
dWRlZCBpZiBDUFUoTUlQUykiCi0jZW5kaWYKLQotI2lmICFVU0UoSlNWQUxVRTMyXzY0KQotI2Vy
cm9yICJKSVRTdHVic01JUFMuaCBvbmx5IGltcGxlbWVudHMgVVNFKEpTVkFMVUUzMl82NCkiCi0j
ZW5kaWYKLQotbmFtZXNwYWNlIEpTQyB7Ci0KLSNkZWZpbmUgUFJFU0VSVkVEX0dQX09GRlNFVCAg
ICAgICAgIDYwCi0jZGVmaW5lIFBSRVNFUlZFRF9TMF9PRkZTRVQgICAgICAgICA2NAotI2RlZmlu
ZSBQUkVTRVJWRURfUzFfT0ZGU0VUICAgICAgICAgNjgKLSNkZWZpbmUgUFJFU0VSVkVEX1MyX09G
RlNFVCAgICAgICAgIDcyCi0jZGVmaW5lIFBSRVNFUlZFRF9TM19PRkZTRVQgICAgICAgICA3Ngot
I2RlZmluZSBQUkVTRVJWRURfUzRfT0ZGU0VUICAgICAgICAgODAKLSNkZWZpbmUgUFJFU0VSVkVE
X1JFVFVSTl9BRERSRVNTX09GRlNFVCA4NAotI2RlZmluZSBUSFVOS19SRVRVUk5fQUREUkVTU19P
RkZTRVQgODgKLSNkZWZpbmUgUkVHSVNURVJfRklMRV9PRkZTRVQgICAgICAgIDkyCi0jZGVmaW5l
IFZNX09GRlNFVCAgICAgICAgICAgICAgICAgIDEwOAotI2RlZmluZSBTVEFDS19MRU5HVEggICAg
ICAgICAgICAgICAxMTIKLQotYXNtICgKLSIudGV4dCIgIlxuIgotIi5hbGlnbiAyIiAiXG4iCi0i
LnNldCBub3Jlb3JkZXIiICJcbiIKLSIuc2V0IG5vbWFjcm8iICJcbiIKLSIuc2V0IG5vbWlwczE2
IiAiXG4iCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4iCi0iLmVu
dCAiIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIlxuIgotU1lNQk9MX1NUUklORyhjdGlU
cmFtcG9saW5lKSAiOiIgIlxuIgotICAgICJhZGRpdSAkMjksJDI5LC0iIFNUUklOR0laRV9WQUxV
RV9PRihTVEFDS19MRU5HVEgpICJcbiIKLSAgICAic3cgICAgJDMxLCIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBSRVNFUlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQpICIoJDI5KSIgIlxuIgotICAgICJz
dyAgICAkMjAsIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1M0X09GRlNFVCkgIigkMjkp
IiAiXG4iCi0gICAgInN3ICAgICQxOSwiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUzNf
T0ZGU0VUKSAiKCQyOSkiICJcbiIKLSAgICAic3cgICAgJDE4LCIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBSRVNFUlZFRF9TMl9PRkZTRVQpICIoJDI5KSIgIlxuIgotICAgICJzdyAgICAkMTcsIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1MxX09GRlNFVCkgIigkMjkpIiAiXG4iCi0gICAgInN3
ICAgICQxNiwiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUzBfT0ZGU0VUKSAiKCQyOSki
ICJcbiIKLSNpZiBXVEZfTUlQU19QSUMKLSAgICAic3cgICAgJDI4LCIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBSRVNFUlZFRF9HUF9PRkZTRVQpICIoJDI5KSIgIlxuIgotI2VuZGlmCi0gICAgImx3ICAg
ICQxOCwgKCQ2KSAgICAjIGdldCBjYWxsZXIncyBmcmFtZSIgIlxuIgotICAgICJzdyAgICAkMzAs
ICgkMTgpICAgIyBzdG9yZSBwcmV2aW91cyBmcmFtZSBwb2ludGVyIGluIFZNIGVudHJ5IHNlbnRp
bmFsIGZyYW1lIiAiXG4iCi0gICAgIm1vdmUgICQxNiwkNiAgICAgICAjIHNldCBjYWxsRnJhbWVS
ZWdpc3RlciIgIlxuIgotICAgICJsaSAgICAkMTcsNTEyICAgICAgIyBzZXQgdGltZW91dENoZWNr
UmVnaXN0ZXIiICJcbiIKLSAgICAibW92ZSAgJDI1LCQ0ICAgICAgICMgbW92ZSBleGVjdXRhYmxl
QWRkcmVzcyB0byB0OSIgIlxuIgotICAgICJzdyAgICAkNSwiIFNUUklOR0laRV9WQUxVRV9PRihS
RUdJU1RFUl9GSUxFX09GRlNFVCkgIigkMjkpICMgc3RvcmUgSlNTdGFjayB0byBjdXJyZW50IHN0
YWNrIiAiXG4iCi0gICAgImx3ICAgICQ5LCIgU1RSSU5HSVpFX1ZBTFVFX09GKFNUQUNLX0xFTkdU
SCArIDIwKSAiKCQyOSkgICAgIyBsb2FkIHZtIGZyb20gcHJldmlvdXMgc3RhY2siICJcbiIKLSAg
ICAiamFsciAgJDI1IiAiXG4iCi0gICAgInN3ICAgICQ5LCIgU1RSSU5HSVpFX1ZBTFVFX09GKFZN
X09GRlNFVCkgIigkMjkpICAgIyBzdG9yZSB2bSB0byBjdXJyZW50IHN0YWNrIiAiXG4iCi0gICAg
Imx3ICAgICQxNiwiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUzBfT0ZGU0VUKSAiKCQy
OSkiICJcbiIKLSAgICAibHcgICAgJDE3LCIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9T
MV9PRkZTRVQpICIoJDI5KSIgIlxuIgotICAgICJsdyAgICAkMTgsIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJFU0VSVkVEX1MyX09GRlNFVCkgIigkMjkpIiAiXG4iCi0gICAgImx3ICAgICQxOSwiIFNU
UklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUzNfT0ZGU0VUKSAiKCQyOSkiICJcbiIKLSAgICAi
bHcgICAgJDIwLCIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9TNF9PRkZTRVQpICIoJDI5
KSIgIlxuIgotICAgICJsdyAgICAkMzEsIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1JF
VFVSTl9BRERSRVNTX09GRlNFVCkgIigkMjkpIiAiXG4iCi0gICAgImpyICAgICQzMSIgIlxuIgot
ICAgICJhZGRpdSAkMjksJDI5LCIgU1RSSU5HSVpFX1ZBTFVFX09GKFNUQUNLX0xFTkdUSCkgIlxu
IgotIi5zZXQgcmVvcmRlciIgIlxuIgotIi5zZXQgbWFjcm8iICJcbiIKLSIuZW5kICIgU1lNQk9M
X1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4iCi0pOwotCi1hc20gKAotIi50ZXh0IiAiXG4iCi0i
LmFsaWduIDIiICJcbiIKLSIuc2V0IG5vcmVvcmRlciIgIlxuIgotIi5zZXQgbm9tYWNybyIgIlxu
IgotIi5zZXQgbm9taXBzMTYiICJcbiIKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aU9wVGhy
b3dOb3RDYXVnaHQpICJcbiIKLSIuZW50ICIgU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90Q2F1
Z2h0KSAiXG4iCi1TWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICI6IiAiXG4iCi0g
ICAgImx3ICAgICQxNiwiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUzBfT0ZGU0VUKSAi
KCQyOSkiICJcbiIKLSAgICAibHcgICAgJDE3LCIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZF
RF9TMV9PRkZTRVQpICIoJDI5KSIgIlxuIgotICAgICJsdyAgICAkMTgsIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJFU0VSVkVEX1MyX09GRlNFVCkgIigkMjkpIiAiXG4iCi0gICAgImx3ICAgICQxOSwi
IFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUzNfT0ZGU0VUKSAiKCQyOSkiICJcbiIKLSAg
ICAibHcgICAgJDIwLCIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9TNF9PRkZTRVQpICIo
JDI5KSIgIlxuIgotICAgICJsdyAgICAkMzEsIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVE
X1JFVFVSTl9BRERSRVNTX09GRlNFVCkgIigkMjkpIiAiXG4iCi0gICAgImpyICAgICQzMSIgIlxu
IgotICAgICJhZGRpdSAkMjksJDI5LCIgU1RSSU5HSVpFX1ZBTFVFX09GKFNUQUNLX0xFTkdUSCkg
IlxuIgotIi5zZXQgcmVvcmRlciIgIlxuIgotIi5zZXQgbWFjcm8iICJcbiIKLSIuZW5kICIgU1lN
Qk9MX1NUUklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiXG4iCi0pOwotCi0KLSNpZiBXVEZfTUlQ
U19QSUMKLSNkZWZpbmUgREVGSU5FX1NUVUJfRlVOQ1RJT04ocnR5cGUsIG9wKSBcCi0gICAgZXh0
ZXJuICJDIiB7IFwKLSAgICAgICAgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1Nf
REVDTEFSQVRJT04pOyBcCi0gICAgfTsgXAotICAgIGFzbSAoIFwKLSAgICAgICAgIi50ZXh0IiAi
XG4iIFwKLSAgICAgICAgIi5hbGlnbiAyIiAiXG4iIFwKLSAgICAgICAgIi5zZXQgbm9yZW9yZGVy
IiAiXG4iIFwKLSAgICAgICAgIi5zZXQgbm9tYWNybyIgIlxuIiBcCi0gICAgICAgICIuc2V0IG5v
bWlwczE2IiAiXG4iIFwKLSAgICAgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpXyMjb3Ap
ICJcbiIgXAotICAgICAgICAiLmVudCAiIFNZTUJPTF9TVFJJTkcoY3RpXyMjb3ApICJcbiIgXAot
ICAgICAgICBTWU1CT0xfU1RSSU5HKGN0aV8jI29wKSAiOiIgIlxuIiBcCi0gICAgICAgICIuc2V0
IG1hY3JvIiAiXG4iIFwKLSAgICAgICAgIi5jcGxvYWQgJDI1IiAiXG4iIFwKLSAgICAgICAgInN3
ICAgICQzMSwiIFNUUklOR0laRV9WQUxVRV9PRihUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQp
ICIoJDI5KSIgIlxuIiBcCi0gICAgICAgICJsYSAgICAkMjUsIiBTWU1CT0xfU1RSSU5HKEpJVFN0
dWJUaHVua2VkXyMjb3ApICJcbiIgXAotICAgICAgICAiLnNldCBub21hY3JvIiAiXG4iIFwKLSAg
ICAgICAgIi5yZWxvYyAxZixSX01JUFNfSkFMUiwiIFNZTUJPTF9TVFJJTkcoSklUU3R1YlRodW5r
ZWRfIyNvcCkgIlxuIiBcCi0gICAgICAgICIxOiBqYWxyICQyNSIgIlxuIiBcCi0gICAgICAgICJu
b3AiICJcbiIgXAotICAgICAgICAibHcgICAgJDMxLCIgU1RSSU5HSVpFX1ZBTFVFX09GKFRIVU5L
X1JFVFVSTl9BRERSRVNTX09GRlNFVCkgIigkMjkpIiAiXG4iIFwKLSAgICAgICAgImpyICAgICQz
MSIgIlxuIiBcCi0gICAgICAgICJub3AiICJcbiIgXAotICAgICAgICAiLnNldCByZW9yZGVyIiAi
XG4iIFwKLSAgICAgICAgIi5zZXQgbWFjcm8iICJcbiIgXAotICAgICAgICAiLmVuZCAiIFNZTUJP
TF9TVFJJTkcoY3RpXyMjb3ApICJcbiIgXAotICAgICAgICApOyBcCi0gICAgcnR5cGUgSklUU3R1
YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pCi0KLSNlbHNlIC8vIFdURl9NSVBT
X1BJQwotI2RlZmluZSBERUZJTkVfU1RVQl9GVU5DVElPTihydHlwZSwgb3ApIFwKLSAgICBleHRl
cm4gIkMiIHsgXAotICAgICAgICBydHlwZSBKSVRTdHViVGh1bmtlZF8jI29wKFNUVUJfQVJHU19E
RUNMQVJBVElPTik7IFwKLSAgICB9OyBcCi0gICAgYXNtICggXAotICAgICAgICAiLnRleHQiICJc
biIgXAotICAgICAgICAiLmFsaWduIDIiICJcbiIgXAotICAgICAgICAiLnNldCBub3Jlb3JkZXIi
ICJcbiIgXAotICAgICAgICAiLnNldCBub21hY3JvIiAiXG4iIFwKLSAgICAgICAgIi5zZXQgbm9t
aXBzMTYiICJcbiIgXAotICAgICAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlfIyNvcCkg
IlxuIiBcCi0gICAgICAgICIuZW50ICIgU1lNQk9MX1NUUklORyhjdGlfIyNvcCkgIlxuIiBcCi0g
ICAgICAgIFNZTUJPTF9TVFJJTkcoY3RpXyMjb3ApICI6IiAiXG4iIFwKLSAgICAgICAgInN3ICAg
ICQzMSwiIFNUUklOR0laRV9WQUxVRV9PRihUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQpICIo
JDI5KSIgIlxuIiBcCi0gICAgICAgICJqYWwgIiBTWU1CT0xfU1RSSU5HKEpJVFN0dWJUaHVua2Vk
XyMjb3ApICJcbiIgXAotICAgICAgICAibm9wIiAiXG4iIFwKLSAgICAgICAgImx3ICAgICQzMSwi
IFNUUklOR0laRV9WQUxVRV9PRihUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQpICIoJDI5KSIg
IlxuIiBcCi0gICAgICAgICJqciAgICAkMzEiICJcbiIgXAotICAgICAgICAibm9wIiAiXG4iIFwK
LSAgICAgICAgIi5zZXQgcmVvcmRlciIgIlxuIiBcCi0gICAgICAgICIuc2V0IG1hY3JvIiAiXG4i
IFwKLSAgICAgICAgIi5lbmQgIiBTWU1CT0xfU1RSSU5HKGN0aV8jI29wKSAiXG4iIFwKLSAgICAg
ICAgKTsgXAotICAgIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RFQ0xBUkFU
SU9OKQotCi0jZW5kaWYgLy8gV1RGX01JUFNfUElDCi0KLX0gLy8gbmFtZXNwYWNlIEpTQwotCi0j
ZW5kaWYgLy8gSklUU3R1YnNNSVBTX2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUU3R1YnNNU1ZDNjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUU3R1YnNNU1ZDNjQuYXNtCShyZXZpc2lvbiAxNTg2NDcpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJzTVNWQzY0LmFzbQkod29ya2luZyBjb3B5KQpAQCAtMjUsNjEg
KzI1LDEwIEBACiAKIEVYVEVSTiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSA6
IG5lYXIKIAotUFVCTElDIGN0aVRyYW1wb2xpbmUKLVBVQkxJQyBjdGlPcFRocm93Tm90Q2F1Z2h0
CiBQVUJMSUMgZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZQogCiBfVEVYVCAgIFNFR01FTlQKIAotY3Rp
VHJhbXBvbGluZSBQUk9DCi0gICAgOyBEdW1wIHJlZ2lzdGVyIHBhcmFtZXRlcnMgdG8gdGhlaXIg
aG9tZSBhZGRyZXNzCi0gICAgbW92IHF3b3JkIHB0cltyc3ArMjBoXSwgcjkKLSAgICBtb3YgcXdv
cmQgcHRyW3JzcCsxOGhdLCByOAotICAgIG1vdiBxd29yZCBwdHJbcnNwKzEwaF0sIHJkeAotICAg
IG1vdiBxd29yZCBwdHJbcnNwKzhoXSwgcmN4Ci0KLSAgICBwdXNoIHJicAotICAgIG1vdiByYnAs
IHJheCA7IFNhdmUgcHJldmlvdXMgZnJhbWUgcG9pbnRlcgotICAgIG1vdiByYnAsIHJzcAotICAg
IHB1c2ggcjEyCi0gICAgcHVzaCByMTMKLSAgICBwdXNoIHIxNAotICAgIHB1c2ggcjE1Ci0gICAg
cHVzaCByYngKLQotICAgIDsgSklUIG9wZXJhdGlvbnMgY2FuIHVzZSB1cCB0byA2IGFyZ3MgKDQg
aW4gcmVnaXN0ZXJzIGFuZCAyIG9uIHRoZSBzdGFjaykuCi0gICAgOyBJbiBhZGRpdGlvbiwgWDg2
XzY0IEFCSSBzcGVjaWZpZXMgdGhhdCB0aGUgd29yc2UgY2FzZSBzdGFjayBhbGlnbm1lbnQKLSAg
ICA7IHJlcXVpcmVtZW50IGlzIDMyIGJ5dGVzLiBCYXNlZCBvbiB0aGVzZSBmYWN0b3JzLCB3ZSBu
ZWVkIHRvIHBhZCB0aGUgc3RhY2sKLSAgICA7IGFuZCBhZGRpdGlvbmFsIDI4aCBieXRlcy4KLSAg
ICBzdWIgcnNwLCAyOGgKLSAgICBtb3YgcjEyLCA1MTIKLSAgICBtb3YgcjE0LCAwRkZGRjAwMDAw
MDAwMDAwMGgKLSAgICBtb3YgcjE1LCAwRkZGRjAwMDAwMDAwMDAwMmgKLSAgICBtb3YgcjEzLCBy
OAotICAgIG1vdiByMTEsIHF3b3JkIHB0cltyMTNdIDsgUHV0IHRoZSBwcmV2aW91cyBmcmFtZSBw
b2ludGVyIGluIHRoZSBob3N0IGNhbGwgZnJhbWUgYWJvdmUgdXMKLSAgICBtb3YgcXdvcmQgcHRy
W3IxMV0sIHJheAotICAgIGNhbGwgcmN4Ci0gICAgYWRkIHJzcCwgMjhoCi0gICAgcG9wIHJieAot
ICAgIHBvcCByMTUKLSAgICBwb3AgcjE0Ci0gICAgcG9wIHIxMwotICAgIHBvcCByMTIKLSAgICBw
b3AgcmJwCi0gICAgcmV0Ci1jdGlUcmFtcG9saW5lIEVORFAKLQotY3RpT3BUaHJvd05vdENhdWdo
dCBQUk9DCi0gICAgYWRkIHJzcCwgMjhoCi0gICAgcG9wIHJieAotICAgIHBvcCByMTUKLSAgICBw
b3AgcjE0Ci0gICAgcG9wIHIxMwotICAgIHBvcCByMTIKLSAgICBwb3AgcmJwCi0gICAgcmV0Ci1j
dGlPcFRocm93Tm90Q2F1Z2h0IEVORFAKLQogZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSBQUk9DCiAg
ICAgc3ViIHIxMywgNDAKICAgICBtb3YgcjEzLCByZGkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUU3R1YnNTSDQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzU0g0LmgJKHJldmlzaW9uIDE1ODY0NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUU3R1YnNTSDQuaAkod29ya2luZyBjb3B5KQpAQCAtMSwxMjcgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQ2FtZXJvbiBad2FyaWNoIDxj
d3p3YXJpY2hAdXdhdGVybG9vLmNhPgotICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rp
b24gTGltaXRlZCAyMDEwLCAyMDExLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJB
cHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgSklUU3R1
YnNTSDRfaAotI2RlZmluZSBKSVRTdHVic1NINF9oCi0KLSNpZiAhQ1BVKFNINCkKLSNlcnJvciAi
SklUU3R1YnNTSDQuaCBzaG91bGQgb25seSBiZSAjaW5jbHVkZWQgaWYgQ1BVKFNINCkiCi0jZW5k
aWYKLQotI2lmICFVU0UoSlNWQUxVRTMyXzY0KQotI2Vycm9yICJKSVRTdHVic1NINC5oIG9ubHkg
aW1wbGVtZW50cyBVU0UoSlNWQUxVRTMyXzY0KSIKLSNlbmRpZgotCi1uYW1lc3BhY2UgSlNDIHsK
LQotI2RlZmluZSBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQgNTYKLSNkZWZpbmUgU0FWRURf
UjhfT0ZGU0VUIDYwCi0KLSNkZWZpbmUgU1lNQk9MX1NUUklORyhuYW1lKSAjbmFtZQotLyogY29k
ZSAocjQpLCBKU1N0YWNrKiAocjUpLCBDYWxsRnJhbWUqIChyNiksIHZvaWQqIHVudXNlZDEgKHI3
KSwgdm9pZCogdW51c2VkMihzcCksIFZNIChzcCkqLwotCi1hc20gdm9sYXRpbGUgKAotIi50ZXh0
XG4iCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4iCi1ISURFX1NZ
TUJPTChjdGlUcmFtcG9saW5lKSAiXG4iCi1TWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICI6
IiAiXG4iCi0gICAgIm1vdi5sIHI3LCBALXIxNSIgIlxuIgotICAgICJtb3YubCByNiwgQC1yMTUi
ICJcbiIKLSAgICAibW92LmwgcjUsIEAtcjE1IiAiXG4iCi0gICAgIm1vdi5sIHIxNCwgQC1yMTUi
ICJcbiIKLSAgICAic3RzLmwgcHIsIEAtcjE1IiAiXG4iCi0gICAgIm1vdi5sIHIxMywgQC1yMTUi
ICJcbiIKLSAgICAibW92LmwgcjExLCBALXIxNSIgIlxuIgotICAgICJtb3YubCByMTAsIEAtcjE1
IiAiXG4iCi0gICAgIm1vdi5sIHI5LCBALXIxNSIgIlxuIgotICAgICJtb3YubCByOCwgQC1yMTUi
ICJcbiIKLSAgICAiYWRkICMtIiBTVFJJTkdJWkVfVkFMVUVfT0YoU0FWRURfUjhfT0ZGU0VUKSAi
LCByMTUiICJcbiIKLSAgICAibW92LmwgQHI2LCByNyIgIlxuIgotICAgICJtb3YubCByMTQsIEBy
NyIgIlxuIiAKLSAgICAibW92IHI2LCByMTQiICJcbiIKLSAgICAianNyIEByNCIgIlxuIgotICAg
ICJub3AiICJcbiIKLSAgICAiYWRkICMiIFNUUklOR0laRV9WQUxVRV9PRihTQVZFRF9SOF9PRkZT
RVQpICIsIHIxNSIgIlxuIgotICAgICJtb3YubCBAcjE1KyxyOCIgIlxuIgotICAgICJtb3YubCBA
cjE1KyxyOSIgIlxuIgotICAgICJtb3YubCBAcjE1KyxyMTAiICJcbiIKLSAgICAibW92LmwgQHIx
NSsscjExIiAiXG4iCi0gICAgIm1vdi5sIEByMTUrLHIxMyIgIlxuIgotICAgICJsZHMubCBAcjE1
KyxwciIgIlxuIgotICAgICJtb3YubCBAcjE1KyxyMTQiICJcbiIKLSAgICAiYWRkICMxMiwgcjE1
IiAiXG4iCi0gICAgInJ0cyIgIlxuIgotICAgICJub3AiICJcbiIKLSk7Ci0KLWFzbSB2b2xhdGls
ZSAoCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiXG4iCi1I
SURFX1NZTUJPTChjdGlPcFRocm93Tm90Q2F1Z2h0KSAiXG4iCi1TWU1CT0xfU1RSSU5HKGN0aU9w
VGhyb3dOb3RDYXVnaHQpICI6IiAiXG4iCi0gICAgImFkZCAjIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
U0FWRURfUjhfT0ZGU0VUKSAiLCByMTUiICJcbiIKLSAgICAibW92LmwgQHIxNSsscjgiICJcbiIK
LSAgICAibW92LmwgQHIxNSsscjkiICJcbiIKLSAgICAibW92LmwgQHIxNSsscjEwIiAiXG4iCi0g
ICAgIm1vdi5sIEByMTUrLHIxMSIgIlxuIgotICAgICJtb3YubCBAcjE1KyxyMTMiICJcbiIKLSAg
ICAibGRzLmwgQHIxNSsscHIiICJcbiIKLSAgICAibW92LmwgQHIxNSsscjE0IiAiXG4iCi0gICAg
ImFkZCAjMTIsIHIxNSIgIlxuIgotICAgICJydHMiICJcbiIKLSAgICAibm9wIiAiXG4iCi0pOwot
Ci0KLSNkZWZpbmUgREVGSU5FX1NUVUJfRlVOQ1RJT04ocnR5cGUsIG9wKSBcCi0gICAgZXh0ZXJu
ICJDIiB7IFwKLSAgICAgICAgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVD
TEFSQVRJT04pOyBcCi0gICAgfTsgXAotICAgIGFzbSB2b2xhdGlsZSggXAotICAgICIuYWxpZ24g
MiIgIlxuIiBcCi0gICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpXyMjb3ApICJcbiIgXAot
ICAgIFNZTUJPTF9TVFJJTkcoY3RpXyMjb3ApICI6IiAiXG4iIFwKLSAgICAic3RzIHByLCByMTEi
ICJcbiIgXAotICAgICJtb3YubCByMTEsIEAoIiBTVFJJTkdJWkVfVkFMVUVfT0YoVEhVTktfUkVU
VVJOX0FERFJFU1NfT0ZGU0VUKSAiLCByMTUpIiAiXG4iIFwKLSAgICAibW92LmwgLkwyIiBTWU1C
T0xfU1RSSU5HKEpJVFN0dWJUaHVua2VkXyMjb3ApICIscjAiICJcbiIgXAotICAgICJtb3YubCBA
KHIwLHIxMikscjExIiAiXG4iIFwKLSAgICAianNyIEByMTEiICJcbiIgXAotICAgICJub3AiICJc
biIgXAotICAgICJtb3YubCBAKCIgU1RSSU5HSVpFX1ZBTFVFX09GKFRIVU5LX1JFVFVSTl9BRERS
RVNTX09GRlNFVCkgIiwgcjE1KSwgcjExICIgIlxuIiBcCi0gICAgImxkcyByMTEsIHByICIgIlxu
IiBcCi0gICAgInJ0cyIgIlxuIiBcCi0gICAgIm5vcCIgIlxuIiBcCi0gICAgIi5hbGlnbiAyIiAi
XG4iIFwKLSAgICAiLkwyIiBTWU1CT0xfU1RSSU5HKEpJVFN0dWJUaHVua2VkXyMjb3ApICI6Lmxv
bmcgIiBTWU1CT0xfU1RSSU5HKEpJVFN0dWJUaHVua2VkXyMjb3ApICJAR09UIFxuIiBcCi0gICAg
KTsgXAotICAgIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RFQ0xBUkFUSU9O
KQotCi19IC8vIG5hbWVzcGFjZSBKU0MKLQotI2VuZGlmIC8vIEpJVFN0dWJzU0g0X2gKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODYuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2LmgJKHJldmlzaW9uIDE1ODY0NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODYuaAkod29ya2luZyBjb3B5
KQpAQCAtNDUsNDggKzQ1LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICNpZiBDT01QSUxFUihHQ0Mp
CiAKLWFzbSAoCi0iLnRleHRcbiIKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xp
bmUpICJcbiIKLUhJREVfU1lNQk9MKGN0aVRyYW1wb2xpbmUpICJcbiIKLVNZTUJPTF9TVFJJTkco
Y3RpVHJhbXBvbGluZSkgIjoiICJcbiIKLSAgICAicHVzaGwgJWVicCIgIlxuIgotICAgICJtb3Zs
ICVlYnAsICVlYXgiICJcbiIgLy8gU2F2ZSBwcmV2aW91cyBmcmFtZSBwb2ludGVyCi0gICAgIm1v
dmwgJWVzcCwgJWVicCIgIlxuIgotICAgICJwdXNobCAlZXNpIiAiXG4iCi0gICAgInB1c2hsICVl
ZGkiICJcbiIKLSAgICAicHVzaGwgJWVieCIgIlxuIgotCi0gICAgLy8gSklUIE9wZXJhdGlvbiBj
YW4gdXNlIHVwIHRvIDYgYXJndW1lbnRzIHJpZ2h0IG5vdy4gU28sIHdlIG5lZWQgdG8KLSAgICAv
LyByZXNlcnZlIHNwYWNlIGluIHRoaXMgc3RhY2sgZnJhbWUgZm9yIHRoZSBvdXQtZ29pbmcgYXJn
cy4gVG8gZW5zdXJlIHRoYXQKLSAgICAvLyB0aGUgc3RhY2sgcmVtYWlucyBhbGlnbmVkIG9uIGFu
IDE2IGJ5dGUgYm91bmRhcnksIHdlIHJvdW5kIHRoZSBwYWRkaW5nIHVwCi0gICAgLy8gYnkgMHgx
YyBieXRlcy4KLSAgICAic3VibCAkMHgxYywgJWVzcCIgIlxuIgotICAgICJtb3ZsIDB4MzgoJWVz
cCksICVlZGkiICJcbiIKLSAgICAibW92bCAoJWVkaSksICVlYngiICJcbiIgLy8gUHV0IHRoZSBw
cmV2aW91cyBmcmFtZSBwb2ludGVyIGluIHRoZSBWTSBlbnRyeSBzZW50aW5hbCBmcmFtZSBhYm92
ZSB1cwotICAgICJtb3ZsICVlYXgsICglZWJ4KSIgIlxuIgotICAgICJjYWxsICoweDMwKCVlc3Ap
IiAiXG4iCi0gICAgImFkZGwgJDB4MWMsICVlc3AiICJcbiIKLQotICAgICJwb3BsICVlYngiICJc
biIKLSAgICAicG9wbCAlZWRpIiAiXG4iCi0gICAgInBvcGwgJWVzaSIgIlxuIgotICAgICJwb3Bs
ICVlYnAiICJcbiIKLSAgICAicmV0IiAiXG4iCi0pOwotCi1hc20gKAotIi5nbG9ibCAiIFNZTUJP
TF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIlxuIgotSElERV9TWU1CT0woY3RpT3BUaHJv
d05vdENhdWdodCkgIlxuIgotU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIg
IlxuIgotICAgICJhZGRsICQweDFjLCAlZXNwIiAiXG4iCi0gICAgInBvcGwgJWVieCIgIlxuIgot
ICAgICJwb3BsICVlZGkiICJcbiIKLSAgICAicG9wbCAlZXNpIiAiXG4iCi0gICAgInBvcGwgJWVi
cCIgIlxuIgotICAgICJyZXQiICJcbiIKLSk7Ci0KICNpZiBVU0UoTUFTTV9QUk9CRSkKIGFzbSAo
CiAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiXG4iCkBA
IC0yNDIsNDkgKzIwMCw2IEBAIFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZUVu
ZCkKIAogI2VuZGlmIC8vIENPTVBJTEVSKEdDQykKIAotI2lmIENPTVBJTEVSKE1TVkMpCi0KLWV4
dGVybiAiQyIgewotCi0gICAgX19kZWNsc3BlYyhuYWtlZCkgRW5jb2RlZEpTVmFsdWUgY3RpVHJh
bXBvbGluZSh2b2lkKiBjb2RlLCBKU1N0YWNrKiwgQ2FsbEZyYW1lKiwgdm9pZCogLyp1bnVzZWQx
Ki8sIHZvaWQqIC8qdW51c2VkMiovLCBWTSopCi0gICAgewotICAgICAgICBfX2FzbSB7Ci0gICAg
ICAgICAgICBwdXNoIGVicDsKLSAgICAgICAgICAgIG1vdiBlYXgsIGVicDsKLSAgICAgICAgICAg
IG1vdiBlYnAsIGVzcDsKLSAgICAgICAgICAgIHB1c2ggZXNpOwotICAgICAgICAgICAgcHVzaCBl
ZGk7Ci0gICAgICAgICAgICBwdXNoIGVieDsKLSAgICAgICAgICAgIHN1YiBlc3AsIDB4MWM7Ci0g
ICAgICAgICAgICBtb3YgZWN4LCBlc3A7Ci0gICAgICAgICAgICBtb3YgZWRpLCBbZXNwICsgMHgz
OF07Ci0gICAgICAgICAgICBtb3YgZWJ4LCBbZWRpXTsKLSAgICAgICAgICAgIG1vdiBbZWJ4XSwg
ZWF4OwotICAgICAgICAgICAgY2FsbCBbZXNwICsgMHgzMF07Ci0gICAgICAgICAgICBhZGQgZXNw
LCAweDFjOwotICAgICAgICAgICAgcG9wIGVieDsKLSAgICAgICAgICAgIHBvcCBlZGk7Ci0gICAg
ICAgICAgICBwb3AgZXNpOwotICAgICAgICAgICAgcG9wIGVicDsKLSAgICAgICAgICAgIHJldDsK
LSAgICAgICAgfQotICAgIH0KLQotICAgIF9fZGVjbHNwZWMobmFrZWQpIHZvaWQgY3RpT3BUaHJv
d05vdENhdWdodCgpCi0gICAgewotICAgICAgICBfX2FzbSB7Ci0gICAgICAgICAgICBhZGQgZXNw
LCAweDFjOwotICAgICAgICAgICAgcG9wIGVieDsKLSAgICAgICAgICAgIHBvcCBlZGk7Ci0gICAg
ICAgICAgICBwb3AgZXNpOwotICAgICAgICAgICAgcG9wIGVicDsKLSAgICAgICAgICAgIHJldDsK
LSAgICAgICAgfQotICAgIH0KLX0KLQotI2VuZGlmIC8vIENPTVBJTEVSKE1TVkMpCi0KIH0gLy8g
bmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gSklUU3R1YnNYODZfaApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Nl82NC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODZfNjQuaAkocmV2aXNpb24gMTU4NjQ3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Nl82NC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00NSw1NSArNDUsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogI2lmIENPTVBJTEVSKEdDQykK
IAotYXNtICgKLSIudGV4dFxuIgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGlu
ZSkgIlxuIgotSElERV9TWU1CT0woY3RpVHJhbXBvbGluZSkgIlxuIgotU1lNQk9MX1NUUklORyhj
dGlUcmFtcG9saW5lKSAiOiIgIlxuIgotICAgICJwdXNocSAlcmJwIiAiXG4iCi0gICAgIm1vdnEg
JXJicCwgJXJheCIgIlxuIiAvLyBTYXZlIHByZXZpb3VzIGZyYW1lIHBvaW50ZXIKLSAgICAibW92
cSAlcnNwLCAlcmJwIiAiXG4iCi0gICAgInB1c2hxICVyMTIiICJcbiIKLSAgICAicHVzaHEgJXIx
MyIgIlxuIgotICAgICJwdXNocSAlcjE0IiAiXG4iCi0gICAgInB1c2hxICVyMTUiICJcbiIKLSAg
ICAicHVzaHEgJXJieCIgIlxuIgotCi0gICAgLy8gVGhlIFg4Nl82NCBBQkkgc3BlY2lmaWVzIHRo
YXQgdGhlIHdvcnNlIGNhc2Ugc3RhY2sgYWxpZ25tZW50IHJlcXVpcmVtZW50Ci0gICAgLy8gaXMg
MzIgYnl0ZXMuCi0gICAgInN1YnEgJDB4OCwgJXJzcCIgIlxuIgotCi0gICAgIm1vdnEgJDUxMiwg
JXIxMiIgIlxuIgotICAgICJtb3ZxICQweEZGRkYwMDAwMDAwMDAwMDAsICVyMTQiICJcbiIKLSAg
ICAibW92cSAkMHhGRkZGMDAwMDAwMDAwMDAyLCAlcjE1IiAiXG4iCi0gICAgIm1vdnEgJXJkeCwg
JXIxMyIgIlxuIgotICAgICJtb3ZxICglcjEzKSwgJXIxMSIgIlxuIiAvLyBQdXQgdGhlIHByZXZp
b3VzIGZyYW1lIHBvaW50ZXIgaW4gdGhlIFZNIGVudHJ5IHNlbnRpbmFsIGZyYW1lIGFib3ZlIHVz
Ci0gICAgIm1vdnEgJXJheCwgKCVyMTEpIiAiXG4iCi0gICAgImNhbGwgKiVyZGkiICJcbiIKLSAg
ICAiYWRkcSAkMHg4LCAlcnNwIiAiXG4iCi0gICAgInBvcHEgJXJieCIgIlxuIgotICAgICJwb3Bx
ICVyMTUiICJcbiIKLSAgICAicG9wcSAlcjE0IiAiXG4iCi0gICAgInBvcHEgJXIxMyIgIlxuIgot
ICAgICJwb3BxICVyMTIiICJcbiIKLSAgICAicG9wcSAlcmJwIiAiXG4iCi0gICAgInJldCIgIlxu
IgotKTsKLQotYXNtICgKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVn
aHQpICJcbiIKLUhJREVfU1lNQk9MKGN0aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKLVNZTUJPTF9T
VFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICJcbiIKLSAgICAiYWRkcSAkMHg4LCAlcnNw
IiAiXG4iCi0gICAgInBvcHEgJXJieCIgIlxuIgotICAgICJwb3BxICVyMTUiICJcbiIKLSAgICAi
cG9wcSAlcjE0IiAiXG4iCi0gICAgInBvcHEgJXIxMyIgIlxuIgotICAgICJwb3BxICVyMTIiICJc
biIKLSAgICAicG9wcSAlcmJwIiAiXG4iCi0gICAgInJldCIgIlxuIgotKTsKLQogI2lmIFVTRShN
QVNNX1BST0JFKQogYXNtICgKICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRy
YW1wb2xpbmUpICJcbiIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSlNJbnRlcmZh
Y2VKSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pTSW50ZXJm
YWNlSklULmgJKHJldmlzaW9uIDE1ODY0NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SlNJbnRlcmZhY2VKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtMTI0LDcgKzEyNCw2IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgY29uc3QgUmVnaXN0ZXJJRCByZWdUNCA9IEFSTVJl
Z2lzdGVyczo6cjc7CiAgICAgICAgIHN0YXRpYyBjb25zdCBSZWdpc3RlcklEIHJlZ1Q1ID0gQVJN
UmVnaXN0ZXJzOjpyODsKIAotICAgICAgICAvLyBVcGRhdGUgY3RpVHJhbXBvbGluZSBpbiBKSVRT
dHVicy5jcHAgaWYgdGhlc2UgdmFsdWVzIGFyZSBjaGFuZ2VkIQogICAgICAgICBzdGF0aWMgY29u
c3QgUmVnaXN0ZXJJRCBjYWxsRnJhbWVSZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6cjU7CiAKICAg
ICAgICAgc3RhdGljIGNvbnN0IEZQUmVnaXN0ZXJJRCBmcFJlZ1QwID0gQVJNUmVnaXN0ZXJzOjpk
MDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5j
cHAJKHJldmlzaW9uIDE1ODY0NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtH
ZW5lcmF0b3JzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNiArNTYsMjc0IEBAIGlubGluZSB2
b2lkIGVtaXRQb2ludGVyVmFsaWRhdGlvbihDQ2FsbEgKICNlbmRpZgogfQogCitzdGF0aWMgdm9p
ZCByZXR1cm5Gcm9tSmF2YVNjcmlwdChDQ2FsbEhlbHBlcnMmIGppdCkKK3sKKyNpZiBDUFUoWDg2
XzY0KQorI2lmIE9TKFdJTkRPV1MpCisgICAgLy8gSklUIG9wZXJhdGlvbnMgY2FuIHVzZSB1cCB0
byA2IGFyZ3MgKDQgaW4gcmVnaXN0ZXJzIGFuZCAyIG9uIHRoZSBzdGFjaykuCisgICAgLy8gSW4g
YWRkaXRpb24sIFg4Nl82NCBBQkkgc3BlY2lmaWVzIHRoYXQgdGhlIHdvcnNlIGNhc2Ugc3RhY2sg
YWxpZ25tZW50CisgICAgLy8gcmVxdWlyZW1lbnQgaXMgMzIgYnl0ZXMuIEJhc2VkIG9uIHRoZXNl
IGZhY3RvcnMsIHdlIG5lZWQgdG8gcGFkIHRoZSBzdGFjaworICAgIC8vIGFuZCBhZGRpdGlvbmFs
IDQwIGJ5dGVzLgorIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICA0MAor
ICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoOCksIFg4NlJlZ2lzdGVy
czo6ZXNwKTsKKyNlbHNlCisgICAgLy8gV2UgZG9uJ3QgbmVlZCBleHRyYSBzdGFjayBzcGFjZSBm
b3Igb3V0LWdvaW5nIGFyZ3MsIGJ1dCB3ZSBuZWVkIHRvIGFsaWduIHRoZQorICAgIC8vIHN0YWNr
IHRvIDMyIGJ5dGUgYWxpZ25tZW50LCB0aGVyZWZvcmUgYWRkIDggYnl0ZXMgdG8gdGhlIHN0YWNr
LgorIyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICA4CisgICAgaml0LmFk
ZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRSQV9TVEFDS19TSVpFKSwgWDg2UmVn
aXN0ZXJzOjplc3ApOworI2VuZGlmCisKKyAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6ZWJ4KTsK
KyAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6cjE1KTsKKyAgICBqaXQucG9wKFg4NlJlZ2lzdGVy
czo6cjE0KTsKKyAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6cjEzKTsKKyAgICBqaXQucG9wKFg4
NlJlZ2lzdGVyczo6cjEyKTsKKyAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6ZWJwKTsKKyNlbGlm
IENQVShYODYpCisgICAgLy8gSklUIE9wZXJhdGlvbiBjYW4gdXNlIHVwIHRvIDYgYXJndW1lbnRz
IHJpZ2h0IG5vdy4gU28sIHdlIG5lZWQgdG8KKyAgICAvLyByZXNlcnZlIHNwYWNlIGluIHRoaXMg
c3RhY2sgZnJhbWUgZm9yIHRoZSBvdXQtZ29pbmcgYXJncy4gVG8gZW5zdXJlIHRoYXQKKyAgICAv
LyB0aGUgc3RhY2sgcmVtYWlucyBhbGlnbmVkIG9uIGFuIDE2IGJ5dGUgYm91bmRhcnksIHdlIHJv
dW5kIHRoZSBwYWRkaW5nIHVwCisgICAgLy8gYnkgMjggYnl0ZXMuCisjICAgZGVmaW5lIEVYVFJB
X1NUQUNLX1NJWkUgMjgKKworICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1t
MzIoRVhUUkFfU1RBQ0tfU0laRSksIFg4NlJlZ2lzdGVyczo6ZXNwKTsKKworICAgIGppdC5wb3Ao
WDg2UmVnaXN0ZXJzOjplYngpOworICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplZGkpOworICAg
IGppdC5wb3AoWDg2UmVnaXN0ZXJzOjplc2kpOworICAgIGppdC5wb3AoWDg2UmVnaXN0ZXJzOjpl
YnApOworI2VsaWYgQ1BVKEFSTV9UUkFESVRJT05BTCkKKyAgICAvLyBKSVQgT3BlcmF0aW9uIGNh
biB1c2UgdXAgdG8gNiBhcmd1bWVudHMgcmlnaHQgbm93LiBTbywgd2UgbmVlZCB0bworICAgIC8v
IHJlc2VydmUgc3BhY2UgaW4gdGhpcyBzdGFjayBmcmFtZSBmb3IgdGhlIG91dC1nb2luZyBhcmdz
LiBXZSBuZWVkIHRvCisgICAgLy8gYWRkIHNwYWNlIGZvciAxNiBtb3JlIGJ5dGVzLgorIyAgIGRl
ZmluZSBFWFRSQV9TVEFDS19TSVpFICAgICAgICAgICAgICAxNgorCisgICAgaml0LmFkZFB0cihD
Q2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRSQV9TVEFDS19TSVpFKSwgQVJNUmVnaXN0ZXJz
OjpzcCk7CisKKyAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6bHIpOworICAgIGppdC5wb3AoQVJN
UmVnaXN0ZXJzOjpyMTEpOworICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyMTApOworICAgIGpp
dC5wb3AoQVJNUmVnaXN0ZXJzOjpyOSk7CisgICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI4KTsK
KyAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjYpOworICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJz
OjpyNSk7CisgICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI0KTsKKyNlbGlmIENQVShBUk1fVEhV
TUIyKQorICAgIC8vIEpJVCBPcGVyYXRpb24gY2FuIHVzZSB1cCB0byA2IGFyZ3VtZW50cyByaWdo
dCBub3cuIFNvLCB3ZSBuZWVkIHRvCisgICAgLy8gcmVzZXJ2ZSBzcGFjZSBpbiB0aGlzIHN0YWNr
IGZyYW1lIGZvciB0aGUgb3V0LWdvaW5nIGFyZ3MuIFRvIGVuc3VyZSB0aGF0CisgICAgLy8gdGhl
IHN0YWNrIHJlbWFpbnMgYWxpZ25lZCBvbiBhbiAxNiBieXRlIGJvdW5kYXJ5LCB3ZSByb3VuZCB0
aGUgcGFkZGluZyB1cAorICAgIC8vIGJ5IDI4IGJ5dGVzLgorIyAgIGRlZmluZSBFWFRSQV9TVEFD
S19TSVpFICAgICAgICAgICAgICAyOAorCisgICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRy
dXN0ZWRJbW0zMihFWFRSQV9TVEFDS19TSVpFKSwgQVJNUmVnaXN0ZXJzOjpzcCk7CisgICAgaml0
LnB1c2goQVJNUmVnaXN0ZXJzOjpyMTEpOworICAgIGppdC5wdXNoKEFSTVJlZ2lzdGVyczo6cjEw
KTsKKyAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI5KTsKKyAgICBqaXQucHVzaChBUk1SZWdp
c3RlcnM6OnI4KTsKKyAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI3KTsKKyAgICBqaXQucHVz
aChBUk1SZWdpc3RlcnM6OnI2KTsKKyAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI1KTsKKyAg
ICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI0KTsKKyAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6
OmxyKTsKKyNlbGlmIENQVShBUk02NCkKKyAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4Mjgp
OworICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyNyk7CisgICAgaml0LnBvcChBUk02NFJl
Z2lzdGVyczo6eDI2KTsKKyAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MjUpOworICAgIGpp
dC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyNCk7CisgICAgaml0LnBvcChBUk02NFJlZ2lzdGVyczo6
eDIzKTsKKyAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MjIpOworICAgIGppdC5wb3AoQVJN
NjRSZWdpc3RlcnM6OngyMSk7CisgICAgaml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDIwKTsKKyAg
ICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MTkpOworICAgIGppdC5wb3AoQVJNNjRSZWdpc3Rl
cnM6OmxyKTsKKyNlbGlmIENQVShNSVBTKQorIyAgIGRlZmluZSBQUkVTRVJWRURfR1BfT0ZGU0VU
ICAgICAgICAgNjAKKyMgICBkZWZpbmUgUFJFU0VSVkVEX1MwX09GRlNFVCAgICAgICAgIDY0Cisj
ICAgZGVmaW5lIFBSRVNFUlZFRF9TMV9PRkZTRVQgICAgICAgICA2OAorIyAgIGRlZmluZSBQUkVT
RVJWRURfUzJfT0ZGU0VUICAgICAgICAgNzIKKyMgICBkZWZpbmUgUFJFU0VSVkVEX1MzX09GRlNF
VCAgICAgICAgIDc2CisjICAgZGVmaW5lIFBSRVNFUlZFRF9TNF9PRkZTRVQgICAgICAgICA4MAor
IyAgIGRlZmluZSBQUkVTRVJWRURfUkVUVVJOX0FERFJFU1NfT0ZGU0VUIDg0CisjICAgZGVmaW5l
IFNUQUNLX0xFTkdUSCAgICAgICAgICAgICAgIDExMgorCisgICAgaml0LmxvYWRQdHIoQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzBfT0ZGU0VUKSwg
TUlQU1JlZ2lzdGVyczo6czApOworICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVz
cyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1MxX09GRlNFVCksIE1JUFNSZWdpc3RlcnM6
OnMxKTsKKyAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVy
czo6c3AsIFBSRVNFUlZFRF9TMl9PRkZTRVQpLCBNSVBTUmVnaXN0ZXJzOjpzMik7CisgICAgaml0
LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJW
RURfUzNfT0ZGU0VUKSwgTUlQU1JlZ2lzdGVyczo6czMpOworICAgIGppdC5sb2FkUHRyKENDYWxs
SGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1M0X09GRlNFVCks
IE1JUFNSZWdpc3RlcnM6OnM0KTsKKyAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQpLCBN
SVBTUmVnaXN0ZXJzOjpyYSk7CisgICAgaml0LmFkZFB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW0zMihTVEFDS19MRU5HVEgpLCBNSVBTUmVnaXN0ZXJzOjpzcCk7CisjZWxpZiBDUFUoU0g0KQor
IyAgIGRlZmluZSBFWFRSQV9TVEFDS19TSVpFIDIwCisKKyAgICBqaXQuYWRkUHRyKENDYWxsSGVs
cGVyczo6VHJ1c3RlZEltbTMyKEVYVFJBX1NUQUNLX1NJWkUpLCBTSDRSZWdpc3RlcnM6OnNwKTsK
KyAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6cjgpOworICAgIGppdC5wb3AoU0g0UmVnaXN0ZXJz
OjpyOSk7CisgICAgaml0LnBvcChTSDRSZWdpc3RlcnM6OnIxMCk7CisgICAgaml0LnBvcChTSDRS
ZWdpc3RlcnM6OnIxMSk7CisgICAgaml0LnBvcChTSDRSZWdpc3RlcnM6OnIxMyk7CisgICAgaml0
LnBvcChTSDRSZWdpc3RlcnM6OnByKTsKKyAgICBqaXQucG9wKFNINFJlZ2lzdGVyczo6ZnApOwor
I2VuZGlmCisKKyAgICBqaXQucmV0KCk7Cit9CisKK01hY3JvQXNzZW1ibGVyQ29kZVJlZiBjYWxs
VG9KYXZhU2NyaXB0KFZNKiB2bSkKK3sKKyAgICAvLyBUaGUgc2lnbmF0dXJlIG9mIHRoZSBjb2Rl
IGdlbmVyYXRlZCBpcyBFbmNvZGVkSlNWYWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZvaWQqIGNvZGUs
IENhbGxGcmFtZSopCisKKyAgICBDQ2FsbEhlbHBlcnMgaml0KHZtKTsKKworI2lmIENQVShYODZf
NjQpCisjaWYgT1MoV0lORE9XUykKKyAgICAvLyBEdW1wIHJlZ2lzdGVyIHBhcmFtZXRlcnMgdG8g
dGhlaXIgaG9tZSBhZGRyZXNzCisgICAgaml0LnN0b3JlUHRyKFg4NlJlZ2lzdGVyczo6cjksIEND
YWxsSGVscGVyczo6QWRkcmVzcyhYODZSZWdpc3RlcnM6OmVzcCwgMHgyMCkpOworICAgIGppdC5z
dG9yZVB0cihYODZSZWdpc3RlcnM6OnI4LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0
ZXJzOjplc3AsIDB4MTgpKTsKKyAgICBqaXQuc3RvcmVQdHIoWDg2UmVnaXN0ZXJzOjplZHgsIEND
YWxsSGVscGVyczo6QWRkcmVzcyhYODZSZWdpc3RlcnM6OmVzcCwgMHgxMCkpOworICAgIGppdC5z
dG9yZVB0cihYODZSZWdpc3RlcnM6OmVjeCwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKFg4NlJlZ2lz
dGVyczo6ZXNwLCAweDgpKTsKKyNlbmRpZiAvLyBPUyhXSU5ET1dTKQorICAgIGppdC5wdXNoKFg4
NlJlZ2lzdGVyczo6ZWJwKTsKKyAgICBqaXQubW92ZShYODZSZWdpc3RlcnM6OmVicCwgR1BSSW5m
bzo6bm9uQXJnR1BSMCk7CisgICAgaml0Lm1vdmUoWDg2UmVnaXN0ZXJzOjplc3AsIFg4NlJlZ2lz
dGVyczo6ZWJwKTsKKyAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OnIxMik7CisgICAgaml0LnB1
c2goWDg2UmVnaXN0ZXJzOjpyMTMpOworICAgIGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6cjE0KTsK
KyAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OnIxNSk7CisgICAgaml0LnB1c2goWDg2UmVnaXN0
ZXJzOjplYngpOworCisgICAgaml0LnN1YlB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihF
WFRSQV9TVEFDS19TSVpFKSwgWDg2UmVnaXN0ZXJzOjplc3ApOworCisjICAgZGVmaW5lIENBTExG
UkFNRV9TUkNfUkVHIEdQUkluZm86OmFyZ3VtZW50R1BSMQorIyAgIGRlZmluZSBQUkVWSU9VU19D
QUxMRlJBTUVfUkVHIEdQUkluZm86Om5vbkFyZ0dQUjAKKyNlbGlmIENQVShYODYpCisgICAgaml0
LnB1c2goWDg2UmVnaXN0ZXJzOjplYnApOworICAgIGppdC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZWJw
LCBHUFJJbmZvOjpub25BcmdHUFIwKTsKKyAgICBqaXQubW92ZShYODZSZWdpc3RlcnM6OmVzcCwg
WDg2UmVnaXN0ZXJzOjplYnApOworICAgIGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6ZXNpKTsKKyAg
ICBqaXQucHVzaChYODZSZWdpc3RlcnM6OmVkaSk7CisgICAgaml0LnB1c2goWDg2UmVnaXN0ZXJz
OjplYngpOworCisgICAgaml0LnN1YlB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRS
QV9TVEFDS19TSVpFKSwgWDg2UmVnaXN0ZXJzOjplc3ApOworI2lmIENPTVBJTEVSKE1TVkMpCisg
ICAgaml0Lm1vdmUoWDg2UmVnaXN0ZXJzOjplc3AsIFg4NlJlZ2lzdGVyczo6ZWN4KTsKKyNlbmRp
ZgorCisgICAgaml0LmxvYWQzMihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0ZXJzOjpl
c3AsIEVYVFJBX1NUQUNLX1NJWkUgKyAyNCksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsK
KworIyAgIGRlZmluZSBDQUxMRlJBTUVfU1JDX1JFRyBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rl
cgorIyAgIGRlZmluZSBDQUxMX0NPREUgaml0LmNhbGwoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKFg4
NlJlZ2lzdGVyczo6ZXNwLCBFWFRSQV9TVEFDS19TSVpFICsgMjApKQorIyAgIGRlZmluZSBQUkVW
SU9VU19DQUxMRlJBTUVfUkVHIEdQUkluZm86Om5vbkFyZ0dQUjAKKyNlbGlmIENQVShBUk1fVFJB
RElUSU9OQUwpCisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNCk7CisgICAgaml0LnB1c2go
QVJNUmVnaXN0ZXJzOjpyNSk7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNik7CisgICAg
aml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyOCk7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpy
OSk7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyMTApOworICAgIGppdC5wdXNoKEFSTVJl
Z2lzdGVyczo6cjExKTsKKyAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OmxyKTsKKworICAgIGpp
dC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIEFS
TVJlZ2lzdGVyczo6c3ApOworCisjICAgZGVmaW5lIENBTExGUkFNRV9TUkNfUkVHIEdQUkluZm86
OmFyZ3VtZW50R1BSMQorIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVfUkVHIEFSTVJlZ2lz
dGVyczo6cjExCisjZWxpZiBDUFUoQVJNX1RIVU1CMikKKyAgICBqaXQucHVzaChBUk1SZWdpc3Rl
cnM6OmxyKTsKKyAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI0KTsKKyAgICBqaXQucHVzaChB
Uk1SZWdpc3RlcnM6OnI1KTsKKyAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI2KTsKKyAgICBq
aXQucHVzaChBUk1SZWdpc3RlcnM6OnI3KTsKKyAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI4
KTsKKyAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6OnI5KTsKKyAgICBqaXQucHVzaChBUk1SZWdp
c3RlcnM6OnIxMCk7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyMTEpOworICAgIGppdC5z
dWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIEFSTVJl
Z2lzdGVyczo6c3ApOworCisjICAgZGVmaW5lIENBTExGUkFNRV9TUkNfUkVHIEdQUkluZm86OmFy
Z3VtZW50R1BSMQorIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVfUkVHIEFSTVJlZ2lzdGVy
czo6cjcKKyNlbGlmIENQVShBUk02NCkKKyAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6bHIp
OworICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MTkpOworICAgIGppdC5wdXNoKEFSTTY0
UmVnaXN0ZXJzOjp4MjApOworICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjEpOworICAg
IGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjIpOworICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0
ZXJzOjp4MjMpOworICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjQpOworICAgIGppdC5w
dXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjUpOworICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4
MjYpOworICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjcpOworICAgIGppdC5wdXNoKEFS
TTY0UmVnaXN0ZXJzOjp4MjgpOworICAgIGppdC5wdXNoKEFSTTY0UmVnaXN0ZXJzOjp4MjkpOwor
CisjICAgZGVmaW5lIENBTExGUkFNRV9TUkNfUkVHIEdQUkluZm86OmFyZ3VtZW50R1BSMQorIyAg
IGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVfUkVHIEFSTTY0UmVnaXN0ZXJzOjp4MjkKKyNlbGlm
IENQVShNSVBTKQorICAgIGppdC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoU1RB
Q0tfTEVOR1RIKSwgTUlQU1JlZ2lzdGVyczo6c3ApOworICAgIGppdC5zdG9yZVB0cihNSVBTUmVn
aXN0ZXJzOjpyYSwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVT
RVJWRURfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSk7CisgICAgaml0LnN0b3JlUHRyKE1JUFNSZWdp
c3RlcnM6OnM0LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNF
UlZFRF9TNF9PRkZTRVQpKTsKKyAgICBqaXQuc3RvcmVQdHIoTUlQU1JlZ2lzdGVyczo6czMsIEND
YWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1MzX09GRlNF
VCkpOworICAgIGppdC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpzMiwgQ0NhbGxIZWxwZXJzOjpB
ZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzJfT0ZGU0VUKSk7CisgICAgaml0
LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6OnMxLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1Jl
Z2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TMV9PRkZTRVQpKTsKKyAgICBqaXQuc3RvcmVQdHIoTUlQ
U1JlZ2lzdGVyczo6czAsIENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwg
UFJFU0VSVkVEX1MwX09GRlNFVCkpOworI2lmIFdURl9NSVBTX1BJQworICAgIGppdC5zdG9yZVB0
cihNSVBTUmVnaXN0ZXJzOjpncCksIENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJz
OjpzcCwgUFJFU0VSVkVEX0dQX09GRlNFVCkpOworI2VuZGlmCisKKyMgICBkZWZpbmUgQ0FMTEZS
QU1FX1NSQ19SRUcgR1BSSW5mbzo6YXJndW1lbnRHUFIxCisjICAgZGVmaW5lIFBSRVZJT1VTX0NB
TExGUkFNRV9SRUcgTUlQU1JlZ2lzdGVyczo6ZnAKKyNlbGlmIENQVShTSDQpCisgICAgaml0LnB1
c2goU0g0UmVnaXN0ZXJzOjpmcCk7CisgICAgaml0LnB1c2goU0g0UmVnaXN0ZXJzOjpwcik7Cisg
ICAgaml0LnB1c2goU0g0UmVnaXN0ZXJzOjpyMTMpOworICAgIGppdC5wdXNoKFNINFJlZ2lzdGVy
czo6cjExKTsKKyAgICBqaXQucHVzaChTSDRSZWdpc3RlcnM6OnIxMCk7CisgICAgaml0LnB1c2go
U0g0UmVnaXN0ZXJzOjpyOSk7CisgICAgaml0LnB1c2goU0g0UmVnaXN0ZXJzOjpyOCk7CisgICAg
aml0LnN1YlB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRSQV9TVEFDS19TSVpFKSwg
U0g0UmVnaXN0ZXJzOjpzcCk7CisgICAgaml0Lm1vdmUoU0g0UmVnaXN0ZXJzOjpmcCwgR1BSSW5m
bzo6bm9uQXJnR1BSMCk7CisKKyMgICBkZWZpbmUgQ0FMTEZSQU1FX1NSQ19SRUcgR1BSSW5mbzo6
YXJndW1lbnRHUFIxCisjICAgZGVmaW5lIFBSRVZJT1VTX0NBTExGUkFNRV9SRUcgR1BSSW5mbzo6
bm9uQXJnR1BSMAorI2VuZGlmCisKKyAgICBpZiAoQ0FMTEZSQU1FX1NSQ19SRUcgIT0gR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIpCisgICAgICAgIGppdC5tb3ZlKENBTExGUkFNRV9TUkNfUkVH
LCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7CisgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxw
ZXJzOjpBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKSwgR1BSSW5mbzo6bm9uQXJn
R1BSMSk7CisgICAgaml0LnN0b3JlUHRyKFBSRVZJT1VTX0NBTExGUkFNRV9SRUcsIENDYWxsSGVs
cGVyczo6QWRkcmVzcyhHUFJJbmZvOjpub25BcmdHUFIxKSk7CisKKyNpZiBVU0UoSlNWQUxVRTY0
KQorICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KDB4ZmZmZjAwMDAwMDAw
MDAwMEwpLCBHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVnaXN0ZXIpOworICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KDB4ZmZmZjAwMDAwMDAwMDAwMkwpLCBHUFJJbmZvOjp0
YWdNYXNrUmVnaXN0ZXIpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKENBTExfQ09ERSkKKyAgICBD
QUxMX0NPREU7CisjZWxzZQorICAgIGppdC5jYWxsKEdQUkluZm86OmFyZ3VtZW50R1BSMCk7Cisj
ZW5kaWYKKworI3VuZGVmIENBTExGUkFNRV9TUkNfUkVHCisjdW5kZWYgQ0FMTF9DT0RFCisjdW5k
ZWYgUFJFVklPVVNfQ0FMTEZSQU1FX1JFRworCisgICAgcmV0dXJuRnJvbUphdmFTY3JpcHQoaml0
KTsKKworICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCAmaml0LCBHTE9CQUxfVEhVTktf
SUQpOworICAgIHJldHVybiBGSU5BTElaRV9DT0RFKHBhdGNoQnVmZmVyLCAoIkNhbGwgdG8gSmF2
YVNjcmlwdCB0aHVuayIpKTsKK30KKworTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRocm93Tm90Q2F1
Z2h0KFZNKiB2bSkKK3sKKyAgICBDQ2FsbEhlbHBlcnMgaml0KHZtKTsKKworICAgIHJldHVybkZy
b21KYXZhU2NyaXB0KGppdCk7CisKKyAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2bSwgJmpp
dCwgR0xPQkFMX1RIVU5LX0lEKTsKKyAgICByZXR1cm4gRklOQUxJWkVfQ09ERShwYXRjaEJ1ZmZl
ciwgKCJVbmNhdWdodCB0aHJvdyB0aHVuayIpKTsKK30KKwogLy8gV2Ugd2lsbCBqdW1wIGhlcmUg
aWYgdGhlIEpJVCBjb2RlIHRyaWVzIHRvIG1ha2UgYSBjYWxsLCBidXQgdGhlCiAvLyBsaW5raW5n
IGhlbHBlciAoQysrIGNvZGUpIGRlY2lkZXMgdG8gdGhyb3cgYW4gZXhjZXB0aW9uIGluc3RlYWQu
CiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdGhyb3dFeGNlcHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2Vu
ZXJhdG9yKFZNKiB2bSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5l
cmF0b3JzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dl
bmVyYXRvcnMuaAkocmV2aXNpb24gMTU4NjQ3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9UaHVua0dlbmVyYXRvcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsOSBAQAogI2lm
IEVOQUJMRShKSVQpCiBuYW1lc3BhY2UgSlNDIHsKIAorTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGNh
bGxUb0phdmFTY3JpcHQoVk0qKTsKK01hY3JvQXNzZW1ibGVyQ29kZVJlZiB0aHJvd05vdENhdWdo
dChWTSopOworCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdGhyb3dFeGNlcHRpb25Gcm9tQ2FsbFNs
b3dQYXRoR2VuZXJhdG9yKFZNKik7CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBsaW5rQ2FsbFRo
dW5rR2VuZXJhdG9yKFZNKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9W
TS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3Bw
CShyZXZpc2lvbiAxNTg2NDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI1Nyw2ICsyNTcsOCBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlw
ZSwgSGVhcFR5cGUgaGVhcFR5cGUpCiAKICNpZiBFTkFCTEUoSklUKQogICAgIGppdFN0dWJzID0g
YWRvcHRQdHIobmV3IEpJVFRodW5rcygpKTsKKworICAgIGNhbGxKYXZhU2NyaXB0SklURnVuY3Rp
b24gPSByZWludGVycHJldF9jYXN0PENhbGxKYXZhU2NyaXB0SklURnVuY3Rpb24+KGdldENUSVN0
dWIoY2FsbFRvSmF2YVNjcmlwdCkuY29kZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwogI2VuZGlm
CiAKICNpZiBFTkFCTEUoRlRMX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
aAkocmV2aXNpb24gMTU4NjQ3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
aAkod29ya2luZyBjb3B5KQpAQCAtMzI5LDYgKzMyOSwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgICAgIHJldHVybiBqaXRTdHVicy0+Y3RpU3R1Yih0aGlzLCBnZW5lcmF0b3IpOwogICAg
ICAgICB9CiAgICAgICAgIE5hdGl2ZUV4ZWN1dGFibGUqIGdldEhvc3RGdW5jdGlvbihOYXRpdmVG
dW5jdGlvbiwgSW50cmluc2ljKTsKKworICAgICAgICB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlKCpD
YWxsSmF2YVNjcmlwdEpJVEZ1bmN0aW9uKSh2b2lkICosIEV4ZWNTdGF0ZSopOworCisgICAgICAg
IENhbGxKYXZhU2NyaXB0SklURnVuY3Rpb24gY2FsbEphdmFTY3JpcHRKSVRGdW5jdGlvbjsKICNl
bmRpZgogI2lmIEVOQUJMRShGVExfSklUKQogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RlRMOjpU
aHVua3M+IGZ0bFRodW5rczsK
</data>
<flag name="commit-queue"
          id="239010"
          type_id="3"
          status="-"
          setter="gtk-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216122</attachid>
            <date>2013-11-05 21:22:37 -0800</date>
            <delta_ts>2013-11-06 08:39:44 -0800</delta_ts>
            <desc>Updated with speculative build fixes</desc>
            <filename>123844-2.patch</filename>
            <type>text/plain</type>
            <size>68080</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU4NzE5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDEzLTExLTA1ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENoYW5nZSBjdGlUcmFtcG9saW5lIGludG8gYSB0aHVuaworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzODQ0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29udmVydGVkIGN0aVRyYW1wb2xpbmUgYW5k
IGN0aU9wVGhyb3dOb3RDYXVnaHQgaW50byB0aHVua3MgbmFtZWQgY2FsbFRvSmF2YVNjcmlwdAor
ICAgICAgICBhbmQgcmV0dXJuRnJvbUphdmFTY3JpcHQuICBDbGVhbmVkIHVwIGFuZCBpbiBzb21l
IGNhc2VzIHJlbW92ZWQgSklUU3R1YnNYWFguaCBmaWxlcworICAgICAgICBhZnRlciByZW1vdmlu
ZyBjdGlUcmFtcG9saW5lIGFuZCBjdGlPcFRocm93Tm90Q2F1Z2h0LiAgQWRkZWQgY2FsbEphdmFT
Y3JpcHRKSVRGdW5jdGlvbgorICAgICAgICB0byBWTSB0aGF0IGlzIGEgZnVuY3Rpb24gcG9pbnRl
ciB0byB0aGUgY2FsbFRvSmF2YVNjcmlwdCB0aHVuay4KKworICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBkZmcvREZHRHJpdmVyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpj
b21waWxlSW1wbCk6CisgICAgICAgICogaml0L0pJVENvZGUuY3BwOgorICAgICAgICAoSlNDOjpK
SVRDb2RlOjpleGVjdXRlKToKKyAgICAgICAgKiBqaXQvSklURXhjZXB0aW9ucy5jcHA6CisgICAg
ICAgIChKU0M6OmdlbmVyaWNVbndpbmQpOgorICAgICAgICAqIGppdC9KSVRTdHVicy5jcHA6Cisg
ICAgICAgICogaml0L0pJVFN0dWJzLmg6CisgICAgICAgICogaml0L0pJVFN0dWJzQVJNLmg6Cisg
ICAgICAgICogaml0L0pJVFN0dWJzQVJNNjQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBqaXQvSklU
U3R1YnNBUk12Ny5oOgorICAgICAgICAqIGppdC9KSVRTdHVic01JUFMuaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBqaXQvSklUU3R1YnNNU1ZDNjQuYXNtOgorICAgICAgICAqIGppdC9KSVRTdHVic1NI
NC5oOiBSZW1vdmVkLgorICAgICAgICAqIGppdC9KSVRTdHVic1g4Ni5oOgorICAgICAgICAqIGpp
dC9KSVRTdHVic1g4Nl82NC5oOgorICAgICAgICAqIGppdC9KU0ludGVyZmFjZUpJVC5oOgorICAg
ICAgICAqIGppdC9UaHVua0dlbmVyYXRvcnMuY3BwOgorICAgICAgICAoSlNDOjpyZXR1cm5Gcm9t
SmF2YVNjcmlwdCk6CisgICAgICAgIChKU0M6OmNhbGxUb0phdmFTY3JpcHQpOgorICAgICAgICAq
IGppdC9UaHVua0dlbmVyYXRvcnMuaDoKKyAgICAgICAgKiBydW50aW1lL1ZNLmNwcDoKKyAgICAg
ICAgKEpTQzo6Vk06OlZNKToKKyAgICAgICAgKiBydW50aW1lL1ZNLmg6CisKIDIwMTMtMTEtMDUg
IEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBGVEwgc2hvdWxkIHN1
cHBvcnQgTmV3T2JqZWN0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQkocmV2aXNpb24gMTU4NjQ3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTY2MiwxMCArNjYyLDcgQEAgamF2YXNj
cmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVi
cy5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic0FSTS5oIFwKLQlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzQVJNNjQuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRT
dHVic0FSTXY3LmggXAotCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNNSVBTLmgg
XAotCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNTSDQuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Ni5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFN0dWJzWDg2XzY0LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YnNYODZDb21tb24uaCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gMTU4NjQ3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTcxNCw3ICs3MTQsNiBAQAog
CQkzNzFEODQyRDE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5keWxpYiBpbiBGcmFtZXdvcmtzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3MUQ4NDJDMTdDOThCNkUwMEVDRjk5
NCAvKiBsaWJ6LmR5bGliICovOyB9OwogCQk0MTM1OUNGMzBGREQ4OUFEMDAyMDYxODAgLyogRGF0
ZUNvbnZlcnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEQyMTIwMjI5MEFENDMxMEMwMEVENzlCNiAvKiBEYXRlQ29udmVyc2lvbi5oICovOyB9Owog
CQk0NDQzQUUzMzE2RTE4OEQ5MDA3NkYxMTAgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJh
bWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwRUI2MTA1Qzg2
QzZCMDBFNkRGMUIgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07Ci0JCTQ0REY5M0U2MTdB
MUQ5MjAwMDk3Qjk3QiAvKiBKSVRTdHVic0FSTTY0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NERGOTNFNTE3QTFEOTIwMDA5N0I5N0IgLyogSklUU3R1
YnNBUk02NC5oICovOyB9OwogCQk0NTE1MzlCOTEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUxNTM5QjgxMkRD
OTk0NTAwRUY3QUM0IC8qIFlhcnIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1RDUzNzI2RjBFMUM1NDg4MDAyMUU1NDkgLyogVHJhY2luZy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUQ1MzcyNkUwRTFD
NTQ4ODAwMjFFNTQ5IC8qIFRyYWNpbmcuaCAqLzsgfTsKIAkJNUQ1RDhBRDEwRTBEMEVCRTAwRjlD
NjkyIC8qIGxpYmVkaXQuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1RDVEOEFEMDBFMEQwRUJFMDBGOUM2OTIgLyogbGliZWRpdC5keWxpYiAq
LzsgfTsKQEAgLTk2OSw4ICs5NjgsNiBAQAogCQlBNzhBOTc4MTE3OTczOEQ1MDA5REY3NDQgLyog
RlRMSklURmluYWxpemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNzhBOTc3RTE3OTczOEQ1MDA5REY3NDQgLyogRlRMSklURmluYWxpemVyLmggKi87
IH07CiAJCUE3OTg2RDU3MTdBMEJCMUUwMEE5NUREMCAvKiBERkdFZGdlVXNlc1N0cnVjdHVyZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTc5ODZENTYx
N0EwQkIxRTAwQTk1REQwIC8qIERGR0VkZ2VVc2VzU3RydWN0dXJlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTdBNEFFMDgxNzk3M0IyNjAwNTYx
MkIxIC8qIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QTRBRTA3MTc5NzNCMjYwMDU2MTJCMSAvKiBNYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAgKi87IH07Ci0JCUE3QTRBRTBEMTc5NzNCNEQwMDU2MTJC
MSAvKiBKSVRTdHVic01JUFMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE3QTRBRTA5MTc5NzNCNEQwMDU2MTJCMSAvKiBKSVRTdHVic01JUFMuaCAqLzsg
fTsKLQkJQTdBNEFFMEYxNzk3M0I0RDAwNTYxMkIxIC8qIEpJVFN0dWJzU0g0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0E0QUUwQjE3OTczQjREMDA1
NjEyQjEgLyogSklUU3R1YnNTSDQuaCAqLzsgfTsKIAkJQTdBNEFFMTAxNzk3M0I0RDAwNTYxMkIx
IC8qIEpJVFN0dWJzWDg2Q29tbW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBN0E0QUUwQzE3OTczQjREMDA1NjEyQjEgLyogSklUU3R1YnNYODZDb21t
b24uaCAqLzsgfTsKIAkJQTdBOEFGMzQxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3QThBRjI1
MTdBREI1RjIwMDVBQjE3NCAvKiBBcnJheUJ1ZmZlci5jcHAgKi87IH07CiAJCUE3QThBRjM1MTdB
REI1RjMwMDVBQjE3NCAvKiBBcnJheUJ1ZmZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTdBOEFGMjYxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVm
ZmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTE5NDMsNyArMTk0MCw2IEBACiAJCTJBRDg5MzI5MTdFMzg2OEYwMDY2ODI3NiAvKiBIZWFwSXRl
cmF0aW9uU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGVhcEl0ZXJh
dGlvblNjb3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3MUQ4NDJDMTdDOThC
NkUwMEVDRjk5NCAvKiBsaWJ6LmR5bGliICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJ6LmR5
bGliOyBwYXRoID0gdXNyL2xpYi9saWJ6LmR5bGliOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsK
IAkJNDQ5MDk3RUUwRjhGODFCNTAwNzZBMzI3IC8qIEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NERGOTNFNTE3QTFEOTIwMDA5N0I5N0IgLyog
SklUU3R1YnNBUk02NC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRTdHVi
c0FSTTY0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1MTUzOUI4MTJEQzk5NDUw
MEVGN0FDNCAvKiBZYXJyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFlhcnIu
aDsgcGF0aCA9IHlhcnIvWWFyci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NUUx
MkQ4ODA2QTQ5QjBGMDBFOURGODQgLyoganNjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IGpzYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IHRhYldpZHRoID0gNDsgfTsKIAkJNTFGMEVCNjEwNUM4NkM2QjAwRTZERjFCIC8qIEZv
dW5kYXRpb24uZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBGb3VuZGF0aW9uLmZyYW1ld29y
azsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3Jr
OyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwpAQCAtMjI1Myw4ICsyMjQ5LDYgQEAKIAkJ
QTc5RTc4MUYxNUVFQ0JBODAwNDdDODU1IC8qIFVubGlua2VkQ29kZUJsb2NrLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVubGlua2VkQ29kZUJsb2NrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE3OUVEQjA4MTE1MzFDRDYwMDE5RTkxMiAvKiBKU09iamVjdFJl
ZlByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNPYmplY3RSZWZQ
cml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3QTRBRTA3MTc5NzNCMjYw
MDU2MTJCMSAvKiBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE3QTRBRTA5MTc5NzNCNEQwMDU2MTJCMSAvKiBKSVRTdHVi
c01JUFMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUU3R1YnNNSVBTLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE3QTRBRTBCMTc5NzNCNEQwMDU2MTJCMSAv
KiBKSVRTdHVic1NINC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRTdHVi
c1NINC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBN0E0QUUwQzE3OTczQjREMDA1
NjEyQjEgLyogSklUU3R1YnNYODZDb21tb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSklUU3R1YnNYODZDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTdBN0VFNzQxMUI5OEI4RDAwNjVBMTRGIC8qIEFTVEJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQVNUQnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBN0E3RUU3NzExQjk4QjhEMDA2NUExNEYgLyogU3ludGF4Q2hlY2tlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTeW50YXhDaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yOTM1LDEwICsyOTI5LDcgQEAKIAkJCQkxNEEyM0Q2QzBGNEUxOUNF
MDAyM0NEQUQgLyogSklUU3R1YnMuY3BwICovLAogCQkJCTE0QTY1ODFBMEY0RTM2RjQwMDAxNTBG
RCAvKiBKSVRTdHVicy5oICovLAogCQkJCUZFRjY4MzVBMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRT
dHVic0FSTS5oICovLAotCQkJCTQ0REY5M0U1MTdBMUQ5MjAwMDk3Qjk3QiAvKiBKSVRTdHVic0FS
TTY0LmggKi8sCiAJCQkJRkVGNjgzNUIxNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0dWJzQVJNdjcu
aCAqLywKLQkJCQlBN0E0QUUwOTE3OTczQjREMDA1NjEyQjEgLyogSklUU3R1YnNNSVBTLmggKi8s
Ci0JCQkJQTdBNEFFMEIxNzk3M0I0RDAwNTYxMkIxIC8qIEpJVFN0dWJzU0g0LmggKi8sCiAJCQkJ
RkVGNjgzNUQxNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0dWJzWDg2LmggKi8sCiAJCQkJRkVGNjgz
NUMxNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0dWJzWDg2XzY0LmggKi8sCiAJCQkJQTdBNEFFMEMx
Nzk3M0I0RDAwNTYxMkIxIC8qIEpJVFN0dWJzWDg2Q29tbW9uLmggKi8sCkBAIC00NDEwLDEwICs0
NDAxLDcgQEAKIAkJCQkwRjc2NkQyQzE1QThDQzNBMDA4RjM2M0UgLyogSklUU3R1YlJvdXRpbmVT
ZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0QzUyNDJCMEY1MzU1RTkwMEJBM0QwNCAvKiBKSVRT
dHVicy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkVGNjgzNUUxNzQzNDNDQzAwQTMyRTI1IC8qIEpJ
VFN0dWJzQVJNLmggaW4gSGVhZGVycyAqLywKLQkJCQk0NERGOTNFNjE3QTFEOTIwMDA5N0I5N0Ig
LyogSklUU3R1YnNBUk02NC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkVGNjgzNUYxNzQzNDNDQzAw
QTMyRTI1IC8qIEpJVFN0dWJzQVJNdjcuaCBpbiBIZWFkZXJzICovLAotCQkJCUE3QTRBRTBEMTc5
NzNCNEQwMDU2MTJCMSAvKiBKSVRTdHVic01JUFMuaCBpbiBIZWFkZXJzICovLAotCQkJCUE3QTRB
RTBGMTc5NzNCNEQwMDU2MTJCMSAvKiBKSVRTdHVic1NINC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkVGNjgzNjExNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0dWJzWDg2LmggaW4gSGVhZGVycyAqLywK
IAkJCQlGRUY2ODM2MDE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNYODZfNjQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE3QTRBRTEwMTc5NzNCNEQwMDU2MTJCMSAvKiBKSVRTdHVic1g4NkNvbW1v
bi5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Ry
aXZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2
ZXIuY3BwCShyZXZpc2lvbiAxNTg2NDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RyaXZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc4LDYgKzc4LDggQEAgc3RhdGljIENvbXBp
bGF0aW9uUmVzdWx0IGNvbXBpbGVJbXBsKAogICAgIAogICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGFu
eSBzdHVicyB0aGF0IHRoZSBERkcgaXMgZ29pbmcgdG8gdXNlIGFyZSBpbml0aWFsaXplZC4gV2Ug
d2FudCB0bwogICAgIC8vIG1ha2Ugc3VyZSB0aGF0IGFsbCBKSVQgY29kZSBnZW5lcmF0aW9uIGRv
ZXMgZmluYWxpemF0aW9uIG9uIHRoZSBtYWluIHRocmVhZC4KKyAgICB2bS5nZXRDVElTdHViKGNh
bGxUb0phdmFTY3JpcHQpOworICAgIHZtLmdldENUSVN0dWIodGhyb3dOb3RDYXVnaHQpOwogICAg
IHZtLmdldENUSVN0dWIob3NyRXhpdEdlbmVyYXRpb25UaHVua0dlbmVyYXRvcik7CiAgICAgdm0u
Z2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1BhdGhHZW5lcmF0b3IpOwogICAg
IHZtLmdldENUSVN0dWIobGlua0NhbGxUaHVua0dlbmVyYXRvcik7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVENvZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUQ29kZS5jcHAJKHJldmlzaW9uIDE1ODY0NykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUQ29kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcg
QEAKICNpbmNsdWRlICJKSVRDb2RlLmgiCiAKICNpbmNsdWRlICJPcGVyYXRpb25zLmgiCisjaW5j
bHVkZSAiVGh1bmtHZW5lcmF0b3JzLmgiCiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAK
IG5hbWVzcGFjZSBKU0MgewpAQCAtNDMsNyArNDQsOSBAQCBKSVRDb2RlOjp+SklUQ29kZSgpCiAj
aWYgRU5BQkxFKEpJVCkKIEpTVmFsdWUgSklUQ29kZTo6ZXhlY3V0ZShKU1N0YWNrKiBzdGFjaywg
Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIFZNKiB2bSkKIHsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IEpT
VmFsdWU6OmRlY29kZShjdGlUcmFtcG9saW5lKGV4ZWN1dGFibGVBZGRyZXNzKCksIHN0YWNrLCBj
YWxsRnJhbWUsIDAsIDAsIHZtKSk7CisgICAgVU5VU0VEX1BBUkFNKHN0YWNrKTsKKworICAgIEpT
VmFsdWUgcmVzdWx0ID0gSlNWYWx1ZTo6ZGVjb2RlKHZtLT5jYWxsSmF2YVNjcmlwdEpJVEZ1bmN0
aW9uKGV4ZWN1dGFibGVBZGRyZXNzKCksIGNhbGxGcmFtZSkpOwogICAgIHJldHVybiB2bS0+ZXhj
ZXB0aW9uKCkgPyBqc051bGwoKSA6IHJlc3VsdDsKIH0KICNlbmRpZgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVEV4Y2VwdGlvbnMuY3BwCShyZXZpc2lvbiAxNTg2NDcpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEV4Y2VwdGlvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00OSw3ICs0OSw3IEBAIHZvaWQgZ2VuZXJpY1Vud2luZChWTSogdm0sIEV4ZWNTdGF0
ZSogY2EKICAgICAgICAgY2F0Y2hQQ0ZvckludGVycHJldGVyID0gJmNhbGxGcmFtZS0+Y29kZUJs
b2NrKCktPmluc3RydWN0aW9ucygpW2hhbmRsZXItPnRhcmdldF07CiAgICAgICAgIGNhdGNoUm91
dGluZSA9IEV4ZWN1dGFibGVCYXNlOjpjYXRjaFJvdXRpbmVGb3IoaGFuZGxlciwgY2F0Y2hQQ0Zv
ckludGVycHJldGVyKTsKICAgICB9IGVsc2UKLSAgICAgICAgY2F0Y2hSb3V0aW5lID0gRnVuY3Rp
b25QdHIoTExJbnQ6OmdldENvZGVQdHIoY3RpT3BUaHJvd05vdENhdWdodCkpLnZhbHVlKCk7Cisg
ICAgICAgIGNhdGNoUm91dGluZSA9IHZtLT5nZXRDVElTdHViKHRocm93Tm90Q2F1Z2h0KS5jb2Rl
KCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKICAgICAKICAgICB2bS0+Y2FsbEZyYW1lRm9yVGhyb3cg
PSBjYWxsRnJhbWU7CiAgICAgdm0tPnRhcmdldE1hY2hpbmVQQ0ZvclRocm93ID0gY2F0Y2hSb3V0
aW5lOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAJKHJldmlzaW9u
IDE1ODY0NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMyw4MiArMzMsMjIgQEAKICNpZiBFTkFCTEUoSklUKQogI2luY2x1ZGUg
IkpJVFN0dWJzLmgiCiAKLSNpbmNsdWRlICJBcmd1bWVudHMuaCIKLSNpbmNsdWRlICJBcnJheUNv
bnN0cnVjdG9yLmgiCi0jaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCi0jaW5jbHVkZSAiQ2FsbEZyYW1l
SW5saW5lcy5oIgotI2luY2x1ZGUgIkNvZGVCbG9jay5oIgotI2luY2x1ZGUgIkNvZGVQcm9maWxp
bmcuaCIKLSNpbmNsdWRlICJDb21tb25TbG93UGF0aHMuaCIKLSNpbmNsdWRlICJERkdDb21waWxh
dGlvbk1vZGUuaCIKLSNpbmNsdWRlICJERkdEcml2ZXIuaCIKLSNpbmNsdWRlICJERkdPU1JFbnRy
eS5oIgotI2luY2x1ZGUgIkRGR1dvcmtsaXN0LmgiCi0jaW5jbHVkZSAiRGVidWdnZXIuaCIKLSNp
bmNsdWRlICJEZWZlckdDLmgiCi0jaW5jbHVkZSAiRXJyb3JJbnN0YW5jZS5oIgotI2luY2x1ZGUg
IkV4Y2VwdGlvbkhlbHBlcnMuaCIKLSNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKLSNpbmNsdWRl
ICJIZWFwLmgiCi0jaW5jbHVkZSA8d3RmL0lubGluZUFTTS5oPgotI2luY2x1ZGUgIkpJVC5oIgot
I2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKLSNpbmNsdWRlICJKSVRUb0RGR0RlZmVycmVkQ29t
cGlsYXRpb25DYWxsYmFjay5oIgotI2luY2x1ZGUgIkpTQWN0aXZhdGlvbi5oIgotI2luY2x1ZGUg
IkpTQXJyYXkuaCIKLSNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCi0jaW5jbHVkZSAiSlNHbG9iYWxP
YmplY3RGdW5jdGlvbnMuaCIKLSNpbmNsdWRlICJKU05hbWVTY29wZS5oIgotI2luY2x1ZGUgIkpT
Tm90QW5PYmplY3QuaCIKLSNpbmNsdWRlICJKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmgiCi0jaW5j
bHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlICJKU1dpdGhTY29wZS5oIgotI2luY2x1ZGUgIkxl
Z2FjeVByb2ZpbGVyLmgiCi0jaW5jbHVkZSAiTmFtZUluc3RhbmNlLmgiCi0jaW5jbHVkZSAiT2Jq
ZWN0Q29uc3RydWN0b3IuaCIKLSNpbmNsdWRlICJPYmplY3RQcm90b3R5cGUuaCIKLSNpbmNsdWRl
ICJPcGVyYXRpb25zLmgiCi0jaW5jbHVkZSAiUGFyc2VyLmgiCi0jaW5jbHVkZSAiUmVnRXhwT2Jq
ZWN0LmgiCi0jaW5jbHVkZSAiUmVnRXhwUHJvdG90eXBlLmgiCi0jaW5jbHVkZSAiUmVnaXN0ZXIu
aCIKLSNpbmNsdWRlICJSZXBhdGNoQnVmZmVyLmgiCi0jaW5jbHVkZSAiU2FtcGxpbmdUb29sLmgi
Ci0jaW5jbHVkZSAiU2xvd1BhdGhDYWxsLmgiCi0jaW5jbHVkZSAiU3Ryb25nLmgiCi0jaW5jbHVk
ZSAiU3RydWN0dXJlUmFyZURhdGFJbmxpbmVzLmgiCi0jaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgotI2luY2x1ZGUgPHN0ZGFyZy5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0KLXVzaW5nIG5h
bWVzcGFjZSBzdGQ7Ci0KICNpZiBDUFUoQVJNX1RSQURJVElPTkFMKQogI2luY2x1ZGUgIkpJVFN0
dWJzQVJNLmgiCiAjZWxpZiBDUFUoQVJNX1RIVU1CMikKICNpbmNsdWRlICJKSVRTdHVic0FSTXY3
LmgiCi0jZWxpZiBDUFUoTUlQUykKLSNpbmNsdWRlICJKSVRTdHVic01JUFMuaCIKLSNlbGlmIENQ
VShTSDQpCi0jaW5jbHVkZSAiSklUU3R1YnNTSDQuaCIKICNlbGlmIENQVShYODYpCiAjaW5jbHVk
ZSAiSklUU3R1YnNYODYuaCIKICNlbGlmIENQVShYODZfNjQpCiAjaW5jbHVkZSAiSklUU3R1YnNY
ODZfNjQuaCIKICNlbGlmIENQVShBUk02NCkKLSNpbmNsdWRlICJKSVRTdHVic0FSTTY0LmgiCisv
LyBUaGVyZSBpc24ndCBhbiBBUk02NCBzcGVjaWZpYyAuaCBmaWxlCisjZWxpZiBDUFUoTUlQUykK
Ky8vIFRoZXJlIGlzbid0IGEgTUlQUyBzcGVjaWZpYyAuaCBmaWxlCisjZWxpZiBDUFUoU0g0KQor
Ly8gVGhlcmUgaXNuJ3QgYW4gU0g0IHNwZWNpZmljIC5oIGZpbGUKICNlbHNlCiAjZXJyb3IgIkpJ
VCBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uIgogI2VuZGlmCiAKLW5hbWVzcGFjZSBK
U0MgewotCi0jaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElORykKLSAgICAjZGVmaW5lIENUSV9TQU1Q
TEVSIHN0YWNrRnJhbWUudm0tPmludGVycHJldGVyLT5zYW1wbGVyKCkKLSNlbHNlCi0gICAgI2Rl
ZmluZSBDVElfU0FNUExFUiAwCi0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2UgSlNDCi0KICNlbmRp
ZiAvLyBFTkFCTEUoSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVi
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaAko
cmV2aXNpb24gMTU4NjQ3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw1OCArMzAsMTAgQEAKICNpZm5kZWYgSklUU3R1YnNfaAog
I2RlZmluZSBKSVRTdHVic19oCiAKLSNpbmNsdWRlICJDYWxsRGF0YS5oIgotI2luY2x1ZGUgIklu
dHJpbnNpYy5oIgotI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKLSNpbmNsdWRlICJMb3dMZXZl
bEludGVycHJldGVyLmgiCi0jaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmgiCi0jaW5j
bHVkZSAiUmVnaXN0ZXIuaCIKLQogbmFtZXNwYWNlIEpTQyB7CiAKICNpZiBFTkFCTEUoSklUKQog
Ci1zdHJ1Y3QgU3RydWN0dXJlU3R1YkluZm87Ci0KLWNsYXNzIEFycmF5QWxsb2NhdGlvblByb2Zp
bGU7Ci1jbGFzcyBDb2RlQmxvY2s7Ci1jbGFzcyBFeGVjdXRhYmxlUG9vbDsKLWNsYXNzIEZ1bmN0
aW9uRXhlY3V0YWJsZTsKLWNsYXNzIElkZW50aWZpZXI7Ci1jbGFzcyBWTTsKLWNsYXNzIEpTR2xv
YmFsT2JqZWN0OwotY2xhc3MgSlNPYmplY3Q7Ci1jbGFzcyBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9y
OwotY2xhc3MgSlNTdGFjazsKLWNsYXNzIEpTVmFsdWU7Ci1jbGFzcyBKU1ZhbHVlRW5jb2RlZEFz
UG9pbnRlcjsKLWNsYXNzIExlZ2FjeVByb2ZpbGVyOwotY2xhc3MgTmF0aXZlRXhlY3V0YWJsZTsK
LWNsYXNzIFByb3BlcnR5U2xvdDsKLWNsYXNzIFB1dFByb3BlcnR5U2xvdDsKLWNsYXNzIFJlZ0V4
cDsKLWNsYXNzIFN0cnVjdHVyZTsKLQotI2RlZmluZSBTVFVCX0FSR1NfREVDTEFSQVRJT04gdm9p
ZCoqIGFyZ3MKLSNkZWZpbmUgU1RVQl9BUkdTIChhcmdzKQotCi0jaWYgQ1BVKFg4NikKLSNpZiBD
T01QSUxFUihNU1ZDKQotI2RlZmluZSBKSVRfU1RVQiBfX2Zhc3RjYWxsCi0jZWxpZiBDT01QSUxF
UihHQ0MpCi0jZGVmaW5lIEpJVF9TVFVCICBfX2F0dHJpYnV0ZV9fICgoZmFzdGNhbGwpKQotI2Vs
aWYgQ09NUElMRVIoU1VOQ0MpCi0jZGVmaW5lIEpJVF9TVFVCCi0jZWxzZQotI2Vycm9yICJKSVRf
U1RVQiBmdW5jdGlvbiBjYWxscyByZXF1aXJlIGZhc3RjYWxsIGNvbnZlbnRpb25zIG9uIHg4Niwg
YWRkIGFwcHJvcHJpYXRlIGRpcmVjdGl2ZS9hdHRyaWJ1dGUgaGVyZSBmb3IgeW91ciBjb21waWxl
ciEiCi0jZW5kaWYKLSNlbHNlCi0jZGVmaW5lIEpJVF9TVFVCCi0jZW5kaWYKLQotZXh0ZXJuICJD
IiB2b2lkIGN0aU9wVGhyb3dOb3RDYXVnaHQoKTsKLWV4dGVybiAiQyIgRW5jb2RlZEpTVmFsdWUg
Y3RpVHJhbXBvbGluZSh2b2lkKiBjb2RlLCBKU1N0YWNrKiwgQ2FsbEZyYW1lKiwgdm9pZCogLyp1
bnVzZWQxKi8sIHZvaWQqIC8qdW51c2VkMiovLCBWTSopOwotCiAjaWYgVVNFKE1BU01fUFJPQkUp
CiBleHRlcm4gIkMiIHZvaWQgY3RpTWFzbVByb2JlVHJhbXBvbGluZSgpOwogI2VuZGlmCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNNjQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNNjQuaAkocmV2aXNpb24gMTU4
NjQ3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic0FSTTY0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsMTQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICog
My4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5v
ciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgSklUU3R1YnNBUk02NF9o
Ci0jZGVmaW5lIEpJVFN0dWJzQVJNNjRfaAotCi0jaWYgIUNQVShBUk02NCkKLSNlcnJvciAiSklU
U3R1YnNBUk02NC5oIHNob3VsZCBvbmx5IGJlICNpbmNsdWRlZCBpZiBDUFUoQVJNNjQpIgotI2Vu
ZGlmCi0KLSNpZiAhVVNFKEpTVkFMVUU2NCkKLSNlcnJvciAiSklUU3R1YnNBUk02NC5oIG9ubHkg
aW1wbGVtZW50cyBVU0UoSlNWQUxVRTY0KSIKLSNlbmRpZgotCi1uYW1lc3BhY2UgSlNDIHsKLQot
I2lmIENPTVBJTEVSKEdDQykKLQotI2RlZmluZSBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQg
ICAgICAweDMwCi0jZGVmaW5lIFBSRVNFUlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQgIDB4MzgK
LSNkZWZpbmUgUFJFU0VSVkVEX1gxOV9PRkZTRVQgICAgICAgICAgICAgMHg0MAotI2RlZmluZSBQ
UkVTRVJWRURfWDIwX09GRlNFVCAgICAgICAgICAgICAweDQ4Ci0jZGVmaW5lIFBSRVNFUlZFRF9Y
MjFfT0ZGU0VUICAgICAgICAgICAgIDB4NTAKLSNkZWZpbmUgUFJFU0VSVkVEX1gyMl9PRkZTRVQg
ICAgICAgICAgICAgMHg1OAotI2RlZmluZSBQUkVTRVJWRURfWDIzX09GRlNFVCAgICAgICAgICAg
ICAweDYwCi0jZGVmaW5lIFBSRVNFUlZFRF9YMjRfT0ZGU0VUICAgICAgICAgICAgIDB4NjgKLSNk
ZWZpbmUgUFJFU0VSVkVEX1gyNV9PRkZTRVQgICAgICAgICAgICAgMHg3MAotI2RlZmluZSBQUkVT
RVJWRURfWDI2X09GRlNFVCAgICAgICAgICAgICAweDc4Ci0jZGVmaW5lIFBSRVNFUlZFRF9YMjdf
T0ZGU0VUICAgICAgICAgICAgIDB4ODAKLSNkZWZpbmUgUFJFU0VSVkVEX1gyOF9PRkZTRVQgICAg
ICAgICAgICAgMHg4OAotI2RlZmluZSBSRUdJU1RFUl9GSUxFX09GRlNFVCAgICAgICAgICAgICAw
eDkwCi0jZGVmaW5lIENBTExGUkFNRV9PRkZTRVQgICAgICAgICAgICAgICAgIDB4OTgKLSNkZWZp
bmUgUFJPRklMRVJfUkVGRVJFTkNFX09GRlNFVCAgICAgICAgMHhhMAotI2RlZmluZSBWTV9PRkZT
RVQgICAgICAgICAgICAgICAgICAgICAgICAweGE4Ci0jZGVmaW5lIFNJWkVPRl9KSVRTVEFDS0ZS
QU1FICAgICAgICAgICAgIDB4YjAKLQotYXNtICgKLSIuc2VjdGlvbiBfX1RFWFQsX190ZXh0LHJl
Z3VsYXIscHVyZV9pbnN0cnVjdGlvbnMiICJcbiIKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0
aVRyYW1wb2xpbmUpICJcbiIKLSIuYWxpZ24gMiIgIlxuIgotSElERV9TWU1CT0woY3RpVHJhbXBv
bGluZSkgIlxuIgotU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiOiIgIlxuIgotICAgICJz
dWIgc3AsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoU0laRU9GX0pJVFNUQUNLRlJBTUUpICJc
biIKLSAgICAic3RyIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUkVU
VVJOX0FERFJFU1NfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJzdHIgeDE5LCBbc3AsICMiIFNUUklO
R0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDE5X09GRlNFVCkgIl0iICJcbiIKLSAgICAic3RyIHgy
MCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gyMF9PRkZTRVQpICJdIiAi
XG4iCi0gICAgInN0ciB4MjEsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9Y
MjFfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJzdHIgeDIyLCBbc3AsICMiIFNUUklOR0laRV9WQUxV
RV9PRihQUkVTRVJWRURfWDIyX09GRlNFVCkgIl0iICJcbiIKLSAgICAic3RyIHgyMywgW3NwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gyM19PRkZTRVQpICJdIiAiXG4iCi0gICAg
InN0ciB4MjQsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjRfT0ZGU0VU
KSAiXSIgIlxuIgotICAgICJzdHIgeDI1LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVT
RVJWRURfWDI1X09GRlNFVCkgIl0iICJcbiIKLSAgICAic3RyIHgyNiwgW3NwLCAjIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gyNl9PRkZTRVQpICJdIiAiXG4iCi0gICAgInN0ciB4Mjcs
IFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjdfT0ZGU0VUKSAiXSIgIlxu
IgotICAgICJzdHIgeDI4LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDI4
X09GRlNFVCkgIl0iICJcbiIKLSAgICAic3RyIHgxLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9P
RihSRUdJU1RFUl9GSUxFX09GRlNFVCkgIl0iICJcbiIKLSAgICAic3RyIHgyLCBbc3AsICMiIFNU
UklOR0laRV9WQUxVRV9PRihDQUxMRlJBTUVfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJzdHIgeDQs
IFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0ZJTEVSX1JFRkVSRU5DRV9PRkZTRVQpICJd
IiAiXG4iCi0gICAgInN0ciB4NSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoVk1fT0ZGU0VU
KSAiXSIgIlxuIgotICAgICJsZHIgeDE5LCBbeDJdIiAiXG4iIC8vIFN0b3JlIHRoZSBwcmV2aW91
cyBmcmFtZSBwb2ludGVyIGluIHRoZSBWTSBlbnRyeSBzZW50aW5hbCBmcmFtZSBhYm92ZSB1cwot
ICAgICJzdHIgeDI5LCBbeDE5XSIgIlxuIgotICAgICJtb3YgeDI1LCB4MiIgIlxuIiAvLyBjYWxs
RnJhbWVSZWdpc3RlciA9IEFSTTY0UmVnaXN0ZXJzOjp4MjUKLSAgICAibW92IHgyNiwgIzUxMiIg
IlxuIiAvLyB0aW1lb3V0Q2hlY2tSZWdpc3RlciA9IEFSTTY0UmVnaXN0ZXJzOjp4MjYKLSAgICAi
bW92IHgyNywgIzB4RkZGRjAwMDAwMDAwMDAwMCIgIlxuIiAvLyB0YWdUeXBlTnVtYmVyUmVnaXN0
ZXIgPSBBUk02NFJlZ2lzdGVyczo6eDI3Ci0gICAgImFkZCB4MjgsIHgyNywgIzIiICJcbiIgLy8g
KCAjMHhGRkZGMDAwMDAwMDAwMDAyICkgdGFnTWFza1JlZ2lzdGVyID0gQVJNNjRSZWdpc3RlcnM6
OngyOAotICAgICJibHIgeDAiICJcbiIKLSAgICAibGRyIHgyOCwgW3NwLCAjIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJFU0VSVkVEX1gyOF9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciB4MjcsIFtz
cCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjdfT0ZGU0VUKSAiXSIgIlxuIgot
ICAgICJsZHIgeDI2LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDI2X09G
RlNFVCkgIl0iICJcbiIKLSAgICAibGRyIHgyNSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJFU0VSVkVEX1gyNV9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciB4MjQsIFtzcCwgIyIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjRfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIg
eDIzLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDIzX09GRlNFVCkgIl0i
ICJcbiIKLSAgICAibGRyIHgyMiwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVE
X1gyMl9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciB4MjEsIFtzcCwgIyIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBSRVNFUlZFRF9YMjFfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgeDIwLCBbc3As
ICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDIwX09GRlNFVCkgIl0iICJcbiIKLSAg
ICAibGRyIHgxOSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gxOV9PRkZT
RVQpICJdIiAiXG4iCi0gICAgImxkciBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJF
U0VSVkVEX1JFVFVSTl9BRERSRVNTX09GRlNFVCkgIl0iICJcbiIKLSAgICAiYWRkIHNwLCBzcCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFNJWkVPRl9KSVRTVEFDS0ZSQU1FKSAiXG4iCi0gICAgInJl
dCIgIlxuIgotCi1ISURFX1NZTUJPTChjdGlPcFRocm93Tm90Q2F1Z2h0KSAiXG4iCi1TWU1CT0xf
U1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICI6IiAiXG4iCi0gICAgImxkciB4MjgsIFtzcCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjhfT0ZGU0VUKSAiXSIgIlxuIgotICAg
ICJsZHIgeDI3LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDI3X09GRlNF
VCkgIl0iICJcbiIKLSAgICAibGRyIHgyNiwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJF
U0VSVkVEX1gyNl9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciB4MjUsIFtzcCwgIyIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9YMjVfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgeDI0
LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDI0X09GRlNFVCkgIl0iICJc
biIKLSAgICAibGRyIHgyMywgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gy
M19PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciB4MjIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBSRVNFUlZFRF9YMjJfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgeDIxLCBbc3AsICMi
IFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfWDIxX09GRlNFVCkgIl0iICJcbiIKLSAgICAi
bGRyIHgyMCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1gyMF9PRkZTRVQp
ICJdIiAiXG4iCi0gICAgImxkciB4MTksIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNF
UlZFRF9YMTlfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgbHIsIFtzcCwgIyIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBSRVNFUlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQpICJdIiAiXG4iCi0gICAg
ImFkZCBzcCwgc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihTSVpFT0ZfSklUU1RBQ0tGUkFNRSkg
IlxuIgotICAgICJyZXQiICJcbiIKLSk7Ci0KLSNkZWZpbmUgREVGSU5FX1NUVUJfRlVOQ1RJT04o
cnR5cGUsIG9wKSBcCi0gICAgZXh0ZXJuICJDIiB7IFwKLSAgICAgICAgcnR5cGUgSklUU3R1YlRo
dW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pOyBcCi0gICAgfTsgXAotICAgIGFzbSAo
IFwKLSAgICAgICAgIi5zZWN0aW9uIF9fVEVYVCxfX3RleHQscmVndWxhcixwdXJlX2luc3RydWN0
aW9ucyIgIlxuIiBcCi0gICAgICAgICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aV8jI29wKSAi
XG4iIFwKLSAgICAgICAgIi5hbGlnbiAyIiAiXG4iIFwKLSAgICAgICAgSElERV9TWU1CT0woY3Rp
XyMjb3ApICJcbiIgICAgICAgICAgICAgXAotICAgICAgICBTWU1CT0xfU1RSSU5HKGN0aV8jI29w
KSAiOiIgIlxuIiBcCi0gICAgICAgICJzdHIgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09G
KFRIVU5LX1JFVFVSTl9BRERSRVNTX09GRlNFVCkgIl0iICJcbiIgXAotICAgICAgICAiYmwgIiBT
WU1CT0xfU1RSSU5HKEpJVFN0dWJUaHVua2VkXyMjb3ApICJcbiIgXAotICAgICAgICAibGRyIGxy
LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQp
ICJdIiAiXG4iIFwKLSAgICAgICAgInJldCIgIlxuIiBcCi0gICAgICAgICk7IFwKLSAgICBydHlw
ZSBKSVRTdHViVGh1bmtlZF8jI29wKFNUVUJfQVJHU19ERUNMQVJBVElPTikgXAotCi0jZW5kaWYg
Ly8gQ09NUElMRVIoR0NDKQotCi19IC8vIG5hbWVzcGFjZSBKU0MKLQotI2VuZGlmIC8vIEpJVFN0
dWJzQVJNNjRfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic0FSTS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNBUk0uaAko
cmV2aXNpb24gMTU4NjQ3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic0FS
TS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMSArNDEsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsK
IAotLy8gQWxzbyB1cGRhdGUgdGhlIE1TVkMgc2VjdGlvbiAoZGVmaW5lZCBhdCBERUZJTkVfU1RV
Ql9GVU5DVElPTikKLS8vIHdoZW4gY2hhbmdpbmcgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVz
LgotI2RlZmluZSBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQgNjQKLSNkZWZpbmUgUFJFU0VS
VkVEUjRfT0ZGU0VUICAgICAgICAgIDY4Ci0KICNpZiBDT01QSUxFUihHQ0MpCiAKICNpZiBVU0Uo
TUFTTV9QUk9CRSkKQEAgLTE1MSwzOSArMTQ2LDYgQEAgQ09NUElMRV9BU1NFUlQoc2l6ZW9mKE1h
Y3JvQXNzZW1ibGVyOjpQcgogI2VuZGlmIC8vIFVTRShNQVNNX1BST0JFKQogCiAKLWFzbSAoCi0i
LnRleHQiICJcbiIKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICJcbiIK
LUhJREVfU1lNQk9MKGN0aVRyYW1wb2xpbmUpICJcbiIKLUlOTElORV9BUk1fRlVOQ1RJT04oY3Rp
VHJhbXBvbGluZSkKLVNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIjoiICJcbiIKLSAgICAi
c3RtZGIgc3AhLCB7cjEtcjN9IiAiXG4iCi0gICAgInN0bWRiIHNwISwge3I0LXI2LCByOC1yMTEs
IGxyfSIgIlxuIgotICAgICJzdWIgc3AsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VS
VkVEUjRfT0ZGU0VUKSAiXG4iCi0gICAgIm1vdiByNSwgcjIiICJcbiIKLSAgICAibGRyIHI0LCBb
cjVdIiAiXG4iCi0gICAgInN0ciByMTEsIFtyNF0iICJcbiIKLSAgICAvLyByMCBjb250YWlucyB0
aGUgY29kZQotICAgICJibHggcjAiICJcbiIKLSAgICAiYWRkIHNwLCBzcCwgIyIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBSRVNFUlZFRFI0X09GRlNFVCkgIlxuIgotICAgICJsZG1pYSBzcCEsIHtyNC1y
NiwgcjgtcjExLCBscn0iICJcbiIKLSAgICAiYWRkIHNwLCBzcCwgIzEyIiAiXG4iCi0gICAgImJ4
IGxyIiAiXG4iCi0pOwotCi1hc20gKAotLy8gQm90aCBoYXMgdGhlIHNhbWUgcmV0dXJuIHNlcXVl
bmNlCi0iLnRleHQiICJcbiIKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RD
YXVnaHQpICJcbiIKLUhJREVfU1lNQk9MKGN0aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKLUlOTElO
RV9BUk1fRlVOQ1RJT04oY3RpT3BUaHJvd05vdENhdWdodCkKLVNZTUJPTF9TVFJJTkcoY3RpT3BU
aHJvd05vdENhdWdodCkgIjoiICJcbiIKLSAgICAiYWRkIHNwLCBzcCwgIyIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBSRVNFUlZFRFI0X09GRlNFVCkgIlxuIgotICAgICJsZG1pYSBzcCEsIHtyNC1yNiwg
cjgtcjExLCBscn0iICJcbiIKLSAgICAiYWRkIHNwLCBzcCwgIzEyIiAiXG4iCi0gICAgImJ4IGxy
IiAiXG4iCi0pOwotCiAjaWYgVVNFKE1BU01fUFJPQkUpCiBhc20gKAogIi50ZXh0IiAiXG4iCkBA
IC0zMzIsMTQwICsyOTQsMTYgQEAgU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5l
RW5kKQogI2VuZGlmIC8vIFVTRShNQVNNX1BST0JFKQogCiAKLSNkZWZpbmUgREVGSU5FX1NUVUJf
RlVOQ1RJT04ocnR5cGUsIG9wKSBcCi0gICAgZXh0ZXJuICJDIiB7IFwKLSAgICAgICAgcnR5cGUg
SklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pOyBcCi0gICAgfTsgXAot
ICAgIGFzbSAoIFwKLSAgICAgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpXyMjb3ApICJc
biIgXAotICAgICAgICBJTkxJTkVfQVJNX0ZVTkNUSU9OKGN0aV8jI29wKSBcCi0gICAgICAgIFNZ
TUJPTF9TVFJJTkcoY3RpXyMjb3ApICI6IiAiXG4iIFwKLSAgICAgICAgInN0ciBsciwgW3NwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSAiXSIgIlxu
IiBcCi0gICAgICAgICJibCAiIFNZTUJPTF9TVFJJTkcoSklUU3R1YlRodW5rZWRfIyNvcCkgIlxu
IiBcCi0gICAgICAgICJsZHIgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFRIVU5LX1JF
VFVSTl9BRERSRVNTX09GRlNFVCkgIl0iICJcbiIgXAotICAgICAgICAiYnggbHIiICJcbiIgXAot
ICAgICAgICApOyBcCi0gICAgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVD
TEFSQVRJT04pCiAKICNlbmRpZiAvLyBDT01QSUxFUihHQ0MpCiAKICNpZiBDT01QSUxFUihSVkNU
KQogCi1fX2FzbSBFbmNvZGVkSlNWYWx1ZSBjdGlUcmFtcG9saW5lKHZvaWQqLCBKU1N0YWNrKiwg
Q2FsbEZyYW1lKiwgdm9pZCogLyp1bnVzZWQxKi8sIHZvaWQqIC8qdW51c2VkMiovLCBWTSopCi17
Ci0gICAgQVJNCi0gICAgc3RtZGIgc3AhLCB7cjEtcjN9Ci0gICAgc3RtZGIgc3AhLCB7cjQtcjYs
IHI4LXIxMSwgbHJ9Ci0gICAgc3ViIHNwLCBzcCwgIyBQUkVTRVJWRURSNF9PRkZTRVQKLSAgICBt
b3YgcjUsIHIyCi0gICAgbGRyIHI0LCBbcjVdCi0gICAgc3RyIHIxMSwgW3I0XQotICAgIG1vdiBs
ciwgcGMKLSAgICBieCByMAotICAgIGFkZCBzcCwgc3AsICMgUFJFU0VSVkVEUjRfT0ZGU0VUCi0g
ICAgbGRtaWEgc3AhLCB7cjQtcjYsIHI4LXIxMSwgbHJ9Ci0gICAgYWRkIHNwLCBzcCwgIzEyCi0g
ICAgYnggbHIKLX0KLQotX19hc20gdm9pZCBjdGlPcFRocm93Tm90Q2F1Z2h0KCkKLXsKLSAgICBB
Uk0KLSAgICBhZGQgc3AsIHNwLCAjIFBSRVNFUlZFRFI0X09GRlNFVAotICAgIGxkbWlhIHNwISwg
e3I0LXI4LCBscn0KLSAgICBhZGQgc3AsIHNwLCAjMTIKLSAgICBieCBscgotfQotCi0jZGVmaW5l
IERFRklORV9TVFVCX0ZVTkNUSU9OKHJ0eXBlLCBvcCkgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNv
cChTVFVCX0FSR1NfREVDTEFSQVRJT04pCi0KLS8qIFRoZSBmb2xsb3dpbmcgaXMgYSB3b3JrYXJv
dW5kIGZvciBSVkNUIHRvb2xjaGFpbjsgcHJlY29tcGlsZXIgbWFjcm9zIGFyZSBub3QgZXhwYW5k
ZWQgYmVmb3JlIHRoZSBjb2RlIGlzIHBhc3NlZCB0byB0aGUgYXNzZW1ibGVyICovCi0KLS8qIFRo
ZSBmb2xsb3dpbmcgc2VjdGlvbiBpcyBhIHRlbXBsYXRlIHRvIGdlbmVyYXRlIGNvZGUgZm9yIEdl
bmVyYXRlZEpJVFN0dWJzX1JWQ1QuaCAqLwotLyogVGhlIHBhdHRlcm4gIiN4eHgjIiB3aWxsIGJl
IHJlcGxhY2VkIHdpdGggInh4eCIgKi8KLQotLyoKLVJWQ1QoZXh0ZXJuICJDIiAjcnR5cGUjIEpJ
VFN0dWJUaHVua2VkXyNvcCMoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTspCi1SVkNUKF9fYXNtICNy
dHlwZSMgY3RpXyNvcCMoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKSkKLVJWQ1QoeykKLVJWQ1QoICAg
IFBSRVNFUlZFOCkKLVJWQ1QoICAgIElNUE9SVCBKSVRTdHViVGh1bmtlZF8jb3AjKQotUlZDVCgg
ICAgc3RyIGxyLCBbc3AsICMgVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZGU0VUXSkKLVJWQ1QoICAg
IGJsIEpJVFN0dWJUaHVua2VkXyNvcCMpCi1SVkNUKCAgICBsZHIgbHIsIFtzcCwgIyBUSFVOS19S
RVRVUk5fQUREUkVTU19PRkZTRVRdKQotUlZDVCggICAgYnggbHIpCi1SVkNUKH0pCi1SVkNUKCkK
LSovCi0KIC8qIEluY2x1ZGUgdGhlIGdlbmVyYXRlZCBmaWxlICovCiAjaW5jbHVkZSAiR2VuZXJh
dGVkSklUU3R1YnNfUlZDVC5oIgogCiAjZW5kaWYgLy8gQ09NUElMRVIoUlZDVCkKIAotI2lmIENP
TVBJTEVSKE1TVkMpCi0KLSNkZWZpbmUgREVGSU5FX1NUVUJfRlVOQ1RJT04ocnR5cGUsIG9wKSBl
eHRlcm4gIkMiIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RFQ0xBUkFUSU9O
KQotCi0vKiBUaGUgZm9sbG93aW5nIGlzIGEgd29ya2Fyb3VuZCBmb3IgTVNWQyB0b29sY2hhaW47
IGlubGluZSBhc3NlbWJsZXIgaXMgbm90IHN1cHBvcnRlZCAqLwotCi0vKiBUaGUgZm9sbG93aW5n
IHNlY3Rpb24gaXMgYSB0ZW1wbGF0ZSB0byBnZW5lcmF0ZSBjb2RlIGZvciBHZW5lcmF0ZWRKSVRT
dHVic19NU1ZDLmFzbSAqLwotLyogVGhlIHBhdHRlcm4gIiN4eHgjIiB3aWxsIGJlIHJlcGxhY2Vk
IHdpdGggInh4eCIgKi8KLQotLyoKLU1TVkNfQkVHSU4oICAgIEFSRUEgVHJhbXBvbGluZSwgQ09E
RSkKLU1TVkNfQkVHSU4oKQotTVNWQ19CRUdJTiggICAgRVhQT1JUIGN0aVRyYW1wb2xpbmUpCi1N
U1ZDX0JFR0lOKCAgICBFWFBPUlQgY3RpVHJhbXBvbGluZUVuZCkKLU1TVkNfQkVHSU4oICAgIEVY
UE9SVCBjdGlPcFRocm93Tm90Q2F1Z2h0KQotTVNWQ19CRUdJTiggICAgRVhQT1JUIGdldEhvc3RD
YWxsUmV0dXJuVmFsdWUpCi1NU1ZDX0JFR0lOKCAgICBJTVBPUlQgZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZVdpdGhFeGVjU3RhdGUpCi1NU1ZDX0JFR0lOKCkKLU1TVkNfQkVHSU4oY3RpVHJhbXBvbGlu
ZSBQUk9DKQotTVNWQ19CRUdJTiggICAgc3RtZGIgc3AhLCB7cjEtcjN9KQotTVNWQ19CRUdJTigg
ICAgc3RtZGIgc3AhLCB7cjQtcjYsIHI4LXIxMSwgbHJ9KQotTVNWQ19CRUdJTiggICAgc3ViIHNw
LCBzcCwgIzY4IDsgc3luYyB3aXRoIFBSRVNFUlZFRFI0X09GRlNFVCkKLU1TVkNfQkVHSU4oICAg
IG1vdiByNSwgcjIpCi1NU1ZDX0JFR0lOKCAgICBsZHIgcjQsIFtyNV0pCi1NU1ZDX0JFR0lOKCAg
ICBzdHIgcjExLCBbcjRdKQotTVNWQ19CRUdJTiggICAgOyByMCBjb250YWlucyB0aGUgY29kZSkK
LU1TVkNfQkVHSU4oICAgIG1vdiBsciwgcGMpCi1NU1ZDX0JFR0lOKCAgICBieCByMCkKLU1TVkNf
QkVHSU4oICAgIGFkZCBzcCwgc3AsICM2OCA7IHN5bmMgd2l0aCBQUkVTRVJWRURSNF9PRkZTRVQp
Ci1NU1ZDX0JFR0lOKCAgICBsZG1pYSBzcCEsIHtyNC1yNiwgcjgtcjExLCBscn0pCi1NU1ZDX0JF
R0lOKCAgICBhZGQgc3AsIHNwLCAjMTIpCi1NU1ZDX0JFR0lOKCAgICBieCBscikKLU1TVkNfQkVH
SU4oY3RpVHJhbXBvbGluZUVuZCkKLU1TVkNfQkVHSU4oY3RpVHJhbXBvbGluZSBFTkRQKQotTVNW
Q19CRUdJTigpCi1NU1ZDX0JFR0lOKGN0aU9wVGhyb3dOb3RDYXVnaHQgUFJPQykKLU1TVkNfQkVH
SU4oICAgIGFkZCBzcCwgc3AsICM2OCA7IHN5bmMgd2l0aCBQUkVTRVJWRURSNF9PRkZTRVQpCi1N
U1ZDX0JFR0lOKCAgICBsZG1pYSBzcCEsIHtyNC1yNiwgcjgtcjExLCBscn0pCi1NU1ZDX0JFR0lO
KCAgICBhZGQgc3AsIHNwLCAjMTIpCi1NU1ZDX0JFR0lOKCAgICBieCBscikKLU1TVkNfQkVHSU4o
Y3RpT3BUaHJvd05vdENhdWdodCBFTkRQKQotTVNWQ19CRUdJTigpCi1NU1ZDX0JFR0lOKGdldEhv
c3RDYWxsUmV0dXJuVmFsdWUgUFJPQykKLU1TVkNfQkVHSU4oICAgIGxkciByNSwgW3I1LCAjNDBd
KQotTVNWQ19CRUdJTiggICAgbW92IHIwLCByNSkKLU1TVkNfQkVHSU4oICAgIGIgZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpCi1NU1ZDX0JFR0lOKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUgRU5EUCkKLU1TVkNfQkVHSU4oKQotCi1NU1ZDKCAgICBFWFBPUlQgY3RpXyNvcCMpCi1N
U1ZDKCAgICBJTVBPUlQgSklUU3R1YlRodW5rZWRfI29wIykKLU1TVkMoY3RpXyNvcCMgUFJPQykK
LU1TVkMoICAgIHN0ciBsciwgW3NwLCAjNjRdIDsgc3luYyB3aXRoIFRIVU5LX1JFVFVSTl9BRERS
RVNTX09GRlNFVCkKLU1TVkMoICAgIGJsIEpJVFN0dWJUaHVua2VkXyNvcCMpCi1NU1ZDKCAgICBs
ZHIgbHIsIFtzcCwgIzY0XSA7IHN5bmMgd2l0aCBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQp
Ci1NU1ZDKCAgICBieCBscikKLU1TVkMoY3RpXyNvcCMgRU5EUCkKLU1TVkMoKQotCi1NU1ZDX0VO
RCggICAgRU5EKQotKi8KLSNlbmRpZiAvLyBDT01QSUxFUihNU1ZDKQotCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAogI2VuZGlmIC8vIEpJVFN0dWJzQVJNX2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUU3R1YnNBUk12Ny5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUU3R1YnNBUk12Ny5oCShyZXZpc2lvbiAxNTg2NDcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNdjcuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTkg
KzQxLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNkZWZpbmUgVEhVTktfUkVUVVJOX0FERFJF
U1NfT0ZGU0VUICAgICAgMHgzOAotI2RlZmluZSBQUkVTRVJWRURfUkVUVVJOX0FERFJFU1NfT0ZG
U0VUICAweDNDCi0jZGVmaW5lIFBSRVNFUlZFRF9SNF9PRkZTRVQgICAgICAgICAgICAgIDB4NDAK
LSNkZWZpbmUgUFJFU0VSVkVEX1I1X09GRlNFVCAgICAgICAgICAgICAgMHg0NAotI2RlZmluZSBQ
UkVTRVJWRURfUjZfT0ZGU0VUICAgICAgICAgICAgICAweDQ4Ci0jZGVmaW5lIFBSRVNFUlZFRF9S
N19PRkZTRVQgICAgICAgICAgICAgIDB4NEMKLSNkZWZpbmUgUFJFU0VSVkVEX1I4X09GRlNFVCAg
ICAgICAgICAgICAgMHg1MAotI2RlZmluZSBQUkVTRVJWRURfUjlfT0ZGU0VUICAgICAgICAgICAg
ICAweDU0Ci0jZGVmaW5lIFBSRVNFUlZFRF9SMTBfT0ZGU0VUICAgICAgICAgICAgIDB4NTgKLSNk
ZWZpbmUgUFJFU0VSVkVEX1IxMV9PRkZTRVQgICAgICAgICAgICAgMHg1QwotI2RlZmluZSBSRUdJ
U1RFUl9GSUxFX09GRlNFVCAgICAgICAgICAgICAweDYwCi0jZGVmaW5lIEZJUlNUX1NUQUNLX0FS
R1VNRU5UICAgICAgICAgICAgIDB4NjgKLQogI2lmIENPTVBJTEVSKEdDQykKIAogI2lmIFVTRShN
QVNNX1BST0JFKQpAQCAtMTk4LDY3ICsxODUsNiBAQCBDT01QSUxFX0FTU0VSVChzaXplb2YoTWFj
cm9Bc3NlbWJsZXI6OlByCiAKICN1bmRlZiBQUk9CRV9PRkZTRVRPRgogCi0jZW5kaWYgLy8gVVNF
KE1BU01fUFJPQkUpCi0KLQotYXNtICgKLSIudGV4dCIgIlxuIgotIi5hbGlnbiAyIiAiXG4iCi0i
Lmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4iCi1ISURFX1NZTUJPTChj
dGlUcmFtcG9saW5lKSAiXG4iCi0iLnRodW1iIiAiXG4iCi0iLnRodW1iX2Z1bmMgIiBUSFVNQl9G
VU5DX1BBUkFNKGN0aVRyYW1wb2xpbmUpICJcbiIKLVNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGlu
ZSkgIjoiICJcbiIKLSAgICAic3ViIHNwLCBzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKEZJUlNU
X1NUQUNLX0FSR1VNRU5UKSAiXG4iCi0gICAgInN0ciBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJFU0VSVkVEX1JFVFVSTl9BRERSRVNTX09GRlNFVCkgIl0iICJcbiIKLSAgICAic3Ry
IHI0LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUjRfT0ZGU0VUKSAiXSIg
IlxuIgotICAgICJzdHIgcjUsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9S
NV9PRkZTRVQpICJdIiAiXG4iCi0gICAgInN0ciByNiwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJFU0VSVkVEX1I2X09GRlNFVCkgIl0iICJcbiIKLSAgICAic3RyIHI3LCBbc3AsICMiIFNU
UklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUjdfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJzdHIg
cjgsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SOF9PRkZTRVQpICJdIiAi
XG4iCi0gICAgInN0ciByOSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1I5
X09GRlNFVCkgIl0iICJcbiIKLSAgICAic3RyIHIxMCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJFU0VSVkVEX1IxMF9PRkZTRVQpICJdIiAiXG4iCi0gICAgInN0ciByMTEsIFtzcCwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SMTFfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJz
dHIgcjEsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFJFR0lTVEVSX0ZJTEVfT0ZGU0VUKSAi
XSIgIlxuIgotICAgICJtb3YgcjUsIHIyIiAiXG4iCi0gICAgImxkciByNCwgW3I1XSIgIlxuIgot
ICAgICJzdHIgcjcsIFtyNF0iICJcbiIKLSAgICAiYmx4IHIwIiAiXG4iCi0gICAgImxkciByMTEs
IFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SMTFfT0ZGU0VUKSAiXSIgIlxu
IgotICAgICJsZHIgcjEwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUjEw
X09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyIHI5LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9P
RihQUkVTRVJWRURfUjlfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgcjgsIFtzcCwgIyIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SOF9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciBy
NywgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1I3X09GRlNFVCkgIl0iICJc
biIKLSAgICAibGRyIHI2LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUjZf
T0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgcjUsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBSRVNFUlZFRF9SNV9PRkZTRVQpICJdIiAiXG4iCi0gICAgImxkciByNCwgW3NwLCAjIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1I0X09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyIGxy
LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUkVUVVJOX0FERFJFU1NfT0ZG
U0VUKSAiXSIgIlxuIgotICAgICJhZGQgc3AsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoRklS
U1RfU1RBQ0tfQVJHVU1FTlQpICJcbiIKLSAgICAiYnggbHIiICJcbiIKLSk7Ci0KLWFzbSAoCi0i
LnRleHQiICJcbiIKLSIuYWxpZ24gMiIgIlxuIgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3Rp
T3BUaHJvd05vdENhdWdodCkgIlxuIgotSElERV9TWU1CT0woY3RpT3BUaHJvd05vdENhdWdodCkg
IlxuIgotIi50aHVtYiIgIlxuIgotIi50aHVtYl9mdW5jICIgVEhVTUJfRlVOQ19QQVJBTShjdGlP
cFRocm93Tm90Q2F1Z2h0KSAiXG4iCi1TWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQp
ICI6IiAiXG4iCi0gICAgImxkciByMTEsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNF
UlZFRF9SMTFfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgcjEwLCBbc3AsICMiIFNUUklOR0la
RV9WQUxVRV9PRihQUkVTRVJWRURfUjEwX09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyIHI5LCBb
c3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUjlfT0ZGU0VUKSAiXSIgIlxuIgot
ICAgICJsZHIgcjgsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SOF9PRkZT
RVQpICJdIiAiXG4iCi0gICAgImxkciByNywgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJF
U0VSVkVEX1I3X09GRlNFVCkgIl0iICJcbiIKLSAgICAibGRyIHI2LCBbc3AsICMiIFNUUklOR0la
RV9WQUxVRV9PRihQUkVTRVJWRURfUjZfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJsZHIgcjUsIFtz
cCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9SNV9PRkZTRVQpICJdIiAiXG4iCi0g
ICAgImxkciByNCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1I0X09GRlNF
VCkgIl0iICJcbiIKLSAgICAibGRyIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUkVT
RVJWRURfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSAiXSIgIlxuIgotICAgICJhZGQgc3AsIHNwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoRklSU1RfU1RBQ0tfQVJHVU1FTlQpICJcbiIKLSAgICAiYngg
bHIiICJcbiIKLSk7Ci0KLSNpZiBVU0UoTUFTTV9QUk9CRSkKIGFzbSAoCiAiLnRleHQiICJcbiIK
ICIuYWxpZ24gMiIgIlxuIgpAQCAtNDE4LDk4ICszNDQsMTAgQEAgU1lNQk9MX1NUUklORyhjdGlN
YXNtUHJvYmVUcmFtcG9saW5lRW5kKQogKTsKICNlbmRpZiAvLyBVU0UoTUFTTV9QUk9CRSkKIAot
Ci0jZGVmaW5lIERFRklORV9TVFVCX0ZVTkNUSU9OKHJ0eXBlLCBvcCkgXAotICAgIGV4dGVybiAi
QyIgeyBcCi0gICAgICAgIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RFQ0xB
UkFUSU9OKTsgXAotICAgIH07IFwKLSAgICBhc20gKCBcCi0gICAgICAgICIudGV4dCIgIlxuIiBc
Ci0gICAgICAgICIuYWxpZ24gMiIgIlxuIiBcCi0gICAgICAgICIuZ2xvYmwgIiBTWU1CT0xfU1RS
SU5HKGN0aV8jI29wKSAiXG4iIFwKLSAgICAgICAgSElERV9TWU1CT0woY3RpXyMjb3ApICJcbiIg
ICAgICAgICAgICAgXAotICAgICAgICAiLnRodW1iIiAiXG4iIFwKLSAgICAgICAgIi50aHVtYl9m
dW5jICIgVEhVTUJfRlVOQ19QQVJBTShjdGlfIyNvcCkgIlxuIiBcCi0gICAgICAgIFNZTUJPTF9T
VFJJTkcoY3RpXyMjb3ApICI6IiAiXG4iIFwKLSAgICAgICAgInN0ciBsciwgW3NwLCAjIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSAiXSIgIlxuIiBcCi0g
ICAgICAgICJibCAiIFNZTUJPTF9TVFJJTkcoSklUU3R1YlRodW5rZWRfIyNvcCkgIlxuIiBcCi0g
ICAgICAgICJsZHIgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFRIVU5LX1JFVFVSTl9B
RERSRVNTX09GRlNFVCkgIl0iICJcbiIgXAotICAgICAgICAiYnggbHIiICJcbiIgXAotICAgICAg
ICApOyBcCi0gICAgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJ
T04pIFwKLQogI2VuZGlmIC8vIENPTVBJTEVSKEdDQykKIAogI2lmIENPTVBJTEVSKFJWQ1QpCiAK
LV9fYXNtIEVuY29kZWRKU1ZhbHVlIGN0aVRyYW1wb2xpbmUodm9pZCosIEpTU3RhY2sqLCBDYWxs
RnJhbWUqLCB2b2lkKiAvKnVudXNlZDEqLywgdm9pZCogLyp1bnVzZWQyKi8sIFZNKikKLXsKLSAg
ICBQUkVTRVJWRTgKLSAgICBzdWIgc3AsIHNwLCAjIEZJUlNUX1NUQUNLX0FSR1VNRU5UCi0gICAg
c3RyIGxyLCBbc3AsICMgUFJFU0VSVkVEX1JFVFVSTl9BRERSRVNTX09GRlNFVCBdCi0gICAgc3Ry
IHI0LCBbc3AsICMgUFJFU0VSVkVEX1I0X09GRlNFVCBdCi0gICAgc3RyIHI1LCBbc3AsICMgUFJF
U0VSVkVEX1I1X09GRlNFVCBdCi0gICAgc3RyIHI2LCBbc3AsICMgUFJFU0VSVkVEX1I2X09GRlNF
VCBdCi0gICAgc3RyIHI3LCBbc3AsICMgUFJFU0VSVkVEX1I3X09GRlNFVCBdCi0gICAgc3RyIHI4
LCBbc3AsICMgUFJFU0VSVkVEX1I4X09GRlNFVCBdCi0gICAgc3RyIHI5LCBbc3AsICMgUFJFU0VS
VkVEX1I5X09GRlNFVCBdCi0gICAgc3RyIHIxMCwgW3NwLCAjIFBSRVNFUlZFRF9SMTBfT0ZGU0VU
IF0KLSAgICBzdHIgcjExLCBbc3AsICMgUFJFU0VSVkVEX1IxMV9PRkZTRVQgXQotICAgIHN0ciBy
MSwgW3NwLCAjIFJFR0lTVEVSX0ZJTEVfT0ZGU0VUIF0KLSAgICBtb3YgcjUsIHIyCi0gICAgbGRy
IHI0LCBbcjVdCi0gICAgc3RyIHI3LCBbcjRdCi0gICAgYmx4IHIwCi0gICAgbGRyIHIxMSwgW3Nw
LCAjIFBSRVNFUlZFRF9SMTFfT0ZGU0VUIF0KLSAgICBsZHIgcjEwLCBbc3AsICMgUFJFU0VSVkVE
X1IxMF9PRkZTRVQgXQotICAgIGxkciByOSwgW3NwLCAjIFBSRVNFUlZFRF9SOV9PRkZTRVQgXQot
ICAgIGxkciByOCwgW3NwLCAjIFBSRVNFUlZFRF9SOF9PRkZTRVQgXQotICAgIGxkciByNywgW3Nw
LCAjIFBSRVNFUlZFRF9SN19PRkZTRVQgXQotICAgIGxkciByNiwgW3NwLCAjIFBSRVNFUlZFRF9S
Nl9PRkZTRVQgXQotICAgIGxkciByNSwgW3NwLCAjIFBSRVNFUlZFRF9SNV9PRkZTRVQgXQotICAg
IGxkciByNCwgW3NwLCAjIFBSRVNFUlZFRF9SNF9PRkZTRVQgXQotICAgIGxkciBsciwgW3NwLCAj
IFBSRVNFUlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQgXQotICAgIGFkZCBzcCwgc3AsICMgRklS
U1RfU1RBQ0tfQVJHVU1FTlQKLSAgICBieCBscgotfQotCi1fX2FzbSB2b2lkIGN0aU9wVGhyb3dO
b3RDYXVnaHQoKQotewotICAgIFBSRVNFUlZFOAotICAgIGxkciByMTEsIFtzcCwgIyBQUkVTRVJW
RURfUjExX09GRlNFVCBdCi0gICAgbGRyIHIxMCwgW3NwLCAjIFBSRVNFUlZFRF9SMTBfT0ZGU0VU
IF0KLSAgICBsZHIgcjksIFtzcCwgIyBQUkVTRVJWRURfUjlfT0ZGU0VUIF0KLSAgICBsZHIgcjgs
IFtzcCwgIyBQUkVTRVJWRURfUjhfT0ZGU0VUIF0KLSAgICBsZHIgcjcsIFtzcCwgIyBQUkVTRVJW
RURfUjdfT0ZGU0VUIF0KLSAgICBsZHIgcjYsIFtzcCwgIyBQUkVTRVJWRURfUjZfT0ZGU0VUIF0K
LSAgICBsZHIgcjUsIFtzcCwgIyBQUkVTRVJWRURfUjVfT0ZGU0VUIF0KLSAgICBsZHIgcjQsIFtz
cCwgIyBQUkVTRVJWRURfUjRfT0ZGU0VUIF0KLSAgICBsZHIgbHIsIFtzcCwgIyBQUkVTRVJWRURf
UkVUVVJOX0FERFJFU1NfT0ZGU0VUIF0KLSAgICBhZGQgc3AsIHNwLCAjIEZJUlNUX1NUQUNLX0FS
R1VNRU5UCi0gICAgYnggbHIKLX0KLQotI2RlZmluZSBERUZJTkVfU1RVQl9GVU5DVElPTihydHlw
ZSwgb3ApIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKQot
Ci0vKiBUaGUgZm9sbG93aW5nIGlzIGEgd29ya2Fyb3VuZCBmb3IgUlZDVCB0b29sY2hhaW47IHBy
ZWNvbXBpbGVyIG1hY3JvcyBhcmUgbm90IGV4cGFuZGVkIGJlZm9yZSB0aGUgY29kZSBpcyBwYXNz
ZWQgdG8gdGhlIGFzc2VtYmxlciAqLwotCi0vKiBUaGUgZm9sbG93aW5nIHNlY3Rpb24gaXMgYSB0
ZW1wbGF0ZSB0byBnZW5lcmF0ZSBjb2RlIGZvciBHZW5lcmF0ZWRKSVRTdHVic19SVkNULmggKi8K
LS8qIFRoZSBwYXR0ZXJuICIjeHh4IyIgd2lsbCBiZSByZXBsYWNlZCB3aXRoICJ4eHgiICovCi0K
LS8qCi1SVkNUKGV4dGVybiAiQyIgI3J0eXBlIyBKSVRTdHViVGh1bmtlZF8jb3AjKFNUVUJfQVJH
U19ERUNMQVJBVElPTik7KQotUlZDVChfX2FzbSAjcnR5cGUjIGN0aV8jb3AjKFNUVUJfQVJHU19E
RUNMQVJBVElPTikpCi1SVkNUKHspCi1SVkNUKCAgICBQUkVTRVJWRTgpCi1SVkNUKCAgICBJTVBP
UlQgSklUU3R1YlRodW5rZWRfI29wIykKLVJWQ1QoICAgIHN0ciBsciwgW3NwLCAjIFRIVU5LX1JF
VFVSTl9BRERSRVNTX09GRlNFVF0pCi1SVkNUKCAgICBibCBKSVRTdHViVGh1bmtlZF8jb3AjKQot
UlZDVCggICAgbGRyIGxyLCBbc3AsICMgVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZGU0VUXSkKLVJW
Q1QoICAgIGJ4IGxyKQotUlZDVCh9KQotUlZDVCgpCi0qLwotCiAvKiBJbmNsdWRlIHRoZSBnZW5l
cmF0ZWQgZmlsZSAqLwogI2luY2x1ZGUgIkdlbmVyYXRlZEpJVFN0dWJzX1JWQ1QuaCIKIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic01JUFMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzTUlQUy5oCShyZXZpc2lvbiAxNTg2
NDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzTUlQUy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDE4MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5
LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykg
MjAwOCBDYW1lcm9uIFp3YXJpY2ggPGN3endhcmljaEB1d2F0ZXJsb28uY2E+Ci0gKiBDb3B5cmln
aHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAsIDIwMTEuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKLSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2lmbmRlZiBKSVRTdHVic01JUFNfaAotI2RlZmluZSBKSVRTdHVic01JUFNfaAot
Ci0jaWYgIUNQVShNSVBTKQotI2Vycm9yICJKSVRTdHVic01JUFMuaCBzaG91bGQgb25seSBiZSAj
aW5jbHVkZWQgaWYgQ1BVKE1JUFMpIgotI2VuZGlmCi0KLSNpZiAhVVNFKEpTVkFMVUUzMl82NCkK
LSNlcnJvciAiSklUU3R1YnNNSVBTLmggb25seSBpbXBsZW1lbnRzIFVTRShKU1ZBTFVFMzJfNjQp
IgotI2VuZGlmCi0KLW5hbWVzcGFjZSBKU0MgewotCi0jZGVmaW5lIFBSRVNFUlZFRF9HUF9PRkZT
RVQgICAgICAgICA2MAotI2RlZmluZSBQUkVTRVJWRURfUzBfT0ZGU0VUICAgICAgICAgNjQKLSNk
ZWZpbmUgUFJFU0VSVkVEX1MxX09GRlNFVCAgICAgICAgIDY4Ci0jZGVmaW5lIFBSRVNFUlZFRF9T
Ml9PRkZTRVQgICAgICAgICA3MgotI2RlZmluZSBQUkVTRVJWRURfUzNfT0ZGU0VUICAgICAgICAg
NzYKLSNkZWZpbmUgUFJFU0VSVkVEX1M0X09GRlNFVCAgICAgICAgIDgwCi0jZGVmaW5lIFBSRVNF
UlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQgODQKLSNkZWZpbmUgVEhVTktfUkVUVVJOX0FERFJF
U1NfT0ZGU0VUIDg4Ci0jZGVmaW5lIFJFR0lTVEVSX0ZJTEVfT0ZGU0VUICAgICAgICA5MgotI2Rl
ZmluZSBWTV9PRkZTRVQgICAgICAgICAgICAgICAgICAxMDgKLSNkZWZpbmUgU1RBQ0tfTEVOR1RI
ICAgICAgICAgICAgICAgMTEyCi0KLWFzbSAoCi0iLnRleHQiICJcbiIKLSIuYWxpZ24gMiIgIlxu
IgotIi5zZXQgbm9yZW9yZGVyIiAiXG4iCi0iLnNldCBub21hY3JvIiAiXG4iCi0iLnNldCBub21p
cHMxNiIgIlxuIgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIlxuIgot
Ii5lbnQgIiBTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICJcbiIKLVNZTUJPTF9TVFJJTkco
Y3RpVHJhbXBvbGluZSkgIjoiICJcbiIKLSAgICAiYWRkaXUgJDI5LCQyOSwtIiBTVFJJTkdJWkVf
VkFMVUVfT0YoU1RBQ0tfTEVOR1RIKSAiXG4iCi0gICAgInN3ICAgICQzMSwiIFNUUklOR0laRV9W
QUxVRV9PRihQUkVTRVJWRURfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSAiKCQyOSkiICJcbiIKLSAg
ICAic3cgICAgJDIwLCIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9TNF9PRkZTRVQpICIo
JDI5KSIgIlxuIgotICAgICJzdyAgICAkMTksIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVE
X1MzX09GRlNFVCkgIigkMjkpIiAiXG4iCi0gICAgInN3ICAgICQxOCwiIFNUUklOR0laRV9WQUxV
RV9PRihQUkVTRVJWRURfUzJfT0ZGU0VUKSAiKCQyOSkiICJcbiIKLSAgICAic3cgICAgJDE3LCIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZFRF9TMV9PRkZTRVQpICIoJDI5KSIgIlxuIgotICAg
ICJzdyAgICAkMTYsIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1MwX09GRlNFVCkgIigk
MjkpIiAiXG4iCi0jaWYgV1RGX01JUFNfUElDCi0gICAgInN3ICAgICQyOCwiIFNUUklOR0laRV9W
QUxVRV9PRihQUkVTRVJWRURfR1BfT0ZGU0VUKSAiKCQyOSkiICJcbiIKLSNlbmRpZgotICAgICJs
dyAgICAkMTgsICgkNikgICAgIyBnZXQgY2FsbGVyJ3MgZnJhbWUiICJcbiIKLSAgICAic3cgICAg
JDMwLCAoJDE4KSAgICMgc3RvcmUgcHJldmlvdXMgZnJhbWUgcG9pbnRlciBpbiBWTSBlbnRyeSBz
ZW50aW5hbCBmcmFtZSIgIlxuIgotICAgICJtb3ZlICAkMTYsJDYgICAgICAgIyBzZXQgY2FsbEZy
YW1lUmVnaXN0ZXIiICJcbiIKLSAgICAibGkgICAgJDE3LDUxMiAgICAgICMgc2V0IHRpbWVvdXRD
aGVja1JlZ2lzdGVyIiAiXG4iCi0gICAgIm1vdmUgICQyNSwkNCAgICAgICAjIG1vdmUgZXhlY3V0
YWJsZUFkZHJlc3MgdG8gdDkiICJcbiIKLSAgICAic3cgICAgJDUsIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUkVHSVNURVJfRklMRV9PRkZTRVQpICIoJDI5KSAjIHN0b3JlIEpTU3RhY2sgdG8gY3VycmVu
dCBzdGFjayIgIlxuIgotICAgICJsdyAgICAkOSwiIFNUUklOR0laRV9WQUxVRV9PRihTVEFDS19M
RU5HVEggKyAyMCkgIigkMjkpICAgICMgbG9hZCB2bSBmcm9tIHByZXZpb3VzIHN0YWNrIiAiXG4i
Ci0gICAgImphbHIgICQyNSIgIlxuIgotICAgICJzdyAgICAkOSwiIFNUUklOR0laRV9WQUxVRV9P
RihWTV9PRkZTRVQpICIoJDI5KSAgICMgc3RvcmUgdm0gdG8gY3VycmVudCBzdGFjayIgIlxuIgot
ICAgICJsdyAgICAkMTYsIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1MwX09GRlNFVCkg
IigkMjkpIiAiXG4iCi0gICAgImx3ICAgICQxNywiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJW
RURfUzFfT0ZGU0VUKSAiKCQyOSkiICJcbiIKLSAgICAibHcgICAgJDE4LCIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBSRVNFUlZFRF9TMl9PRkZTRVQpICIoJDI5KSIgIlxuIgotICAgICJsdyAgICAkMTks
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1MzX09GRlNFVCkgIigkMjkpIiAiXG4iCi0g
ICAgImx3ICAgICQyMCwiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUzRfT0ZGU0VUKSAi
KCQyOSkiICJcbiIKLSAgICAibHcgICAgJDMxLCIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNFUlZF
RF9SRVRVUk5fQUREUkVTU19PRkZTRVQpICIoJDI5KSIgIlxuIgotICAgICJqciAgICAkMzEiICJc
biIKLSAgICAiYWRkaXUgJDI5LCQyOSwiIFNUUklOR0laRV9WQUxVRV9PRihTVEFDS19MRU5HVEgp
ICJcbiIKLSIuc2V0IHJlb3JkZXIiICJcbiIKLSIuc2V0IG1hY3JvIiAiXG4iCi0iLmVuZCAiIFNZ
TUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIlxuIgotKTsKLQotYXNtICgKLSIudGV4dCIgIlxu
IgotIi5hbGlnbiAyIiAiXG4iCi0iLnNldCBub3Jlb3JkZXIiICJcbiIKLSIuc2V0IG5vbWFjcm8i
ICJcbiIKLSIuc2V0IG5vbWlwczE2IiAiXG4iCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlP
cFRocm93Tm90Q2F1Z2h0KSAiXG4iCi0iLmVudCAiIFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05v
dENhdWdodCkgIlxuIgotU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIgIlxu
IgotICAgICJsdyAgICAkMTYsIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1MwX09GRlNF
VCkgIigkMjkpIiAiXG4iCi0gICAgImx3ICAgICQxNywiIFNUUklOR0laRV9WQUxVRV9PRihQUkVT
RVJWRURfUzFfT0ZGU0VUKSAiKCQyOSkiICJcbiIKLSAgICAibHcgICAgJDE4LCIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBSRVNFUlZFRF9TMl9PRkZTRVQpICIoJDI5KSIgIlxuIgotICAgICJsdyAgICAk
MTksIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJFU0VSVkVEX1MzX09GRlNFVCkgIigkMjkpIiAiXG4i
Ci0gICAgImx3ICAgICQyMCwiIFNUUklOR0laRV9WQUxVRV9PRihQUkVTRVJWRURfUzRfT0ZGU0VU
KSAiKCQyOSkiICJcbiIKLSAgICAibHcgICAgJDMxLCIgU1RSSU5HSVpFX1ZBTFVFX09GKFBSRVNF
UlZFRF9SRVRVUk5fQUREUkVTU19PRkZTRVQpICIoJDI5KSIgIlxuIgotICAgICJqciAgICAkMzEi
ICJcbiIKLSAgICAiYWRkaXUgJDI5LCQyOSwiIFNUUklOR0laRV9WQUxVRV9PRihTVEFDS19MRU5H
VEgpICJcbiIKLSIuc2V0IHJlb3JkZXIiICJcbiIKLSIuc2V0IG1hY3JvIiAiXG4iCi0iLmVuZCAi
IFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIlxuIgotKTsKLQotCi0jaWYgV1RG
X01JUFNfUElDCi0jZGVmaW5lIERFRklORV9TVFVCX0ZVTkNUSU9OKHJ0eXBlLCBvcCkgXAotICAg
IGV4dGVybiAiQyIgeyBcCi0gICAgICAgIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9B
UkdTX0RFQ0xBUkFUSU9OKTsgXAotICAgIH07IFwKLSAgICBhc20gKCBcCi0gICAgICAgICIudGV4
dCIgIlxuIiBcCi0gICAgICAgICIuYWxpZ24gMiIgIlxuIiBcCi0gICAgICAgICIuc2V0IG5vcmVv
cmRlciIgIlxuIiBcCi0gICAgICAgICIuc2V0IG5vbWFjcm8iICJcbiIgXAotICAgICAgICAiLnNl
dCBub21pcHMxNiIgIlxuIiBcCi0gICAgICAgICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aV8j
I29wKSAiXG4iIFwKLSAgICAgICAgIi5lbnQgIiBTWU1CT0xfU1RSSU5HKGN0aV8jI29wKSAiXG4i
IFwKLSAgICAgICAgU1lNQk9MX1NUUklORyhjdGlfIyNvcCkgIjoiICJcbiIgXAotICAgICAgICAi
LnNldCBtYWNybyIgIlxuIiBcCi0gICAgICAgICIuY3Bsb2FkICQyNSIgIlxuIiBcCi0gICAgICAg
ICJzdyAgICAkMzEsIiBTVFJJTkdJWkVfVkFMVUVfT0YoVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZG
U0VUKSAiKCQyOSkiICJcbiIgXAotICAgICAgICAibGEgICAgJDI1LCIgU1lNQk9MX1NUUklORyhK
SVRTdHViVGh1bmtlZF8jI29wKSAiXG4iIFwKLSAgICAgICAgIi5zZXQgbm9tYWNybyIgIlxuIiBc
Ci0gICAgICAgICIucmVsb2MgMWYsUl9NSVBTX0pBTFIsIiBTWU1CT0xfU1RSSU5HKEpJVFN0dWJU
aHVua2VkXyMjb3ApICJcbiIgXAotICAgICAgICAiMTogamFsciAkMjUiICJcbiIgXAotICAgICAg
ICAibm9wIiAiXG4iIFwKLSAgICAgICAgImx3ICAgICQzMSwiIFNUUklOR0laRV9WQUxVRV9PRihU
SFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQpICIoJDI5KSIgIlxuIiBcCi0gICAgICAgICJqciAg
ICAkMzEiICJcbiIgXAotICAgICAgICAibm9wIiAiXG4iIFwKLSAgICAgICAgIi5zZXQgcmVvcmRl
ciIgIlxuIiBcCi0gICAgICAgICIuc2V0IG1hY3JvIiAiXG4iIFwKLSAgICAgICAgIi5lbmQgIiBT
WU1CT0xfU1RSSU5HKGN0aV8jI29wKSAiXG4iIFwKLSAgICAgICAgKTsgXAotICAgIHJ0eXBlIEpJ
VFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKQotCi0jZWxzZSAvLyBXVEZf
TUlQU19QSUMKLSNkZWZpbmUgREVGSU5FX1NUVUJfRlVOQ1RJT04ocnR5cGUsIG9wKSBcCi0gICAg
ZXh0ZXJuICJDIiB7IFwKLSAgICAgICAgcnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FS
R1NfREVDTEFSQVRJT04pOyBcCi0gICAgfTsgXAotICAgIGFzbSAoIFwKLSAgICAgICAgIi50ZXh0
IiAiXG4iIFwKLSAgICAgICAgIi5hbGlnbiAyIiAiXG4iIFwKLSAgICAgICAgIi5zZXQgbm9yZW9y
ZGVyIiAiXG4iIFwKLSAgICAgICAgIi5zZXQgbm9tYWNybyIgIlxuIiBcCi0gICAgICAgICIuc2V0
IG5vbWlwczE2IiAiXG4iIFwKLSAgICAgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpXyMj
b3ApICJcbiIgXAotICAgICAgICAiLmVudCAiIFNZTUJPTF9TVFJJTkcoY3RpXyMjb3ApICJcbiIg
XAotICAgICAgICBTWU1CT0xfU1RSSU5HKGN0aV8jI29wKSAiOiIgIlxuIiBcCi0gICAgICAgICJz
dyAgICAkMzEsIiBTVFJJTkdJWkVfVkFMVUVfT0YoVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZGU0VU
KSAiKCQyOSkiICJcbiIgXAotICAgICAgICAiamFsICIgU1lNQk9MX1NUUklORyhKSVRTdHViVGh1
bmtlZF8jI29wKSAiXG4iIFwKLSAgICAgICAgIm5vcCIgIlxuIiBcCi0gICAgICAgICJsdyAgICAk
MzEsIiBTVFJJTkdJWkVfVkFMVUVfT0YoVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSAiKCQy
OSkiICJcbiIgXAotICAgICAgICAianIgICAgJDMxIiAiXG4iIFwKLSAgICAgICAgIm5vcCIgIlxu
IiBcCi0gICAgICAgICIuc2V0IHJlb3JkZXIiICJcbiIgXAotICAgICAgICAiLnNldCBtYWNybyIg
IlxuIiBcCi0gICAgICAgICIuZW5kICIgU1lNQk9MX1NUUklORyhjdGlfIyNvcCkgIlxuIiBcCi0g
ICAgICAgICk7IFwKLSAgICBydHlwZSBKSVRTdHViVGh1bmtlZF8jI29wKFNUVUJfQVJHU19ERUNM
QVJBVElPTikKLQotI2VuZGlmIC8vIFdURl9NSVBTX1BJQwotCi19IC8vIG5hbWVzcGFjZSBKU0MK
LQotI2VuZGlmIC8vIEpJVFN0dWJzTUlQU19oCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFN0dWJzTVNWQzY0LmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzTVNWQzY0LmFzbQkocmV2aXNpb24gMTU4NjQ3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic01TVkM2NC5hc20JKHdvcmtpbmcgY29weSkKQEAgLTI1
LDYxICsyNSwxMCBAQAogCiBFWFRFUk4gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3Rh
dGUgOiBuZWFyCiAKLVBVQkxJQyBjdGlUcmFtcG9saW5lCi1QVUJMSUMgY3RpT3BUaHJvd05vdENh
dWdodAogUFVCTElDIGdldEhvc3RDYWxsUmV0dXJuVmFsdWUKIAogX1RFWFQgICBTRUdNRU5UCiAK
LWN0aVRyYW1wb2xpbmUgUFJPQwotICAgIDsgRHVtcCByZWdpc3RlciBwYXJhbWV0ZXJzIHRvIHRo
ZWlyIGhvbWUgYWRkcmVzcwotICAgIG1vdiBxd29yZCBwdHJbcnNwKzIwaF0sIHI5Ci0gICAgbW92
IHF3b3JkIHB0cltyc3ArMThoXSwgcjgKLSAgICBtb3YgcXdvcmQgcHRyW3JzcCsxMGhdLCByZHgK
LSAgICBtb3YgcXdvcmQgcHRyW3JzcCs4aF0sIHJjeAotCi0gICAgcHVzaCByYnAKLSAgICBtb3Yg
cmJwLCByYXggOyBTYXZlIHByZXZpb3VzIGZyYW1lIHBvaW50ZXIKLSAgICBtb3YgcmJwLCByc3AK
LSAgICBwdXNoIHIxMgotICAgIHB1c2ggcjEzCi0gICAgcHVzaCByMTQKLSAgICBwdXNoIHIxNQot
ICAgIHB1c2ggcmJ4Ci0KLSAgICA7IEpJVCBvcGVyYXRpb25zIGNhbiB1c2UgdXAgdG8gNiBhcmdz
ICg0IGluIHJlZ2lzdGVycyBhbmQgMiBvbiB0aGUgc3RhY2spLgotICAgIDsgSW4gYWRkaXRpb24s
IFg4Nl82NCBBQkkgc3BlY2lmaWVzIHRoYXQgdGhlIHdvcnNlIGNhc2Ugc3RhY2sgYWxpZ25tZW50
Ci0gICAgOyByZXF1aXJlbWVudCBpcyAzMiBieXRlcy4gQmFzZWQgb24gdGhlc2UgZmFjdG9ycywg
d2UgbmVlZCB0byBwYWQgdGhlIHN0YWNrCi0gICAgOyBhbmQgYWRkaXRpb25hbCAyOGggYnl0ZXMu
Ci0gICAgc3ViIHJzcCwgMjhoCi0gICAgbW92IHIxMiwgNTEyCi0gICAgbW92IHIxNCwgMEZGRkYw
MDAwMDAwMDAwMDBoCi0gICAgbW92IHIxNSwgMEZGRkYwMDAwMDAwMDAwMDJoCi0gICAgbW92IHIx
MywgcjgKLSAgICBtb3YgcjExLCBxd29yZCBwdHJbcjEzXSA7IFB1dCB0aGUgcHJldmlvdXMgZnJh
bWUgcG9pbnRlciBpbiB0aGUgaG9zdCBjYWxsIGZyYW1lIGFib3ZlIHVzCi0gICAgbW92IHF3b3Jk
IHB0cltyMTFdLCByYXgKLSAgICBjYWxsIHJjeAotICAgIGFkZCByc3AsIDI4aAotICAgIHBvcCBy
YngKLSAgICBwb3AgcjE1Ci0gICAgcG9wIHIxNAotICAgIHBvcCByMTMKLSAgICBwb3AgcjEyCi0g
ICAgcG9wIHJicAotICAgIHJldAotY3RpVHJhbXBvbGluZSBFTkRQCi0KLWN0aU9wVGhyb3dOb3RD
YXVnaHQgUFJPQwotICAgIGFkZCByc3AsIDI4aAotICAgIHBvcCByYngKLSAgICBwb3AgcjE1Ci0g
ICAgcG9wIHIxNAotICAgIHBvcCByMTMKLSAgICBwb3AgcjEyCi0gICAgcG9wIHJicAotICAgIHJl
dAotY3RpT3BUaHJvd05vdENhdWdodCBFTkRQCi0KIGdldEhvc3RDYWxsUmV0dXJuVmFsdWUgUFJP
QwogICAgIHN1YiByMTMsIDQwCiAgICAgbW92IHIxMywgcmRpCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJzU0g0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRTdHVic1NINC5oCShyZXZpc2lvbiAxNTg2NDcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzU0g0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMTI3ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA4IENhbWVyb24gWndhcmlj
aCA8Y3d6d2FyaWNoQHV3YXRlcmxvby5jYT4KLSAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4g
TW90aW9uIExpbWl0ZWQgMjAxMCwgMjAxMS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMu
ICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEpJ
VFN0dWJzU0g0X2gKLSNkZWZpbmUgSklUU3R1YnNTSDRfaAotCi0jaWYgIUNQVShTSDQpCi0jZXJy
b3IgIkpJVFN0dWJzU0g0Lmggc2hvdWxkIG9ubHkgYmUgI2luY2x1ZGVkIGlmIENQVShTSDQpIgot
I2VuZGlmCi0KLSNpZiAhVVNFKEpTVkFMVUUzMl82NCkKLSNlcnJvciAiSklUU3R1YnNTSDQuaCBv
bmx5IGltcGxlbWVudHMgVVNFKEpTVkFMVUUzMl82NCkiCi0jZW5kaWYKLQotbmFtZXNwYWNlIEpT
QyB7Ci0KLSNkZWZpbmUgVEhVTktfUkVUVVJOX0FERFJFU1NfT0ZGU0VUIDU2Ci0jZGVmaW5lIFNB
VkVEX1I4X09GRlNFVCA2MAotCi0jZGVmaW5lIFNZTUJPTF9TVFJJTkcobmFtZSkgI25hbWUKLS8q
IGNvZGUgKHI0KSwgSlNTdGFjayogKHI1KSwgQ2FsbEZyYW1lKiAocjYpLCB2b2lkKiB1bnVzZWQx
IChyNyksIHZvaWQqIHVudXNlZDIoc3ApLCBWTSAoc3ApKi8KLQotYXNtIHZvbGF0aWxlICgKLSIu
dGV4dFxuIgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVHJhbXBvbGluZSkgIlxuIgotSElE
RV9TWU1CT0woY3RpVHJhbXBvbGluZSkgIlxuIgotU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5l
KSAiOiIgIlxuIgotICAgICJtb3YubCByNywgQC1yMTUiICJcbiIKLSAgICAibW92LmwgcjYsIEAt
cjE1IiAiXG4iCi0gICAgIm1vdi5sIHI1LCBALXIxNSIgIlxuIgotICAgICJtb3YubCByMTQsIEAt
cjE1IiAiXG4iCi0gICAgInN0cy5sIHByLCBALXIxNSIgIlxuIgotICAgICJtb3YubCByMTMsIEAt
cjE1IiAiXG4iCi0gICAgIm1vdi5sIHIxMSwgQC1yMTUiICJcbiIKLSAgICAibW92LmwgcjEwLCBA
LXIxNSIgIlxuIgotICAgICJtb3YubCByOSwgQC1yMTUiICJcbiIKLSAgICAibW92LmwgcjgsIEAt
cjE1IiAiXG4iCi0gICAgImFkZCAjLSIgU1RSSU5HSVpFX1ZBTFVFX09GKFNBVkVEX1I4X09GRlNF
VCkgIiwgcjE1IiAiXG4iCi0gICAgIm1vdi5sIEByNiwgcjciICJcbiIKLSAgICAibW92LmwgcjE0
LCBAcjciICJcbiIgCi0gICAgIm1vdiByNiwgcjE0IiAiXG4iCi0gICAgImpzciBAcjQiICJcbiIK
LSAgICAibm9wIiAiXG4iCi0gICAgImFkZCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoU0FWRURfUjhf
T0ZGU0VUKSAiLCByMTUiICJcbiIKLSAgICAibW92LmwgQHIxNSsscjgiICJcbiIKLSAgICAibW92
LmwgQHIxNSsscjkiICJcbiIKLSAgICAibW92LmwgQHIxNSsscjEwIiAiXG4iCi0gICAgIm1vdi5s
IEByMTUrLHIxMSIgIlxuIgotICAgICJtb3YubCBAcjE1KyxyMTMiICJcbiIKLSAgICAibGRzLmwg
QHIxNSsscHIiICJcbiIKLSAgICAibW92LmwgQHIxNSsscjE0IiAiXG4iCi0gICAgImFkZCAjMTIs
IHIxNSIgIlxuIgotICAgICJydHMiICJcbiIKLSAgICAibm9wIiAiXG4iCi0pOwotCi1hc20gdm9s
YXRpbGUgKAotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIlxu
IgotSElERV9TWU1CT0woY3RpT3BUaHJvd05vdENhdWdodCkgIlxuIgotU1lNQk9MX1NUUklORyhj
dGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIgIlxuIgotICAgICJhZGQgIyIgU1RSSU5HSVpFX1ZBTFVF
X09GKFNBVkVEX1I4X09GRlNFVCkgIiwgcjE1IiAiXG4iCi0gICAgIm1vdi5sIEByMTUrLHI4IiAi
XG4iCi0gICAgIm1vdi5sIEByMTUrLHI5IiAiXG4iCi0gICAgIm1vdi5sIEByMTUrLHIxMCIgIlxu
IgotICAgICJtb3YubCBAcjE1KyxyMTEiICJcbiIKLSAgICAibW92LmwgQHIxNSsscjEzIiAiXG4i
Ci0gICAgImxkcy5sIEByMTUrLHByIiAiXG4iCi0gICAgIm1vdi5sIEByMTUrLHIxNCIgIlxuIgot
ICAgICJhZGQgIzEyLCByMTUiICJcbiIKLSAgICAicnRzIiAiXG4iCi0gICAgIm5vcCIgIlxuIgot
KTsKLQotCi0jZGVmaW5lIERFRklORV9TVFVCX0ZVTkNUSU9OKHJ0eXBlLCBvcCkgXAotICAgIGV4
dGVybiAiQyIgeyBcCi0gICAgICAgIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdT
X0RFQ0xBUkFUSU9OKTsgXAotICAgIH07IFwKLSAgICBhc20gdm9sYXRpbGUoIFwKLSAgICAiLmFs
aWduIDIiICJcbiIgXAotICAgICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aV8jI29wKSAiXG4i
IFwKLSAgICBTWU1CT0xfU1RSSU5HKGN0aV8jI29wKSAiOiIgIlxuIiBcCi0gICAgInN0cyBwciwg
cjExIiAiXG4iIFwKLSAgICAibW92LmwgcjExLCBAKCIgU1RSSU5HSVpFX1ZBTFVFX09GKFRIVU5L
X1JFVFVSTl9BRERSRVNTX09GRlNFVCkgIiwgcjE1KSIgIlxuIiBcCi0gICAgIm1vdi5sIC5MMiIg
U1lNQk9MX1NUUklORyhKSVRTdHViVGh1bmtlZF8jI29wKSAiLHIwIiAiXG4iIFwKLSAgICAibW92
LmwgQChyMCxyMTIpLHIxMSIgIlxuIiBcCi0gICAgImpzciBAcjExIiAiXG4iIFwKLSAgICAibm9w
IiAiXG4iIFwKLSAgICAibW92LmwgQCgiIFNUUklOR0laRV9WQUxVRV9PRihUSFVOS19SRVRVUk5f
QUREUkVTU19PRkZTRVQpICIsIHIxNSksIHIxMSAiICJcbiIgXAotICAgICJsZHMgcjExLCBwciAi
ICJcbiIgXAotICAgICJydHMiICJcbiIgXAotICAgICJub3AiICJcbiIgXAotICAgICIuYWxpZ24g
MiIgIlxuIiBcCi0gICAgIi5MMiIgU1lNQk9MX1NUUklORyhKSVRTdHViVGh1bmtlZF8jI29wKSAi
Oi5sb25nICIgU1lNQk9MX1NUUklORyhKSVRTdHViVGh1bmtlZF8jI29wKSAiQEdPVCBcbiIgXAot
ICAgICk7IFwKLSAgICBydHlwZSBKSVRTdHViVGh1bmtlZF8jI29wKFNUVUJfQVJHU19ERUNMQVJB
VElPTikKLQotfSAvLyBuYW1lc3BhY2UgSlNDCi0KLSNlbmRpZiAvLyBKSVRTdHVic1NINF9oCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Ni5oCShyZXZpc2lvbiAxNTg2
NDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ1LDQ4ICs0NSw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAjaWYgQ09NUElMRVIo
R0NDKQogCi1hc20gKAotIi50ZXh0XG4iCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlUcmFt
cG9saW5lKSAiXG4iCi1ISURFX1NZTUJPTChjdGlUcmFtcG9saW5lKSAiXG4iCi1TWU1CT0xfU1RS
SU5HKGN0aVRyYW1wb2xpbmUpICI6IiAiXG4iCi0gICAgInB1c2hsICVlYnAiICJcbiIKLSAgICAi
bW92bCAlZWJwLCAlZWF4IiAiXG4iIC8vIFNhdmUgcHJldmlvdXMgZnJhbWUgcG9pbnRlcgotICAg
ICJtb3ZsICVlc3AsICVlYnAiICJcbiIKLSAgICAicHVzaGwgJWVzaSIgIlxuIgotICAgICJwdXNo
bCAlZWRpIiAiXG4iCi0gICAgInB1c2hsICVlYngiICJcbiIKLQotICAgIC8vIEpJVCBPcGVyYXRp
b24gY2FuIHVzZSB1cCB0byA2IGFyZ3VtZW50cyByaWdodCBub3cuIFNvLCB3ZSBuZWVkIHRvCi0g
ICAgLy8gcmVzZXJ2ZSBzcGFjZSBpbiB0aGlzIHN0YWNrIGZyYW1lIGZvciB0aGUgb3V0LWdvaW5n
IGFyZ3MuIFRvIGVuc3VyZSB0aGF0Ci0gICAgLy8gdGhlIHN0YWNrIHJlbWFpbnMgYWxpZ25lZCBv
biBhbiAxNiBieXRlIGJvdW5kYXJ5LCB3ZSByb3VuZCB0aGUgcGFkZGluZyB1cAotICAgIC8vIGJ5
IDB4MWMgYnl0ZXMuCi0gICAgInN1YmwgJDB4MWMsICVlc3AiICJcbiIKLSAgICAibW92bCAweDM4
KCVlc3ApLCAlZWRpIiAiXG4iCi0gICAgIm1vdmwgKCVlZGkpLCAlZWJ4IiAiXG4iIC8vIFB1dCB0
aGUgcHJldmlvdXMgZnJhbWUgcG9pbnRlciBpbiB0aGUgVk0gZW50cnkgc2VudGluYWwgZnJhbWUg
YWJvdmUgdXMKLSAgICAibW92bCAlZWF4LCAoJWVieCkiICJcbiIKLSAgICAiY2FsbCAqMHgzMCgl
ZXNwKSIgIlxuIgotICAgICJhZGRsICQweDFjLCAlZXNwIiAiXG4iCi0KLSAgICAicG9wbCAlZWJ4
IiAiXG4iCi0gICAgInBvcGwgJWVkaSIgIlxuIgotICAgICJwb3BsICVlc2kiICJcbiIKLSAgICAi
cG9wbCAlZWJwIiAiXG4iCi0gICAgInJldCIgIlxuIgotKTsKLQotYXNtICgKLSIuZ2xvYmwgIiBT
WU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKLUhJREVfU1lNQk9MKGN0aU9w
VGhyb3dOb3RDYXVnaHQpICJcbiIKLVNZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkg
IjoiICJcbiIKLSAgICAiYWRkbCAkMHgxYywgJWVzcCIgIlxuIgotICAgICJwb3BsICVlYngiICJc
biIKLSAgICAicG9wbCAlZWRpIiAiXG4iCi0gICAgInBvcGwgJWVzaSIgIlxuIgotICAgICJwb3Bs
ICVlYnAiICJcbiIKLSAgICAicmV0IiAiXG4iCi0pOwotCiAjaWYgVVNFKE1BU01fUFJPQkUpCiBh
c20gKAogIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIlxu
IgpAQCAtMjQyLDQ5ICsyMDAsNiBAQCBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xp
bmVFbmQpCiAKICNlbmRpZiAvLyBDT01QSUxFUihHQ0MpCiAKLSNpZiBDT01QSUxFUihNU1ZDKQot
Ci1leHRlcm4gIkMiIHsKLQotICAgIF9fZGVjbHNwZWMobmFrZWQpIEVuY29kZWRKU1ZhbHVlIGN0
aVRyYW1wb2xpbmUodm9pZCogY29kZSwgSlNTdGFjayosIENhbGxGcmFtZSosIHZvaWQqIC8qdW51
c2VkMSovLCB2b2lkKiAvKnVudXNlZDIqLywgVk0qKQotICAgIHsKLSAgICAgICAgX19hc20gewot
ICAgICAgICAgICAgcHVzaCBlYnA7Ci0gICAgICAgICAgICBtb3YgZWF4LCBlYnA7Ci0gICAgICAg
ICAgICBtb3YgZWJwLCBlc3A7Ci0gICAgICAgICAgICBwdXNoIGVzaTsKLSAgICAgICAgICAgIHB1
c2ggZWRpOwotICAgICAgICAgICAgcHVzaCBlYng7Ci0gICAgICAgICAgICBzdWIgZXNwLCAweDFj
OwotICAgICAgICAgICAgbW92IGVjeCwgZXNwOwotICAgICAgICAgICAgbW92IGVkaSwgW2VzcCAr
IDB4MzhdOwotICAgICAgICAgICAgbW92IGVieCwgW2VkaV07Ci0gICAgICAgICAgICBtb3YgW2Vi
eF0sIGVheDsKLSAgICAgICAgICAgIGNhbGwgW2VzcCArIDB4MzBdOwotICAgICAgICAgICAgYWRk
IGVzcCwgMHgxYzsKLSAgICAgICAgICAgIHBvcCBlYng7Ci0gICAgICAgICAgICBwb3AgZWRpOwot
ICAgICAgICAgICAgcG9wIGVzaTsKLSAgICAgICAgICAgIHBvcCBlYnA7Ci0gICAgICAgICAgICBy
ZXQ7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIGN0aU9w
VGhyb3dOb3RDYXVnaHQoKQotICAgIHsKLSAgICAgICAgX19hc20gewotICAgICAgICAgICAgYWRk
IGVzcCwgMHgxYzsKLSAgICAgICAgICAgIHBvcCBlYng7Ci0gICAgICAgICAgICBwb3AgZWRpOwot
ICAgICAgICAgICAgcG9wIGVzaTsKLSAgICAgICAgICAgIHBvcCBlYnA7Ci0gICAgICAgICAgICBy
ZXQ7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLSNlbmRpZiAvLyBDT01QSUxFUihNU1ZDKQotCiB9
IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEpJVFN0dWJzWDg2X2gKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODZfNjQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2XzY0LmgJKHJldmlzaW9uIDE1ODY0NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODZfNjQuaAkod29ya2luZyBj
b3B5KQpAQCAtNDUsNTUgKzQ1LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICNpZiBDT01QSUxFUihH
Q0MpCiAKLWFzbSAoCi0iLnRleHRcbiIKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aVRyYW1w
b2xpbmUpICJcbiIKLUhJREVfU1lNQk9MKGN0aVRyYW1wb2xpbmUpICJcbiIKLVNZTUJPTF9TVFJJ
TkcoY3RpVHJhbXBvbGluZSkgIjoiICJcbiIKLSAgICAicHVzaHEgJXJicCIgIlxuIgotICAgICJt
b3ZxICVyYnAsICVyYXgiICJcbiIgLy8gU2F2ZSBwcmV2aW91cyBmcmFtZSBwb2ludGVyCi0gICAg
Im1vdnEgJXJzcCwgJXJicCIgIlxuIgotICAgICJwdXNocSAlcjEyIiAiXG4iCi0gICAgInB1c2hx
ICVyMTMiICJcbiIKLSAgICAicHVzaHEgJXIxNCIgIlxuIgotICAgICJwdXNocSAlcjE1IiAiXG4i
Ci0gICAgInB1c2hxICVyYngiICJcbiIKLQotICAgIC8vIFRoZSBYODZfNjQgQUJJIHNwZWNpZmll
cyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0YWNrIGFsaWdubWVudCByZXF1aXJlbWVudAotICAgIC8v
IGlzIDMyIGJ5dGVzLgotICAgICJzdWJxICQweDgsICVyc3AiICJcbiIKLQotICAgICJtb3ZxICQ1
MTIsICVyMTIiICJcbiIKLSAgICAibW92cSAkMHhGRkZGMDAwMDAwMDAwMDAwLCAlcjE0IiAiXG4i
Ci0gICAgIm1vdnEgJDB4RkZGRjAwMDAwMDAwMDAwMiwgJXIxNSIgIlxuIgotICAgICJtb3ZxICVy
ZHgsICVyMTMiICJcbiIKLSAgICAibW92cSAoJXIxMyksICVyMTEiICJcbiIgLy8gUHV0IHRoZSBw
cmV2aW91cyBmcmFtZSBwb2ludGVyIGluIHRoZSBWTSBlbnRyeSBzZW50aW5hbCBmcmFtZSBhYm92
ZSB1cwotICAgICJtb3ZxICVyYXgsICglcjExKSIgIlxuIgotICAgICJjYWxsIColcmRpIiAiXG4i
Ci0gICAgImFkZHEgJDB4OCwgJXJzcCIgIlxuIgotICAgICJwb3BxICVyYngiICJcbiIKLSAgICAi
cG9wcSAlcjE1IiAiXG4iCi0gICAgInBvcHEgJXIxNCIgIlxuIgotICAgICJwb3BxICVyMTMiICJc
biIKLSAgICAicG9wcSAlcjEyIiAiXG4iCi0gICAgInBvcHEgJXJicCIgIlxuIgotICAgICJyZXQi
ICJcbiIKLSk7Ci0KLWFzbSAoCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90
Q2F1Z2h0KSAiXG4iCi1ISURFX1NZTUJPTChjdGlPcFRocm93Tm90Q2F1Z2h0KSAiXG4iCi1TWU1C
T0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICI6IiAiXG4iCi0gICAgImFkZHEgJDB4OCwg
JXJzcCIgIlxuIgotICAgICJwb3BxICVyYngiICJcbiIKLSAgICAicG9wcSAlcjE1IiAiXG4iCi0g
ICAgInBvcHEgJXIxNCIgIlxuIgotICAgICJwb3BxICVyMTMiICJcbiIKLSAgICAicG9wcSAlcjEy
IiAiXG4iCi0gICAgInBvcHEgJXJicCIgIlxuIgotICAgICJyZXQiICJcbiIKLSk7Ci0KICNpZiBV
U0UoTUFTTV9QUk9CRSkKIGFzbSAoCiAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlNYXNtUHJv
YmVUcmFtcG9saW5lKSAiXG4iCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pTSW50
ZXJmYWNlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KU0lu
dGVyZmFjZUpJVC5oCShyZXZpc2lvbiAxNTg2NDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pTSW50ZXJmYWNlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNCw3ICsxMjQsNiBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGljIGNvbnN0IFJlZ2lzdGVySUQgcmVnVDQgPSBB
Uk1SZWdpc3RlcnM6OnI3OwogICAgICAgICBzdGF0aWMgY29uc3QgUmVnaXN0ZXJJRCByZWdUNSA9
IEFSTVJlZ2lzdGVyczo6cjg7CiAKLSAgICAgICAgLy8gVXBkYXRlIGN0aVRyYW1wb2xpbmUgaW4g
SklUU3R1YnMuY3BwIGlmIHRoZXNlIHZhbHVlcyBhcmUgY2hhbmdlZCEKICAgICAgICAgc3RhdGlj
IGNvbnN0IFJlZ2lzdGVySUQgY2FsbEZyYW1lUmVnaXN0ZXIgPSBBUk1SZWdpc3RlcnM6OnI1Owog
CiAgICAgICAgIHN0YXRpYyBjb25zdCBGUFJlZ2lzdGVySUQgZnBSZWdUMCA9IEFSTVJlZ2lzdGVy
czo6ZDA7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRv
cnMuY3BwCShyZXZpc2lvbiAxNTg2NDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Ro
dW5rR2VuZXJhdG9ycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDYgKzU2LDI3NCBAQCBpbmxp
bmUgdm9pZCBlbWl0UG9pbnRlclZhbGlkYXRpb24oQ0NhbGxICiAjZW5kaWYKIH0KIAorc3RhdGlj
IHZvaWQgcmV0dXJuRnJvbUphdmFTY3JpcHQoQ0NhbGxIZWxwZXJzJiBqaXQpCit7CisjaWYgQ1BV
KFg4Nl82NCkKKyNpZiBPUyhXSU5ET1dTKQorICAgIC8vIEpJVCBvcGVyYXRpb25zIGNhbiB1c2Ug
dXAgdG8gNiBhcmdzICg0IGluIHJlZ2lzdGVycyBhbmQgMiBvbiB0aGUgc3RhY2spLgorICAgIC8v
IEluIGFkZGl0aW9uLCBYODZfNjQgQUJJIHNwZWNpZmllcyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0
YWNrIGFsaWdubWVudAorICAgIC8vIHJlcXVpcmVtZW50IGlzIDMyIGJ5dGVzLiBCYXNlZCBvbiB0
aGVzZSBmYWN0b3JzLCB3ZSBuZWVkIHRvIHBhZCB0aGUgc3RhY2sKKyAgICAvLyBhbmQgYWRkaXRp
b25hbCA0MCBieXRlcy4KKyMgICBkZWZpbmUgRVhUUkFfU1RBQ0tfU0laRSAgICAgICAgICAgICAg
NDAKKyAgICBqaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKDgpLCBYODZSZWdp
c3RlcnM6OmVzcCk7CisjZWxzZQorICAgIC8vIFdlIGRvbid0IG5lZWQgZXh0cmEgc3RhY2sgc3Bh
Y2UgZm9yIG91dC1nb2luZyBhcmdzLCBidXQgd2UgbmVlZCB0byBhbGlnbiB0aGUKKyAgICAvLyBz
dGFjayB0byAzMiBieXRlIGFsaWdubWVudCwgdGhlcmVmb3JlIGFkZCA4IGJ5dGVzIHRvIHRoZSBz
dGFjay4KKyMgICBkZWZpbmUgRVhUUkFfU1RBQ0tfU0laRSAgICAgICAgICAgICAgOAorICAgIGpp
dC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIFg4
NlJlZ2lzdGVyczo6ZXNwKTsKKyNlbmRpZgorCisgICAgaml0LnBvcChYODZSZWdpc3RlcnM6OmVi
eCk7CisgICAgaml0LnBvcChYODZSZWdpc3RlcnM6OnIxNSk7CisgICAgaml0LnBvcChYODZSZWdp
c3RlcnM6OnIxNCk7CisgICAgaml0LnBvcChYODZSZWdpc3RlcnM6OnIxMyk7CisgICAgaml0LnBv
cChYODZSZWdpc3RlcnM6OnIxMik7CisgICAgaml0LnBvcChYODZSZWdpc3RlcnM6OmVicCk7Cisj
ZWxpZiBDUFUoWDg2KQorICAgIC8vIEpJVCBPcGVyYXRpb24gY2FuIHVzZSB1cCB0byA2IGFyZ3Vt
ZW50cyByaWdodCBub3cuIFNvLCB3ZSBuZWVkIHRvCisgICAgLy8gcmVzZXJ2ZSBzcGFjZSBpbiB0
aGlzIHN0YWNrIGZyYW1lIGZvciB0aGUgb3V0LWdvaW5nIGFyZ3MuIFRvIGVuc3VyZSB0aGF0Cisg
ICAgLy8gdGhlIHN0YWNrIHJlbWFpbnMgYWxpZ25lZCBvbiBhbiAxNiBieXRlIGJvdW5kYXJ5LCB3
ZSByb3VuZCB0aGUgcGFkZGluZyB1cAorICAgIC8vIGJ5IDI4IGJ5dGVzLgorIyAgIGRlZmluZSBF
WFRSQV9TVEFDS19TSVpFIDI4CisKKyAgICBqaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbTMyKEVYVFJBX1NUQUNLX1NJWkUpLCBYODZSZWdpc3RlcnM6OmVzcCk7CisKKyAgICBqaXQu
cG9wKFg4NlJlZ2lzdGVyczo6ZWJ4KTsKKyAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6ZWRpKTsK
KyAgICBqaXQucG9wKFg4NlJlZ2lzdGVyczo6ZXNpKTsKKyAgICBqaXQucG9wKFg4NlJlZ2lzdGVy
czo6ZWJwKTsKKyNlbGlmIENQVShBUk1fVFJBRElUSU9OQUwpCisgICAgLy8gSklUIE9wZXJhdGlv
biBjYW4gdXNlIHVwIHRvIDYgYXJndW1lbnRzIHJpZ2h0IG5vdy4gU28sIHdlIG5lZWQgdG8KKyAg
ICAvLyByZXNlcnZlIHNwYWNlIGluIHRoaXMgc3RhY2sgZnJhbWUgZm9yIHRoZSBvdXQtZ29pbmcg
YXJncy4gV2UgbmVlZCB0bworICAgIC8vIGFkZCBzcGFjZSBmb3IgMTYgbW9yZSBieXRlcy4KKyMg
ICBkZWZpbmUgRVhUUkFfU1RBQ0tfU0laRSAgICAgICAgICAgICAgMTYKKworICAgIGppdC5hZGRQ
dHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIEFSTVJlZ2lz
dGVyczo6c3ApOworCisgICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OmxyKTsKKyAgICBqaXQucG9w
KEFSTVJlZ2lzdGVyczo6cjExKTsKKyAgICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjEwKTsKKyAg
ICBqaXQucG9wKEFSTVJlZ2lzdGVyczo6cjkpOworICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpy
OCk7CisgICAgaml0LnBvcChBUk1SZWdpc3RlcnM6OnI2KTsKKyAgICBqaXQucG9wKEFSTVJlZ2lz
dGVyczo6cjUpOworICAgIGppdC5wb3AoQVJNUmVnaXN0ZXJzOjpyNCk7CisjZWxpZiBDUFUoQVJN
X1RIVU1CMikKKyAgICAvLyBKSVQgT3BlcmF0aW9uIGNhbiB1c2UgdXAgdG8gNiBhcmd1bWVudHMg
cmlnaHQgbm93LiBTbywgd2UgbmVlZCB0bworICAgIC8vIHJlc2VydmUgc3BhY2UgaW4gdGhpcyBz
dGFjayBmcmFtZSBmb3IgdGhlIG91dC1nb2luZyBhcmdzLiBUbyBlbnN1cmUgdGhhdAorICAgIC8v
IHRoZSBzdGFjayByZW1haW5zIGFsaWduZWQgb24gYW4gMTYgYnl0ZSBib3VuZGFyeSwgd2Ugcm91
bmQgdGhlIHBhZGRpbmcgdXAKKyAgICAvLyBieSAyOCBieXRlcy4KKyMgICBkZWZpbmUgRVhUUkFf
U1RBQ0tfU0laRSAgICAgICAgICAgICAgMjgKKworICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJz
OjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0laRSksIEFSTVJlZ2lzdGVyczo6c3ApOworICAg
IGppdC5wdXNoKEFSTVJlZ2lzdGVyczo6cjExKTsKKyAgICBqaXQucHVzaChBUk1SZWdpc3RlcnM6
OnIxMCk7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyOSk7CisgICAgaml0LnB1c2goQVJN
UmVnaXN0ZXJzOjpyOCk7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNyk7CisgICAgaml0
LnB1c2goQVJNUmVnaXN0ZXJzOjpyNik7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNSk7
CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNCk7CisgICAgaml0LnB1c2goQVJNUmVnaXN0
ZXJzOjpscik7CisjZWxpZiBDUFUoQVJNNjQpCisgICAgaml0LnBvcChBUk02NFJlZ2lzdGVyczo6
eDI4KTsKKyAgICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MjcpOworICAgIGppdC5wb3AoQVJN
NjRSZWdpc3RlcnM6OngyNik7CisgICAgaml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDI1KTsKKyAg
ICBqaXQucG9wKEFSTTY0UmVnaXN0ZXJzOjp4MjQpOworICAgIGppdC5wb3AoQVJNNjRSZWdpc3Rl
cnM6OngyMyk7CisgICAgaml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDIyKTsKKyAgICBqaXQucG9w
KEFSTTY0UmVnaXN0ZXJzOjp4MjEpOworICAgIGppdC5wb3AoQVJNNjRSZWdpc3RlcnM6OngyMCk7
CisgICAgaml0LnBvcChBUk02NFJlZ2lzdGVyczo6eDE5KTsKKyAgICBqaXQucG9wKEFSTTY0UmVn
aXN0ZXJzOjpscik7CisjZWxpZiBDUFUoTUlQUykKKyMgICBkZWZpbmUgUFJFU0VSVkVEX0dQX09G
RlNFVCAgICAgICAgIDYwCisjICAgZGVmaW5lIFBSRVNFUlZFRF9TMF9PRkZTRVQgICAgICAgICA2
NAorIyAgIGRlZmluZSBQUkVTRVJWRURfUzFfT0ZGU0VUICAgICAgICAgNjgKKyMgICBkZWZpbmUg
UFJFU0VSVkVEX1MyX09GRlNFVCAgICAgICAgIDcyCisjICAgZGVmaW5lIFBSRVNFUlZFRF9TM19P
RkZTRVQgICAgICAgICA3NgorIyAgIGRlZmluZSBQUkVTRVJWRURfUzRfT0ZGU0VUICAgICAgICAg
ODAKKyMgICBkZWZpbmUgUFJFU0VSVkVEX1JFVFVSTl9BRERSRVNTX09GRlNFVCA4NAorIyAgIGRl
ZmluZSBTVEFDS19MRU5HVEggICAgICAgICAgICAgICAxMTIKKworICAgIGppdC5sb2FkUHRyKEND
YWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1MwX09GRlNF
VCksIE1JUFNSZWdpc3RlcnM6OnMwKTsKKyAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TMV9PRkZTRVQpLCBNSVBTUmVnaXN0
ZXJzOjpzMSk7CisgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdp
c3RlcnM6OnNwLCBQUkVTRVJWRURfUzJfT0ZGU0VUKSwgTUlQU1JlZ2lzdGVyczo6czIpOworICAg
IGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJF
U0VSVkVEX1MzX09GRlNFVCksIE1JUFNSZWdpc3RlcnM6OnMzKTsKKyAgICBqaXQubG9hZFB0cihD
Q2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TNF9PRkZT
RVQpLCBNSVBTUmVnaXN0ZXJzOjpzNCk7CisgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpB
ZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUkVUVVJOX0FERFJFU1NfT0ZGU0VU
KSwgTUlQU1JlZ2lzdGVyczo6cmEpOworICAgIGppdC5hZGRQdHIoQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tMzIoU1RBQ0tfTEVOR1RIKSwgTUlQU1JlZ2lzdGVyczo6c3ApOworI2VsaWYgQ1BVKFNI
NCkKKyMgICBkZWZpbmUgRVhUUkFfU1RBQ0tfU0laRSAyMAorCisgICAgaml0LmFkZFB0cihDQ2Fs
bEhlbHBlcnM6OlRydXN0ZWRJbW0zMihFWFRSQV9TVEFDS19TSVpFKSwgU0g0UmVnaXN0ZXJzOjpz
cCk7CisgICAgaml0LnBvcChTSDRSZWdpc3RlcnM6OnI4KTsKKyAgICBqaXQucG9wKFNINFJlZ2lz
dGVyczo6cjkpOworICAgIGppdC5wb3AoU0g0UmVnaXN0ZXJzOjpyMTApOworICAgIGppdC5wb3Ao
U0g0UmVnaXN0ZXJzOjpyMTEpOworICAgIGppdC5wb3AoU0g0UmVnaXN0ZXJzOjpyMTMpOworICAg
IGppdC5wb3AoU0g0UmVnaXN0ZXJzOjpwcik7CisgICAgaml0LnBvcChTSDRSZWdpc3RlcnM6OmZw
KTsKKyNlbmRpZgorCisgICAgaml0LnJldCgpOworfQorCitNYWNyb0Fzc2VtYmxlckNvZGVSZWYg
Y2FsbFRvSmF2YVNjcmlwdChWTSogdm0pCit7CisgICAgLy8gVGhlIHNpZ25hdHVyZSBvZiB0aGUg
Y29kZSBnZW5lcmF0ZWQgaXMgRW5jb2RlZEpTVmFsdWUgY2FsbFRvSmF2YVNjcmlwdCh2b2lkKiBj
b2RlLCBDYWxsRnJhbWUqKQorCisgICAgQ0NhbGxIZWxwZXJzIGppdCh2bSk7CisKKyNpZiBDUFUo
WDg2XzY0KQorI2lmIE9TKFdJTkRPV1MpCisgICAgLy8gRHVtcCByZWdpc3RlciBwYXJhbWV0ZXJz
IHRvIHRoZWlyIGhvbWUgYWRkcmVzcworICAgIGppdC5zdG9yZVB0cihYODZSZWdpc3RlcnM6OnI5
LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0ZXJzOjplc3AsIDB4MjApKTsKKyAgICBq
aXQuc3RvcmVQdHIoWDg2UmVnaXN0ZXJzOjpyOCwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKFg4NlJl
Z2lzdGVyczo6ZXNwLCAweDE4KSk7CisgICAgaml0LnN0b3JlUHRyKFg4NlJlZ2lzdGVyczo6ZWR4
LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoWDg2UmVnaXN0ZXJzOjplc3AsIDB4MTApKTsKKyAgICBq
aXQuc3RvcmVQdHIoWDg2UmVnaXN0ZXJzOjplY3gsIENDYWxsSGVscGVyczo6QWRkcmVzcyhYODZS
ZWdpc3RlcnM6OmVzcCwgMHg4KSk7CisjZW5kaWYgLy8gT1MoV0lORE9XUykKKyAgICBqaXQucHVz
aChYODZSZWdpc3RlcnM6OmVicCk7CisgICAgaml0Lm1vdmUoWDg2UmVnaXN0ZXJzOjplYnAsIEdQ
UkluZm86Om5vbkFyZ0dQUjApOworICAgIGppdC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZXNwLCBYODZS
ZWdpc3RlcnM6OmVicCk7CisgICAgaml0LnB1c2goWDg2UmVnaXN0ZXJzOjpyMTIpOworICAgIGpp
dC5wdXNoKFg4NlJlZ2lzdGVyczo6cjEzKTsKKyAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OnIx
NCk7CisgICAgaml0LnB1c2goWDg2UmVnaXN0ZXJzOjpyMTUpOworICAgIGppdC5wdXNoKFg4NlJl
Z2lzdGVyczo6ZWJ4KTsKKworICAgIGppdC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1t
MzIoRVhUUkFfU1RBQ0tfU0laRSksIFg4NlJlZ2lzdGVyczo6ZXNwKTsKKworIyAgIGRlZmluZSBD
QUxMRlJBTUVfU1JDX1JFRyBHUFJJbmZvOjphcmd1bWVudEdQUjEKKyMgICBkZWZpbmUgUFJFVklP
VVNfQ0FMTEZSQU1FX1JFRyBHUFJJbmZvOjpub25BcmdHUFIwCisjZWxpZiBDUFUoWDg2KQorICAg
IGppdC5wdXNoKFg4NlJlZ2lzdGVyczo6ZWJwKTsKKyAgICBqaXQubW92ZShYODZSZWdpc3RlcnM6
OmVicCwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CisgICAgaml0Lm1vdmUoWDg2UmVnaXN0ZXJzOjpl
c3AsIFg4NlJlZ2lzdGVyczo6ZWJwKTsKKyAgICBqaXQucHVzaChYODZSZWdpc3RlcnM6OmVzaSk7
CisgICAgaml0LnB1c2goWDg2UmVnaXN0ZXJzOjplZGkpOworICAgIGppdC5wdXNoKFg4NlJlZ2lz
dGVyczo6ZWJ4KTsKKworICAgIGppdC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIo
RVhUUkFfU1RBQ0tfU0laRSksIFg4NlJlZ2lzdGVyczo6ZXNwKTsKKyNpZiBDT01QSUxFUihNU1ZD
KQorICAgIGppdC5tb3ZlKFg4NlJlZ2lzdGVyczo6ZXNwLCBYODZSZWdpc3RlcnM6OmVjeCk7Cisj
ZW5kaWYKKworICAgIGppdC5sb2FkMzIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKFg4NlJlZ2lzdGVy
czo6ZXNwLCBFWFRSQV9TVEFDS19TSVpFICsgMjQpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rl
cik7CisKKyMgICBkZWZpbmUgQ0FMTEZSQU1FX1NSQ19SRUcgR1BSSW5mbzo6Y2FsbEZyYW1lUmVn
aXN0ZXIKKyMgICBkZWZpbmUgQ0FMTF9DT0RFIGppdC5jYWxsKENDYWxsSGVscGVyczo6QWRkcmVz
cyhYODZSZWdpc3RlcnM6OmVzcCwgRVhUUkFfU1RBQ0tfU0laRSArIDIwKSkKKyMgICBkZWZpbmUg
UFJFVklPVVNfQ0FMTEZSQU1FX1JFRyBHUFJJbmZvOjpub25BcmdHUFIwCisjZWxpZiBDUFUoQVJN
X1RSQURJVElPTkFMKQorICAgIGppdC5wdXNoKEFSTVJlZ2lzdGVyczo6cjQpOworICAgIGppdC5w
dXNoKEFSTVJlZ2lzdGVyczo6cjUpOworICAgIGppdC5wdXNoKEFSTVJlZ2lzdGVyczo6cjYpOwor
ICAgIGppdC5wdXNoKEFSTVJlZ2lzdGVyczo6cjgpOworICAgIGppdC5wdXNoKEFSTVJlZ2lzdGVy
czo6cjkpOworICAgIGppdC5wdXNoKEFSTVJlZ2lzdGVyczo6cjEwKTsKKyAgICBqaXQucHVzaChB
Uk1SZWdpc3RlcnM6OnIxMSk7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpscik7CisKKyAg
ICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJBX1NUQUNLX1NJWkUp
LCBBUk1SZWdpc3RlcnM6OnNwKTsKKworIyAgIGRlZmluZSBDQUxMRlJBTUVfU1JDX1JFRyBHUFJJ
bmZvOjphcmd1bWVudEdQUjEKKyMgICBkZWZpbmUgUFJFVklPVVNfQ0FMTEZSQU1FX1JFRyBBUk1S
ZWdpc3RlcnM6OnIxMQorI2VsaWYgQ1BVKEFSTV9USFVNQjIpCisgICAgaml0LnB1c2goQVJNUmVn
aXN0ZXJzOjpscik7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNCk7CisgICAgaml0LnB1
c2goQVJNUmVnaXN0ZXJzOjpyNSk7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNik7Cisg
ICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyNyk7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJz
OjpyOCk7CisgICAgaml0LnB1c2goQVJNUmVnaXN0ZXJzOjpyOSk7CisgICAgaml0LnB1c2goQVJN
UmVnaXN0ZXJzOjpyMTApOworICAgIGppdC5wdXNoKEFSTVJlZ2lzdGVyczo6cjExKTsKKyAgICBq
aXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEVYVFJBX1NUQUNLX1NJWkUpLCBB
Uk1SZWdpc3RlcnM6OnNwKTsKKworIyAgIGRlZmluZSBDQUxMRlJBTUVfU1JDX1JFRyBHUFJJbmZv
Ojphcmd1bWVudEdQUjEKKyMgICBkZWZpbmUgUFJFVklPVVNfQ0FMTEZSQU1FX1JFRyBBUk1SZWdp
c3RlcnM6OnI3CisjZWxpZiBDUFUoQVJNNjQpCisgICAgaml0LnB1c2goQVJNNjRSZWdpc3RlcnM6
OmxyKTsKKyAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDE5KTsKKyAgICBqaXQucHVzaChB
Uk02NFJlZ2lzdGVyczo6eDIwKTsKKyAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDIxKTsK
KyAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDIyKTsKKyAgICBqaXQucHVzaChBUk02NFJl
Z2lzdGVyczo6eDIzKTsKKyAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDI0KTsKKyAgICBq
aXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDI1KTsKKyAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVy
czo6eDI2KTsKKyAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDI3KTsKKyAgICBqaXQucHVz
aChBUk02NFJlZ2lzdGVyczo6eDI4KTsKKyAgICBqaXQucHVzaChBUk02NFJlZ2lzdGVyczo6eDI5
KTsKKworIyAgIGRlZmluZSBDQUxMRlJBTUVfU1JDX1JFRyBHUFJJbmZvOjphcmd1bWVudEdQUjEK
KyMgICBkZWZpbmUgUFJFVklPVVNfQ0FMTEZSQU1FX1JFRyBBUk02NFJlZ2lzdGVyczo6eDI5Cisj
ZWxpZiBDUFUoTUlQUykKKyAgICBqaXQuc3ViUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMy
KFNUQUNLX0xFTkdUSCksIE1JUFNSZWdpc3RlcnM6OnNwKTsKKyAgICBqaXQuc3RvcmVQdHIoTUlQ
U1JlZ2lzdGVyczo6cmEsIENDYWxsSGVscGVyczo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwg
UFJFU0VSVkVEX1JFVFVSTl9BRERSRVNTX09GRlNFVCkpOworICAgIGppdC5zdG9yZVB0cihNSVBT
UmVnaXN0ZXJzOjpzNCwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1JUFNSZWdpc3RlcnM6OnNwLCBQ
UkVTRVJWRURfUzRfT0ZGU0VUKSk7CisgICAgaml0LnN0b3JlUHRyKE1JUFNSZWdpc3RlcnM6OnMz
LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6c3AsIFBSRVNFUlZFRF9TM19P
RkZTRVQpKTsKKyAgICBqaXQuc3RvcmVQdHIoTUlQU1JlZ2lzdGVyczo6czIsIENDYWxsSGVscGVy
czo6QWRkcmVzcyhNSVBTUmVnaXN0ZXJzOjpzcCwgUFJFU0VSVkVEX1MyX09GRlNFVCkpOworICAg
IGppdC5zdG9yZVB0cihNSVBTUmVnaXN0ZXJzOjpzMSwgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKE1J
UFNSZWdpc3RlcnM6OnNwLCBQUkVTRVJWRURfUzFfT0ZGU0VUKSk7CisgICAgaml0LnN0b3JlUHRy
KE1JUFNSZWdpc3RlcnM6OnMwLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lzdGVyczo6
c3AsIFBSRVNFUlZFRF9TMF9PRkZTRVQpKTsKKyNpZiBXVEZfTUlQU19QSUMKKyAgICBqaXQuc3Rv
cmVQdHIoTUlQU1JlZ2lzdGVyczo6Z3ApLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoTUlQU1JlZ2lz
dGVyczo6c3AsIFBSRVNFUlZFRF9HUF9PRkZTRVQpKTsKKyNlbmRpZgorCisjICAgZGVmaW5lIENB
TExGUkFNRV9TUkNfUkVHIEdQUkluZm86OmFyZ3VtZW50R1BSMQorIyAgIGRlZmluZSBQUkVWSU9V
U19DQUxMRlJBTUVfUkVHIE1JUFNSZWdpc3RlcnM6OmZwCisjZWxpZiBDUFUoU0g0KQorICAgIGpp
dC5wdXNoKFNINFJlZ2lzdGVyczo6ZnApOworICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cHIp
OworICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cjEzKTsKKyAgICBqaXQucHVzaChTSDRSZWdp
c3RlcnM6OnIxMSk7CisgICAgaml0LnB1c2goU0g0UmVnaXN0ZXJzOjpyMTApOworICAgIGppdC5w
dXNoKFNINFJlZ2lzdGVyczo6cjkpOworICAgIGppdC5wdXNoKFNINFJlZ2lzdGVyczo6cjgpOwor
ICAgIGppdC5zdWJQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRVhUUkFfU1RBQ0tfU0la
RSksIFNINFJlZ2lzdGVyczo6c3ApOworICAgIGppdC5tb3ZlKFNINFJlZ2lzdGVyczo6ZnAsIEdQ
UkluZm86Om5vbkFyZ0dQUjApOworCisjICAgZGVmaW5lIENBTExGUkFNRV9TUkNfUkVHIEdQUklu
Zm86OmFyZ3VtZW50R1BSMQorIyAgIGRlZmluZSBQUkVWSU9VU19DQUxMRlJBTUVfUkVHIEdQUklu
Zm86Om5vbkFyZ0dQUjAKKyNlbmRpZgorCisgICAgaWYgKENBTExGUkFNRV9TUkNfUkVHICE9IEdQ
UkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKQorICAgICAgICBqaXQubW92ZShDQUxMRlJBTUVfU1JD
X1JFRywgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgIGppdC5sb2FkUHRyKENDYWxs
SGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciksIEdQUkluZm86Om5v
bkFyZ0dQUjEpOworICAgIGppdC5zdG9yZVB0cihQUkVWSU9VU19DQUxMRlJBTUVfUkVHLCBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6bm9uQXJnR1BSMSkpOworCisjaWYgVVNFKEpTVkFM
VUU2NCkKKyAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NCgweGZmZmYwMDAw
MDAwMDAwMDBMKSwgR1BSSW5mbzo6dGFnVHlwZU51bWJlclJlZ2lzdGVyKTsKKyAgICBqaXQubW92
ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NCgweGZmZmYwMDAwMDAwMDAwMDJMKSwgR1BSSW5m
bzo6dGFnTWFza1JlZ2lzdGVyKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZChDQUxMX0NPREUpCisg
ICAgQ0FMTF9DT0RFOworI2Vsc2UKKyAgICBqaXQuY2FsbChHUFJJbmZvOjphcmd1bWVudEdQUjAp
OworI2VuZGlmCisKKyN1bmRlZiBDQUxMRlJBTUVfU1JDX1JFRworI3VuZGVmIENBTExfQ09ERQor
I3VuZGVmIFBSRVZJT1VTX0NBTExGUkFNRV9SRUcKKworICAgIHJldHVybkZyb21KYXZhU2NyaXB0
KGppdCk7CisKKyAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2bSwgJmppdCwgR0xPQkFMX1RI
VU5LX0lEKTsKKyAgICByZXR1cm4gRklOQUxJWkVfQ09ERShwYXRjaEJ1ZmZlciwgKCJDYWxsIHRv
IEphdmFTY3JpcHQgdGh1bmsiKSk7Cit9CisKK01hY3JvQXNzZW1ibGVyQ29kZVJlZiB0aHJvd05v
dENhdWdodChWTSogdm0pCit7CisgICAgQ0NhbGxIZWxwZXJzIGppdCh2bSk7CisKKyAgICByZXR1
cm5Gcm9tSmF2YVNjcmlwdChqaXQpOworCisgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcigqdm0s
ICZqaXQsIEdMT0JBTF9USFVOS19JRCk7CisgICAgcmV0dXJuIEZJTkFMSVpFX0NPREUocGF0Y2hC
dWZmZXIsICgiVW5jYXVnaHQgdGhyb3cgdGh1bmsiKSk7Cit9CisKIC8vIFdlIHdpbGwganVtcCBo
ZXJlIGlmIHRoZSBKSVQgY29kZSB0cmllcyB0byBtYWtlIGEgY2FsbCwgYnV0IHRoZQogLy8gbGlu
a2luZyBoZWxwZXIgKEMrKyBjb2RlKSBkZWNpZGVzIHRvIHRocm93IGFuIGV4Y2VwdGlvbiBpbnN0
ZWFkLgogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0
aEdlbmVyYXRvcihWTSogdm0pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5r
R2VuZXJhdG9ycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1
bmtHZW5lcmF0b3JzLmgJKHJldmlzaW9uIDE1ODY0NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDkgQEAK
ICNpZiBFTkFCTEUoSklUKQogbmFtZXNwYWNlIEpTQyB7CiAKK01hY3JvQXNzZW1ibGVyQ29kZVJl
ZiBjYWxsVG9KYXZhU2NyaXB0KFZNKik7CitNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdGhyb3dOb3RD
YXVnaHQoVk0qKTsKKwogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRocm93RXhjZXB0aW9uRnJvbUNh
bGxTbG93UGF0aEdlbmVyYXRvcihWTSopOwogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbGlua0Nh
bGxUaHVua0dlbmVyYXRvcihWTSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZN
LmNwcAkocmV2aXNpb24gMTU4NjQ3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Vk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTcsNiArMjU3LDggQEAgVk06OlZNKFZNVHlwZSB2
bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogCiAjaWYgRU5BQkxFKEpJVCkKICAgICBqaXRTdHVi
cyA9IGFkb3B0UHRyKG5ldyBKSVRUaHVua3MoKSk7CisKKyAgICBjYWxsSmF2YVNjcmlwdEpJVEZ1
bmN0aW9uID0gcmVpbnRlcnByZXRfY2FzdDxDYWxsSmF2YVNjcmlwdEpJVEZ1bmN0aW9uPihnZXRD
VElTdHViKGNhbGxUb0phdmFTY3JpcHQpLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpKTsKICNl
bmRpZgogCiAjaWYgRU5BQkxFKEZUTF9KSVQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9WTS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1ZNLmgJKHJldmlzaW9uIDE1ODY0NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1ZNLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyOSw2ICszMjksMTAgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgICAgICByZXR1cm4gaml0U3R1YnMtPmN0aVN0dWIodGhpcywgZ2VuZXJhdG9yKTsK
ICAgICAgICAgfQogICAgICAgICBOYXRpdmVFeGVjdXRhYmxlKiBnZXRIb3N0RnVuY3Rpb24oTmF0
aXZlRnVuY3Rpb24sIEludHJpbnNpYyk7CisKKyAgICAgICAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1
ZSgqQ2FsbEphdmFTY3JpcHRKSVRGdW5jdGlvbikodm9pZCAqLCBFeGVjU3RhdGUqKTsKKworICAg
ICAgICBDYWxsSmF2YVNjcmlwdEpJVEZ1bmN0aW9uIGNhbGxKYXZhU2NyaXB0SklURnVuY3Rpb247
CiAjZW5kaWYKICNpZiBFTkFCTEUoRlRMX0pJVCkKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEZU
TDo6VGh1bmtzPiBmdGxUaHVua3M7Cg==
</data>
<flag name="review"
          id="239026"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
    <flag name="commit-queue"
          id="239033"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>