<?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>225611</bug_id>
          
          <creation_ts>2021-05-10 13:59:50 -0700</creation_ts>
          <short_desc>Remove API::Object::Type::BundlePageGroup</short_desc>
          <delta_ts>2021-12-17 11:31:01 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>beidson</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1758623</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-10 13:59:50 -0700</bug_when>
    <thetext>Remove API::Object::Type::BundlePageGroup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758624</commentid>
    <comment_count>1</comment_count>
      <attachid>428199</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-10 14:00:19 -0700</bug_when>
    <thetext>Created attachment 428199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758742</commentid>
    <comment_count>2</comment_count>
      <attachid>428227</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-10 17:18:33 -0700</bug_when>
    <thetext>Created attachment 428227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759041</commentid>
    <comment_count>3</comment_count>
      <attachid>428307</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-11 12:55:52 -0700</bug_when>
    <thetext>Created attachment 428307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760873</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-17 14:00:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/78120928&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760941</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-17 16:25:32 -0700</bug_when>
    <thetext>http://trac.webkit.org/r277614</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1761276</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-18 13:26:35 -0700</bug_when>
    <thetext>Reverted in http://trac.webkit.org/r277672</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766172</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-02 14:51:46 -0700</bug_when>
    <thetext>This can be redone once rdar://78783988 is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825130</commentid>
    <comment_count>8</comment_count>
      <attachid>447462</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-12-17 10:50:50 -0800</bug_when>
    <thetext>Created attachment 447462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825146</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-17 11:30:58 -0800</bug_when>
    <thetext>Committed r287198 (245365@main): &lt;https://commits.webkit.org/245365@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447462.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428199</attachid>
            <date>2021-05-10 14:00:19 -0700</date>
            <delta_ts>2021-05-10 17:18:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225611-20210510140019.patch</filename>
            <type>text/plain</type>
            <size>34413</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3Mjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlkNmVlMzQyMDE5NDE5MDkx
MjMxMmY2MDAxNDE4ZTEzMDY4NDU5OGEuLjA3OWY5OWUwNmMzYjkyYWI5YTg2YjIzOGU4ZTZmYmRl
NWU3MjdkZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjEtMDUtMTAgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgQVBJ
OjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2VHcm91cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NjExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSXRzIGxhc3QgdXNlIHdhcyByZW1vdmVkIGluIHJkYXI6
Ly83Nzc3NTk1MgorCisgICAgICAgICogU2hhcmVkL0FQSS9BUElPYmplY3QuaDoKKyAgICAgICAg
KiBTaGFyZWQvQVBJL0FQSVBhZ2VHcm91cEhhbmRsZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
U2hhcmVkL0FQSS9BUElQYWdlR3JvdXBIYW5kbGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFy
ZWQvQ29jb2EvQVBJT2JqZWN0Lm1tOgorICAgICAgICAoQVBJOjpPYmplY3Q6Om5ld09iamVjdCk6
CisgICAgICAgICogU2hhcmVkL0NvY29hL1NoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6U2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2U6OnNldFN0b3JhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZTo6YWxsb2NhdGUpOgorICAgICAg
ICAqIFNoYXJlZC9Vc2VyRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJEYXRhOjplbmNv
ZGUpOgorICAgICAgICAoV2ViS2l0OjpVc2VyRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFy
ZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhU2FtcGxlQ3Vyc29yLmg6CisgICAgICAgICog
U291cmNlcy50eHQ6CisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1By
b3h5Ojp0cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Byb3h5Ojp0cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKToKKyAgICAgICAgKiBXZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5Q
YWdlR3JvdXAubW06IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwSW50ZXJuYWwuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyIHBhZ2VHcm91cF0pOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnRyYW5zZm9ybUhhbmRsZXNU
b09iamVjdHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjp0cmFuc2Zvcm1PYmplY3Rz
VG9IYW5kbGVzKToKKwogMjAyMS0wNS0xMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBPYmpDIEFQSSBzaW1pbGFyIHRvIFdLQnVuZGxl
UGFnZUNvcHlHcm91cElkZW50aWZpZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FQSS9BUElPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElPYmplY3QuaApp
bmRleCA0NmM3NzNlZTM4Y2QzMDY3NWI2ZThiMTYyNWY5NzUzMDc5M2IxNmJiLi40NDIyMGY3NmFl
YjQ4ZWNjOGE4ZDZiNGQwMGMxMzQ5MzRmYWUzYTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQ
SU9iamVjdC5oCkBAIC02Niw5ICs2Niw3IEBAIHB1YmxpYzoKICAgICAgICAgRXJyb3IsCiAgICAg
ICAgIEZyYW1lSGFuZGxlLAogICAgICAgICBJbWFnZSwKLSAgICAgICAgUGFnZUdyb3VwRGF0YSwK
ICAgICAgICAgUGFnZUhhbmRsZSwKLSAgICAgICAgUGFnZUdyb3VwSGFuZGxlLAogICAgICAgICBQ
cm90ZWN0aW9uU3BhY2UsCiAgICAgICAgIFJlbmRlckxheWVyLAogICAgICAgICBSZW5kZXJPYmpl
Y3QsCkBAIC0yMDQsNyArMjAyLDYgQEAgcHVibGljOgogICAgICAgICBCdW5kbGVOb2RlSGFuZGxl
LAogICAgICAgICBCdW5kbGVQYWdlLAogICAgICAgICBCdW5kbGVQYWdlQmFubmVyLAotICAgICAg
ICBCdW5kbGVQYWdlR3JvdXAsCiAgICAgICAgIEJ1bmRsZVBhZ2VPdmVybGF5LAogICAgICAgICBC
dW5kbGVSYW5nZUhhbmRsZSwKICAgICAgICAgQnVuZGxlU2NyaXB0V29ybGQsCkBAIC0zMTksOSAr
MzE2LDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxBUEk6Ok9iamVjdDo6VHlwZT4g
ewogICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6RXJyb3IsCiAgICAgICAgIEFQSTo6T2JqZWN0
OjpUeXBlOjpGcmFtZUhhbmRsZSwKICAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OkltYWdlLAot
ICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdyb3VwRGF0YSwKICAgICAgICAgQVBJOjpP
YmplY3Q6OlR5cGU6OlBhZ2VIYW5kbGUsCi0gICAgICAgIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdl
R3JvdXBIYW5kbGUsCiAgICAgICAgIEFQSTo6T2JqZWN0OjpUeXBlOjpQcm90ZWN0aW9uU3BhY2Us
CiAgICAgICAgIEFQSTo6T2JqZWN0OjpUeXBlOjpSZXNvdXJjZUxvYWRJbmZvLAogICAgICAgICBB
UEk6Ok9iamVjdDo6VHlwZTo6U2VjdXJpdHlPcmlnaW4sCkBAIC00NTUsNyArNDUwLDYgQEAgdGVt
cGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxBUEk6Ok9iamVjdDo6VHlwZT4gewogICAgICAgICBB
UEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlTm9kZUhhbmRsZSwKICAgICAgICAgQVBJOjpPYmplY3Q6
OlR5cGU6OkJ1bmRsZVBhZ2UsCiAgICAgICAgIEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5kbGVQYWdl
QmFubmVyLAotICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlUGFnZUdyb3VwLAogICAg
ICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlUGFnZU92ZXJsYXksCiAgICAgICAgIEFQSTo6
T2JqZWN0OjpUeXBlOjpCdW5kbGVSYW5nZUhhbmRsZSwKICAgICAgICAgQVBJOjpPYmplY3Q6OlR5
cGU6OkJ1bmRsZVNjcmlwdFdvcmxkLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
QVBJL0FQSVBhZ2VHcm91cEhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJ
UGFnZUdyb3VwSGFuZGxlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQxODgw
MjczZjI0YzJkYTdjM2MwMzVmYTcxMmZmNjQ3ZDc0OWVhNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJUGFn
ZUdyb3VwSGFuZGxlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQVBJUGFnZUdyb3VwSGFuZGxlLmgi
Ci0KLSNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgotI2luY2x1ZGUgIkRlY29kZXIuaCIKLSNp
bmNsdWRlICJFbmNvZGVyLmgiCi0KLW5hbWVzcGFjZSBBUEkgewotCi1SZWY8UGFnZUdyb3VwSGFu
ZGxlPiBQYWdlR3JvdXBIYW5kbGU6OmNyZWF0ZShXZWJLaXQ6OldlYlBhZ2VHcm91cERhdGEmJiB3
ZWJQYWdlR3JvdXBEYXRhKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBhZ2VHcm91cEhh
bmRsZShXVEZNb3ZlKHdlYlBhZ2VHcm91cERhdGEpKSk7Ci19Ci0KLVBhZ2VHcm91cEhhbmRsZTo6
UGFnZUdyb3VwSGFuZGxlKFdlYktpdDo6V2ViUGFnZUdyb3VwRGF0YSYmIHdlYlBhZ2VHcm91cERh
dGEpCi0gICAgOiBtX3dlYlBhZ2VHcm91cERhdGEoV1RGTW92ZSh3ZWJQYWdlR3JvdXBEYXRhKSkK
LXsKLX0KLQotUGFnZUdyb3VwSGFuZGxlOjp+UGFnZUdyb3VwSGFuZGxlKCkKLXsKLX0KLQotdm9p
ZCBQYWdlR3JvdXBIYW5kbGU6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17
Ci0gICAgZW5jb2RlciA8PCBtX3dlYlBhZ2VHcm91cERhdGE7Ci19Ci0KLWJvb2wgUGFnZUdyb3Vw
SGFuZGxlOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBSZWZQdHI8T2JqZWN0PiYgcmVz
dWx0KQotewotICAgIE9wdGlvbmFsPFdlYktpdDo6V2ViUGFnZUdyb3VwRGF0YT4gd2ViUGFnZUdy
b3VwRGF0YTsKLSAgICBkZWNvZGVyID4+IHdlYlBhZ2VHcm91cERhdGE7Ci0gICAgaWYgKCF3ZWJQ
YWdlR3JvdXBEYXRhKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXN1bHQgPSBjcmVh
dGUoV1RGTW92ZSgqd2ViUGFnZUdyb3VwRGF0YSkpOwotICAgIHJldHVybiB0cnVlOwotfQotCi19
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJUGFnZUdyb3VwSGFuZGxl
LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJUGFnZUdyb3VwSGFuZGxlLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhYWY4M2Y4OGNmNzEyNTVjZDBiODdiM2U5NTUzMWU1
Y2E2YWFlOTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSVBhZ2VHcm91cEhhbmRsZS5oCisrKyAvZGV2L251
bGwKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQVBJUGFnZUdyb3VwSGFu
ZGxlX2gKLSNkZWZpbmUgQVBJUGFnZUdyb3VwSGFuZGxlX2gKLQotI2luY2x1ZGUgIkFQSU9iamVj
dC5oIgotI2luY2x1ZGUgIldlYlBhZ2VHcm91cERhdGEuaCIKLSNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+Ci0KLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGVjb2RlcjsKLWNsYXNzIEVuY29kZXI7Ci19
Ci0KLW5hbWVzcGFjZSBBUEkgewotCi1jbGFzcyBQYWdlR3JvdXBIYW5kbGUgOiBwdWJsaWMgT2Jq
ZWN0SW1wbDxPYmplY3Q6OlR5cGU6OlBhZ2VHcm91cEhhbmRsZT4gewotcHVibGljOgotICAgIHN0
YXRpYyBSZWY8UGFnZUdyb3VwSGFuZGxlPiBjcmVhdGUoV2ViS2l0OjpXZWJQYWdlR3JvdXBEYXRh
JiYpOwotICAgIHZpcnR1YWwgflBhZ2VHcm91cEhhbmRsZSgpOwotCi0gICAgY29uc3QgV2ViS2l0
OjpXZWJQYWdlR3JvdXBEYXRhJiB3ZWJQYWdlR3JvdXBEYXRhKCkgY29uc3QgeyByZXR1cm4gbV93
ZWJQYWdlR3JvdXBEYXRhOyB9Ci0KLSAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25z
dDsKLSAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2Rl
ciYsIFJlZlB0cjxPYmplY3Q+Jik7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgUGFnZUdyb3Vw
SGFuZGxlKFdlYktpdDo6V2ViUGFnZUdyb3VwRGF0YSYmKTsKLQotICAgIGNvbnN0IFdlYktpdDo6
V2ViUGFnZUdyb3VwRGF0YSBtX3dlYlBhZ2VHcm91cERhdGE7Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBBUEkKLQotCi0jZW5kaWYgLy8gQVBJUGFnZUdyb3VwSGFuZGxlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbSBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL0FQSU9iamVjdC5tbQppbmRleCAxZDdiOGRkMmU4YzgyMmRmYjdmZTYzOTAzMDE3
MjdjZTVlZDRkNTZiLi4xMzIyOTUyY2FkMTBhNWUyMmIwZTIxZDNlOTc4ZDc1ZTE3ZTVlMDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BUElPYmplY3QubW0KKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tCkBAIC02Myw3ICs2Myw2IEBA
CiAjaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0SW50ZXJuYWwuaCIKICNp
bXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJbkludGVybmFsLmgiCiAjaW1wb3J0ICJXS1dlYlByb2Nl
c3NQbHVnSW5Ob2RlSGFuZGxlSW50ZXJuYWwuaCIKLSNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJ
blBhZ2VHcm91cEludGVybmFsLmgiCiAjaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhh
bmRsZUludGVybmFsLmgiCiAjaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZElu
dGVybmFsLmgiCiAjaW1wb3J0ICJXS1dlYnBhZ2VQcmVmZXJlbmNlc0ludGVybmFsLmgiCkBAIC00
MjcsMTIgKzQyNiw2IEBAIHZvaWQqIE9iamVjdDo6bmV3T2JqZWN0KHNpemVfdCBzaXplLCBUeXBl
IHR5cGUpCiAgICAgICAgIHdyYXBwZXIgPSBbV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZSBh
bGxvY107CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBUeXBlOjpCdW5kbGVQYWdlR3JvdXA6
Ci0gICAgICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOOwotICAgICAgICB3
cmFwcGVyID0gW1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cCBhbGxvY107Ci0gICAgICAgIEFM
TE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORDsKLSAgICAgICAgYnJlYWs7Ci0KICAgICBj
YXNlIFR5cGU6OkJ1bmRsZVJhbmdlSGFuZGxlOgogICAgICAgICB3cmFwcGVyID0gW1dLV2ViUHJv
Y2Vzc1BsdWdJblJhbmdlSGFuZGxlIGFsbG9jXTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9TaGFyZWRSaW5nQnVmZmVyU3RvcmFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9TaGFyZWRSaW5nQnVmZmVyU3RvcmFnZS5jcHAK
aW5kZXggOGFmMjYzNzlhMGU0ZWVhNTQzMTZkMjQxMDNhMDA5ZmIyNDc0ZWFlNC4uMTY3MTk1MjQ2
ZGNkNGY3ZGRmMzY5YjI3MzI5MzQ5YmFlNGU3MGZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL1NoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmNwcApAQCAtNzYsMTQg
Kzc2LDE0IEBAIHZvaWQgUmVhZE9ubHlTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZTo6dXBkYXRlRnJh
bWVCb3VuZHMoKQogICAgIG1fZW5kRnJhbWUgPSBwYWlyLnNlY29uZDsKIH0KIAotdm9pZCBTaGFy
ZWRSaW5nQnVmZmVyU3RvcmFnZTo6c2V0U3RvcmFnZShSZWZQdHI8U2hhcmVkTWVtb3J5PiYmIHN0
b3JhZ2UsIGNvbnN0IENBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZm9ybWF0LCBzaXplX3QgZnJh
bWVDb3VudCkKK3ZvaWQgU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2U6OnNldFN0b3JhZ2UoUmVmUHRy
PFNoYXJlZE1lbW9yeT4mJiBzdG9yYWdlLCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24mIGZvcm1hdCwgc2l6ZV90IGZyYW1lQ291bnQpCiB7CiAgICAgbV9zdG9yYWdlID0g
V1RGTW92ZShzdG9yYWdlKTsKICAgICBpZiAobV9zdG9yYWdlQ2hhbmdlZEhhbmRsZXIpCiAgICAg
ICAgIG1fc3RvcmFnZUNoYW5nZWRIYW5kbGVyKG1fc3RvcmFnZS5nZXQoKSwgZm9ybWF0LCBmcmFt
ZUNvdW50KTsKIH0KIAotdm9pZCBTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZTo6YWxsb2NhdGUoc2l6
ZV90IGJ5dGVDb3VudCwgY29uc3QgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBmb3JtYXQsIHNp
emVfdCBmcmFtZUNvdW50KQordm9pZCBTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZTo6YWxsb2NhdGUo
c2l6ZV90IGJ5dGVDb3VudCwgY29uc3QgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9u
JiBmb3JtYXQsIHNpemVfdCBmcmFtZUNvdW50KQogewogICAgIGF1dG8gc2hhcmVkTWVtb3J5ID0g
U2hhcmVkTWVtb3J5OjphbGxvY2F0ZShieXRlQ291bnQgKyBzaXplb2YoRnJhbWVCb3VuZHMpKTsK
ICAgICBuZXcgKE5vdE51bGwsIHNoYXJlZE1lbW9yeS0+ZGF0YSgpKSBGcmFtZUJvdW5kczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1VzZXJEYXRhLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1VzZXJEYXRhLmNwcAppbmRleCAxYjZkYmZhZTQzMDg0N2MzZGUxMGFmYzgwYmUy
YzhiNmVkODIyNDM5Li5iYmJmZjI3ZDVmNTMyZTM4NjY4YzM0M2I4ZDlmYjJmNzUwM2IxMTBlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Vc2VyRGF0YS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvVXNlckRhdGEuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAi
QVBJRnJhbWVIYW5kbGUuaCIKICNpbmNsdWRlICJBUElHZW9tZXRyeS5oIgogI2luY2x1ZGUgIkFQ
SU51bWJlci5oIgotI2luY2x1ZGUgIkFQSVBhZ2VHcm91cEhhbmRsZS5oIgogI2luY2x1ZGUgIkFQ
SVBhZ2VIYW5kbGUuaCIKICNpbmNsdWRlICJBUElTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNp
bmNsdWRlICJBUElTdHJpbmcuaCIKQEAgLTIzMCwxMCArMjI5LDYgQEAgdm9pZCBVc2VyRGF0YTo6
ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlciwgY29uc3QgQVBJOjpPYmplY3QmIG9iamVjdCkK
ICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFn
ZUdyb3VwSGFuZGxlOgotICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBBUEk6OlBhZ2VHcm91cEhh
bmRsZSY+KG9iamVjdCkuZW5jb2RlKGVuY29kZXIpOwotICAgICAgICBicmVhazsKLQogICAgIGNh
c2UgQVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2VIYW5kbGU6CiAgICAgICAgIHN0YXRpY19jYXN0PGNv
bnN0IEFQSTo6UGFnZUhhbmRsZSY+KG9iamVjdCkuZW5jb2RlKGVuY29kZXIpOwogICAgICAgICBi
cmVhazsKQEAgLTQxNSwxMSArNDEwLDYgQEAgYm9vbCBVc2VyRGF0YTo6ZGVjb2RlKElQQzo6RGVj
b2RlciYgZGVjb2RlciwgUmVmUHRyPEFQSTo6T2JqZWN0PiYgcmVzdWx0KQogICAgICAgICByZXN1
bHQgPSBudWxscHRyOwogICAgICAgICBicmVhazsKIAotICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5
cGU6OlBhZ2VHcm91cEhhbmRsZToKLSAgICAgICAgaWYgKCFBUEk6OlBhZ2VHcm91cEhhbmRsZTo6
ZGVjb2RlKGRlY29kZXIsIHJlc3VsdCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgIGJyZWFrOwotCiAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUhhbmRsZToKICAg
ICAgICAgaWYgKCFBUEk6OlBhZ2VIYW5kbGU6OmRlY29kZShkZWNvZGVyLCByZXN1bHQpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
bWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhU2FtcGxlQ3Vyc29yLmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFTYW1wbGVDdXJzb3IuaAppbmRleCA2
ODdiMTMwMDQ3YTgyMzNjNDQxMzNkMzZjYjY4YjFmNTExZTMzMmU2Li44YjRhOGJlNmYyM2RhZTZm
NGVmODVjZGY3NTBlNzI5NzZhZmNmYWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFTYW1wbGVDdXJzb3IuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFTYW1wbGVDdXJzb3IuaApA
QCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQ29yZU1lZGlhV3JhcHBlZC5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvU2FtcGxlTWFwLmg+CisjaW5jbHVkZSA8d3RmL0lkZW50aWZpZWQuaD4KICNp
bmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNl
cy50eHQKaW5kZXggZWUyNWE1NDA2ZWExZTQ2NDM3ZDBlZWE3NDZmMTI5ZGVlMGU5YTAxMy4uMTk1
ZDRkMjQzMDc0M2RjYTUyNjQ1YjAxYWRiMDMxYWM5YWJiOTliMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CkBAIC0y
MzgsNyArMjM4LDYgQEAgU2hhcmVkL0FQSS9BUElFcnJvci5jcHAKIFNoYXJlZC9BUEkvQVBJRnJh
bWVIYW5kbGUuY3BwCiBTaGFyZWQvQVBJL0FQSUdlb21ldHJ5LmNwcAogU2hhcmVkL0FQSS9BUElP
YmplY3QuY3BwCi1TaGFyZWQvQVBJL0FQSVBhZ2VHcm91cEhhbmRsZS5jcHAKIFNoYXJlZC9BUEkv
QVBJUGFnZUhhbmRsZS5jcHAKIFNoYXJlZC9BUEkvQVBJVVJMUmVxdWVzdC5jcHAKIFNoYXJlZC9B
UEkvQVBJVVJMUmVzcG9uc2UuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXND
b2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggMDRlYWE3OWY2
MTYwOTY1NTQxMjY3OWYzNjk2NzE5YzZmMjFhMGNlYy4uZjAxZGJmMzU0N2M1MTgxMmVhZjQwN2Q4
ZjRlYjY1ODE4OWVmMGJmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2Eu
dHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtNjI1LDcgKzYyNSw2
IEBAIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc0J1bmRs
ZVBhcmFtZXRlcnMubW0KIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2Vi
UHJvY2Vzc1BsdWdJbkZyYW1lLm1tCiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2Nv
YS9XS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0Lm1tCiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlLm1tCi1XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAu
bW0KIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJ
blJhbmdlSGFuZGxlLm1tCiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dl
YlByb2Nlc3NQbHVnSW5TY3JpcHRXb3JsZC5tbQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA3MGRlOWExNzFhODcyNjk2MWNjZTdhYjMwNDRhMDE3
MDE4ZjU3Y2M3Li5hZjk3NzkwNjg0Zjg4MGI0ZTBhOWFjMTRhMGRmMjYxOTQzNjkxMDQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTI3LDcgKzI3
LDYgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKIAogI2luY2x1ZGUgIkFQSUZyYW1l
SGFuZGxlLmgiCi0jaW5jbHVkZSAiQVBJUGFnZUdyb3VwSGFuZGxlLmgiCiAjaW5jbHVkZSAiQVBJ
UGFnZUhhbmRsZS5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0b3JNYW5hZ2VyLmgiCiAjaW5jbHVk
ZSAiRGF0YVJlZmVyZW5jZS5oIgpAQCAtMTMyNCw3ICsxMzIzLDYgQEAgUmVmUHRyPEFQSTo6T2Jq
ZWN0PiBXZWJQcm9jZXNzUHJveHk6OnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHMoQVBJOjpPYmpl
Y3QqIG9iamUKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2VIYW5kbGU6
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEFQSTo6UGFnZUhhbmRs
ZSY+KG9iamVjdCkuaXNBdXRvY29udmVydGluZygpOwogCi0gICAgICAgICAgICBjYXNlIEFQSTo6
T2JqZWN0OjpUeXBlOjpQYWdlR3JvdXBIYW5kbGU6CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
ICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpPYmpDT2JqZWN0R3JhcGg6CiAjZW5kaWYK
QEAgLTEzNDIsOSArMTM0MCw2IEBAIFJlZlB0cjxBUEk6Ok9iamVjdD4gV2ViUHJvY2Vzc1Byb3h5
Ojp0cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKEFQSTo6T2JqZWN0KiBvYmplCiAgICAgICAgICAg
ICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PEFQSTo6RnJhbWVIYW5kbGUmPihvYmplY3QpLmlzQXV0
b2NvbnZlcnRpbmcoKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1fd2ViUHJvY2Vzc1Byb3h5
LndlYkZyYW1lKHN0YXRpY19jYXN0PEFQSTo6RnJhbWVIYW5kbGUmPihvYmplY3QpLmZyYW1lSUQo
KSk7CiAKLSAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2VHcm91cEhhbmRs
ZToKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViUGFnZUdyb3VwOjpnZXQoc3RhdGljX2Nhc3Q8
QVBJOjpQYWdlR3JvdXBIYW5kbGUmPihvYmplY3QpLndlYlBhZ2VHcm91cERhdGEoKS5wYWdlR3Jv
dXBJRCk7Ci0KICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2VIYW5kbGU6
CiAgICAgICAgICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PEFQSTo6UGFnZUhhbmRsZSY+KG9i
amVjdCkuaXNBdXRvY29udmVydGluZygpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gbV93ZWJQ
cm9jZXNzUHJveHkud2ViUGFnZShzdGF0aWNfY2FzdDxBUEk6OlBhZ2VIYW5kbGUmPihvYmplY3Qp
LnBhZ2VQcm94eUlEKCkpOwpAQCAtMTM5Miw5ICsxMzg3LDYgQEAgUmVmUHRyPEFQSTo6T2JqZWN0
PiBXZWJQcm9jZXNzUHJveHk6OnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXMoQVBJOjpPYmplY3Qq
IG9iamUKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2U6CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIEFQSTo6UGFnZUhhbmRsZTo6Y3JlYXRlQXV0b2NvbnZlcnRpbmcoc3Rh
dGljX2Nhc3Q8Y29uc3QgV2ViUGFnZVByb3h5Jj4ob2JqZWN0KS5pZGVudGlmaWVyKCksIHN0YXRp
Y19jYXN0PGNvbnN0IFdlYlBhZ2VQcm94eSY+KG9iamVjdCkud2ViUGFnZUlEKCkpOwogCi0gICAg
ICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlR3JvdXA6Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuIEFQSTo6UGFnZUdyb3VwSGFuZGxlOjpjcmVhdGUoV2ViUGFnZUdyb3VwRGF0YShz
dGF0aWNfY2FzdDxjb25zdCBXZWJQYWdlR3JvdXAmPihvYmplY3QpLmRhdGEoKSkpOwotCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAgICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpPYmpD
T2JqZWN0R3JhcGg6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybU9iamVjdHNUb0hh
bmRsZXMoc3RhdGljX2Nhc3Q8T2JqQ09iamVjdEdyYXBoJj4ob2JqZWN0KSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkNjgwMWZjNTEy
MTcwY2JmOTlhNjI0OTcxMjcwMWU0YTFmMDliMjA4Li4yMjcyZDY4N2ViNzdhZDMzYTY4NjE5Yzhl
ZWU2OTQ3MDNjYWZjNDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTQ2NCw3ICs0NjQsNiBAQAogCQkxRjc1MDZCODE4NTkxNjVEMDBF
QzBGRjcgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYwMTgxNkIxODU4REMxNTAwRjkyODg0
IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lSW50ZXJuYWwuaCAqLzsgfTsKIAkJMUY3RDM2QzEx
OERBNTEzRjAwRDlENjU5IC8qIEFQSURvd25sb2FkQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjdEMzZDMDE4REE1MTNGMDBEOUQ2NTkgLyog
QVBJRG93bmxvYWRDbGllbnQuaCAqLzsgfTsKIAkJMUZCMDBBQzcxODVGNzY0NjAwMTkxNDJFIC8q
IFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUZCMDBBQzQxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJv
Y2Vzc1BsdWdJblBhZ2VHcm91cC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCTFGQjAwQUM5MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQ
bHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUZCMDBBQzYxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1Bs
dWdJblBhZ2VHcm91cEludGVybmFsLmggKi87IH07CiAJCTI2MzE3MkNGMThCNDY5NDkwMDY1QjlD
MyAvKiBOYXRpdmVXZWJUb3VjaEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyNjMxNzJDRTE4QjQ2OTQ5MDA2NUI5QzMgLyogTmF0aXZlV2ViVG91
Y2hFdmVudC5oICovOyB9OwogCQkyNjg0MDU0NDE4Qjg1QTYzMDAyMkMzOEIgLyogVmlzaWJsZUNv
bnRlbnRSZWN0VXBkYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjY4NDA1NDIxOEI4NUE2MzAwMjJDMzhCIC8qIFZpc2libGVDb250ZW50UmVj
dFVwZGF0ZUluZm8uaCAqLzsgfTsKIAkJMjY4NDA1NTIxOEI4NkVENjAwMjJDMzhCIC8qIFZpZXdV
cGRhdGVEaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2ODQwNTUwMThCODZFRDYwMDIyQzM4QiAvKiBWaWV3
VXBkYXRlRGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0yNjYyLDggKzI2
NjEsNiBAQAogCQkxQTMzNERFQTE2REU4QjY4MDA2QThFMzggLyogU3RvcmFnZUFyZWFNYXAubWVz
c2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gU3RvcmFnZUFyZWFNYXAubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFBMzM0REVCMTZERThGODgwMDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1h
cE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJpdmVkU291cmNl
cy9XZWJLaXQyL1N0b3JhZ2VBcmVhTWFwTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJMUEzMzRERUMxNkRFOEY4ODAwNkE4RTM4IC8qIFN0
b3JhZ2VBcmVhTWFwTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
U3RvcmFnZUFyZWFNYXBNZXNzYWdlcy5oOyBwYXRoID0gRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9T
dG9yYWdlQXJlYU1hcE1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07Ci0JCTFBM0E3M0NCMUE0OEM2RDQwMDcyMzFCMyAvKiBBUElQYWdlR3JvdXBIYW5kbGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQVBJUGFnZUdyb3VwSGFuZGxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUEzQTczQ0MxQTQ4QzZENDAwNzIz
MUIzIC8qIEFQSVBhZ2VHcm91cEhhbmRsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBUElQYWdlR3JvdXBIYW5kbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUEzQzg4N0YxOEE1QUJBRTAwQzRDOTYyIC8qIFdLUHJlZmVyZW5jZXNJbnRlcm5hbC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1ByZWZlcmVuY2VzSW50ZXJuYWwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEzQ0MxNjQxODkwNkFDRjAwMUU2RUQ4IC8qIFdL
V2ViVmlldy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLV2Vi
Vmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEzQ0MxNjUxODkwNkFDRjAw
MUU2RUQ4IC8qIFdLV2ViVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
S1dlYlZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxMTcsOCArMzExNCw2
IEBACiAJCTFGNjA0QkE3MTg4OUZBNzQwMEVFMDM5NSAvKiBfV0tSZW5kZXJpbmdQcm9ncmVzc0V2
ZW50c0ludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1JlbmRl
cmluZ1Byb2dyZXNzRXZlbnRzSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUY3RDM2QzAxOERBNTEzRjAwRDlENjU5IC8qIEFQSURvd25sb2FkQ2xpZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSURvd25sb2FkQ2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFGQjAwQUM0MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlBy
b2Nlc3NQbHVnSW5QYWdlR3JvdXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTFGQjAwQUM1MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3Jv
dXAubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1dlYlByb2Nl
c3NQbHVnSW5QYWdlR3JvdXAubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFGQjAw
QUM2MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5h
bC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1dlYlByb2Nlc3NQbHVnSW5Q
YWdlR3JvdXBJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjMxNzJD
RTE4QjQ2OTQ5MDA2NUI5QzMgLyogTmF0aXZlV2ViVG91Y2hFdmVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBOYXRpdmVXZWJUb3VjaEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTI2NjU5QUEwMTg1RkFBRUQwMDQzMDNERCAvKiBJbmZvLWlPUy5wbGlz
dCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
cGxpc3QueG1sOyBwYXRoID0gIkluZm8taU9TLnBsaXN0Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMjY4NDA1NDIxOEI4NUE2MzAwMjJDMzhCIC8qIFZpc2libGVDb250ZW50UmVjdFVw
ZGF0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmlzaWJsZUNvbnRl
bnRSZWN0VXBkYXRlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzI0MCw4
ICs3MjM1LDYgQEAKIAkJCQkxRjAxODE3MTE4NThEQzE2MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNz
UGx1Z0luTm9kZUhhbmRsZUludGVybmFsLmggKi8sCiAJCQkJQ0VDOEY5Q0ExRkRGNTg3MDAwMjYz
NUU3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGVQcml2YXRlLmggKi8sCiAJCQkJMUZC
MDBBQzQxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oICov
LAotCQkJCTFGQjAwQUM1MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdl
R3JvdXAubW0gKi8sCi0JCQkJMUZCMDBBQzYxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vz
c1BsdWdJblBhZ2VHcm91cEludGVybmFsLmggKi8sCiAJCQkJMzc0OTQyMTkxREYxRjlGRjAwMzND
MTlGIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlLmggKi8sCiAJCQkJMzc0OTQyMTgx
REYxRjlGRjAwMzNDMTlGIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlLm1tICovLAog
CQkJCTM3NDk0MjFDMURGMUZBQjkwMDMzQzE5RiAvKiBXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhh
bmRsZUludGVybmFsLmggKi8sCkBAIC0xMDg5Nyw4ICsxMDg5MCw2IEBACiAJCQkJQkMzM0RENjcx
MjM4NDY0NjAwMzYwRjNGIC8qIEFQSU51bWJlci5oICovLAogCQkJCUI2MzQwM0Y4MTQ5MTBENTcw
MDEwNzBCNSAvKiBBUElPYmplY3QuY3BwICovLAogCQkJCUJDRjA0QzhDMTFGRjlCN0QwMEY4NkE1
OCAvKiBBUElPYmplY3QuaCAqLywKLQkJCQkxQTNBNzNDQjFBNDhDNkQ0MDA3MjMxQjMgLyogQVBJ
UGFnZUdyb3VwSGFuZGxlLmNwcCAqLywKLQkJCQkxQTNBNzNDQzFBNDhDNkQ0MDA3MjMxQjMgLyog
QVBJUGFnZUdyb3VwSGFuZGxlLmggKi8sCiAJCQkJMUFDMTMzNkQxODU2NUQyQjAwRjNFQzA1IC8q
IEFQSVBhZ2VIYW5kbGUuY3BwICovLAogCQkJCTFBQzEzMzZCMTg1NjVDN0EwMEYzRUMwNSAvKiBB
UElQYWdlSGFuZGxlLmggKi8sCiAJCQkJRjYzNDQ0NTUxMkE4ODVDODAwMDYxMkQ4IC8qIEFQSVNl
Y3VyaXR5T3JpZ2luLmggKi8sCkBAIC0xMzAwMiw3ICsxMjk5Myw2IEBACiAJCQkJMUY3NTA2QjYx
ODU5MTY1NzAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGVJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0VDOEY5Q0IxRkRGNTg3MDAwMjYzNUU3IC8qIFdLV2ViUHJv
Y2Vzc1BsdWdJbk5vZGVIYW5kbGVQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxRkIwMEFD
NzE4NUY3NjQ2MDAxOTE0MkUgLyogV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLmggaW4gSGVh
ZGVycyAqLywKLQkJCQkxRkIwMEFDOTE4NUY3NjQ2MDAxOTE0MkUgLyogV0tXZWJQcm9jZXNzUGx1
Z0luUGFnZUdyb3VwSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDRFRkZDMTZFNjVB
RkIwMEUzMzZGMCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Qcml2YXRlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzNzQ5NDIxQjFERjFGOUZGMDAzM0MxOUYgLyogV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VI
YW5kbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3NDk0MjFEMURGMUZBQjkwMDMzQzE5RiAvKiBX
S1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29j
b2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5o
CmluZGV4IGJjOGQyY2E1OWM4N2I0NmU4MzM2YzUyM2ZlNzg4ZTkwNDg5M2NmZTcuLjE0YmNlZjNi
YjVkNDEyMmI3OTMyMTc2ZjI0ODQ1NTY5NTI2YTRkNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0lu
UGFnZUdyb3VwLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaApAQCAtMjcsOSArMjcsOCBA
QAogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KIAorLy8gRklYTUU6IFJlbW92
ZSB0aGlzIGZpbGUgb25jZSB0aGUgc3RhZ2luZyBjb2RlIGZvciByZGFyOi8vNzc3NzU5NTIgaXMg
cmVtb3ZlZC4KIFdLX0NMQVNTX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgiV0tXZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLl9ncm91cElkZW50aWZpZXIiLCBtYWNv
cygxMC4xMCwgV0tfTUFDX1RCQSksIGlvcyg4LjAsIFdLX0lPU19UQkEpKQogQGludGVyZmFjZSBX
S1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgOiBOU09iamVjdAogCi1AcHJvcGVydHkgKHJlYWRv
bmx5KSBOU1N0cmluZyAqaWRlbnRpZmllcjsKLQogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVn
SW5QYWdlR3JvdXAubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbQpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZWMwMzIzNmQ3N2MyNTY1NWNlZTdlYTg5NWRlZGU5NmM0MjhmNDJlZS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJ
blBhZ2VHcm91cC5tbQorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91
cEludGVybmFsLmgiCi0KLSNpbXBvcnQgIldLQVBJQ2FzdC5oIgotI2ltcG9ydCAiV0tOU1N0cmlu
Zy5oIgotI2ltcG9ydCAiV0tSZXRhaW5QdHIuaCIKLSNpbXBvcnQgIldlYlBhZ2VHcm91cFByb3h5
LmgiCi0jaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVPYmpDRXh0cmFzLmg+Ci0KLUFMTE9XX0RFUFJF
Q0FURURfSU1QTEVNRU5UQVRJT05TX0JFR0lOCi1AaW1wbGVtZW50YXRpb24gV0tXZWJQcm9jZXNz
UGx1Z0luUGFnZUdyb3VwIHsKLSAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8V2ViS2l0OjpXZWJQYWdl
R3JvdXBQcm94eT4gX2J1bmRsZVBhZ2VHcm91cDsKLX0KLUFMTE9XX0RFUFJFQ0FURURfSU1QTEVN
RU5UQVRJT05TX0VORAotCi0tIChOU1N0cmluZyAqKWlkZW50aWZpZXIKLXsKLSAgICByZXR1cm4g
X2J1bmRsZVBhZ2VHcm91cC0+aWRlbnRpZmllcigpOwotfQotCi0tICh2b2lkKWRlYWxsb2MKLXsK
LSAgICBpZiAoV2ViQ29yZU9iakNTY2hlZHVsZURlYWxsb2NhdGVPbk1haW5SdW5Mb29wKFdLV2Vi
UHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5jbGFzcywgc2VsZikpCi0gICAgICAgIHJldHVybjsKLSAg
ICBfYnVuZGxlUGFnZUdyb3VwLT5+V2ViUGFnZUdyb3VwUHJveHkoKTsKLSAgICBbc3VwZXIgZGVh
bGxvY107Ci19Ci0KLSNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2NvbCBpbXBsZW1lbnRhdGlv
bgotCi0tIChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdAotewotICAgIHJldHVybiAqX2J1bmRsZVBh
Z2VHcm91cDsKLX0KLQotQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRl
cm5hbC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2Nv
YS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwZDc5MThlM2NkYTdmNWZjZDI0YTk0NmJiNGRkZmZjZTU1NmNlZDBmLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0lu
UGFnZUdyb3VwSW50ZXJuYWwuaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oIgotCi0j
aW1wb3J0ICJXS0Jhc2UuaCIKLSNpbXBvcnQgIldlYlBhZ2VHcm91cFByb3h5LmgiCi0KLW5hbWVz
cGFjZSBXZWJLaXQgewotCi10ZW1wbGF0ZTw+IHN0cnVjdCBXcmFwcGVyVHJhaXRzPFdlYlBhZ2VH
cm91cFByb3h5PiB7Ci0gICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAg
ICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXA7Ci0gICAg
QUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi19OwotCi19Ci0KLUBpbnRlcmZhY2Ug
V0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwICgpIDxXS09iamVjdD4KLUBlbmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2Vi
UHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyLmgKaW5kZXggNzMyZjU5ODM5NTliMmNiMWI3ZWJhY2I5YzM4NWU2
Y2QzZGE1MWU2NC4uYmIyZjc5Y2VlMTMzMDNlMzk5NTAwNzFiMGU3OWFmNDFmZDg5MDAyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMv
V0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1
Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKIEBjbGFzcyBX
S0RPTURvY3VtZW50OwogQGNsYXNzIFdLRE9NUmFuZ2U7CiBAY2xhc3MgV0tXZWJQcm9jZXNzUGx1
Z0luRnJhbWU7Ci1AY2xhc3MgV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwOwogQHByb3RvY29s
IFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZTsKIAogV0tfQ0xBU1NfQVZBSUxBQkxFKG1h
Y29zKDEwLjEwKSwgaW9zKDguMCkpCkBAIC00Miw4ICs0MSw2IEBAIFdLX0NMQVNTX0FWQUlMQUJM
RShtYWNvcygxMC4xMCksIGlvcyg4LjApKQogCiBAcHJvcGVydHkgKHJlYWRvbmx5KSBXS1dlYlBy
b2Nlc3NQbHVnSW5GcmFtZSAqbWFpbkZyYW1lOwogCi1AcHJvcGVydHkgKHJlYWRvbmx5KSBXS1dl
YlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgKnBhZ2VHcm91cCBXS19BUElfREVQUkVDQVRFRF9XSVRI
X1JFUExBQ0VNRU5UKCJfZ3JvdXBJZGVudGlmaWVyIiwgbWFjb3MoMTAuMTAsIFdLX01BQ19UQkEp
LCBpb3MoOC4wLCBXS19JT1NfVEJBKSk7Ci0KIEBwcm9wZXJ0eSAod2VhaykgaWQgPFdLV2ViUHJv
Y2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZT4gbG9hZERlbGVnYXRlOwogCiBAZW5kCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlBy
b2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXIubW0KaW5kZXggYzU1MDhhNjA4ZDg5NTFlM2FlMjIzM2JkOTBlMjNk
OGM0MjdlMTA4NS4uYWYzOGQ0ZmZkNWU0ZTQ4OTEwYTE2ZTBkMmNiMTAyZGFlNGQzODQ2MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMv
V0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1Bs
dWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQpAQCAtNDgsMTAgKzQ4LDEwIEBACiAjaW1w
b3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5Gb3JtRGVsZWdhdGVQcml2YXRlLmgiCiAjaW1wb3J0ICJX
S1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1Bs
dWdJbk5vZGVIYW5kbGVJbnRlcm5hbC5oIgotI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luUGFn
ZUdyb3VwSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxl
SW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkSW50ZXJu
YWwuaCIKICNpbXBvcnQgIldlYlBhZ2UuaCIKKyNpbXBvcnQgIldlYlBhZ2VHcm91cFByb3h5Lmgi
CiAjaW1wb3J0ICJXZWJQcm9jZXNzLmgiCiAjaW1wb3J0ICJfV0tSZW1vdGVPYmplY3RSZWdpc3Ry
eUludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZW50c0ludGVybmFs
LmgiCkBAIC00MDQsMTEgKzQwNCw2IEBAIHN0YXRpYyB2b2lkIHNldFVwUmVzb3VyY2VMb2FkQ2xp
ZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqCiAgICAgcmV0
dXJuIHdyYXBwZXIoX3BhZ2UtPm1haW5XZWJGcmFtZSgpKTsKIH0KIAotLSAoV0tXZWJQcm9jZXNz
UGx1Z0luUGFnZUdyb3VwICopcGFnZUdyb3VwCi17Ci0gICAgcmV0dXJuIHdyYXBwZXIoKl9wYWdl
LT5wYWdlR3JvdXAoKSk7Ci19Ci0KICNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2NvbCBpbXBs
ZW1lbnRhdGlvbgogCiAtIChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91cFByb3h5LmgKaW5kZXggMDZi
NWIxOWE4OGQ5MGFhYTg2OWRmZTU3NTJlYmNjNWI2MWU3ZDBiZC4uNGE0NzQ0MDI1OTY2ODc1Nzlm
ZDdmZDQ1NmVjOGRjNjQ4YTFjZDM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJVc2VyQ29udGVudENvbnRyb2xsZXI7CiAKLWNsYXNz
IFdlYlBhZ2VHcm91cFByb3h5IDogcHVibGljIEFQSTo6T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6
VHlwZTo6QnVuZGxlUGFnZUdyb3VwPiB7CitjbGFzcyBXZWJQYWdlR3JvdXBQcm94eSA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYlBhZ2VHcm91cFByb3h5PiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxXZWJQYWdlR3JvdXBQcm94eT4gY3JlYXRlKGNvbnN0IFdlYlBhZ2VHcm91cERhdGEmKTsKICAg
ICB2aXJ0dWFsIH5XZWJQYWdlR3JvdXBQcm94eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCmluZGV4IGNhOWE5NzgwNjU5NzA2MjI5MDYzYjAxYTI0YjFhODczOGJjOTQ3
NmYuLmQ2NzQzZmVhZjkxZTg0MmM0YTNiMzE0MDk2NWU1MTE4MzVmODE4ZWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRl
ICJXZWJQcm9jZXNzLmgiCiAKICNpbmNsdWRlICJBUElGcmFtZUhhbmRsZS5oIgotI2luY2x1ZGUg
IkFQSVBhZ2VHcm91cEhhbmRsZS5oIgogI2luY2x1ZGUgIkFQSVBhZ2VIYW5kbGUuaCIKICNpbmNs
dWRlICJBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJBdXhpbGlhcnlQcm9jZXNz
TWVzc2FnZXMuaCIKQEAgLTE2ODgsNyArMTY4Nyw2IEBAIFJlZlB0cjxBUEk6Ok9iamVjdD4gV2Vi
UHJvY2Vzczo6dHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyhBUEk6Ok9iamVjdCogb2JqZWN0KQog
ICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUhhbmRsZToKICAgICAgICAg
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQVBJOjpQYWdlSGFuZGxlJj4ob2JqZWN0
KS5pc0F1dG9jb252ZXJ0aW5nKCk7CiAKLSAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5
cGU6OlBhZ2VHcm91cEhhbmRsZToKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAgICAgICAgIGNh
c2UgQVBJOjpPYmplY3Q6OlR5cGU6Ok9iakNPYmplY3RHcmFwaDoKICNlbmRpZgpAQCAtMTcwNSw5
ICsxNzAzLDYgQEAgUmVmUHRyPEFQSTo6T2JqZWN0PiBXZWJQcm9jZXNzOjp0cmFuc2Zvcm1IYW5k
bGVzVG9PYmplY3RzKEFQSTo6T2JqZWN0KiBvYmplY3QpCiAgICAgICAgICAgICBjYXNlIEFQSTo6
T2JqZWN0OjpUeXBlOjpGcmFtZUhhbmRsZToKICAgICAgICAgICAgICAgICByZXR1cm4gbV93ZWJQ
cm9jZXNzLndlYkZyYW1lKHN0YXRpY19jYXN0PGNvbnN0IEFQSTo6RnJhbWVIYW5kbGUmPihvYmpl
Y3QpLmZyYW1lSUQoKSk7CiAKLSAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OlBh
Z2VHcm91cEhhbmRsZToKLSAgICAgICAgICAgICAgICByZXR1cm4gbV93ZWJQcm9jZXNzLndlYlBh
Z2VHcm91cChzdGF0aWNfY2FzdDxjb25zdCBBUEk6OlBhZ2VHcm91cEhhbmRsZSY+KG9iamVjdCku
d2ViUGFnZUdyb3VwRGF0YSgpKTsKLQogICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlw
ZTo6UGFnZUhhbmRsZToKICAgICAgICAgICAgICAgICByZXR1cm4gbV93ZWJQcm9jZXNzLndlYlBh
Z2Uoc3RhdGljX2Nhc3Q8Y29uc3QgQVBJOjpQYWdlSGFuZGxlJj4ob2JqZWN0KS53ZWJQYWdlSUQo
KSk7CiAKQEAgLTE3MzQsNyArMTcyOSw2IEBAIFJlZlB0cjxBUEk6Ok9iamVjdD4gV2ViUHJvY2Vz
czo6dHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyhBUEk6Ok9iamVjdCogb2JqZWN0KQogICAgICAg
ICAgICAgc3dpdGNoIChvYmplY3QudHlwZSgpKSB7CiAgICAgICAgICAgICBjYXNlIEFQSTo6T2Jq
ZWN0OjpUeXBlOjpCdW5kbGVGcmFtZToKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5
cGU6OkJ1bmRsZVBhZ2U6Ci0gICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5k
bGVQYWdlR3JvdXA6CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAgICAgICBjYXNlIEFQSTo6
T2JqZWN0OjpUeXBlOjpPYmpDT2JqZWN0R3JhcGg6CiAjZW5kaWYKQEAgLTE3NTQsMTMgKzE3NDgs
NiBAQCBSZWZQdHI8QVBJOjpPYmplY3Q+IFdlYlByb2Nlc3M6OnRyYW5zZm9ybU9iamVjdHNUb0hh
bmRsZXMoQVBJOjpPYmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6
OlR5cGU6OkJ1bmRsZVBhZ2U6CiAgICAgICAgICAgICAgICAgcmV0dXJuIEFQSTo6UGFnZUhhbmRs
ZTo6Y3JlYXRlQXV0b2NvbnZlcnRpbmcoc3RhdGljX2Nhc3Q8Y29uc3QgV2ViUGFnZSY+KG9iamVj
dCkud2ViUGFnZVByb3h5SWRlbnRpZmllcigpLCBzdGF0aWNfY2FzdDxjb25zdCBXZWJQYWdlJj4o
b2JqZWN0KS5pZGVudGlmaWVyKCkpOwogCi0gICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpU
eXBlOjpCdW5kbGVQYWdlR3JvdXA6IHsKLSAgICAgICAgICAgICAgICBXZWJQYWdlR3JvdXBEYXRh
IHBhZ2VHcm91cERhdGE7Ci0gICAgICAgICAgICAgICAgcGFnZUdyb3VwRGF0YS5wYWdlR3JvdXBJ
RCA9IHN0YXRpY19jYXN0PGNvbnN0IFdlYlBhZ2VHcm91cFByb3h5Jj4ob2JqZWN0KS5wYWdlR3Jv
dXBJRCgpOwotCi0gICAgICAgICAgICAgICAgcmV0dXJuIEFQSTo6UGFnZUdyb3VwSGFuZGxlOjpj
cmVhdGUoV1RGTW92ZShwYWdlR3JvdXBEYXRhKSk7Ci0gICAgICAgICAgICB9Ci0KICNpZiBQTEFU
Rk9STShDT0NPQSkKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6Ok9iakNPYmpl
Y3RHcmFwaDoKICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxl
cyhzdGF0aWNfY2FzdDxPYmpDT2JqZWN0R3JhcGgmPihvYmplY3QpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428227</attachid>
            <date>2021-05-10 17:18:33 -0700</date>
            <delta_ts>2021-05-11 12:55:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225611-20210510171832.patch</filename>
            <type>text/plain</type>
            <size>32376</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVmYWZiOTZmZDM5MzZmNTQ4
ODE2NmJhOWI3ZDdlY2ZlODk1MmE2ZDIuLjlmZTM2NThiNDg4YjA1ZDRmMmNlM2JmMzJiN2U0ZTY5
MTcyMDA3YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjEtMDUtMTAgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgQVBJ
OjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2VHcm91cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NjExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSXRzIGxhc3QgdXNlIHdhcyByZW1vdmVkIGluIHJkYXI6
Ly83Nzc3NTk1MgorCisgICAgICAgICogU2hhcmVkL0FQSS9BUElPYmplY3QuaDoKKyAgICAgICAg
KiBTaGFyZWQvQVBJL0FQSVBhZ2VHcm91cEhhbmRsZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
U2hhcmVkL0FQSS9BUElQYWdlR3JvdXBIYW5kbGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFy
ZWQvQ29jb2EvQVBJT2JqZWN0Lm1tOgorICAgICAgICAoQVBJOjpPYmplY3Q6Om5ld09iamVjdCk6
CisgICAgICAgICogU2hhcmVkL0NvY29hL1NoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6U2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2U6OnNldFN0b3JhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZTo6YWxsb2NhdGUpOgorICAgICAg
ICAqIFNoYXJlZC9Vc2VyRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJEYXRhOjplbmNv
ZGUpOgorICAgICAgICAoV2ViS2l0OjpVc2VyRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFy
ZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhU2FtcGxlQ3Vyc29yLmg6CisgICAgICAgICog
U291cmNlcy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6dHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0
cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6dHJhbnNmb3JtT2JqZWN0c1Rv
SGFuZGxlcyk6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNz
UGx1Z0luUGFnZUdyb3VwLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1tOgorICAgICAgICAoLVtXS1dl
YlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgaWRlbnRpZmllcl0pOiBEZWxldGVkLgorICAgICAgICAo
LVtXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgZGVhbGxvY10pOiBEZWxldGVkLgorICAgICAg
ICAoLVtXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgX2FwaU9iamVjdF0pOiBEZWxldGVkLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vz
c1BsdWdJblBhZ2VHcm91cEludGVybmFsLmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21h
Yy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW06CisgICAgICAg
ICgtW1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciBwYWdlR3JvdXBd
KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJv
eHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjp0cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6dHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyk6CisKIDIwMjEtMDUt
MTAgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAg
U3BlY3VsYXRpdmUgcmV2YWxpZGF0aW9uIHJlcXVlc3RzIG5vdCBwcm9wZXJseSBhdHRyaWJ1dGVk
IGFzIGFwcC1ib3VuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSU9i
amVjdC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCmluZGV4IDQ2Yzc3
M2VlMzhjZDMwNjc1YjZlOGIxNjI1Zjk3NTMwNzkzYjE2YmIuLjQ0MjIwZjc2YWViNDhlY2M4YThk
NmI0ZDAwYzEzNDkzNGZhZTNhODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQ
SS9BUElPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgK
QEAgLTY2LDkgKzY2LDcgQEAgcHVibGljOgogICAgICAgICBFcnJvciwKICAgICAgICAgRnJhbWVI
YW5kbGUsCiAgICAgICAgIEltYWdlLAotICAgICAgICBQYWdlR3JvdXBEYXRhLAogICAgICAgICBQ
YWdlSGFuZGxlLAotICAgICAgICBQYWdlR3JvdXBIYW5kbGUsCiAgICAgICAgIFByb3RlY3Rpb25T
cGFjZSwKICAgICAgICAgUmVuZGVyTGF5ZXIsCiAgICAgICAgIFJlbmRlck9iamVjdCwKQEAgLTIw
NCw3ICsyMDIsNiBAQCBwdWJsaWM6CiAgICAgICAgIEJ1bmRsZU5vZGVIYW5kbGUsCiAgICAgICAg
IEJ1bmRsZVBhZ2UsCiAgICAgICAgIEJ1bmRsZVBhZ2VCYW5uZXIsCi0gICAgICAgIEJ1bmRsZVBh
Z2VHcm91cCwKICAgICAgICAgQnVuZGxlUGFnZU92ZXJsYXksCiAgICAgICAgIEJ1bmRsZVJhbmdl
SGFuZGxlLAogICAgICAgICBCdW5kbGVTY3JpcHRXb3JsZCwKQEAgLTMxOSw5ICszMTYsNyBAQCB0
ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPEFQSTo6T2JqZWN0OjpUeXBlPiB7CiAgICAgICAg
IEFQSTo6T2JqZWN0OjpUeXBlOjpFcnJvciwKICAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OkZy
YW1lSGFuZGxlLAogICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6SW1hZ2UsCi0gICAgICAgIEFQ
STo6T2JqZWN0OjpUeXBlOjpQYWdlR3JvdXBEYXRhLAogICAgICAgICBBUEk6Ok9iamVjdDo6VHlw
ZTo6UGFnZUhhbmRsZSwKLSAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2VHcm91cEhhbmRs
ZSwKICAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OlByb3RlY3Rpb25TcGFjZSwKICAgICAgICAg
QVBJOjpPYmplY3Q6OlR5cGU6OlJlc291cmNlTG9hZEluZm8sCiAgICAgICAgIEFQSTo6T2JqZWN0
OjpUeXBlOjpTZWN1cml0eU9yaWdpbiwKQEAgLTQ1NSw3ICs0NTAsNiBAQCB0ZW1wbGF0ZTw+IHN0
cnVjdCBFbnVtVHJhaXRzPEFQSTo6T2JqZWN0OjpUeXBlPiB7CiAgICAgICAgIEFQSTo6T2JqZWN0
OjpUeXBlOjpCdW5kbGVOb2RlSGFuZGxlLAogICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6QnVu
ZGxlUGFnZSwKICAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2VCYW5uZXIsCi0g
ICAgICAgIEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5kbGVQYWdlR3JvdXAsCiAgICAgICAgIEFQSTo6
T2JqZWN0OjpUeXBlOjpCdW5kbGVQYWdlT3ZlcmxheSwKICAgICAgICAgQVBJOjpPYmplY3Q6OlR5
cGU6OkJ1bmRsZVJhbmdlSGFuZGxlLAogICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxl
U2NyaXB0V29ybGQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJUGFn
ZUdyb3VwSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElQYWdlR3JvdXBI
YW5kbGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDE4ODAyNzNmMjRjMmRh
N2MzYzAzNWZhNzEyZmY2NDdkNzQ5ZWE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElQYWdlR3JvdXBIYW5k
bGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJBUElQYWdlR3JvdXBIYW5kbGUuaCIKLQotI2luY2x1
ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCi0jaW5jbHVkZSAiRGVjb2Rlci5oIgotI2luY2x1ZGUgIkVu
Y29kZXIuaCIKLQotbmFtZXNwYWNlIEFQSSB7Ci0KLVJlZjxQYWdlR3JvdXBIYW5kbGU+IFBhZ2VH
cm91cEhhbmRsZTo6Y3JlYXRlKFdlYktpdDo6V2ViUGFnZUdyb3VwRGF0YSYmIHdlYlBhZ2VHcm91
cERhdGEpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGFnZUdyb3VwSGFuZGxlKFdURk1v
dmUod2ViUGFnZUdyb3VwRGF0YSkpKTsKLX0KLQotUGFnZUdyb3VwSGFuZGxlOjpQYWdlR3JvdXBI
YW5kbGUoV2ViS2l0OjpXZWJQYWdlR3JvdXBEYXRhJiYgd2ViUGFnZUdyb3VwRGF0YSkKLSAgICA6
IG1fd2ViUGFnZUdyb3VwRGF0YShXVEZNb3ZlKHdlYlBhZ2VHcm91cERhdGEpKQotewotfQotCi1Q
YWdlR3JvdXBIYW5kbGU6On5QYWdlR3JvdXBIYW5kbGUoKQotewotfQotCi12b2lkIFBhZ2VHcm91
cEhhbmRsZTo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBlbmNv
ZGVyIDw8IG1fd2ViUGFnZUdyb3VwRGF0YTsKLX0KLQotYm9vbCBQYWdlR3JvdXBIYW5kbGU6OmRl
Y29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFJlZlB0cjxPYmplY3Q+JiByZXN1bHQpCi17Ci0g
ICAgT3B0aW9uYWw8V2ViS2l0OjpXZWJQYWdlR3JvdXBEYXRhPiB3ZWJQYWdlR3JvdXBEYXRhOwot
ICAgIGRlY29kZXIgPj4gd2ViUGFnZUdyb3VwRGF0YTsKLSAgICBpZiAoIXdlYlBhZ2VHcm91cERh
dGEpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJlc3VsdCA9IGNyZWF0ZShXVEZNb3Zl
KCp3ZWJQYWdlR3JvdXBEYXRhKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLX0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElQYWdlR3JvdXBIYW5kbGUuaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElQYWdlR3JvdXBIYW5kbGUuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZmFhZjgzZjg4Y2Y3MTI1NWNkMGI4N2IzZTk1NTMxZTVjYTZhYWU5My4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUEkvQVBJUGFnZUdyb3VwSGFuZGxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1
OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBBUElQYWdlR3JvdXBIYW5kbGVfaAotI2Rl
ZmluZSBBUElQYWdlR3JvdXBIYW5kbGVfaAotCi0jaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5j
bHVkZSAiV2ViUGFnZUdyb3VwRGF0YS5oIgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLQotbmFt
ZXNwYWNlIElQQyB7Ci1jbGFzcyBEZWNvZGVyOwotY2xhc3MgRW5jb2RlcjsKLX0KLQotbmFtZXNw
YWNlIEFQSSB7Ci0KLWNsYXNzIFBhZ2VHcm91cEhhbmRsZSA6IHB1YmxpYyBPYmplY3RJbXBsPE9i
amVjdDo6VHlwZTo6UGFnZUdyb3VwSGFuZGxlPiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxQ
YWdlR3JvdXBIYW5kbGU+IGNyZWF0ZShXZWJLaXQ6OldlYlBhZ2VHcm91cERhdGEmJik7Ci0gICAg
dmlydHVhbCB+UGFnZUdyb3VwSGFuZGxlKCk7Ci0KLSAgICBjb25zdCBXZWJLaXQ6OldlYlBhZ2VH
cm91cERhdGEmIHdlYlBhZ2VHcm91cERhdGEoKSBjb25zdCB7IHJldHVybiBtX3dlYlBhZ2VHcm91
cERhdGE7IH0KLQotICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OwotICAgIHN0
YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoSVBDOjpEZWNvZGVyJiwgUmVmUHRy
PE9iamVjdD4mKTsKLQotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBQYWdlR3JvdXBIYW5kbGUoV2Vi
S2l0OjpXZWJQYWdlR3JvdXBEYXRhJiYpOwotCi0gICAgY29uc3QgV2ViS2l0OjpXZWJQYWdlR3Jv
dXBEYXRhIG1fd2ViUGFnZUdyb3VwRGF0YTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIEFQSQotCi0K
LSNlbmRpZiAvLyBBUElQYWdlR3JvdXBIYW5kbGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2Ev
QVBJT2JqZWN0Lm1tCmluZGV4IDFkN2I4ZGQyZThjODIyZGZiN2ZlNjM5MDMwMTcyN2NlNWVkNGQ1
NmIuLjEzMjI5NTJjYWQxMGE1ZTIyYjBlMjFkM2U5NzhkNzVlMTdlNWUwMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9BUElPYmplY3QubW0KQEAgLTYzLDcgKzYzLDYgQEAKICNpbXBvcnQg
IldLV2ViUHJvY2Vzc1BsdWdJbkhpdFRlc3RSZXN1bHRJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tX
ZWJQcm9jZXNzUGx1Z0luSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJbk5v
ZGVIYW5kbGVJbnRlcm5hbC5oIgotI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3Vw
SW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlSW50ZXJu
YWwuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJblNjcmlwdFdvcmxkSW50ZXJuYWwuaCIK
ICNpbXBvcnQgIldLV2VicGFnZVByZWZlcmVuY2VzSW50ZXJuYWwuaCIKQEAgLTQyNywxMiArNDI2
LDYgQEAgdm9pZCogT2JqZWN0OjpuZXdPYmplY3Qoc2l6ZV90IHNpemUsIFR5cGUgdHlwZSkKICAg
ICAgICAgd3JhcHBlciA9IFtXS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlIGFsbG9jXTsKICAg
ICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIFR5cGU6OkJ1bmRsZVBhZ2VHcm91cDoKLSAgICAgICAg
QUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU47Ci0gICAgICAgIHdyYXBwZXIgPSBb
V0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwIGFsbG9jXTsKLSAgICAgICAgQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfRU5EOwotICAgICAgICBicmVhazsKLQogICAgIGNhc2UgVHlwZTo6
QnVuZGxlUmFuZ2VIYW5kbGU6CiAgICAgICAgIHdyYXBwZXIgPSBbV0tXZWJQcm9jZXNzUGx1Z0lu
UmFuZ2VIYW5kbGUgYWxsb2NdOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL1NoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL1NoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmNwcAppbmRleCA4YWYy
NjM3OWEwZTRlZWE1NDMxNmQyNDEwM2EwMDlmYjI0NzRlYWU0Li4xNjcxOTUyNDZkY2Q0ZjdkZGYz
NjliMjczMjkzNDliYWU0ZTcwZmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9TaGFyZWRSaW5nQnVmZmVyU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29jb2EvU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2UuY3BwCkBAIC03NiwxNCArNzYsMTQgQEAg
dm9pZCBSZWFkT25seVNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlOjp1cGRhdGVGcmFtZUJvdW5kcygp
CiAgICAgbV9lbmRGcmFtZSA9IHBhaXIuc2Vjb25kOwogfQogCi12b2lkIFNoYXJlZFJpbmdCdWZm
ZXJTdG9yYWdlOjpzZXRTdG9yYWdlKFJlZlB0cjxTaGFyZWRNZW1vcnk+JiYgc3RvcmFnZSwgY29u
c3QgQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBmb3JtYXQsIHNpemVfdCBmcmFtZUNvdW50KQor
dm9pZCBTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZTo6c2V0U3RvcmFnZShSZWZQdHI8U2hhcmVkTWVt
b3J5PiYmIHN0b3JhZ2UsIGNvbnN0IFdlYkNvcmU6OkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYg
Zm9ybWF0LCBzaXplX3QgZnJhbWVDb3VudCkKIHsKICAgICBtX3N0b3JhZ2UgPSBXVEZNb3ZlKHN0
b3JhZ2UpOwogICAgIGlmIChtX3N0b3JhZ2VDaGFuZ2VkSGFuZGxlcikKICAgICAgICAgbV9zdG9y
YWdlQ2hhbmdlZEhhbmRsZXIobV9zdG9yYWdlLmdldCgpLCBmb3JtYXQsIGZyYW1lQ291bnQpOwog
fQogCi12b2lkIFNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlOjphbGxvY2F0ZShzaXplX3QgYnl0ZUNv
dW50LCBjb25zdCBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGZvcm1hdCwgc2l6ZV90IGZyYW1l
Q291bnQpCit2b2lkIFNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlOjphbGxvY2F0ZShzaXplX3QgYnl0
ZUNvdW50LCBjb25zdCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGZvcm1hdCwg
c2l6ZV90IGZyYW1lQ291bnQpCiB7CiAgICAgYXV0byBzaGFyZWRNZW1vcnkgPSBTaGFyZWRNZW1v
cnk6OmFsbG9jYXRlKGJ5dGVDb3VudCArIHNpemVvZihGcmFtZUJvdW5kcykpOwogICAgIG5ldyAo
Tm90TnVsbCwgc2hhcmVkTWVtb3J5LT5kYXRhKCkpIEZyYW1lQm91bmRzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvVXNlckRhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
VXNlckRhdGEuY3BwCmluZGV4IDFiNmRiZmFlNDMwODQ3YzNkZTEwYWZjODBiZTJjOGI2ZWQ4MjI0
MzkuLmJiYmZmMjdkNWY1MzJlMzg2NjhjMzQzYjhkOWZiMmY3NTAzYjExMGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1VzZXJEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Vc2VyRGF0YS5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJBUElGcmFtZUhh
bmRsZS5oIgogI2luY2x1ZGUgIkFQSUdlb21ldHJ5LmgiCiAjaW5jbHVkZSAiQVBJTnVtYmVyLmgi
Ci0jaW5jbHVkZSAiQVBJUGFnZUdyb3VwSGFuZGxlLmgiCiAjaW5jbHVkZSAiQVBJUGFnZUhhbmRs
ZS5oIgogI2luY2x1ZGUgIkFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIkFQ
SVN0cmluZy5oIgpAQCAtMjMwLDEwICsyMjksNiBAQCB2b2lkIFVzZXJEYXRhOjplbmNvZGUoSVBD
OjpFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBBUEk6Ok9iamVjdCYgb2JqZWN0KQogICAgICAgICBi
cmVhazsKICAgICB9CiAKLSAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlR3JvdXBIYW5k
bGU6Ci0gICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IEFQSTo6UGFnZUdyb3VwSGFuZGxlJj4ob2Jq
ZWN0KS5lbmNvZGUoZW5jb2Rlcik7Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBBUEk6Ok9i
amVjdDo6VHlwZTo6UGFnZUhhbmRsZToKICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgQVBJOjpQ
YWdlSGFuZGxlJj4ob2JqZWN0KS5lbmNvZGUoZW5jb2Rlcik7CiAgICAgICAgIGJyZWFrOwpAQCAt
NDE1LDExICs0MTAsNiBAQCBib29sIFVzZXJEYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNv
ZGVyLCBSZWZQdHI8QVBJOjpPYmplY3Q+JiByZXN1bHQpCiAgICAgICAgIHJlc3VsdCA9IG51bGxw
dHI7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdy
b3VwSGFuZGxlOgotICAgICAgICBpZiAoIUFQSTo6UGFnZUdyb3VwSGFuZGxlOjpkZWNvZGUoZGVj
b2RlciwgcmVzdWx0KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgYnJlYWs7
Ci0KICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlSGFuZGxlOgogICAgICAgICBpZiAo
IUFQSTo6UGFnZUhhbmRsZTo6ZGVjb2RlKGRlY29kZXIsIHJlc3VsdCkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFG
b3JtYXRSZWFkZXIvTWVkaWFTYW1wbGVDdXJzb3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21h
Yy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVNhbXBsZUN1cnNvci5oCmluZGV4IDY4N2IxMzAwNDdh
ODIzM2M0NDEzM2QzNmNiNjhiMWY1MTFlMzMyZTYuLjhiNGE4YmU2ZjIzZGFlNmY0ZWY4NWNkZjc1
MGU3Mjk3NmFmY2ZhYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRp
YUZvcm1hdFJlYWRlci9NZWRpYVNhbXBsZUN1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVNhbXBsZUN1cnNvci5oCkBAIC0yOSw2ICsy
OSw3IEBACiAKICNpbmNsdWRlICJDb3JlTWVkaWFXcmFwcGVkLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9TYW1wbGVNYXAuaD4KKyNpbmNsdWRlIDx3dGYvSWRlbnRpZmllZC5oPgogI2luY2x1ZGUgPHd0
Zi9NZWRpYVRpbWUuaD4KICNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAppbmRl
eCBlZTI1YTU0MDZlYTFlNDY0MzdkMGVlYTc0NmYxMjlkZWUwZTlhMDEzLi4xOTVkNGQyNDMwNzQz
ZGNhNTI2NDViMDFhZGIwMzFhYzlhYmI5OWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKQEAgLTIzOCw3ICsyMzgs
NiBAQCBTaGFyZWQvQVBJL0FQSUVycm9yLmNwcAogU2hhcmVkL0FQSS9BUElGcmFtZUhhbmRsZS5j
cHAKIFNoYXJlZC9BUEkvQVBJR2VvbWV0cnkuY3BwCiBTaGFyZWQvQVBJL0FQSU9iamVjdC5jcHAK
LVNoYXJlZC9BUEkvQVBJUGFnZUdyb3VwSGFuZGxlLmNwcAogU2hhcmVkL0FQSS9BUElQYWdlSGFu
ZGxlLmNwcAogU2hhcmVkL0FQSS9BUElVUkxSZXF1ZXN0LmNwcAogU2hhcmVkL0FQSS9BUElVUkxS
ZXNwb25zZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CmluZGV4IDUxODdmODg4ZTg3NzJhNDE0YzlkOTdlYjE4Y2VlMzk1MmFjODUwMWEuLjdlMjYzMDZi
ZTVkZGNiYTg0NzNkZDIwZTQ5ODgzMTQ2MTJhMDUwNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIldl
YlByb2Nlc3NQcm94eS5oIgogCiAjaW5jbHVkZSAiQVBJRnJhbWVIYW5kbGUuaCIKLSNpbmNsdWRl
ICJBUElQYWdlR3JvdXBIYW5kbGUuaCIKICNpbmNsdWRlICJBUElQYWdlSGFuZGxlLmgiCiAjaW5j
bHVkZSAiQXV0aGVudGljYXRvck1hbmFnZXIuaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
CkBAIC0xMzI0LDcgKzEzMjMsNiBAQCBSZWZQdHI8QVBJOjpPYmplY3Q+IFdlYlByb2Nlc3NQcm94
eTo6dHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyhBUEk6Ok9iamVjdCogb2JqZQogICAgICAgICAg
ICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUhhbmRsZToKICAgICAgICAgICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQVBJOjpQYWdlSGFuZGxlJj4ob2JqZWN0KS5pc0F1dG9j
b252ZXJ0aW5nKCk7CiAKLSAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2VH
cm91cEhhbmRsZToKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAgICAgICAgIGNhc2UgQVBJOjpP
YmplY3Q6OlR5cGU6Ok9iakNPYmplY3RHcmFwaDoKICNlbmRpZgpAQCAtMTM0Miw5ICsxMzQwLDYg
QEAgUmVmUHRyPEFQSTo6T2JqZWN0PiBXZWJQcm9jZXNzUHJveHk6OnRyYW5zZm9ybUhhbmRsZXNU
b09iamVjdHMoQVBJOjpPYmplY3QqIG9iamUKICAgICAgICAgICAgICAgICBBU1NFUlQoc3RhdGlj
X2Nhc3Q8QVBJOjpGcmFtZUhhbmRsZSY+KG9iamVjdCkuaXNBdXRvY29udmVydGluZygpKTsKICAg
ICAgICAgICAgICAgICByZXR1cm4gbV93ZWJQcm9jZXNzUHJveHkud2ViRnJhbWUoc3RhdGljX2Nh
c3Q8QVBJOjpGcmFtZUhhbmRsZSY+KG9iamVjdCkuZnJhbWVJRCgpKTsKIAotICAgICAgICAgICAg
Y2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdyb3VwSGFuZGxlOgotICAgICAgICAgICAgICAg
IHJldHVybiBXZWJQYWdlR3JvdXA6OmdldChzdGF0aWNfY2FzdDxBUEk6OlBhZ2VHcm91cEhhbmRs
ZSY+KG9iamVjdCkud2ViUGFnZUdyb3VwRGF0YSgpLnBhZ2VHcm91cElEKTsKLQogICAgICAgICAg
ICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUhhbmRsZToKICAgICAgICAgICAgICAgICBB
U1NFUlQoc3RhdGljX2Nhc3Q8QVBJOjpQYWdlSGFuZGxlJj4ob2JqZWN0KS5pc0F1dG9jb252ZXJ0
aW5nKCkpOwogICAgICAgICAgICAgICAgIHJldHVybiBtX3dlYlByb2Nlc3NQcm94eS53ZWJQYWdl
KHN0YXRpY19jYXN0PEFQSTo6UGFnZUhhbmRsZSY+KG9iamVjdCkucGFnZVByb3h5SUQoKSk7CkBA
IC0xMzkyLDkgKzEzODcsNiBAQCBSZWZQdHI8QVBJOjpPYmplY3Q+IFdlYlByb2Nlc3NQcm94eTo6
dHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyhBUEk6Ok9iamVjdCogb2JqZQogICAgICAgICAgICAg
Y2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZToKICAgICAgICAgICAgICAgICByZXR1cm4gQVBJ
OjpQYWdlSGFuZGxlOjpjcmVhdGVBdXRvY29udmVydGluZyhzdGF0aWNfY2FzdDxjb25zdCBXZWJQ
YWdlUHJveHkmPihvYmplY3QpLmlkZW50aWZpZXIoKSwgc3RhdGljX2Nhc3Q8Y29uc3QgV2ViUGFn
ZVByb3h5Jj4ob2JqZWN0KS53ZWJQYWdlSUQoKSk7CiAKLSAgICAgICAgICAgIGNhc2UgQVBJOjpP
YmplY3Q6OlR5cGU6OlBhZ2VHcm91cDoKLSAgICAgICAgICAgICAgICByZXR1cm4gQVBJOjpQYWdl
R3JvdXBIYW5kbGU6OmNyZWF0ZShXZWJQYWdlR3JvdXBEYXRhKHN0YXRpY19jYXN0PGNvbnN0IFdl
YlBhZ2VHcm91cCY+KG9iamVjdCkuZGF0YSgpKSk7Ci0KICNpZiBQTEFURk9STShDT0NPQSkKICAg
ICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6Ok9iakNPYmplY3RHcmFwaDoKICAgICAg
ICAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyhzdGF0aWNfY2FzdDxP
YmpDT2JqZWN0R3JhcGgmPihvYmplY3QpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQ2ODAxZmM1MTIxNzBjYmY5OWE2MjQ5NzEyNzAx
ZTRhMWYwOWIyMDguLjI4OGM0NDcwZWM5OWIyOWI2MzJjYzAxMDRjODgyZDllZjg2ZWU0ZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
NDY0LDcgKzQ2NCw2IEBACiAJCTFGNzUwNkI4MTg1OTE2NUQwMEVDMEZGNyAvKiBXS1dlYlByb2Nl
c3NQbHVnSW5GcmFtZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxRjAxODE2QjE4NThEQzE1MDBGOTI4ODQgLyogV0tXZWJQcm9jZXNzUGx1
Z0luRnJhbWVJbnRlcm5hbC5oICovOyB9OwogCQkxRjdEMzZDMTE4REE1MTNGMDBEOUQ2NTkgLyog
QVBJRG93bmxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFGN0QzNkMwMThEQTUxM0YwMEQ5RDY1OSAvKiBBUElEb3dubG9hZENsaWVudC5o
ICovOyB9OwogCQkxRkIwMEFDNzE4NUY3NjQ2MDAxOTE0MkUgLyogV0tXZWJQcm9jZXNzUGx1Z0lu
UGFnZUdyb3VwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxRkIwMEFDNDE4NUY3NjQ2MDAxOTE0MkUgLyogV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3Vw
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUZC
MDBBQzkxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cEludGVy
bmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRkIw
MEFDNjE4NUY3NjQ2MDAxOTE0MkUgLyogV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwSW50ZXJu
YWwuaCAqLzsgfTsKIAkJMjYzMTcyQ0YxOEI0Njk0OTAwNjVCOUMzIC8qIE5hdGl2ZVdlYlRvdWNo
RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2
MzE3MkNFMThCNDY5NDkwMDY1QjlDMyAvKiBOYXRpdmVXZWJUb3VjaEV2ZW50LmggKi87IH07CiAJ
CTI2ODQwNTQ0MThCODVBNjMwMDIyQzM4QiAvKiBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZv
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNjg0MDU0
MjE4Qjg1QTYzMDAyMkMzOEIgLyogVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5oICovOyB9
OwogCQkyNjg0MDU1MjE4Qjg2RUQ2MDAyMkMzOEIgLyogVmlld1VwZGF0ZURpc3BhdGNoZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMjY4NDA1NTAxOEI4NkVENjAwMjJDMzhCIC8qIFZpZXdVcGRhdGVEaXNwYXRjaGVyTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTI2NjIsOCArMjY2MSw2IEBACiAJCTFBMzM0REVB
MTZERThCNjgwMDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1hcC5tZXNzYWdlcy5pbiAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTdG9y
YWdlQXJlYU1hcC5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEz
MzRERUIxNkRFOEY4ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFN0b3JhZ2VBcmVhTWFwTWVz
c2FnZVJlY2VpdmVyLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvU3RvcmFnZUFy
ZWFNYXBNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElS
OyB9OwogCQkxQTMzNERFQzE2REU4Rjg4MDA2QThFMzggLyogU3RvcmFnZUFyZWFNYXBNZXNzYWdl
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdG9yYWdlQXJlYU1hcE1lc3Nh
Z2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1N0b3JhZ2VBcmVhTWFwTWVzc2Fn
ZXMuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKLQkJMUEzQTczQ0IxQTQ4
QzZENDAwNzIzMUIzIC8qIEFQSVBhZ2VHcm91cEhhbmRsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBBUElQYWdlR3JvdXBIYW5kbGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQkxQTNBNzNDQzFBNDhDNkQ0MDA3MjMxQjMgLyogQVBJUGFnZUdyb3Vw
SGFuZGxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSVBhZ2VHcm91cEhh
bmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTNDODg3RjE4QTVBQkFFMDBD
NEM5NjIgLyogV0tQcmVmZXJlbmNlc0ludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdLUHJlZmVyZW5jZXNJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQTNDQzE2NDE4OTA2QUNGMDAxRTZFRDggLyogV0tXZWJWaWV3Lm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tXZWJWaWV3Lm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQTNDQzE2NTE4OTA2QUNGMDAxRTZFRDggLyogV0tXZWJWaWV3
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLV2ViVmlldy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzExOCw3ICszMTE1LDYgQEAKIAkJMUY3RDM2QzAxOERB
NTEzRjAwRDlENjU5IC8qIEFQSURvd25sb2FkQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFQSURvd25sb2FkQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFGQjAwQUM0MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdl
R3JvdXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tXZWJQcm9jZXNzUGx1
Z0luUGFnZUdyb3VwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFGQjAwQUM1MTg1
Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3Jv
dXAubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFGQjAwQUM2MTg1Rjc2NDYwMDE5
MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5h
bC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjMxNzJDRTE4QjQ2OTQ5MDA2NUI5
QzMgLyogTmF0aXZlV2ViVG91Y2hFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBOYXRpdmVXZWJUb3VjaEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTI2NjU5QUEwMTg1RkFBRUQwMDQzMDNERCAvKiBJbmZvLWlPUy5wbGlzdCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRo
ID0gIkluZm8taU9TLnBsaXN0Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjY4NDA1
NDIxOEI4NUE2MzAwMjJDMzhCIC8qIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5m
by5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzI0MSw3ICs3MjM3LDYgQEAKIAkJ
CQlDRUM4RjlDQTFGREY1ODcwMDAyNjM1RTcgLyogV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRs
ZVByaXZhdGUuaCAqLywKIAkJCQkxRkIwMEFDNDE4NUY3NjQ2MDAxOTE0MkUgLyogV0tXZWJQcm9j
ZXNzUGx1Z0luUGFnZUdyb3VwLmggKi8sCiAJCQkJMUZCMDBBQzUxODVGNzY0NjAwMTkxNDJFIC8q
IFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbSAqLywKLQkJCQkxRkIwMEFDNjE4NUY3NjQ2
MDAxOTE0MkUgLyogV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwSW50ZXJuYWwuaCAqLywKIAkJ
CQkzNzQ5NDIxOTFERjFGOUZGMDAzM0MxOUYgLyogV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5k
bGUuaCAqLywKIAkJCQkzNzQ5NDIxODFERjFGOUZGMDAzM0MxOUYgLyogV0tXZWJQcm9jZXNzUGx1
Z0luUmFuZ2VIYW5kbGUubW0gKi8sCiAJCQkJMzc0OTQyMUMxREYxRkFCOTAwMzNDMTlGIC8qIFdL
V2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlSW50ZXJuYWwuaCAqLywKQEAgLTEwODk3LDggKzEw
ODkyLDYgQEAKIAkJCQlCQzMzREQ2NzEyMzg0NjQ2MDAzNjBGM0YgLyogQVBJTnVtYmVyLmggKi8s
CiAJCQkJQjYzNDAzRjgxNDkxMEQ1NzAwMTA3MEI1IC8qIEFQSU9iamVjdC5jcHAgKi8sCiAJCQkJ
QkNGMDRDOEMxMUZGOUI3RDAwRjg2QTU4IC8qIEFQSU9iamVjdC5oICovLAotCQkJCTFBM0E3M0NC
MUE0OEM2RDQwMDcyMzFCMyAvKiBBUElQYWdlR3JvdXBIYW5kbGUuY3BwICovLAotCQkJCTFBM0E3
M0NDMUE0OEM2RDQwMDcyMzFCMyAvKiBBUElQYWdlR3JvdXBIYW5kbGUuaCAqLywKIAkJCQkxQUMx
MzM2RDE4NTY1RDJCMDBGM0VDMDUgLyogQVBJUGFnZUhhbmRsZS5jcHAgKi8sCiAJCQkJMUFDMTMz
NkIxODU2NUM3QTAwRjNFQzA1IC8qIEFQSVBhZ2VIYW5kbGUuaCAqLywKIAkJCQlGNjM0NDQ1NTEy
QTg4NUM4MDAwNjEyRDggLyogQVBJU2VjdXJpdHlPcmlnaW4uaCAqLywKQEAgLTEzMDAyLDcgKzEy
OTk1LDYgQEAKIAkJCQkxRjc1MDZCNjE4NTkxNjU3MDBFQzBGRjcgLyogV0tXZWJQcm9jZXNzUGx1
Z0luTm9kZUhhbmRsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRUM4RjlDQjFGREY1
ODcwMDAyNjM1RTcgLyogV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZVByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFGQjAwQUM3MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQ
bHVnSW5QYWdlR3JvdXAuaCBpbiBIZWFkZXJzICovLAotCQkJCTFGQjAwQUM5MTg1Rjc2NDYwMDE5
MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkMwNEVGRkMxNkU2NUFGQjAwRTMzNkYwIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBy
aXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3NDk0MjFCMURGMUY5RkYwMDMzQzE5RiAvKiBX
S1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc0OTQy
MUQxREYxRkFCOTAwMzNDMTlGIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlSW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQ
cm9jZXNzUGx1Z0luUGFnZUdyb3VwLmgKaW5kZXggYmM4ZDJjYTU5Yzg3YjQ2ZTgzMzZjNTIzZmU3
ODhlOTA0ODkzY2ZlNy4uMTRiY2VmM2JiNWQ0MTIyYjc5MzIxNzZmMjQ4NDU1Njk1MjZhNGQ3OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9D
b2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VH
cm91cC5oCkBAIC0yNyw5ICsyNyw4IEBACiAKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlv
bi5oPgogCisvLyBGSVhNRTogUmVtb3ZlIHRoaXMgZmlsZSBvbmNlIHRoZSBzdGFnaW5nIGNvZGUg
Zm9yIHJkYXI6Ly83Nzc3NTk1MiBpcyByZW1vdmVkLgogV0tfQ0xBU1NfREVQUkVDQVRFRF9XSVRI
X1JFUExBQ0VNRU5UKCJXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIu
X2dyb3VwSWRlbnRpZmllciIsIG1hY29zKDEwLjEwLCBXS19NQUNfVEJBKSwgaW9zKDguMCwgV0tf
SU9TX1RCQSkpCiBAaW50ZXJmYWNlIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cCA6IE5TT2Jq
ZWN0CiAKLUBwcm9wZXJ0eSAocmVhZG9ubHkpIE5TU3RyaW5nICppZGVudGlmaWVyOwotCiBAZW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbSBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdy
b3VwLm1tCmluZGV4IGVjMDMyMzZkNzdjMjU2NTVjZWU3ZWE4OTVkZWRlOTZjNDI4ZjQyZWUuLjAz
OGIxNGU1NTAwY2M4NGM3ZDY1YWJhMWY5M2I2MmE5NzFlZDZiYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNz
UGx1Z0luUGFnZUdyb3VwLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1tCkBAIC0yNCwz
OCArMjQsMTIgQEAKICAqLwogCiAjaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIldLV2ViUHJv
Y2Vzc1BsdWdJblBhZ2VHcm91cEludGVybmFsLmgiCisjaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVn
SW5QYWdlR3JvdXAuaCIKIAotI2ltcG9ydCAiV0tBUElDYXN0LmgiCi0jaW1wb3J0ICJXS05TU3Ry
aW5nLmgiCi0jaW1wb3J0ICJXS1JldGFpblB0ci5oIgotI2ltcG9ydCAiV2ViUGFnZUdyb3VwUHJv
eHkuaCIKLSNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZU9iakNFeHRyYXMuaD4KKy8vIEZJWE1FOiBS
ZW1vdmUgdGhpcyBmaWxlIG9uY2UgdGhlIHN0YWdpbmcgY29kZSBmb3IgcmRhcjovLzc3Nzc1OTUy
IGlzIHJlbW92ZWQuCiAKIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0JFR0lOCi1A
aW1wbGVtZW50YXRpb24gV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwIHsKLSAgICBBUEk6Ok9i
amVjdFN0b3JhZ2U8V2ViS2l0OjpXZWJQYWdlR3JvdXBQcm94eT4gX2J1bmRsZVBhZ2VHcm91cDsK
LX0KK0BpbXBsZW1lbnRhdGlvbiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAKIEFMTE9XX0RF
UFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogCi0tIChOU1N0cmluZyAqKWlkZW50aWZpZXIK
LXsKLSAgICByZXR1cm4gX2J1bmRsZVBhZ2VHcm91cC0+aWRlbnRpZmllcigpOwotfQotCi0tICh2
b2lkKWRlYWxsb2MKLXsKLSAgICBpZiAoV2ViQ29yZU9iakNTY2hlZHVsZURlYWxsb2NhdGVPbk1h
aW5SdW5Mb29wKFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5jbGFzcywgc2VsZikpCi0gICAg
ICAgIHJldHVybjsKLSAgICBfYnVuZGxlUGFnZUdyb3VwLT5+V2ViUGFnZUdyb3VwUHJveHkoKTsK
LSAgICBbc3VwZXIgZGVhbGxvY107Ci19Ci0KLSNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2Nv
bCBpbXBsZW1lbnRhdGlvbgotCi0tIChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdAotewotICAgIHJl
dHVybiAqX2J1bmRsZVBhZ2VHcm91cDsKLX0KLQogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVn
SW5QYWdlR3JvdXBJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZDc5MThlM2NkYTdmNWZjZDI0YTk0NmJiNGRk
ZmZjZTU1NmNlZDBmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tX
ZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwSW50ZXJuYWwuaAorKysgL2Rldi9udWxsCkBAIC0xLDQy
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJblBh
Z2VHcm91cC5oIgotCi0jaW1wb3J0ICJXS0Jhc2UuaCIKLSNpbXBvcnQgIldlYlBhZ2VHcm91cFBy
b3h5LmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi10ZW1wbGF0ZTw+IHN0cnVjdCBXcmFwcGVy
VHJhaXRzPFdlYlBhZ2VHcm91cFByb3h5PiB7Ci0gICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJB
VElPTlNfQkVHSU4KLSAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBXS1dlYlByb2Nlc3NQbHVnSW5Q
YWdlR3JvdXA7Ci0gICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi19OwotCi19
Ci0KLUBpbnRlcmZhY2UgV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwICgpIDxXS09iamVjdD4K
LUBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9j
ZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLmgKaW5kZXggNzMyZjU5ODM5NTliMmNi
MWI3ZWJhY2I5YzM4NWU2Y2QzZGE1MWU2NC4uYmIyZjc5Y2VlMTMzMDNlMzk5NTAwNzFiMGU3OWFm
NDFmZDg5MDAyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMv
V0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLmgKQEAgLTMwLDcgKzMw
LDYgQEAKIEBjbGFzcyBXS0RPTURvY3VtZW50OwogQGNsYXNzIFdLRE9NUmFuZ2U7CiBAY2xhc3Mg
V0tXZWJQcm9jZXNzUGx1Z0luRnJhbWU7Ci1AY2xhc3MgV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdy
b3VwOwogQHByb3RvY29sIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZTsKIAogV0tfQ0xB
U1NfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMCkpCkBAIC00Miw4ICs0MSw2IEBAIFdL
X0NMQVNTX0FWQUlMQUJMRShtYWNvcygxMC4xMCksIGlvcyg4LjApKQogCiBAcHJvcGVydHkgKHJl
YWRvbmx5KSBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZSAqbWFpbkZyYW1lOwogCi1AcHJvcGVydHkg
KHJlYWRvbmx5KSBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgKnBhZ2VHcm91cCBXS19BUElf
REVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJfZ3JvdXBJZGVudGlmaWVyIiwgbWFjb3MoMTAu
MTAsIFdLX01BQ19UQkEpLCBpb3MoOC4wLCBXS19JT1NfVEJBKSk7Ci0KIEBwcm9wZXJ0eSAod2Vh
aykgaWQgPFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZT4gbG9hZERlbGVnYXRlOwogCiBA
ZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0gYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0KaW5kZXggYzU1MDhhNjA4ZDg5NTFl
M2FlMjIzM2JkOTBlMjNkOGM0MjdlMTA4NS4uYWYzOGQ0ZmZkNWU0ZTQ4OTEwYTE2ZTBkMmNiMTAy
ZGFlNGQzODQ2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFj
L1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQpAQCAtNDgsMTAg
KzQ4LDEwIEBACiAjaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5Gb3JtRGVsZWdhdGVQcml2YXRl
LmgiCiAjaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaCIKICNpbXBvcnQg
IldLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGVJbnRlcm5hbC5oIgotI2ltcG9ydCAiV0tXZWJQ
cm9jZXNzUGx1Z0luUGFnZUdyb3VwSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1Bs
dWdJblJhbmdlSGFuZGxlSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJblNj
cmlwdFdvcmxkSW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYlBhZ2UuaCIKKyNpbXBvcnQgIldlYlBh
Z2VHcm91cFByb3h5LmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzLmgiCiAjaW1wb3J0ICJfV0tSZW1v
dGVPYmplY3RSZWdpc3RyeUludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tSZW5kZXJpbmdQcm9ncmVz
c0V2ZW50c0ludGVybmFsLmgiCkBAIC00MDQsMTEgKzQwNCw2IEBAIHN0YXRpYyB2b2lkIHNldFVw
UmVzb3VyY2VMb2FkQ2xpZW50KFdLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJv
bGxlciAqCiAgICAgcmV0dXJuIHdyYXBwZXIoX3BhZ2UtPm1haW5XZWJGcmFtZSgpKTsKIH0KIAot
LSAoV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwICopcGFnZUdyb3VwCi17Ci0gICAgcmV0dXJu
IHdyYXBwZXIoKl9wYWdlLT5wYWdlR3JvdXAoKSk7Ci19Ci0KICNwcmFnbWEgbWFyayBXS09iamVj
dCBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbgogCiAtIChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3Vw
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91cFBy
b3h5LmgKaW5kZXggMDZiNWIxOWE4OGQ5MGFhYTg2OWRmZTU3NTJlYmNjNWI2MWU3ZDBiZC4uNGE0
NzQ0MDI1OTY2ODc1NzlmZDdmZDQ1NmVjOGRjNjQ4YTFjZDM4MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oCkBAIC0zOCw3
ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJVc2VyQ29udGVudENvbnRy
b2xsZXI7CiAKLWNsYXNzIFdlYlBhZ2VHcm91cFByb3h5IDogcHVibGljIEFQSTo6T2JqZWN0SW1w
bDxBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlUGFnZUdyb3VwPiB7CitjbGFzcyBXZWJQYWdlR3Jv
dXBQcm94eSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlBhZ2VHcm91cFByb3h5PiB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxXZWJQYWdlR3JvdXBQcm94eT4gY3JlYXRlKGNvbnN0IFdlYlBhZ2VH
cm91cERhdGEmKTsKICAgICB2aXJ0dWFsIH5XZWJQYWdlR3JvdXBQcm94eSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGNhOWE5NzgwNjU5NzA2MjI5MDYzYjAx
YTI0YjFhODczOGJjOTQ3NmYuLmQ2NzQzZmVhZjkxZTg0MmM0YTNiMzE0MDk2NWU1MTE4MzVmODE4
ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTI3LDcgKzI3
LDYgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCiAKICNpbmNsdWRlICJBUElGcmFtZUhhbmRs
ZS5oIgotI2luY2x1ZGUgIkFQSVBhZ2VHcm91cEhhbmRsZS5oIgogI2luY2x1ZGUgIkFQSVBhZ2VI
YW5kbGUuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJB
dXhpbGlhcnlQcm9jZXNzTWVzc2FnZXMuaCIKQEAgLTE2ODgsNyArMTY4Nyw2IEBAIFJlZlB0cjxB
UEk6Ok9iamVjdD4gV2ViUHJvY2Vzczo6dHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyhBUEk6Ok9i
amVjdCogb2JqZWN0KQogICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUhh
bmRsZToKICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQVBJOjpQYWdl
SGFuZGxlJj4ob2JqZWN0KS5pc0F1dG9jb252ZXJ0aW5nKCk7CiAKLSAgICAgICAgICAgIGNhc2Ug
QVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2VHcm91cEhhbmRsZToKICNpZiBQTEFURk9STShDT0NPQSkK
ICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6Ok9iakNPYmplY3RHcmFwaDoKICNl
bmRpZgpAQCAtMTcwNSw5ICsxNzAzLDYgQEAgUmVmUHRyPEFQSTo6T2JqZWN0PiBXZWJQcm9jZXNz
Ojp0cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKEFQSTo6T2JqZWN0KiBvYmplY3QpCiAgICAgICAg
ICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpGcmFtZUhhbmRsZToKICAgICAgICAgICAgICAg
ICByZXR1cm4gbV93ZWJQcm9jZXNzLndlYkZyYW1lKHN0YXRpY19jYXN0PGNvbnN0IEFQSTo6RnJh
bWVIYW5kbGUmPihvYmplY3QpLmZyYW1lSUQoKSk7CiAKLSAgICAgICAgICAgIGNhc2UgQVBJOjpP
YmplY3Q6OlR5cGU6OlBhZ2VHcm91cEhhbmRsZToKLSAgICAgICAgICAgICAgICByZXR1cm4gbV93
ZWJQcm9jZXNzLndlYlBhZ2VHcm91cChzdGF0aWNfY2FzdDxjb25zdCBBUEk6OlBhZ2VHcm91cEhh
bmRsZSY+KG9iamVjdCkud2ViUGFnZUdyb3VwRGF0YSgpKTsKLQogICAgICAgICAgICAgY2FzZSBB
UEk6Ok9iamVjdDo6VHlwZTo6UGFnZUhhbmRsZToKICAgICAgICAgICAgICAgICByZXR1cm4gbV93
ZWJQcm9jZXNzLndlYlBhZ2Uoc3RhdGljX2Nhc3Q8Y29uc3QgQVBJOjpQYWdlSGFuZGxlJj4ob2Jq
ZWN0KS53ZWJQYWdlSUQoKSk7CiAKQEAgLTE3MzQsNyArMTcyOSw2IEBAIFJlZlB0cjxBUEk6Ok9i
amVjdD4gV2ViUHJvY2Vzczo6dHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyhBUEk6Ok9iamVjdCog
b2JqZWN0KQogICAgICAgICAgICAgc3dpdGNoIChvYmplY3QudHlwZSgpKSB7CiAgICAgICAgICAg
ICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5kbGVGcmFtZToKICAgICAgICAgICAgIGNhc2Ug
QVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2U6Ci0gICAgICAgICAgICBjYXNlIEFQSTo6T2Jq
ZWN0OjpUeXBlOjpCdW5kbGVQYWdlR3JvdXA6CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAg
ICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpPYmpDT2JqZWN0R3JhcGg6CiAjZW5kaWYKQEAg
LTE3NTQsMTMgKzE3NDgsNiBAQCBSZWZQdHI8QVBJOjpPYmplY3Q+IFdlYlByb2Nlc3M6OnRyYW5z
Zm9ybU9iamVjdHNUb0hhbmRsZXMoQVBJOjpPYmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIGNh
c2UgQVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2U6CiAgICAgICAgICAgICAgICAgcmV0dXJu
IEFQSTo6UGFnZUhhbmRsZTo6Y3JlYXRlQXV0b2NvbnZlcnRpbmcoc3RhdGljX2Nhc3Q8Y29uc3Qg
V2ViUGFnZSY+KG9iamVjdCkud2ViUGFnZVByb3h5SWRlbnRpZmllcigpLCBzdGF0aWNfY2FzdDxj
b25zdCBXZWJQYWdlJj4ob2JqZWN0KS5pZGVudGlmaWVyKCkpOwogCi0gICAgICAgICAgICBjYXNl
IEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5kbGVQYWdlR3JvdXA6IHsKLSAgICAgICAgICAgICAgICBX
ZWJQYWdlR3JvdXBEYXRhIHBhZ2VHcm91cERhdGE7Ci0gICAgICAgICAgICAgICAgcGFnZUdyb3Vw
RGF0YS5wYWdlR3JvdXBJRCA9IHN0YXRpY19jYXN0PGNvbnN0IFdlYlBhZ2VHcm91cFByb3h5Jj4o
b2JqZWN0KS5wYWdlR3JvdXBJRCgpOwotCi0gICAgICAgICAgICAgICAgcmV0dXJuIEFQSTo6UGFn
ZUdyb3VwSGFuZGxlOjpjcmVhdGUoV1RGTW92ZShwYWdlR3JvdXBEYXRhKSk7Ci0gICAgICAgICAg
ICB9Ci0KICNpZiBQTEFURk9STShDT0NPQSkKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6
OlR5cGU6Ok9iakNPYmplY3RHcmFwaDoKICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNmb3Jt
T2JqZWN0c1RvSGFuZGxlcyhzdGF0aWNfY2FzdDxPYmpDT2JqZWN0R3JhcGgmPihvYmplY3QpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428307</attachid>
            <date>2021-05-11 12:55:52 -0700</date>
            <delta_ts>2021-12-17 10:50:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225611-20210511125551.patch</filename>
            <type>text/plain</type>
            <size>38362</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFmZmM2NGYyMTcwN2Q1M2Nj
OTQ2MzM0Yjg5YjU0NjAxNzkwN2E0NWUuLjFlMTEwZTQ4YWYwMTViMDA5YzY4ZWU3MzQzNjgzZTU4
ZWJlY2JhYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjEtMDUtMTEgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgQVBJ
OjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2VHcm91cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NjExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSXRzIGxhc3QgdXNlIHdhcyByZW1vdmVkIGluIHJkYXI6
Ly83Nzc3NTk1MgorCisgICAgICAgICogU2hhcmVkL0FQSS9BUElPYmplY3QuaDoKKyAgICAgICAg
KiBTaGFyZWQvQVBJL0FQSVBhZ2VHcm91cEhhbmRsZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
U2hhcmVkL0FQSS9BUElQYWdlR3JvdXBIYW5kbGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBTaGFy
ZWQvQ29jb2EvQVBJT2JqZWN0Lm1tOgorICAgICAgICAoQVBJOjpPYmplY3Q6Om5ld09iamVjdCk6
CisgICAgICAgICogU2hhcmVkL0NvY29hL1NoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6U2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2U6OnNldFN0b3JhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpTaGFyZWRSaW5nQnVmZmVyU3RvcmFnZTo6YWxsb2NhdGUpOgorICAgICAg
ICAqIFNoYXJlZC9Vc2VyRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJEYXRhOjplbmNv
ZGUpOgorICAgICAgICAoV2ViS2l0OjpVc2VyRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFy
ZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhU2FtcGxlQ3Vyc29yLmg6CisgICAgICAgICog
U291cmNlcy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6dHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0
cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6dHJhbnNmb3JtT2JqZWN0c1Rv
SGFuZGxlcyk6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNz
UGx1Z0luUGFnZUdyb3VwLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1tOgorICAgICAgICAoLVtXS1dl
YlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgaWRlbnRpZmllcl0pOiBEZWxldGVkLgorICAgICAgICAo
LVtXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgZGVhbGxvY10pOiBEZWxldGVkLgorICAgICAg
ICAoLVtXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgX2FwaU9iamVjdF0pOiBEZWxldGVkLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vz
c1BsdWdJblBhZ2VHcm91cEludGVybmFsLmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0
Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21h
Yy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW06CisgICAgICAg
ICgtW1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciBwYWdlR3JvdXBd
KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJv
eHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjp0cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6dHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyk6CisKIDIwMjEtMDUt
MTEgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09T
XSBFeHRlbmQgYWNjZXNzIHRvICdjb20uYXBwbGUucHJpbnQubm9ybWFsaXplcmQnIHdoZW4gY2Fu
dmFzIGRyYXdpbmcgaXMgZG9uZSBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BUEkvQVBJT2JqZWN0LmgKaW5kZXggNDZjNzczZWUzOGNkMzA2NzViNmU4YjE2MjVmOTc1
MzA3OTNiMTZiYi4uNDQyMjBmNzZhZWI0OGVjYzhhOGQ2YjRkMDBjMTM0OTM0ZmFlM2E4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElPYmplY3QuaApAQCAtNjYsOSArNjYsNyBAQCBwdWJsaWM6
CiAgICAgICAgIEVycm9yLAogICAgICAgICBGcmFtZUhhbmRsZSwKICAgICAgICAgSW1hZ2UsCi0g
ICAgICAgIFBhZ2VHcm91cERhdGEsCiAgICAgICAgIFBhZ2VIYW5kbGUsCi0gICAgICAgIFBhZ2VH
cm91cEhhbmRsZSwKICAgICAgICAgUHJvdGVjdGlvblNwYWNlLAogICAgICAgICBSZW5kZXJMYXll
ciwKICAgICAgICAgUmVuZGVyT2JqZWN0LApAQCAtMjA0LDcgKzIwMiw2IEBAIHB1YmxpYzoKICAg
ICAgICAgQnVuZGxlTm9kZUhhbmRsZSwKICAgICAgICAgQnVuZGxlUGFnZSwKICAgICAgICAgQnVu
ZGxlUGFnZUJhbm5lciwKLSAgICAgICAgQnVuZGxlUGFnZUdyb3VwLAogICAgICAgICBCdW5kbGVQ
YWdlT3ZlcmxheSwKICAgICAgICAgQnVuZGxlUmFuZ2VIYW5kbGUsCiAgICAgICAgIEJ1bmRsZVNj
cmlwdFdvcmxkLApAQCAtMzE5LDkgKzMxNiw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFp
dHM8QVBJOjpPYmplY3Q6OlR5cGU+IHsKICAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OkVycm9y
LAogICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6RnJhbWVIYW5kbGUsCiAgICAgICAgIEFQSTo6
T2JqZWN0OjpUeXBlOjpJbWFnZSwKLSAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2VHcm91
cERhdGEsCiAgICAgICAgIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlSGFuZGxlLAotICAgICAgICBB
UEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdyb3VwSGFuZGxlLAogICAgICAgICBBUEk6Ok9iamVjdDo6
VHlwZTo6UHJvdGVjdGlvblNwYWNlLAogICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6UmVzb3Vy
Y2VMb2FkSW5mbywKICAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OlNlY3VyaXR5T3JpZ2luLApA
QCAtNDU1LDcgKzQ1MCw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8QVBJOjpPYmpl
Y3Q6OlR5cGU+IHsKICAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZU5vZGVIYW5kbGUs
CiAgICAgICAgIEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5kbGVQYWdlLAogICAgICAgICBBUEk6Ok9i
amVjdDo6VHlwZTo6QnVuZGxlUGFnZUJhbm5lciwKLSAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6
OkJ1bmRsZVBhZ2VHcm91cCwKICAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2VP
dmVybGF5LAogICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlUmFuZ2VIYW5kbGUsCiAg
ICAgICAgIEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5kbGVTY3JpcHRXb3JsZCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElQYWdlR3JvdXBIYW5kbGUuY3BwIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL0FQSVBhZ2VHcm91cEhhbmRsZS5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGM0MTg4MDI3M2YyNGMyZGE3YzNjMDM1ZmE3MTJmZjY0N2Q3NDllYTUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJL0FQSVBhZ2VHcm91cEhhbmRsZS5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw2NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IkFQSVBhZ2VHcm91cEhhbmRsZS5oIgotCi0jaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKLSNp
bmNsdWRlICJEZWNvZGVyLmgiCi0jaW5jbHVkZSAiRW5jb2Rlci5oIgotCi1uYW1lc3BhY2UgQVBJ
IHsKLQotUmVmPFBhZ2VHcm91cEhhbmRsZT4gUGFnZUdyb3VwSGFuZGxlOjpjcmVhdGUoV2ViS2l0
OjpXZWJQYWdlR3JvdXBEYXRhJiYgd2ViUGFnZUdyb3VwRGF0YSkKLXsKLSAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBQYWdlR3JvdXBIYW5kbGUoV1RGTW92ZSh3ZWJQYWdlR3JvdXBEYXRhKSkpOwot
fQotCi1QYWdlR3JvdXBIYW5kbGU6OlBhZ2VHcm91cEhhbmRsZShXZWJLaXQ6OldlYlBhZ2VHcm91
cERhdGEmJiB3ZWJQYWdlR3JvdXBEYXRhKQotICAgIDogbV93ZWJQYWdlR3JvdXBEYXRhKFdURk1v
dmUod2ViUGFnZUdyb3VwRGF0YSkpCi17Ci19Ci0KLVBhZ2VHcm91cEhhbmRsZTo6flBhZ2VHcm91
cEhhbmRsZSgpCi17Ci19Ci0KLXZvaWQgUGFnZUdyb3VwSGFuZGxlOjplbmNvZGUoSVBDOjpFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAgIGVuY29kZXIgPDwgbV93ZWJQYWdlR3JvdXBEYXRh
OwotfQotCi1ib29sIFBhZ2VHcm91cEhhbmRsZTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2Rl
ciwgUmVmUHRyPE9iamVjdD4mIHJlc3VsdCkKLXsKLSAgICBPcHRpb25hbDxXZWJLaXQ6OldlYlBh
Z2VHcm91cERhdGE+IHdlYlBhZ2VHcm91cERhdGE7Ci0gICAgZGVjb2RlciA+PiB3ZWJQYWdlR3Jv
dXBEYXRhOwotICAgIGlmICghd2ViUGFnZUdyb3VwRGF0YSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgcmVzdWx0ID0gY3JlYXRlKFdURk1vdmUoKndlYlBhZ2VHcm91cERhdGEpKTsKLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
QVBJL0FQSVBhZ2VHcm91cEhhbmRsZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSVBh
Z2VHcm91cEhhbmRsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYWFmODNmODhj
ZjcxMjU1Y2QwYjg3YjNlOTU1MzFlNWNhNmFhZTkzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElQYWdlR3Jv
dXBIYW5kbGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aWZuZGVmIEFQSVBhZ2VHcm91cEhhbmRsZV9oCi0jZGVmaW5lIEFQSVBhZ2VHcm91cEhhbmRsZV9o
Ci0KLSNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlICJXZWJQYWdlR3JvdXBEYXRhLmgi
Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgSVBDIHsKLWNsYXNzIERlY29k
ZXI7Ci1jbGFzcyBFbmNvZGVyOwotfQotCi1uYW1lc3BhY2UgQVBJIHsKLQotY2xhc3MgUGFnZUdy
b3VwSGFuZGxlIDogcHVibGljIE9iamVjdEltcGw8T2JqZWN0OjpUeXBlOjpQYWdlR3JvdXBIYW5k
bGU+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFBhZ2VHcm91cEhhbmRsZT4gY3JlYXRlKFdl
YktpdDo6V2ViUGFnZUdyb3VwRGF0YSYmKTsKLSAgICB2aXJ0dWFsIH5QYWdlR3JvdXBIYW5kbGUo
KTsKLQotICAgIGNvbnN0IFdlYktpdDo6V2ViUGFnZUdyb3VwRGF0YSYgd2ViUGFnZUdyb3VwRGF0
YSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViUGFnZUdyb3VwRGF0YTsgfQotCi0gICAgdm9pZCBlbmNv
ZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7Ci0gICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBi
b29sIGRlY29kZShJUEM6OkRlY29kZXImLCBSZWZQdHI8T2JqZWN0PiYpOwotCi1wcml2YXRlOgot
ICAgIGV4cGxpY2l0IFBhZ2VHcm91cEhhbmRsZShXZWJLaXQ6OldlYlBhZ2VHcm91cERhdGEmJik7
Ci0KLSAgICBjb25zdCBXZWJLaXQ6OldlYlBhZ2VHcm91cERhdGEgbV93ZWJQYWdlR3JvdXBEYXRh
OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgQVBJCi0KLQotI2VuZGlmIC8vIEFQSVBhZ2VHcm91cEhh
bmRsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BUElPYmplY3Qu
bW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BUElPYmplY3QubW0KaW5kZXggMWQ3Yjhk
ZDJlOGM4MjJkZmI3ZmU2MzkwMzAxNzI3Y2U1ZWQ0ZDU2Yi4uMTMyMjk1MmNhZDEwYTVlMjJiMGUy
MWQzZTk3OGQ3NWUxN2U1ZTAyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvQVBJT2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVj
dC5tbQpAQCAtNjMsNyArNjMsNiBAQAogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luSGl0VGVz
dFJlc3VsdEludGVybmFsLmgiCiAjaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5JbnRlcm5hbC5o
IgogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZUludGVybmFsLmgiCi0jaW1w
b3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tX
ZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJQcm9j
ZXNzUGx1Z0luU2NyaXB0V29ybGRJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJwYWdlUHJlZmVy
ZW5jZXNJbnRlcm5hbC5oIgpAQCAtNDI3LDEyICs0MjYsNiBAQCB2b2lkKiBPYmplY3Q6Om5ld09i
amVjdChzaXplX3Qgc2l6ZSwgVHlwZSB0eXBlKQogICAgICAgICB3cmFwcGVyID0gW1dLV2ViUHJv
Y2Vzc1BsdWdJbk5vZGVIYW5kbGUgYWxsb2NdOwogICAgICAgICBicmVhazsKIAotICAgIGNhc2Ug
VHlwZTo6QnVuZGxlUGFnZUdyb3VwOgotICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFU
SU9OU19CRUdJTjsKLSAgICAgICAgd3JhcHBlciA9IFtXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3Jv
dXAgYWxsb2NdOwotICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQ7Ci0g
ICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBUeXBlOjpCdW5kbGVSYW5nZUhhbmRsZToKICAgICAg
ICAgd3JhcHBlciA9IFtXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZSBhbGxvY107CiAgICAg
ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvU2hhcmVk
UmluZ0J1ZmZlclN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvU2hhcmVk
UmluZ0J1ZmZlclN0b3JhZ2UuY3BwCmluZGV4IDhhZjI2Mzc5YTBlNGVlYTU0MzE2ZDI0MTAzYTAw
OWZiMjQ3NGVhZTQuLjE2NzE5NTI0NmRjZDRmN2RkZjM2OWIyNzMyOTM0OWJhZTRlNzBmYzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1NoYXJlZFJpbmdCdWZmZXJTdG9y
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9TaGFyZWRSaW5nQnVmZmVy
U3RvcmFnZS5jcHAKQEAgLTc2LDE0ICs3NiwxNCBAQCB2b2lkIFJlYWRPbmx5U2hhcmVkUmluZ0J1
ZmZlclN0b3JhZ2U6OnVwZGF0ZUZyYW1lQm91bmRzKCkKICAgICBtX2VuZEZyYW1lID0gcGFpci5z
ZWNvbmQ7CiB9CiAKLXZvaWQgU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2U6OnNldFN0b3JhZ2UoUmVm
UHRyPFNoYXJlZE1lbW9yeT4mJiBzdG9yYWdlLCBjb25zdCBDQUF1ZGlvU3RyZWFtRGVzY3JpcHRp
b24mIGZvcm1hdCwgc2l6ZV90IGZyYW1lQ291bnQpCit2b2lkIFNoYXJlZFJpbmdCdWZmZXJTdG9y
YWdlOjpzZXRTdG9yYWdlKFJlZlB0cjxTaGFyZWRNZW1vcnk+JiYgc3RvcmFnZSwgY29uc3QgV2Vi
Q29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBmb3JtYXQsIHNpemVfdCBmcmFtZUNvdW50
KQogewogICAgIG1fc3RvcmFnZSA9IFdURk1vdmUoc3RvcmFnZSk7CiAgICAgaWYgKG1fc3RvcmFn
ZUNoYW5nZWRIYW5kbGVyKQogICAgICAgICBtX3N0b3JhZ2VDaGFuZ2VkSGFuZGxlcihtX3N0b3Jh
Z2UuZ2V0KCksIGZvcm1hdCwgZnJhbWVDb3VudCk7CiB9CiAKLXZvaWQgU2hhcmVkUmluZ0J1ZmZl
clN0b3JhZ2U6OmFsbG9jYXRlKHNpemVfdCBieXRlQ291bnQsIGNvbnN0IENBQXVkaW9TdHJlYW1E
ZXNjcmlwdGlvbiYgZm9ybWF0LCBzaXplX3QgZnJhbWVDb3VudCkKK3ZvaWQgU2hhcmVkUmluZ0J1
ZmZlclN0b3JhZ2U6OmFsbG9jYXRlKHNpemVfdCBieXRlQ291bnQsIGNvbnN0IFdlYkNvcmU6OkNB
QXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZm9ybWF0LCBzaXplX3QgZnJhbWVDb3VudCkKIHsKICAg
ICBhdXRvIHNoYXJlZE1lbW9yeSA9IFNoYXJlZE1lbW9yeTo6YWxsb2NhdGUoYnl0ZUNvdW50ICsg
c2l6ZW9mKEZyYW1lQm91bmRzKSk7CiAgICAgbmV3IChOb3ROdWxsLCBzaGFyZWRNZW1vcnktPmRh
dGEoKSkgRnJhbWVCb3VuZHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Vc2Vy
RGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Vc2VyRGF0YS5jcHAKaW5kZXggMWI2ZGJm
YWU0MzA4NDdjM2RlMTBhZmM4MGJlMmM4YjZlZDgyMjQzOS4uYmJiZmYyN2Q1ZjUzMmUzODY2OGMz
NDNiOGQ5ZmIyZjc1MDNiMTEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvVXNl
ckRhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1VzZXJEYXRhLmNwcApAQCAtMzMs
NyArMzMsNiBAQAogI2luY2x1ZGUgIkFQSUZyYW1lSGFuZGxlLmgiCiAjaW5jbHVkZSAiQVBJR2Vv
bWV0cnkuaCIKICNpbmNsdWRlICJBUElOdW1iZXIuaCIKLSNpbmNsdWRlICJBUElQYWdlR3JvdXBI
YW5kbGUuaCIKICNpbmNsdWRlICJBUElQYWdlSGFuZGxlLmgiCiAjaW5jbHVkZSAiQVBJU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAiQVBJU3RyaW5nLmgiCkBAIC0yMzAsMTAgKzIy
OSw2IEBAIHZvaWQgVXNlckRhdGE6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIsIGNvbnN0
IEFQSTo6T2JqZWN0JiBvYmplY3QpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGNhc2Ug
QVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2VHcm91cEhhbmRsZToKLSAgICAgICAgc3RhdGljX2Nhc3Q8
Y29uc3QgQVBJOjpQYWdlR3JvdXBIYW5kbGUmPihvYmplY3QpLmVuY29kZShlbmNvZGVyKTsKLSAg
ICAgICAgYnJlYWs7Ci0KICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlSGFuZGxlOgog
ICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBBUEk6OlBhZ2VIYW5kbGUmPihvYmplY3QpLmVuY29k
ZShlbmNvZGVyKTsKICAgICAgICAgYnJlYWs7CkBAIC00MTUsMTEgKzQxMCw2IEBAIGJvb2wgVXNl
ckRhdGE6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFJlZlB0cjxBUEk6Ok9iamVjdD4m
IHJlc3VsdCkKICAgICAgICAgcmVzdWx0ID0gbnVsbHB0cjsKICAgICAgICAgYnJlYWs7CiAKLSAg
ICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlR3JvdXBIYW5kbGU6Ci0gICAgICAgIGlmICgh
QVBJOjpQYWdlR3JvdXBIYW5kbGU6OmRlY29kZShkZWNvZGVyLCByZXN1bHQpKQotICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBicmVhazsKLQogICAgIGNhc2UgQVBJOjpPYmplY3Q6
OlR5cGU6OlBhZ2VIYW5kbGU6CiAgICAgICAgIGlmICghQVBJOjpQYWdlSGFuZGxlOjpkZWNvZGUo
ZGVjb2RlciwgcmVzdWx0KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVNhbXBsZUN1
cnNvci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlh
U2FtcGxlQ3Vyc29yLmgKaW5kZXggNjg3YjEzMDA0N2E4MjMzYzQ0MTMzZDM2Y2I2OGIxZjUxMWUz
MzJlNi4uOGI0YThiZTZmMjNkYWU2ZjRlZjg1Y2RmNzUwZTcyOTc2YWZjZmFiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhU2FtcGxl
Q3Vyc29yLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVy
L01lZGlhU2FtcGxlQ3Vyc29yLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkNvcmVN
ZWRpYVdyYXBwZWQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NhbXBsZU1hcC5oPgorI2luY2x1ZGUg
PHd0Zi9JZGVudGlmaWVkLmg+CiAjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgogI2luY2x1ZGUg
PHd0Zi9WYXJpYW50Lmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IGVlMjVhNTQwNmVhMWU0NjQzN2QwZWVh
NzQ2ZjEyOWRlZTBlOWEwMTMuLjE5NWQ0ZDI0MzA3NDNkY2E1MjY0NWIwMWFkYjAzMWFjOWFiYjk5
YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dl
YktpdC9Tb3VyY2VzLnR4dApAQCAtMjM4LDcgKzIzOCw2IEBAIFNoYXJlZC9BUEkvQVBJRXJyb3Iu
Y3BwCiBTaGFyZWQvQVBJL0FQSUZyYW1lSGFuZGxlLmNwcAogU2hhcmVkL0FQSS9BUElHZW9tZXRy
eS5jcHAKIFNoYXJlZC9BUEkvQVBJT2JqZWN0LmNwcAotU2hhcmVkL0FQSS9BUElQYWdlR3JvdXBI
YW5kbGUuY3BwCiBTaGFyZWQvQVBJL0FQSVBhZ2VIYW5kbGUuY3BwCiBTaGFyZWQvQVBJL0FQSVVS
TFJlcXVlc3QuY3BwCiBTaGFyZWQvQVBJL0FQSVVSTFJlc3BvbnNlLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKaW5kZXggNTE4N2Y4ODhlODc3MmE0MTRj
OWQ5N2ViMThjZWUzOTUyYWM4NTAxYS4uN2UyNjMwNmJlNWRkY2JhODQ3M2RkMjBlNDk4ODMxNDYx
MmEwNTA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCiAKICNpbmNs
dWRlICJBUElGcmFtZUhhbmRsZS5oIgotI2luY2x1ZGUgIkFQSVBhZ2VHcm91cEhhbmRsZS5oIgog
I2luY2x1ZGUgIkFQSVBhZ2VIYW5kbGUuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdG9yTWFuYWdl
ci5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKQEAgLTEzMjQsNyArMTMyMyw2IEBAIFJl
ZlB0cjxBUEk6Ok9iamVjdD4gV2ViUHJvY2Vzc1Byb3h5Ojp0cmFuc2Zvcm1IYW5kbGVzVG9PYmpl
Y3RzKEFQSTo6T2JqZWN0KiBvYmplCiAgICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBl
OjpQYWdlSGFuZGxlOgogICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBB
UEk6OlBhZ2VIYW5kbGUmPihvYmplY3QpLmlzQXV0b2NvbnZlcnRpbmcoKTsKIAotICAgICAgICAg
ICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdyb3VwSGFuZGxlOgogI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6T2JqQ09iamVjdEdy
YXBoOgogI2VuZGlmCkBAIC0xMzQyLDkgKzEzNDAsNiBAQCBSZWZQdHI8QVBJOjpPYmplY3Q+IFdl
YlByb2Nlc3NQcm94eTo6dHJhbnNmb3JtSGFuZGxlc1RvT2JqZWN0cyhBUEk6Ok9iamVjdCogb2Jq
ZQogICAgICAgICAgICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxBUEk6OkZyYW1lSGFuZGxlJj4o
b2JqZWN0KS5pc0F1dG9jb252ZXJ0aW5nKCkpOwogICAgICAgICAgICAgICAgIHJldHVybiBtX3dl
YlByb2Nlc3NQcm94eS53ZWJGcmFtZShzdGF0aWNfY2FzdDxBUEk6OkZyYW1lSGFuZGxlJj4ob2Jq
ZWN0KS5mcmFtZUlEKCkpOwogCi0gICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQ
YWdlR3JvdXBIYW5kbGU6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYlBhZ2VHcm91cDo6Z2V0
KHN0YXRpY19jYXN0PEFQSTo6UGFnZUdyb3VwSGFuZGxlJj4ob2JqZWN0KS53ZWJQYWdlR3JvdXBE
YXRhKCkucGFnZUdyb3VwSUQpOwotCiAgICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBl
OjpQYWdlSGFuZGxlOgogICAgICAgICAgICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxBUEk6OlBh
Z2VIYW5kbGUmPihvYmplY3QpLmlzQXV0b2NvbnZlcnRpbmcoKSk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuIG1fd2ViUHJvY2Vzc1Byb3h5LndlYlBhZ2Uoc3RhdGljX2Nhc3Q8QVBJOjpQYWdlSGFu
ZGxlJj4ob2JqZWN0KS5wYWdlUHJveHlJRCgpKTsKQEAgLTEzOTIsOSArMTM4Nyw2IEBAIFJlZlB0
cjxBUEk6Ok9iamVjdD4gV2ViUHJvY2Vzc1Byb3h5Ojp0cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVz
KEFQSTo6T2JqZWN0KiBvYmplCiAgICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQ
YWdlOgogICAgICAgICAgICAgICAgIHJldHVybiBBUEk6OlBhZ2VIYW5kbGU6OmNyZWF0ZUF1dG9j
b252ZXJ0aW5nKHN0YXRpY19jYXN0PGNvbnN0IFdlYlBhZ2VQcm94eSY+KG9iamVjdCkuaWRlbnRp
ZmllcigpLCBzdGF0aWNfY2FzdDxjb25zdCBXZWJQYWdlUHJveHkmPihvYmplY3QpLndlYlBhZ2VJ
RCgpKTsKIAotICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdyb3VwOgot
ICAgICAgICAgICAgICAgIHJldHVybiBBUEk6OlBhZ2VHcm91cEhhbmRsZTo6Y3JlYXRlKFdlYlBh
Z2VHcm91cERhdGEoc3RhdGljX2Nhc3Q8Y29uc3QgV2ViUGFnZUdyb3VwJj4ob2JqZWN0KS5kYXRh
KCkpKTsKLQogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVj
dDo6VHlwZTo6T2JqQ09iamVjdEdyYXBoOgogICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2Zv
cm1PYmplY3RzVG9IYW5kbGVzKHN0YXRpY19jYXN0PE9iakNPYmplY3RHcmFwaCY+KG9iamVjdCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZDY4MDFmYzUxMjE3MGNiZjk5YTYyNDk3MTI3MDFlNGExZjA5YjIwOC4uMjg4YzQ0NzBlYzk5
YjI5YjYzMmNjMDEwNGM4ODJkOWVmODZlZTRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NjQsNyArNDY0LDYgQEAKIAkJMUY3NTA2
QjgxODU5MTY1RDAwRUMwRkY3IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGMDE4MTZCMTg1
OERDMTUwMEY5Mjg4NCAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZUludGVybmFsLmggKi87IH07
CiAJCTFGN0QzNkMxMThEQTUxM0YwMEQ5RDY1OSAvKiBBUElEb3dubG9hZENsaWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUY3RDM2QzAxOERBNTEz
RjAwRDlENjU5IC8qIEFQSURvd25sb2FkQ2xpZW50LmggKi87IH07CiAJCTFGQjAwQUM3MTg1Rjc2
NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGQjAwQUM0MTg1Rjc2NDYwMDE5MTQy
RSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkxRkIwMEFDOTE4NUY3NjQ2MDAxOTE0MkUgLyog
V0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGQjAwQUM2MTg1Rjc2NDYwMDE5MTQyRSAvKiBX
S1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oICovOyB9OwogCQkyNjMxNzJDRjE4
QjQ2OTQ5MDA2NUI5QzMgLyogTmF0aXZlV2ViVG91Y2hFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjYzMTcyQ0UxOEI0Njk0OTAwNjVCOUMzIC8q
IE5hdGl2ZVdlYlRvdWNoRXZlbnQuaCAqLzsgfTsKIAkJMjY4NDA1NDQxOEI4NUE2MzAwMjJDMzhC
IC8qIFZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2ODQwNTQyMThCODVBNjMwMDIyQzM4QiAvKiBWaXNp
YmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmggKi87IH07CiAJCTI2ODQwNTUyMThCODZFRDYwMDIy
QzM4QiAvKiBWaWV3VXBkYXRlRGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNjg0MDU1MDE4Qjg2RUQ2MDAy
MkMzOEIgLyogVmlld1VwZGF0ZURpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwpA
QCAtMjY2Miw4ICsyNjYxLDYgQEAKIAkJMUEzMzRERUExNkRFOEI2ODAwNkE4RTM4IC8qIFN0b3Jh
Z2VBcmVhTWFwLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0b3JhZ2VBcmVhTWFwLm1lc3NhZ2VzLmluOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTMzNERFQjE2REU4Rjg4MDA2QThFMzggLyog
U3RvcmFnZUFyZWFNYXBNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gU3RvcmFnZUFyZWFNYXBNZXNzYWdlUmVjZWl2ZXIuY3BwOyBwYXRoID0g
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9TdG9yYWdlQXJlYU1hcE1lc3NhZ2VSZWNlaXZlci5jcHA7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTFBMzM0REVDMTZERThGODgw
MDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFN0b3JhZ2VBcmVhTWFwTWVzc2FnZXMuaDsgcGF0aCA9IERlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvU3RvcmFnZUFyZWFNYXBNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRf
UFJPRFVDVFNfRElSOyB9OwotCQkxQTNBNzNDQjFBNDhDNkQ0MDA3MjMxQjMgLyogQVBJUGFnZUdy
b3VwSGFuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFQSVBh
Z2VHcm91cEhhbmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBM0E3M0ND
MUE0OEM2RDQwMDcyMzFCMyAvKiBBUElQYWdlR3JvdXBIYW5kbGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQVBJUGFnZUdyb3VwSGFuZGxlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFBM0M4ODdGMThBNUFCQUUwMEM0Qzk2MiAvKiBXS1ByZWZlcmVuY2VzSW50
ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQcmVmZXJlbmNlc0lu
dGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBM0NDMTY0MTg5MDZBQ0Yw
MDFFNkVEOCAvKiBXS1dlYlZpZXcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXS1dlYlZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBM0ND
MTY1MTg5MDZBQ0YwMDFFNkVEOCAvKiBXS1dlYlZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV0tXZWJWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0z
MTE4LDcgKzMxMTUsNiBAQAogCQkxRjdEMzZDMDE4REE1MTNGMDBEOUQ2NTkgLyogQVBJRG93bmxv
YWRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJRG93bmxvYWRD
bGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUZCMDBBQzQxODVGNzY0NjAw
MTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUZCMDBBQzUxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJv
Y2Vzc1BsdWdJblBhZ2VHcm91cC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJMUZCMDBBQzYxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
blBhZ2VHcm91cEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdL
V2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTI2MzE3MkNFMThCNDY5NDkwMDY1QjlDMyAvKiBOYXRpdmVXZWJUb3VjaEV2ZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdGl2ZVdlYlRvdWNoRXZlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjY2NTlBQTAxODVGQUFFRDAwNDMwM0RE
IC8qIEluZm8taU9TLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGggPSAiSW5mby1pT1MucGxpc3QiOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjg0MDU0MjE4Qjg1QTYzMDAyMkMzOEIgLyogVmlz
aWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC03MjQxLDcgKzcyMzcsNiBAQAogCQkJCUNFQzhGOUNBMUZERjU4NzAwMDI2MzVF
NyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlUHJpdmF0ZS5oICovLAogCQkJCTFGQjAw
QUM0MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaCAqLywK
IAkJCQkxRkIwMEFDNTE4NUY3NjQ2MDAxOTE0MkUgLyogV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdy
b3VwLm1tICovLAotCQkJCTFGQjAwQUM2MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQ
bHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oICovLAogCQkJCTM3NDk0MjE5MURGMUY5RkYwMDMzQzE5
RiAvKiBXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5oICovLAogCQkJCTM3NDk0MjE4MURG
MUY5RkYwMDMzQzE5RiAvKiBXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbSAqLywKIAkJ
CQkzNzQ5NDIxQzFERjFGQUI5MDAzM0MxOUYgLyogV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5k
bGVJbnRlcm5hbC5oICovLApAQCAtMTA4OTcsOCArMTA4OTIsNiBAQAogCQkJCUJDMzNERDY3MTIz
ODQ2NDYwMDM2MEYzRiAvKiBBUElOdW1iZXIuaCAqLywKIAkJCQlCNjM0MDNGODE0OTEwRDU3MDAx
MDcwQjUgLyogQVBJT2JqZWN0LmNwcCAqLywKIAkJCQlCQ0YwNEM4QzExRkY5QjdEMDBGODZBNTgg
LyogQVBJT2JqZWN0LmggKi8sCi0JCQkJMUEzQTczQ0IxQTQ4QzZENDAwNzIzMUIzIC8qIEFQSVBh
Z2VHcm91cEhhbmRsZS5jcHAgKi8sCi0JCQkJMUEzQTczQ0MxQTQ4QzZENDAwNzIzMUIzIC8qIEFQ
SVBhZ2VHcm91cEhhbmRsZS5oICovLAogCQkJCTFBQzEzMzZEMTg1NjVEMkIwMEYzRUMwNSAvKiBB
UElQYWdlSGFuZGxlLmNwcCAqLywKIAkJCQkxQUMxMzM2QjE4NTY1QzdBMDBGM0VDMDUgLyogQVBJ
UGFnZUhhbmRsZS5oICovLAogCQkJCUY2MzQ0NDU1MTJBODg1QzgwMDA2MTJEOCAvKiBBUElTZWN1
cml0eU9yaWdpbi5oICovLApAQCAtMTMwMDIsNyArMTI5OTUsNiBAQAogCQkJCTFGNzUwNkI2MTg1
OTE2NTcwMEVDMEZGNyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLAogCQkJCUNFQzhGOUNCMUZERjU4NzAwMDI2MzVFNyAvKiBXS1dlYlByb2Nl
c3NQbHVnSW5Ob2RlSGFuZGxlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUZCMDBBQzcx
ODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJMUZCMDBBQzkxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
blBhZ2VHcm91cEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzA0RUZGQzE2RTY1QUZC
MDBFMzM2RjAgLyogV0tXZWJQcm9jZXNzUGx1Z0luUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzc0OTQyMUIxREYxRjlGRjAwMzNDMTlGIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFu
ZGxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzQ5NDIxRDFERjFGQUI5MDAzM0MxOUYgLyogV0tX
ZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29h
L1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaApp
bmRleCBiYzhkMmNhNTljODdiNDZlODMzNmM1MjNmZTc4OGU5MDQ4OTNjZmU3Li4xNGJjZWYzYmI1
ZDQxMjJiNzkzMjE3NmYyNDg0NTU2OTUyNmE0ZDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBh
Z2VHcm91cC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLmgKQEAgLTI3LDkgKzI3LDggQEAK
IAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKKy8vIEZJWE1FOiBSZW1vdmUg
dGhpcyBmaWxlIG9uY2UgdGhlIHN0YWdpbmcgY29kZSBmb3IgcmRhcjovLzc3Nzc1OTUyIGlzIHJl
bW92ZWQuCiBXS19DTEFTU19ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIldLV2ViUHJvY2Vz
c1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5fZ3JvdXBJZGVudGlmaWVyIiwgbWFjb3Mo
MTAuMTAsIFdLX01BQ19UQkEpLCBpb3MoOC4wLCBXS19JT1NfVEJBKSkKIEBpbnRlcmZhY2UgV0tX
ZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwIDogTlNPYmplY3QKIAotQHByb3BlcnR5IChyZWFkb25s
eSkgTlNTdHJpbmcgKmlkZW50aWZpZXI7Ci0KIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0lu
UGFnZUdyb3VwLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0KaW5kZXggZWMwMzIzNmQ3N2My
NTY1NWNlZTdlYTg5NWRlZGU5NmM0MjhmNDJlZS4uMDM4YjE0ZTU1MDBjYzg0YzdkNjVhYmExZjkz
YjYyYTk3MWVkNmJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlBy
b2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0KQEAgLTI0LDM4ICsyNCwxMiBAQAogICovCiAKICNpbXBv
cnQgImNvbmZpZy5oIgotI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwSW50ZXJu
YWwuaCIKKyNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oIgogCi0jaW1wb3J0
ICJXS0FQSUNhc3QuaCIKLSNpbXBvcnQgIldLTlNTdHJpbmcuaCIKLSNpbXBvcnQgIldLUmV0YWlu
UHRyLmgiCi0jaW1wb3J0ICJXZWJQYWdlR3JvdXBQcm94eS5oIgotI2ltcG9ydCA8V2ViQ29yZS9X
ZWJDb3JlT2JqQ0V4dHJhcy5oPgorLy8gRklYTUU6IFJlbW92ZSB0aGlzIGZpbGUgb25jZSB0aGUg
c3RhZ2luZyBjb2RlIGZvciByZGFyOi8vNzc3NzU5NTIgaXMgcmVtb3ZlZC4KIAogQUxMT1dfREVQ
UkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfQkVHSU4KLUBpbXBsZW1lbnRhdGlvbiBXS1dlYlByb2Nl
c3NQbHVnSW5QYWdlR3JvdXAgewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxXZWJLaXQ6OldlYlBh
Z2VHcm91cFByb3h5PiBfYnVuZGxlUGFnZUdyb3VwOwotfQorQGltcGxlbWVudGF0aW9uIFdLV2Vi
UHJvY2Vzc1BsdWdJblBhZ2VHcm91cAogQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNf
RU5ECiAKLS0gKE5TU3RyaW5nICopaWRlbnRpZmllcgotewotICAgIHJldHVybiBfYnVuZGxlUGFn
ZUdyb3VwLT5pZGVudGlmaWVyKCk7Ci19Ci0KLS0gKHZvaWQpZGVhbGxvYwotewotICAgIGlmIChX
ZWJDb3JlT2JqQ1NjaGVkdWxlRGVhbGxvY2F0ZU9uTWFpblJ1bkxvb3AoV0tXZWJQcm9jZXNzUGx1
Z0luUGFnZUdyb3VwLmNsYXNzLCBzZWxmKSkKLSAgICAgICAgcmV0dXJuOwotICAgIF9idW5kbGVQ
YWdlR3JvdXAtPn5XZWJQYWdlR3JvdXBQcm94eSgpOwotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0K
LQotI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29sIGltcGxlbWVudGF0aW9uCi0KLS0gKEFQ
STo6T2JqZWN0JilfYXBpT2JqZWN0Ci17Ci0gICAgcmV0dXJuICpfYnVuZGxlUGFnZUdyb3VwOwot
fQotCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cEludGVybmFsLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJv
Y2Vzc1BsdWdJblBhZ2VHcm91cEludGVybmFsLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDBkNzkxOGUzY2RhN2Y1ZmNkMjRhOTQ2YmI0ZGRmZmNlNTU2Y2VkMGYuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJ
bnRlcm5hbC5oCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0g
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLmgiCi0KLSNpbXBvcnQgIldL
QmFzZS5oIgotI2ltcG9ydCAiV2ViUGFnZUdyb3VwUHJveHkuaCIKLQotbmFtZXNwYWNlIFdlYktp
dCB7Ci0KLXRlbXBsYXRlPD4gc3RydWN0IFdyYXBwZXJUcmFpdHM8V2ViUGFnZUdyb3VwUHJveHk+
IHsKLSAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgotICAgIHVzaW5nIFdy
YXBwZXJDbGFzcyA9IFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cDsKLSAgICBBTExPV19ERVBS
RUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLX07Ci0KLX0KLQotQGludGVyZmFjZSBXS1dlYlByb2Nl
c3NQbHVnSW5QYWdlR3JvdXAgKCkgPFdLT2JqZWN0PgotQGVuZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1
Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENv
bnRyb2xsZXIuaAppbmRleCA3MzJmNTk4Mzk1OWIyY2IxYjdlYmFjYjljMzg1ZTZjZDNkYTUxZTY0
Li5iYjJmNzljZWUxMzMwM2UzOTk1MDA3MWIwZTc5YWY0MWZkODkwMDI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2Vy
Q29udGV4dENvbnRyb2xsZXIuaApAQCAtMzAsNyArMzAsNiBAQAogQGNsYXNzIFdLRE9NRG9jdW1l
bnQ7CiBAY2xhc3MgV0tET01SYW5nZTsKIEBjbGFzcyBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZTsK
LUBjbGFzcyBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXA7CiBAcHJvdG9jb2wgV0tXZWJQcm9j
ZXNzUGx1Z0luTG9hZERlbGVnYXRlOwogCiBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTAp
LCBpb3MoOC4wKSkKQEAgLTQyLDggKzQxLDYgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEw
LjEwKSwgaW9zKDguMCkpCiAKIEBwcm9wZXJ0eSAocmVhZG9ubHkpIFdLV2ViUHJvY2Vzc1BsdWdJ
bkZyYW1lICptYWluRnJhbWU7CiAKLUBwcm9wZXJ0eSAocmVhZG9ubHkpIFdLV2ViUHJvY2Vzc1Bs
dWdJblBhZ2VHcm91cCAqcGFnZUdyb3VwIFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1F
TlQoIl9ncm91cElkZW50aWZpZXIiLCBtYWNvcygxMC4xMCwgV0tfTUFDX1RCQSksIGlvcyg4LjAs
IFdLX0lPU19UQkEpKTsKLQogQHByb3BlcnR5ICh3ZWFrKSBpZCA8V0tXZWJQcm9jZXNzUGx1Z0lu
TG9hZERlbGVnYXRlPiBsb2FkRGVsZWdhdGU7CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29u
dHJvbGxlci5tbQppbmRleCBjNTUwOGE2MDhkODk1MWUzYWUyMjMzYmQ5MGUyM2Q4YzQyN2UxMDg1
Li5hZjM4ZDRmZmQ1ZTRlNDg5MTBhMTZlMGQyY2IxMDJkYWU0ZDM4NDYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nl
c3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyLm1tCkBAIC00OCwxMCArNDgsMTAgQEAKICNpbXBvcnQgIldLV2Vi
UHJvY2Vzc1BsdWdJbkZvcm1EZWxlZ2F0ZVByaXZhdGUuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vz
c1BsdWdJbkxvYWREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhh
bmRsZUludGVybmFsLmgiCi0jaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRl
cm5hbC5oIgogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGVJbnRlcm5hbC5o
IgogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGRJbnRlcm5hbC5oIgogI2lt
cG9ydCAiV2ViUGFnZS5oIgorI2ltcG9ydCAiV2ViUGFnZUdyb3VwUHJveHkuaCIKICNpbXBvcnQg
IldlYlByb2Nlc3MuaCIKICNpbXBvcnQgIl9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5SW50ZXJuYWwu
aCIKICNpbXBvcnQgIl9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRzSW50ZXJuYWwuaCIKQEAgLTQw
NCwxMSArNDA0LDYgQEAgc3RhdGljIHZvaWQgc2V0VXBSZXNvdXJjZUxvYWRDbGllbnQoV0tXZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICoKICAgICByZXR1cm4gd3JhcHBl
cihfcGFnZS0+bWFpbldlYkZyYW1lKCkpOwogfQogCi0tIChXS1dlYlByb2Nlc3NQbHVnSW5QYWdl
R3JvdXAgKilwYWdlR3JvdXAKLXsKLSAgICByZXR1cm4gd3JhcHBlcigqX3BhZ2UtPnBhZ2VHcm91
cCgpKTsKLX0KLQogI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29sIGltcGxlbWVudGF0aW9u
CiAKIC0gKEFQSTo6T2JqZWN0JilfYXBpT2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuaAppbmRleCAwNmI1YjE5YTg4ZDkw
YWFhODY5ZGZlNTc1MmViY2M1YjYxZTdkMGJkLi40YTQ3NDQwMjU5NjY4NzU3OWZkN2ZkNDU2ZWM4
ZGM2NDhhMWNkMzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlR3JvdXBQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2VHcm91cFByb3h5LmgKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIFdlYlVzZXJDb250ZW50Q29udHJvbGxlcjsKIAotY2xhc3MgV2ViUGFnZUdy
b3VwUHJveHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5k
bGVQYWdlR3JvdXA+IHsKK2NsYXNzIFdlYlBhZ2VHcm91cFByb3h5IDogcHVibGljIFJlZkNvdW50
ZWQ8V2ViUGFnZUdyb3VwUHJveHk+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYlBhZ2VH
cm91cFByb3h5PiBjcmVhdGUoY29uc3QgV2ViUGFnZUdyb3VwRGF0YSYpOwogICAgIHZpcnR1YWwg
fldlYlBhZ2VHcm91cFByb3h5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKaW5kZXggY2E5YTk3ODA2NTk3MDYyMjkwNjNiMDFhMjRiMWE4NzM4YmM5NDc2Zi4uZDY3NDNm
ZWFmOTFlODQyYzRhM2IzMTQwOTY1ZTUxMTgzNWY4MThlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIldlYlByb2Nl
c3MuaCIKIAogI2luY2x1ZGUgIkFQSUZyYW1lSGFuZGxlLmgiCi0jaW5jbHVkZSAiQVBJUGFnZUdy
b3VwSGFuZGxlLmgiCiAjaW5jbHVkZSAiQVBJUGFnZUhhbmRsZS5oIgogI2luY2x1ZGUgIkF1dGhl
bnRpY2F0aW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIkF1eGlsaWFyeVByb2Nlc3NNZXNzYWdlcy5o
IgpAQCAtMTY4OCw3ICsxNjg3LDYgQEAgUmVmUHRyPEFQSTo6T2JqZWN0PiBXZWJQcm9jZXNzOjp0
cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKEFQSTo6T2JqZWN0KiBvYmplY3QpCiAgICAgICAgICAg
ICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlSGFuZGxlOgogICAgICAgICAgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxjb25zdCBBUEk6OlBhZ2VIYW5kbGUmPihvYmplY3QpLmlzQXV0b2Nv
bnZlcnRpbmcoKTsKIAotICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdy
b3VwSGFuZGxlOgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgICAgICAgICAgY2FzZSBBUEk6Ok9i
amVjdDo6VHlwZTo6T2JqQ09iamVjdEdyYXBoOgogI2VuZGlmCkBAIC0xNzA1LDkgKzE3MDMsNiBA
QCBSZWZQdHI8QVBJOjpPYmplY3Q+IFdlYlByb2Nlc3M6OnRyYW5zZm9ybUhhbmRsZXNUb09iamVj
dHMoQVBJOjpPYmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5
cGU6OkZyYW1lSGFuZGxlOgogICAgICAgICAgICAgICAgIHJldHVybiBtX3dlYlByb2Nlc3Mud2Vi
RnJhbWUoc3RhdGljX2Nhc3Q8Y29uc3QgQVBJOjpGcmFtZUhhbmRsZSY+KG9iamVjdCkuZnJhbWVJ
RCgpKTsKIAotICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdyb3VwSGFu
ZGxlOgotICAgICAgICAgICAgICAgIHJldHVybiBtX3dlYlByb2Nlc3Mud2ViUGFnZUdyb3VwKHN0
YXRpY19jYXN0PGNvbnN0IEFQSTo6UGFnZUdyb3VwSGFuZGxlJj4ob2JqZWN0KS53ZWJQYWdlR3Jv
dXBEYXRhKCkpOwotCiAgICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlSGFu
ZGxlOgogICAgICAgICAgICAgICAgIHJldHVybiBtX3dlYlByb2Nlc3Mud2ViUGFnZShzdGF0aWNf
Y2FzdDxjb25zdCBBUEk6OlBhZ2VIYW5kbGUmPihvYmplY3QpLndlYlBhZ2VJRCgpKTsKIApAQCAt
MTczNCw3ICsxNzI5LDYgQEAgUmVmUHRyPEFQSTo6T2JqZWN0PiBXZWJQcm9jZXNzOjp0cmFuc2Zv
cm1PYmplY3RzVG9IYW5kbGVzKEFQSTo6T2JqZWN0KiBvYmplY3QpCiAgICAgICAgICAgICBzd2l0
Y2ggKG9iamVjdC50eXBlKCkpIHsKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6
OkJ1bmRsZUZyYW1lOgogICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxl
UGFnZToKLSAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2VHcm91
cDoKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5
cGU6Ok9iakNPYmplY3RHcmFwaDoKICNlbmRpZgpAQCAtMTc1NCwxMyArMTc0OCw2IEBAIFJlZlB0
cjxBUEk6Ok9iamVjdD4gV2ViUHJvY2Vzczo6dHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyhBUEk6
Ok9iamVjdCogb2JqZWN0KQogICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6QnVu
ZGxlUGFnZToKICAgICAgICAgICAgICAgICByZXR1cm4gQVBJOjpQYWdlSGFuZGxlOjpjcmVhdGVB
dXRvY29udmVydGluZyhzdGF0aWNfY2FzdDxjb25zdCBXZWJQYWdlJj4ob2JqZWN0KS53ZWJQYWdl
UHJveHlJZGVudGlmaWVyKCksIHN0YXRpY19jYXN0PGNvbnN0IFdlYlBhZ2UmPihvYmplY3QpLmlk
ZW50aWZpZXIoKSk7CiAKLSAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRs
ZVBhZ2VHcm91cDogewotICAgICAgICAgICAgICAgIFdlYlBhZ2VHcm91cERhdGEgcGFnZUdyb3Vw
RGF0YTsKLSAgICAgICAgICAgICAgICBwYWdlR3JvdXBEYXRhLnBhZ2VHcm91cElEID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgV2ViUGFnZUdyb3VwUHJveHkmPihvYmplY3QpLnBhZ2VHcm91cElEKCk7Ci0K
LSAgICAgICAgICAgICAgICByZXR1cm4gQVBJOjpQYWdlR3JvdXBIYW5kbGU6OmNyZWF0ZShXVEZN
b3ZlKHBhZ2VHcm91cERhdGEpKTsKLSAgICAgICAgICAgIH0KLQogI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6T2JqQ09iamVjdEdyYXBoOgog
ICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHN0YXRpY19j
YXN0PE9iakNPYmplY3RHcmFwaCY+KG9iamVjdCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDlhNGYzMWI0YzZjMDA5Njc1Yzc2NjMwOTQ0ZjU3
NTg1MDhmYjg3ZTUuLjM3MDdjN2QwYjc3MTg0ODJjYjY3ZDhmMmJjMzI0YWI4NGIyMjNmYmQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMSBAQAorMjAyMS0wNS0xMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJlbW92ZSBBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlUGFnZUdy
b3VwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU2
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb21l
IHRlc3RzIHdlcmUgdHJ5aW5nIHRvIGVuY29kZSBhIHBhZ2UgZ3JvdXAsIGJ1dCBpdCB3YXMgdW51
c2VkIHNvIEkganVzdCByZW1vdmVkIHRoZW0uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9ET01XaW5kb3dFeHRlbnNpb25CYXNpYy5jcHA6CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Eb2N1
bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRC
dW5kbGVEaXNhYmxlT3ZlcnJpZGVCdWlsdGluc0JlaGF2aW9yLmNwcDoKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0lu
amVjdGVkQnVuZGxlTWFrZUFsbFNoYWRvd1Jvb3RzT3Blbi5jcHA6CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpURVNUKToKKwogMjAyMS0wNS0xMSAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIGNvbXBvc2l0aW5nL292ZXJmbG93L2R5bmFtaWMt
Y29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWMu
Y3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9u
QmFzaWMuY3BwCmluZGV4IDU1YWEzN2UxMzAyYzI2ZDJlOTUwM2QwNWE4OGJjNzE0NWNmYzY1Mzku
LmY0ZmM3MDEwYTk1MjYxZmJiYWViNjUyZmIxY2E3YjFmOWI5OTRlODggMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljLmNw
cAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9ET01XaW5kb3dFeHRlbnNp
b25CYXNpYy5jcHAKQEAgLTEzOSw3ICsxMzksNyBAQCBURVNUKFdlYktpdCwgRE9NV2luZG93RXh0
ZW5zaW9uQ3Jhc2hPblJlbG9hZCkKIHsKICAgICBXS1JldGFpblB0cjxXS1BhZ2VHcm91cFJlZj4g
cGFnZUdyb3VwID0gYWRvcHRXSyhXS1BhZ2VHcm91cENyZWF0ZVdpdGhJZGVudGlmaWVyKFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJET01XaW5kb3dFeHRlbnNpb25CYXNpY1BhZ2VHcm91
cCIpKSk7CiAKLSAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdL
KFV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkRPTVdpbmRvd0V4dGVu
c2lvbkJhc2ljIiwgcGFnZUdyb3VwLmdldCgpKSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0
UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5k
bGVUZXN0KCJET01XaW5kb3dFeHRlbnNpb25CYXNpYyIpKTsKIAogICAgIFdLQ29udGV4dEluamVj
dGVkQnVuZGxlQ2xpZW50VjAgaW5qZWN0ZWRCdW5kbGVDbGllbnQ7CiAgICAgbWVtc2V0KCZpbmpl
Y3RlZEJ1bmRsZUNsaWVudCwgMCwgc2l6ZW9mKGluamVjdGVkQnVuZGxlQ2xpZW50KSk7CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Eb2N1bWVudFN0YXJ0VXNl
clNjcmlwdEFsZXJ0Q3Jhc2guY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
RG9jdW1lbnRTdGFydFVzZXJTY3JpcHRBbGVydENyYXNoLmNwcAppbmRleCBkYTQ1NDQ3Y2FmMTAw
NDExZWEyNzNlYjVmYzUzMWRmNzEzYWUwMDRjLi5hNzc1NDRlNTJmMGZjOGJmM2MzMjI1MTc0ZGMy
MzM3ZmI4Zjg3NzBhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9Eb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RvY3VtZW50U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaC5j
cHAKQEAgLTUwLDcgKzUwLDcgQEAgVEVTVChXZWJLaXQsIERvY3VtZW50U3RhcnRVc2VyU2NyaXB0
QWxlcnRDcmFzaFRlc3QpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tQYWdlR3JvdXBSZWY+IHBhZ2VH
cm91cCA9IGFkb3B0V0soV0tQYWdlR3JvdXBDcmVhdGVXaXRoSWRlbnRpZmllcihXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiRG9jdW1lbnRTdGFydFVzZXJTY3JpcHRBbGVydENyYXNoVGVz
dFBhZ2VHcm91cCIpKSk7IAogCi0gICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0
ID0gYWRvcHRXSyhVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJEb2N1
bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2hUZXN0IiwgcGFnZUdyb3VwLmdldCgpKSk7Cisg
ICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhVdGlsOjpjcmVh
dGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFs
ZXJ0Q3Jhc2hUZXN0IikpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0
KCksIHBhZ2VHcm91cC5nZXQoKSk7CiAKICAgICBXS1BhZ2VVSUNsaWVudFYwIHVpQ2xpZW50Owpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRCdW5k
bGVEaXNhYmxlT3ZlcnJpZGVCdWlsdGluc0JlaGF2aW9yLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L0luamVjdGVkQnVuZGxlRGlzYWJsZU92ZXJyaWRlQnVpbHRpbnNCZWhh
dmlvci5jcHAKaW5kZXggNmQ0ZjFiN2Y0NWIxMDE1Zjk1YTBjNTYzZTJmZWYyZWU4ZmFiN2YyNi4u
ODVjNzY4NmE2ODAzMThmM2Y3MzQ2YmY5Y2I4NGIxMzIxNmQxZDVhZiAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRCdW5kbGVEaXNhYmxlT3ZlcnJp
ZGVCdWlsdGluc0JlaGF2aW9yLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9JbmplY3RlZEJ1bmRsZURpc2FibGVPdmVycmlkZUJ1aWx0aW5zQmVoYXZpb3IuY3BwCkBA
IC01Miw3ICs1Miw3IEBAIFRFU1QoV2ViS2l0LCBJbmplY3RlZEJ1bmRsZU5vRGlzYWJsZU92ZXJy
aWRlQnVpbHRpbnNCZWhhdmlvclRlc3QpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tQYWdlR3JvdXBS
ZWY+IHBhZ2VHcm91cCA9IGFkb3B0V0soV0tQYWdlR3JvdXBDcmVhdGVXaXRoSWRlbnRpZmllcihX
S1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSW5qZWN0ZWRCdW5kbGVOb0Rpc2FibGVPdmVy
cmlkZUJ1aWx0aW5zQmVoYXZpb3JUZXN0UGFnZUdyb3VwIikpKTsKIAotICAgIFdLUmV0YWluUHRy
PFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVXRpbDo6Y3JlYXRlQ29udGV4dEZvcklu
amVjdGVkQnVuZGxlVGVzdCgiSW5qZWN0ZWRCdW5kbGVOb0Rpc2FibGVPdmVycmlkZUJ1aWx0aW5z
QmVoYXZpb3JUZXN0IiwgcGFnZUdyb3VwLmdldCgpKSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250
ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRC
dW5kbGVUZXN0KCJJbmplY3RlZEJ1bmRsZU5vRGlzYWJsZU92ZXJyaWRlQnVpbHRpbnNCZWhhdmlv
clRlc3QiKSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSwgcGFn
ZUdyb3VwLmdldCgpKTsKIAogICAgIFdLUGFnZVVJQ2xpZW50VjAgdWlDbGllbnQ7CkBAIC04Niw3
ICs4Niw3IEBAIFRFU1QoV2ViS2l0LCBJbmplY3RlZEJ1bmRsZURpc2FibGVPdmVycmlkZUJ1aWx0
aW5zQmVoYXZpb3JUZXN0KQogewogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVmPiBwYWdl
R3JvdXAgPSBhZG9wdFdLKFdLUGFnZUdyb3VwQ3JlYXRlV2l0aElkZW50aWZpZXIoV0tTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoIkluamVjdGVkQnVuZGxlRGlzYWJsZU92ZXJyaWRlQnVpbHRp
bnNCZWhhdmlvclRlc3RQYWdlR3JvdXAiKSkpOwogCi0gICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0
UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5k
bGVUZXN0KCJJbmplY3RlZEJ1bmRsZURpc2FibGVPdmVycmlkZUJ1aWx0aW5zQmVoYXZpb3JUZXN0
IiwgcGFnZUdyb3VwLmdldCgpKSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250
ZXh0ID0gYWRvcHRXSyhVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJ
bmplY3RlZEJ1bmRsZURpc2FibGVPdmVycmlkZUJ1aWx0aW5zQmVoYXZpb3JUZXN0IikpOwogICAg
IFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCksIHBhZ2VHcm91cC5nZXQoKSk7
CiAKICAgICBXS1BhZ2VVSUNsaWVudFYwIHVpQ2xpZW50OwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRCdW5kbGVNYWtlQWxsU2hhZG93Um9vdHNP
cGVuLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0luamVjdGVkQnVuZGxl
TWFrZUFsbFNoYWRvd1Jvb3RzT3Blbi5jcHAKaW5kZXggZTkwOGIxYTgzYzhmOGQ5M2Y3ODY5ODJh
ZTMyNTU4MWU0MDc0OWUzMi4uZDJiMWQ1NzM4N2I0OTFlYjM3ZDRmODc5MzYzOWQ3N2Q3MGEwMmZh
ZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRC
dW5kbGVNYWtlQWxsU2hhZG93Um9vdHNPcGVuLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9JbmplY3RlZEJ1bmRsZU1ha2VBbGxTaGFkb3dSb290c09wZW4uY3BwCkBA
IC04Nyw3ICs4Nyw3IEBAIFRFU1QoV2ViS2l0LCBJbmplY3RlZEJ1bmRsZU1ha2VBbGxTaGFkb3dS
b290T3BlblRlc3QpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tQYWdlR3JvdXBSZWY+IHBhZ2VHcm91
cCA9IGFkb3B0V0soV0tQYWdlR3JvdXBDcmVhdGVXaXRoSWRlbnRpZmllcihXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZygiSW5qZWN0ZWRCdW5kbGVNYWtlQWxsU2hhZG93Um9vdE9wZW5UZXN0
UGFnZUdyb3VwIikpKTsKIAotICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9
IGFkb3B0V0soVXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW5qZWN0
ZWRCdW5kbGVNYWtlQWxsU2hhZG93Um9vdE9wZW5UZXN0IiwgcGFnZUdyb3VwLmdldCgpKSk7Cisg
ICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhVdGlsOjpjcmVh
dGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbmplY3RlZEJ1bmRsZU1ha2VBbGxTaGFk
b3dSb290T3BlblRlc3QiKSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5n
ZXQoKSwgcGFnZUdyb3VwLmdldCgpKTsKIAogICAgIFdLUGFnZVVJQ2xpZW50VjAgdWlDbGllbnQ7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447462</attachid>
            <date>2021-12-17 10:50:50 -0800</date>
            <delta_ts>2021-12-17 11:31:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225611-20211217105049.patch</filename>
            <type>text/plain</type>
            <size>33094</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY4YzI4ZTBiODVhNWY0ZTdi
YWQyOTFlNTMyODU4MGIxNTRhMmYxYjcuLjNkNzU5NWY2OTBmZWZhYjQzYmM0MDMxZWUwYzhjMTU2
YzdkZGY5MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjEtMTItMTcgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgQVBJ
OjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2VHcm91cAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NjExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJh
ZHkgRWlkc29uLgorCisgICAgICAgIEl0cyBsYXN0IHVzZSB3YXMgcmVtb3ZlZCBpbiByZGFyOi8v
Nzc3NzU5NTIgYW5kIHJkYXI6Ly83ODc4Mzk4OAorCisgICAgICAgICogU2hhcmVkL0FQSS9BUElP
YmplY3QuaDoKKyAgICAgICAgKiBTaGFyZWQvQVBJL0FQSVBhZ2VHcm91cEhhbmRsZS5jcHA6IFJl
bW92ZWQuCisgICAgICAgICogU2hhcmVkL0FQSS9BUElQYWdlR3JvdXBIYW5kbGUuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvY2cvV0tJbWFnZUNHLmNwcDoKKyAgICAgICAgKiBT
aGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tOgorICAgICAgICAoQVBJOjpPYmplY3Q6Om5ld09iamVj
dCk6CisgICAgICAgICogU2hhcmVkL1VzZXJEYXRhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VXNl
ckRhdGE6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlVzZXJEYXRhOjpkZWNvZGUpOgorICAg
ICAgICAqIFNoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvQ29yZU1lZGlhV3JhcHBlZC5jcHA6
CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6dHJhbnNmb3JtSGFu
ZGxlc1RvT2JqZWN0cyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6dHJhbnNm
b3JtT2JqZWN0c1RvSGFuZGxlcyk6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2Ev
V0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1tOgorICAg
ICAgICAoLVtXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgaWRlbnRpZmllcl0pOiBEZWxldGVk
LgorICAgICAgICAoLVtXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgZGVhbGxvY10pOiBEZWxl
dGVkLgorICAgICAgICAoLVtXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgX2FwaU9iamVjdF0p
OiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29h
L1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cEludGVybmFsLmg6IFJlbW92ZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIu
bW06CisgICAgICAgICgtW1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxl
ciBwYWdlR3JvdXBdKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZUdyb3VwUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjp0cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6dHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyk6
CisKIDIwMjEtMTItMTcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBNb3ZlIHN0b3JhZ2UgbWFuYWdlcnMgZnJvbSB0aGUgTmV0d29ya1Byb2Nlc3MgdG8gdGhlIE5l
dHdvcmtTZXNzaW9uIGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkv
QVBJT2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgKaW5kZXgg
MTNiYmViNWU0NDQ3NWRhMjMyNGEzYzk4NjA5MjViYTI1MjdhMzRmNy4uMjBiZTc4NjgxOGJlOGEx
NTI4OTNlOTJmMGE4ZDQ1M2RjZGFkOTAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQVBJL0FQSU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9BUElPYmpl
Y3QuaApAQCAtNjYsOSArNjYsNyBAQCBwdWJsaWM6CiAgICAgICAgIEVycm9yLAogICAgICAgICBG
cmFtZUhhbmRsZSwKICAgICAgICAgSW1hZ2UsCi0gICAgICAgIFBhZ2VHcm91cERhdGEsCiAgICAg
ICAgIFBhZ2VIYW5kbGUsCi0gICAgICAgIFBhZ2VHcm91cEhhbmRsZSwKICAgICAgICAgUHJvdGVj
dGlvblNwYWNlLAogICAgICAgICBSZW5kZXJMYXllciwKICAgICAgICAgUmVuZGVyT2JqZWN0LApA
QCAtMjAzLDcgKzIwMSw2IEBAIHB1YmxpYzoKICAgICAgICAgQnVuZGxlTm9kZUhhbmRsZSwKICAg
ICAgICAgQnVuZGxlUGFnZSwKICAgICAgICAgQnVuZGxlUGFnZUJhbm5lciwKLSAgICAgICAgQnVu
ZGxlUGFnZUdyb3VwLAogICAgICAgICBCdW5kbGVQYWdlT3ZlcmxheSwKICAgICAgICAgQnVuZGxl
UmFuZ2VIYW5kbGUsCiAgICAgICAgIEJ1bmRsZVNjcmlwdFdvcmxkLApAQCAtMzE4LDkgKzMxNSw3
IEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8QVBJOjpPYmplY3Q6OlR5cGU+IHsKICAg
ICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OkVycm9yLAogICAgICAgICBBUEk6Ok9iamVjdDo6VHlw
ZTo6RnJhbWVIYW5kbGUsCiAgICAgICAgIEFQSTo6T2JqZWN0OjpUeXBlOjpJbWFnZSwKLSAgICAg
ICAgQVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2VHcm91cERhdGEsCiAgICAgICAgIEFQSTo6T2JqZWN0
OjpUeXBlOjpQYWdlSGFuZGxlLAotICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdyb3Vw
SGFuZGxlLAogICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6UHJvdGVjdGlvblNwYWNlLAogICAg
ICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6UmVzb3VyY2VMb2FkSW5mbywKICAgICAgICAgQVBJOjpP
YmplY3Q6OlR5cGU6OlNlY3VyaXR5T3JpZ2luLApAQCAtNDUzLDcgKzQ0OCw2IEBAIHRlbXBsYXRl
PD4gc3RydWN0IEVudW1UcmFpdHM8QVBJOjpPYmplY3Q6OlR5cGU+IHsKICAgICAgICAgQVBJOjpP
YmplY3Q6OlR5cGU6OkJ1bmRsZU5vZGVIYW5kbGUsCiAgICAgICAgIEFQSTo6T2JqZWN0OjpUeXBl
OjpCdW5kbGVQYWdlLAogICAgICAgICBBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlUGFnZUJhbm5l
ciwKLSAgICAgICAgQVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2VHcm91cCwKICAgICAgICAg
QVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2VPdmVybGF5LAogICAgICAgICBBUEk6Ok9iamVj
dDo6VHlwZTo6QnVuZGxlUmFuZ2VIYW5kbGUsCiAgICAgICAgIEFQSTo6T2JqZWN0OjpUeXBlOjpC
dW5kbGVTY3JpcHRXb3JsZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9B
UElQYWdlR3JvdXBIYW5kbGUuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSVBhZ2VH
cm91cEhhbmRsZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0ZTAwZGE5ZjY5
OWU4OTYyZGNkNWM3NDYwMjkxYjA3MmFkMzVjNDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSVBhZ2VHcm91
cEhhbmRsZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkFQSVBhZ2VHcm91cEhhbmRsZS5oIgotCi0j
aW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKLSNpbmNsdWRlICJEZWNvZGVyLmgiCi0jaW5jbHVk
ZSAiRW5jb2Rlci5oIgotCi1uYW1lc3BhY2UgQVBJIHsKLQotUmVmPFBhZ2VHcm91cEhhbmRsZT4g
UGFnZUdyb3VwSGFuZGxlOjpjcmVhdGUoV2ViS2l0OjpXZWJQYWdlR3JvdXBEYXRhJiYgd2ViUGFn
ZUdyb3VwRGF0YSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQYWdlR3JvdXBIYW5kbGUo
V1RGTW92ZSh3ZWJQYWdlR3JvdXBEYXRhKSkpOwotfQotCi1QYWdlR3JvdXBIYW5kbGU6OlBhZ2VH
cm91cEhhbmRsZShXZWJLaXQ6OldlYlBhZ2VHcm91cERhdGEmJiB3ZWJQYWdlR3JvdXBEYXRhKQot
ICAgIDogbV93ZWJQYWdlR3JvdXBEYXRhKFdURk1vdmUod2ViUGFnZUdyb3VwRGF0YSkpCi17Ci19
Ci0KLVBhZ2VHcm91cEhhbmRsZTo6flBhZ2VHcm91cEhhbmRsZSgpCi17Ci19Ci0KLXZvaWQgUGFn
ZUdyb3VwSGFuZGxlOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotewotICAg
IGVuY29kZXIgPDwgbV93ZWJQYWdlR3JvdXBEYXRhOwotfQotCi1ib29sIFBhZ2VHcm91cEhhbmRs
ZTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgUmVmUHRyPE9iamVjdD4mIHJlc3VsdCkK
LXsKLSAgICBzdGQ6Om9wdGlvbmFsPFdlYktpdDo6V2ViUGFnZUdyb3VwRGF0YT4gd2ViUGFnZUdy
b3VwRGF0YTsKLSAgICBkZWNvZGVyID4+IHdlYlBhZ2VHcm91cERhdGE7Ci0gICAgaWYgKCF3ZWJQ
YWdlR3JvdXBEYXRhKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXN1bHQgPSBjcmVh
dGUoV1RGTW92ZSgqd2ViUGFnZUdyb3VwRGF0YSkpOwotICAgIHJldHVybiB0cnVlOwotfQotCi19
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJUGFnZUdyb3VwSGFuZGxl
LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQVBJUGFnZUdyb3VwSGFuZGxlLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhYWY4M2Y4OGNmNzEyNTVjZDBiODdiM2U5NTUzMWU1
Y2E2YWFlOTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0FQSVBhZ2VHcm91cEhhbmRsZS5oCisrKyAvZGV2L251
bGwKQEAgLTEsNTkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgQVBJUGFnZUdyb3VwSGFu
ZGxlX2gKLSNkZWZpbmUgQVBJUGFnZUdyb3VwSGFuZGxlX2gKLQotI2luY2x1ZGUgIkFQSU9iamVj
dC5oIgotI2luY2x1ZGUgIldlYlBhZ2VHcm91cERhdGEuaCIKLSNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+Ci0KLW5hbWVzcGFjZSBJUEMgewotY2xhc3MgRGVjb2RlcjsKLWNsYXNzIEVuY29kZXI7Ci19
Ci0KLW5hbWVzcGFjZSBBUEkgewotCi1jbGFzcyBQYWdlR3JvdXBIYW5kbGUgOiBwdWJsaWMgT2Jq
ZWN0SW1wbDxPYmplY3Q6OlR5cGU6OlBhZ2VHcm91cEhhbmRsZT4gewotcHVibGljOgotICAgIHN0
YXRpYyBSZWY8UGFnZUdyb3VwSGFuZGxlPiBjcmVhdGUoV2ViS2l0OjpXZWJQYWdlR3JvdXBEYXRh
JiYpOwotICAgIHZpcnR1YWwgflBhZ2VHcm91cEhhbmRsZSgpOwotCi0gICAgY29uc3QgV2ViS2l0
OjpXZWJQYWdlR3JvdXBEYXRhJiB3ZWJQYWdlR3JvdXBEYXRhKCkgY29uc3QgeyByZXR1cm4gbV93
ZWJQYWdlR3JvdXBEYXRhOyB9Ci0KLSAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25z
dDsKLSAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQQzo6RGVjb2Rl
ciYsIFJlZlB0cjxPYmplY3Q+Jik7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgUGFnZUdyb3Vw
SGFuZGxlKFdlYktpdDo6V2ViUGFnZUdyb3VwRGF0YSYmKTsKLQotICAgIGNvbnN0IFdlYktpdDo6
V2ViUGFnZUdyb3VwRGF0YSBtX3dlYlBhZ2VHcm91cERhdGE7Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBBUEkKLQotCi0jZW5kaWYgLy8gQVBJUGFnZUdyb3VwSGFuZGxlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL2NnL1dLSW1hZ2VDRy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BUEkvYy9jZy9XS0ltYWdlQ0cuY3BwCmluZGV4IDUzNzIyYjE2YWE3Y2NkODg3ZDc5
MDYxYzRhYWRhYTRkMzcwOWI5YjkuLmYyZDMzMzQ3OGMyYWRiOWEzMTU2MGFmZTJjMGM4MDI0MTM0
MGM1YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL2NnL1dLSW1hZ2VD
Ry5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvY2cvV0tJbWFnZUNHLmNwcApA
QCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5jbHVk
ZSAiV0tTaGFyZWRBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tTdHJpbmcuaCIKICNpbmNsdWRlICJX
ZWJJbWFnZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3JTcGFjZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Db2NvYS9BUElPYmplY3QubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BUElPYmpl
Y3QubW0KaW5kZXggMWQ3YjhkZDJlOGM4MjJkZmI3ZmU2MzkwMzAxNzI3Y2U1ZWQ0ZDU2Yi4uMTMy
Mjk1MmNhZDEwYTVlMjJiMGUyMWQzZTk3OGQ3NWUxN2U1ZTAyNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL0FQSU9iamVjdC5tbQpAQCAtNjMsNyArNjMsNiBAQAogI2ltcG9ydCAiV0tXZWJQ
cm9jZXNzUGx1Z0luSGl0VGVzdFJlc3VsdEludGVybmFsLmgiCiAjaW1wb3J0ICJXS1dlYlByb2Nl
c3NQbHVnSW5JbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRs
ZUludGVybmFsLmgiCi0jaW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5h
bC5oIgogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGVJbnRlcm5hbC5oIgog
I2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luU2NyaXB0V29ybGRJbnRlcm5hbC5oIgogI2ltcG9y
dCAiV0tXZWJwYWdlUHJlZmVyZW5jZXNJbnRlcm5hbC5oIgpAQCAtNDI3LDEyICs0MjYsNiBAQCB2
b2lkKiBPYmplY3Q6Om5ld09iamVjdChzaXplX3Qgc2l6ZSwgVHlwZSB0eXBlKQogICAgICAgICB3
cmFwcGVyID0gW1dLV2ViUHJvY2Vzc1BsdWdJbk5vZGVIYW5kbGUgYWxsb2NdOwogICAgICAgICBi
cmVhazsKIAotICAgIGNhc2UgVHlwZTo6QnVuZGxlUGFnZUdyb3VwOgotICAgICAgICBBTExPV19E
RVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTjsKLSAgICAgICAgd3JhcHBlciA9IFtXS1dlYlBy
b2Nlc3NQbHVnSW5QYWdlR3JvdXAgYWxsb2NdOwotICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RF
Q0xBUkFUSU9OU19FTkQ7Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBUeXBlOjpCdW5kbGVS
YW5nZUhhbmRsZToKICAgICAgICAgd3JhcHBlciA9IFtXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhh
bmRsZSBhbGxvY107CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvVXNlckRhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvVXNlckRhdGEuY3BwCmlu
ZGV4IDRlNDNiNWU1ODNiMjY2ZmM3MzU4NjA1NzU5MzQ2ZmM3YjA5OTkwZWEuLjUzMmYwY2QzYWYx
ZDNiNDUyMWNjYWM5YmQxMzQwNzNkZWYyZmYzZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1VzZXJEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Vc2VyRGF0YS5j
cHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJBUElGcmFtZUhhbmRsZS5oIgogI2luY2x1
ZGUgIkFQSUdlb21ldHJ5LmgiCiAjaW5jbHVkZSAiQVBJTnVtYmVyLmgiCi0jaW5jbHVkZSAiQVBJ
UGFnZUdyb3VwSGFuZGxlLmgiCiAjaW5jbHVkZSAiQVBJUGFnZUhhbmRsZS5oIgogI2luY2x1ZGUg
IkFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogI2luY2x1ZGUgIkFQSVN0cmluZy5oIgpAQCAt
MjMwLDEwICsyMjksNiBAQCB2b2lkIFVzZXJEYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNv
ZGVyLCBjb25zdCBBUEk6Ok9iamVjdCYgb2JqZWN0KQogICAgICAgICBicmVhazsKICAgICB9CiAK
LSAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlR3JvdXBIYW5kbGU6Ci0gICAgICAgIHN0
YXRpY19jYXN0PGNvbnN0IEFQSTo6UGFnZUdyb3VwSGFuZGxlJj4ob2JqZWN0KS5lbmNvZGUoZW5j
b2Rlcik7Ci0gICAgICAgIGJyZWFrOwotCiAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFn
ZUhhbmRsZToKICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgQVBJOjpQYWdlSGFuZGxlJj4ob2Jq
ZWN0KS5lbmNvZGUoZW5jb2Rlcik7CiAgICAgICAgIGJyZWFrOwpAQCAtNDE1LDExICs0MTAsNiBA
QCBib29sIFVzZXJEYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBSZWZQdHI8QVBJ
OjpPYmplY3Q+JiByZXN1bHQpCiAgICAgICAgIHJlc3VsdCA9IG51bGxwdHI7CiAgICAgICAgIGJy
ZWFrOwogCi0gICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdyb3VwSGFuZGxlOgotICAg
ICAgICBpZiAoIUFQSTo6UGFnZUdyb3VwSGFuZGxlOjpkZWNvZGUoZGVjb2RlciwgcmVzdWx0KSkK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgYnJlYWs7Ci0KICAgICBjYXNlIEFQ
STo6T2JqZWN0OjpUeXBlOjpQYWdlSGFuZGxlOgogICAgICAgICBpZiAoIUFQSTo6UGFnZUhhbmRs
ZTo6ZGVjb2RlKGRlY29kZXIsIHJlc3VsdCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvQ29y
ZU1lZGlhV3JhcHBlZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRS
ZWFkZXIvQ29yZU1lZGlhV3JhcHBlZC5jcHAKaW5kZXggMGJhYzFlMjg5ZTc3NzJlYWU3ZTZiMzY5
ODEwODU5NGI3YTY4Njg1My4uNjdlZGUyOGE0ZmM1NTg2OWFlNmNkMDAzZGMwNzljZmU4OGRkY2Vk
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVy
L0NvcmVNZWRpYVdyYXBwZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRp
YUZvcm1hdFJlYWRlci9Db3JlTWVkaWFXcmFwcGVkLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgRU5BQkxFKFdFQk1fRk9STUFUX1JFQURFUikKIAorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVk
QnVmZmVyLmg+CiAjaW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQKaW5kZXggODNkNjNiNjA3ODU0MjExN2ViMTM1ZTEwMzZl
MjY2YWYxNWEyYTY4My4uNjc5NjM3ODlmYTM0N2JmOGFkNTY0Zjk1ZDNhZjFjOWI5YTdmYzM5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXMudHh0CkBAIC0yODYsNyArMjg2LDYgQEAgU2hhcmVkL0FQSS9BUElFcnJvci5jcHAK
IFNoYXJlZC9BUEkvQVBJRnJhbWVIYW5kbGUuY3BwCiBTaGFyZWQvQVBJL0FQSUdlb21ldHJ5LmNw
cAogU2hhcmVkL0FQSS9BUElPYmplY3QuY3BwCi1TaGFyZWQvQVBJL0FQSVBhZ2VHcm91cEhhbmRs
ZS5jcHAKIFNoYXJlZC9BUEkvQVBJUGFnZUhhbmRsZS5jcHAKIFNoYXJlZC9BUEkvQVBJVVJMUmVx
dWVzdC5jcHAKIFNoYXJlZC9BUEkvQVBJVVJMUmVzcG9uc2UuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA0MDJhMGU2NmU2YTg5MDc0YjFjNmU1
YWJhNmE0ZTc4MDFiYmE1ZjQ0Li5mZGZkNDhjYTFlYmMwYTc0NzcyZjU4YmY5MGY1YjhhNGU3OWIz
YWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAg
LTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIKIAogI2luY2x1ZGUg
IkFQSUZyYW1lSGFuZGxlLmgiCi0jaW5jbHVkZSAiQVBJUGFnZUdyb3VwSGFuZGxlLmgiCiAjaW5j
bHVkZSAiQVBJUGFnZUhhbmRsZS5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0b3JNYW5hZ2VyLmgi
CiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgpAQCAtMTM2MSw3ICsxMzYwLDYgQEAgUmVmUHRy
PEFQSTo6T2JqZWN0PiBXZWJQcm9jZXNzUHJveHk6OnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHMo
QVBJOjpPYmplY3QqIG9iamUKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OlBh
Z2VIYW5kbGU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IEFQSTo6
UGFnZUhhbmRsZSY+KG9iamVjdCkuaXNBdXRvY29udmVydGluZygpOwogCi0gICAgICAgICAgICBj
YXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlR3JvdXBIYW5kbGU6CiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpPYmpDT2JqZWN0R3JhcGg6
CiAjZW5kaWYKQEAgLTEzNzksOSArMTM3Nyw2IEBAIFJlZlB0cjxBUEk6Ok9iamVjdD4gV2ViUHJv
Y2Vzc1Byb3h5Ojp0cmFuc2Zvcm1IYW5kbGVzVG9PYmplY3RzKEFQSTo6T2JqZWN0KiBvYmplCiAg
ICAgICAgICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PEFQSTo6RnJhbWVIYW5kbGUmPihvYmpl
Y3QpLmlzQXV0b2NvbnZlcnRpbmcoKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1fd2ViUHJv
Y2Vzc1Byb3h5LndlYkZyYW1lKHN0YXRpY19jYXN0PEFQSTo6RnJhbWVIYW5kbGUmPihvYmplY3Qp
LmZyYW1lSUQoKSk7CiAKLSAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2VH
cm91cEhhbmRsZToKLSAgICAgICAgICAgICAgICByZXR1cm4gV2ViUGFnZUdyb3VwOjpnZXQoc3Rh
dGljX2Nhc3Q8QVBJOjpQYWdlR3JvdXBIYW5kbGUmPihvYmplY3QpLndlYlBhZ2VHcm91cERhdGEo
KS5wYWdlR3JvdXBJRCk7Ci0KICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OlBh
Z2VIYW5kbGU6CiAgICAgICAgICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PEFQSTo6UGFnZUhh
bmRsZSY+KG9iamVjdCkuaXNBdXRvY29udmVydGluZygpKTsKICAgICAgICAgICAgICAgICByZXR1
cm4gbV93ZWJQcm9jZXNzUHJveHkud2ViUGFnZShzdGF0aWNfY2FzdDxBUEk6OlBhZ2VIYW5kbGUm
PihvYmplY3QpLnBhZ2VQcm94eUlEKCkpOwpAQCAtMTQyOSw5ICsxNDI0LDYgQEAgUmVmUHRyPEFQ
STo6T2JqZWN0PiBXZWJQcm9jZXNzUHJveHk6OnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXMoQVBJ
OjpPYmplY3QqIG9iamUKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OlBhZ2U6
CiAgICAgICAgICAgICAgICAgcmV0dXJuIEFQSTo6UGFnZUhhbmRsZTo6Y3JlYXRlQXV0b2NvbnZl
cnRpbmcoc3RhdGljX2Nhc3Q8Y29uc3QgV2ViUGFnZVByb3h5Jj4ob2JqZWN0KS5pZGVudGlmaWVy
KCksIHN0YXRpY19jYXN0PGNvbnN0IFdlYlBhZ2VQcm94eSY+KG9iamVjdCkud2ViUGFnZUlEKCkp
OwogCi0gICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlR3JvdXA6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIEFQSTo6UGFnZUdyb3VwSGFuZGxlOjpjcmVhdGUoV2ViUGFnZUdy
b3VwRGF0YShzdGF0aWNfY2FzdDxjb25zdCBXZWJQYWdlR3JvdXAmPihvYmplY3QpLmRhdGEoKSkp
OwotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpU
eXBlOjpPYmpDT2JqZWN0R3JhcGg6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zZm9ybU9i
amVjdHNUb0hhbmRsZXMoc3RhdGljX2Nhc3Q8T2JqQ09iamVjdEdyYXBoJj4ob2JqZWN0KSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3
OTEzYjRjNjg5MjdhOTgzMDhiM2M2NzlkNzViYmU3YzA4OTM3ZDgwLi5mYjg2OGFkNDBhMGRkNWY2
YjMxZGE0MzM5YTVjMzVlMDE4MDRjNDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQyOSw3ICs0MjksNiBAQAogCQkxRjc1MDZCODE4
NTkxNjVEMDBFQzBGRjcgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWVJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUYwMTgxNkIxODU4REMx
NTAwRjkyODg0IC8qIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lSW50ZXJuYWwuaCAqLzsgfTsKIAkJ
MUY3RDM2QzExOERBNTEzRjAwRDlENjU5IC8qIEFQSURvd25sb2FkQ2xpZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxRjdEMzZDMDE4REE1MTNGMDBE
OUQ2NTkgLyogQVBJRG93bmxvYWRDbGllbnQuaCAqLzsgfTsKIAkJMUZCMDBBQzcxODVGNzY0NjAw
MTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZCMDBBQzQxODVGNzY0NjAwMTkxNDJFIC8q
IFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFGQjAwQUM5MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dl
YlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZCMDBBQzYxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2Vi
UHJvY2Vzc1BsdWdJblBhZ2VHcm91cEludGVybmFsLmggKi87IH07CiAJCTI2MzE3MkNGMThCNDY5
NDkwMDY1QjlDMyAvKiBOYXRpdmVXZWJUb3VjaEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNjMxNzJDRTE4QjQ2OTQ5MDA2NUI5QzMgLyogTmF0
aXZlV2ViVG91Y2hFdmVudC5oICovOyB9OwogCQkyNjg0MDU0NDE4Qjg1QTYzMDAyMkMzOEIgLyog
VmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjY4NDA1NDIxOEI4NUE2MzAwMjJDMzhCIC8qIFZpc2libGVD
b250ZW50UmVjdFVwZGF0ZUluZm8uaCAqLzsgfTsKIAkJMjY4NDA1NTIxOEI4NkVENjAwMjJDMzhC
IC8qIFZpZXdVcGRhdGVEaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2ODQwNTUwMThCODZFRDYwMDIyQzM4
QiAvKiBWaWV3VXBkYXRlRGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0y
NjQ5LDggKzI2NDgsNiBAQAogCQkxQTMzNERFQTE2REU4QjY4MDA2QThFMzggLyogU3RvcmFnZUFy
ZWFNYXAubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU3RvcmFnZUFyZWFNYXAubWVzc2FnZXMuaW47IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMzM0REVCMTZERThGODgwMDZBOEUzOCAvKiBTdG9y
YWdlQXJlYU1hcE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VSZWNlaXZlci5jcHA7IHBhdGggPSBEZXJp
dmVkU291cmNlcy9XZWJLaXQvU3RvcmFnZUFyZWFNYXBNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQkxQTMzNERFQzE2REU4Rjg4MDA2QThF
MzggLyogU3RvcmFnZUFyZWFNYXBNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9X
ZWJLaXQvU3RvcmFnZUFyZWFNYXBNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVD
VFNfRElSOyB9OwotCQkxQTNBNzNDQjFBNDhDNkQ0MDA3MjMxQjMgLyogQVBJUGFnZUdyb3VwSGFu
ZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFQSVBhZ2VHcm91
cEhhbmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBM0E3M0NDMUE0OEM2
RDQwMDcyMzFCMyAvKiBBUElQYWdlR3JvdXBIYW5kbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQVBJUGFnZUdyb3VwSGFuZGxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFBM0M4ODdGMThBNUFCQUUwMEM0Qzk2MiAvKiBXS1ByZWZlcmVuY2VzSW50ZXJuYWwu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQcmVmZXJlbmNlc0ludGVybmFs
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBM0NDMTY0MTg5MDZBQ0YwMDFFNkVE
OCAvKiBXS1dlYlZpZXcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXS1dlYlZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBM0NDMTY1MTg5
MDZBQ0YwMDFFNkVEOCAvKiBXS1dlYlZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV0tXZWJWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMzk0LDcg
KzMzOTEsNiBAQAogCQkxRjdEMzZDMDE4REE1MTNGMDBEOUQ2NTkgLyogQVBJRG93bmxvYWRDbGll
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJRG93bmxvYWRDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUZCMDBBQzQxODVGNzY0NjAwMTkxNDJF
IC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUZCMDBBQzUxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1Bs
dWdJblBhZ2VHcm91cC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJMUZCMDBBQzYxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VH
cm91cEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLV2ViUHJv
Y2Vzc1BsdWdJblBhZ2VHcm91cEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTI2MzE3MkNFMThCNDY5NDkwMDY1QjlDMyAvKiBOYXRpdmVXZWJUb3VjaEV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdGl2ZVdlYlRvdWNoRXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjY2NTlBQTAxODVGQUFFRDAwNDMwM0REIC8qIElu
Zm8taU9TLnBsaXN0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5wbGlzdC54bWw7IHBhdGggPSAiSW5mby1pT1MucGxpc3QiOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyNjg0MDU0MjE4Qjg1QTYzMDAyMkMzOEIgLyogVmlzaWJsZUNv
bnRlbnRSZWN0VXBkYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBW
aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC03ODgxLDcgKzc4NzcsNiBAQAogCQkJCUNFQzhGOUNBMUZERjU4NzAwMDI2MzVFNyAvKiBX
S1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlUHJpdmF0ZS5oICovLAogCQkJCTFGQjAwQUM0MTg1
Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaCAqLywKIAkJCQkx
RkIwMEFDNTE4NUY3NjQ2MDAxOTE0MkUgLyogV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1t
ICovLAotCQkJCTFGQjAwQUM2MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Q
YWdlR3JvdXBJbnRlcm5hbC5oICovLAogCQkJCTM3NDk0MjE5MURGMUY5RkYwMDMzQzE5RiAvKiBX
S1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5oICovLAogCQkJCTM3NDk0MjE4MURGMUY5RkYw
MDMzQzE5RiAvKiBXS1dlYlByb2Nlc3NQbHVnSW5SYW5nZUhhbmRsZS5tbSAqLywKIAkJCQkzNzQ5
NDIxQzFERjFGQUI5MDAzM0MxOUYgLyogV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGVJbnRl
cm5hbC5oICovLApAQCAtMTE3NjMsOCArMTE3NTgsNiBAQAogCQkJCUJDMzNERDY3MTIzODQ2NDYw
MDM2MEYzRiAvKiBBUElOdW1iZXIuaCAqLywKIAkJCQlCNjM0MDNGODE0OTEwRDU3MDAxMDcwQjUg
LyogQVBJT2JqZWN0LmNwcCAqLywKIAkJCQlCQ0YwNEM4QzExRkY5QjdEMDBGODZBNTggLyogQVBJ
T2JqZWN0LmggKi8sCi0JCQkJMUEzQTczQ0IxQTQ4QzZENDAwNzIzMUIzIC8qIEFQSVBhZ2VHcm91
cEhhbmRsZS5jcHAgKi8sCi0JCQkJMUEzQTczQ0MxQTQ4QzZENDAwNzIzMUIzIC8qIEFQSVBhZ2VH
cm91cEhhbmRsZS5oICovLAogCQkJCTFBQzEzMzZEMTg1NjVEMkIwMEYzRUMwNSAvKiBBUElQYWdl
SGFuZGxlLmNwcCAqLywKIAkJCQkxQUMxMzM2QjE4NTY1QzdBMDBGM0VDMDUgLyogQVBJUGFnZUhh
bmRsZS5oICovLAogCQkJCUY2MzQ0NDU1MTJBODg1QzgwMDA2MTJEOCAvKiBBUElTZWN1cml0eU9y
aWdpbi5oICovLApAQCAtMTM5ODAsNyArMTM5NzMsNiBAQAogCQkJCTFGNzUwNkI2MTg1OTE2NTcw
MEVDMEZGNyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5Ob2RlSGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNFQzhGOUNCMUZERjU4NzAwMDI2MzVFNyAvKiBXS1dlYlByb2Nlc3NQbHVn
SW5Ob2RlSGFuZGxlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUZCMDBBQzcxODVGNzY0
NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJMUZCMDBBQzkxODVGNzY0NjAwMTkxNDJFIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VH
cm91cEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzA0RUZGQzE2RTY1QUZCMDBFMzM2
RjAgLyogV0tXZWJQcm9jZXNzUGx1Z0luUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc0
OTQyMUIxREYxRjlGRjAwMzNDMTlGIC8qIFdLV2ViUHJvY2Vzc1BsdWdJblJhbmdlSGFuZGxlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzNzQ5NDIxRDFERjFGQUI5MDAzM0MxOUYgLyogV0tXZWJQcm9j
ZXNzUGx1Z0luUmFuZ2VIYW5kbGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2Vi
UHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAuaAppbmRleCBm
MjMyYTJhMmVkM2MwMWMwZDlmOGRlMjFjZTk4M2RmYjVmMWI2MzRiLi5kNGViZmEwYmI1ODFiZWZm
ZDcxMThlZjEwYWE2ODBiN2NjZjU4Zjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91
cC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29j
b2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLmgKQEAgLTI3LDkgKzI3LDggQEAKIAogI2lt
cG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKKy8vIEZJWE1FOiBSZW1vdmUgdGhpcyBm
aWxlIG9uY2UgdGhlIHN0YWdpbmcgY29kZSBmb3IgcmRhcjovLzc3Nzc1OTUyIGlzIHJlbW92ZWQu
CiBXS19DTEFTU19ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIldLV2ViUHJvY2Vzc1BsdWdJ
bkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5fZ3JvdXBJZGVudGlmaWVyIiwgbWFjb3MoMTAuMTAs
IDEyLjApLCBpb3MoOC4wLCAxNS4wKSkKIEBpbnRlcmZhY2UgV0tXZWJQcm9jZXNzUGx1Z0luUGFn
ZUdyb3VwIDogTlNPYmplY3QKIAotQHByb3BlcnR5IChyZWFkb25seSkgTlNTdHJpbmcgKmlkZW50
aWZpZXI7Ci0KIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nl
c3NQbHVnSW5QYWdlR3JvdXAubW0KaW5kZXggZWMwMzIzNmQ3N2MyNTY1NWNlZTdlYTg5NWRlZGU5
NmM0MjhmNDJlZS4uMDM4YjE0ZTU1MDBjYzg0YzdkNjVhYmExZjkzYjYyYTk3MWVkNmJiYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2Nv
YS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3Jv
dXAubW0KQEAgLTI0LDM4ICsyNCwxMiBAQAogICovCiAKICNpbXBvcnQgImNvbmZpZy5oIgotI2lt
cG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwSW50ZXJuYWwuaCIKKyNpbXBvcnQgIldL
V2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5oIgogCi0jaW1wb3J0ICJXS0FQSUNhc3QuaCIKLSNp
bXBvcnQgIldLTlNTdHJpbmcuaCIKLSNpbXBvcnQgIldLUmV0YWluUHRyLmgiCi0jaW1wb3J0ICJX
ZWJQYWdlR3JvdXBQcm94eS5oIgotI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5o
PgorLy8gRklYTUU6IFJlbW92ZSB0aGlzIGZpbGUgb25jZSB0aGUgc3RhZ2luZyBjb2RlIGZvciBy
ZGFyOi8vNzc3NzU5NTIgaXMgcmVtb3ZlZC4KIAogQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRB
VElPTlNfQkVHSU4KLUBpbXBsZW1lbnRhdGlvbiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAg
ewotICAgIEFQSTo6T2JqZWN0U3RvcmFnZTxXZWJLaXQ6OldlYlBhZ2VHcm91cFByb3h5PiBfYnVu
ZGxlUGFnZUdyb3VwOwotfQorQGltcGxlbWVudGF0aW9uIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VH
cm91cAogQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAKLS0gKE5TU3RyaW5n
ICopaWRlbnRpZmllcgotewotICAgIHJldHVybiBfYnVuZGxlUGFnZUdyb3VwLT5pZGVudGlmaWVy
KCk7Ci19Ci0KLS0gKHZvaWQpZGVhbGxvYwotewotICAgIGlmIChXZWJDb3JlT2JqQ1NjaGVkdWxl
RGVhbGxvY2F0ZU9uTWFpblJ1bkxvb3AoV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLmNsYXNz
LCBzZWxmKSkKLSAgICAgICAgcmV0dXJuOwotICAgIF9idW5kbGVQYWdlR3JvdXAtPn5XZWJQYWdl
R3JvdXBQcm94eSgpOwotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0KLQotI3ByYWdtYSBtYXJrIFdL
T2JqZWN0IHByb3RvY29sIGltcGxlbWVudGF0aW9uCi0KLS0gKEFQSTo6T2JqZWN0JilfYXBpT2Jq
ZWN0Ci17Ci0gICAgcmV0dXJuICpfYnVuZGxlUGFnZUdyb3VwOwotfQotCiBAZW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dL
V2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cEludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91
cEludGVybmFsLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkNzkxOGUzY2RhN2Y1
ZmNkMjRhOTQ2YmI0ZGRmZmNlNTU2Y2VkMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oCisrKyAvZGV2
L251bGwKQEAgLTEsNDIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwot
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0g
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiV0tXZWJQ
cm9jZXNzUGx1Z0luUGFnZUdyb3VwLmgiCi0KLSNpbXBvcnQgIldLQmFzZS5oIgotI2ltcG9ydCAi
V2ViUGFnZUdyb3VwUHJveHkuaCIKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLXRlbXBsYXRlPD4g
c3RydWN0IFdyYXBwZXJUcmFpdHM8V2ViUGFnZUdyb3VwUHJveHk+IHsKLSAgICBBTExPV19ERVBS
RUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgotICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IFdLV2Vi
UHJvY2Vzc1BsdWdJblBhZ2VHcm91cDsKLSAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9O
U19FTkQKLX07Ci0KLX0KLQotQGludGVyZmFjZSBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAg
KCkgPFdLT2JqZWN0PgotQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRD
b250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIuaAppbmRleCAy
NmQ2NWY2OTNjZjYzNWY5ZTE0NzA3MGI4ODZlMjM2YWIzZmVmOWZlLi5iYjJmNzljZWUxMzMwM2Uz
OTk1MDA3MWIwZTc5YWY0MWZkODkwMDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIu
aApAQCAtMzAsNyArMzAsNiBAQAogQGNsYXNzIFdLRE9NRG9jdW1lbnQ7CiBAY2xhc3MgV0tET01S
YW5nZTsKIEBjbGFzcyBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZTsKLUBjbGFzcyBXS1dlYlByb2Nl
c3NQbHVnSW5QYWdlR3JvdXA7CiBAcHJvdG9jb2wgV0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVn
YXRlOwogCiBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTApLCBpb3MoOC4wKSkKQEAgLTQy
LDggKzQxLDYgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMCkpCiAK
IEBwcm9wZXJ0eSAocmVhZG9ubHkpIFdLV2ViUHJvY2Vzc1BsdWdJbkZyYW1lICptYWluRnJhbWU7
CiAKLUBwcm9wZXJ0eSAocmVhZG9ubHkpIFdLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cCAqcGFn
ZUdyb3VwIFdLX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIl9ncm91cElkZW50aWZp
ZXIiLCBtYWNvcygxMC4xMCwgMTIuMCksIGlvcyg4LjAsIDE1LjApKTsKLQogQHByb3BlcnR5ICh3
ZWFrKSBpZCA8V0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVnYXRlPiBsb2FkRGVsZWdhdGU7CiAK
IEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlci5tbQppbmRleCBiYzhlYWI5ODc5YmU4
MGQ4NTFiMDAxYzIwMGMwZjE4NTdhNmM3YTI4Li42NmEzNWFlY2FjZGZjMzBlMjliYWQwYmI0NDJj
OGUyM2E2MGM2MmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9t
YWMvV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyLm1tCkBAIC00OCwx
MCArNDgsMTAgQEAKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJbkZvcm1EZWxlZ2F0ZVByaXZh
dGUuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZS5oIgogI2ltcG9y
dCAiV0tXZWJQcm9jZXNzUGx1Z0luTm9kZUhhbmRsZUludGVybmFsLmgiCi0jaW1wb3J0ICJXS1dl
YlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJQcm9jZXNz
UGx1Z0luUmFuZ2VIYW5kbGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXZWJQcm9jZXNzUGx1Z0lu
U2NyaXB0V29ybGRJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgorI2ltcG9ydCAiV2Vi
UGFnZUdyb3VwUHJveHkuaCIKICNpbXBvcnQgIldlYlByb2Nlc3MuaCIKICNpbXBvcnQgIl9XS1Jl
bW90ZU9iamVjdFJlZ2lzdHJ5SW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS1JlbmRlcmluZ1Byb2dy
ZXNzRXZlbnRzSW50ZXJuYWwuaCIKQEAgLTQxNSwxMSArNDE1LDYgQEAgc3RhdGljIHZvaWQgc2V0
VXBSZXNvdXJjZUxvYWRDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250
cm9sbGVyICoKICAgICByZXR1cm4gd3JhcHBlcihfcGFnZS0+bWFpbldlYkZyYW1lKCkpOwogfQog
Ci0tIChXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXAgKilwYWdlR3JvdXAKLXsKLSAgICByZXR1
cm4gd3JhcHBlcigqX3BhZ2UtPnBhZ2VHcm91cCgpKTsKLX0KLQogI3ByYWdtYSBtYXJrIFdLT2Jq
ZWN0IHByb3RvY29sIGltcGxlbWVudGF0aW9uCiAKIC0gKEFQSTo6T2JqZWN0JilfYXBpT2JqZWN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3Jv
dXBQcm94eS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3Vw
UHJveHkuaAppbmRleCA0NGRiNTU5YzA4NTI3MTJiMDRiYjM5Y2VmNGIxMGRiZWIzZTdhMzJiLi5l
NmMwMzU4MzU2NWUzNzc2ODE3ZTQ5MmNhM2UwMTlhOWE4YTRmYzNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91cFByb3h5LmgKQEAgLTM4
LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlVzZXJDb250ZW50Q29u
dHJvbGxlcjsKIAotY2xhc3MgV2ViUGFnZUdyb3VwUHJveHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJ
bXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpCdW5kbGVQYWdlR3JvdXA+IHsKK2NsYXNzIFdlYlBhZ2VH
cm91cFByb3h5IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViUGFnZUdyb3VwUHJveHk+IHsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPFdlYlBhZ2VHcm91cFByb3h5PiBjcmVhdGUoY29uc3QgV2ViUGFn
ZUdyb3VwRGF0YSYpOwogICAgIHZpcnR1YWwgfldlYlBhZ2VHcm91cFByb3h5KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggMTA1YmM2ZmY4YTI0NWZmYzEwZmQ0
ODcxMzkzMTZjNDhhY2YyYjAwNS4uZmE5OTMyODdjZmI2ZDA4MzRkZTkxOWQxOGRkZGU4OTAyYmE5
NDY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMjcsNyAr
MjcsNiBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKIAogI2luY2x1ZGUgIkFQSUZyYW1lSGFu
ZGxlLmgiCi0jaW5jbHVkZSAiQVBJUGFnZUdyb3VwSGFuZGxlLmgiCiAjaW5jbHVkZSAiQVBJUGFn
ZUhhbmRsZS5oIgogI2luY2x1ZGUgIkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySW50ZXJu
YWxVbml0TWFuYWdlci5oIgogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIgpAQCAt
MTc3Myw3ICsxNzcyLDYgQEAgUmVmUHRyPEFQSTo6T2JqZWN0PiBXZWJQcm9jZXNzOjp0cmFuc2Zv
cm1IYW5kbGVzVG9PYmplY3RzKEFQSTo6T2JqZWN0KiBvYmplY3QpCiAgICAgICAgICAgICBjYXNl
IEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlSGFuZGxlOgogICAgICAgICAgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxjb25zdCBBUEk6OlBhZ2VIYW5kbGUmPihvYmplY3QpLmlzQXV0b2NvbnZlcnRp
bmcoKTsKIAotICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdyb3VwSGFu
ZGxlOgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6
VHlwZTo6T2JqQ09iamVjdEdyYXBoOgogI2VuZGlmCkBAIC0xNzkwLDkgKzE3ODgsNiBAQCBSZWZQ
dHI8QVBJOjpPYmplY3Q+IFdlYlByb2Nlc3M6OnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHMoQVBJ
OjpPYmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OkZy
YW1lSGFuZGxlOgogICAgICAgICAgICAgICAgIHJldHVybiBtX3dlYlByb2Nlc3Mud2ViRnJhbWUo
c3RhdGljX2Nhc3Q8Y29uc3QgQVBJOjpGcmFtZUhhbmRsZSY+KG9iamVjdCkuZnJhbWVJRCgpKTsK
IAotICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6UGFnZUdyb3VwSGFuZGxlOgot
ICAgICAgICAgICAgICAgIHJldHVybiBtX3dlYlByb2Nlc3Mud2ViUGFnZUdyb3VwKHN0YXRpY19j
YXN0PGNvbnN0IEFQSTo6UGFnZUdyb3VwSGFuZGxlJj4ob2JqZWN0KS53ZWJQYWdlR3JvdXBEYXRh
KCkpOwotCiAgICAgICAgICAgICBjYXNlIEFQSTo6T2JqZWN0OjpUeXBlOjpQYWdlSGFuZGxlOgog
ICAgICAgICAgICAgICAgIHJldHVybiBtX3dlYlByb2Nlc3Mud2ViUGFnZShzdGF0aWNfY2FzdDxj
b25zdCBBUEk6OlBhZ2VIYW5kbGUmPihvYmplY3QpLndlYlBhZ2VJRCgpKTsKIApAQCAtMTgxOSw3
ICsxODE0LDYgQEAgUmVmUHRyPEFQSTo6T2JqZWN0PiBXZWJQcm9jZXNzOjp0cmFuc2Zvcm1PYmpl
Y3RzVG9IYW5kbGVzKEFQSTo6T2JqZWN0KiBvYmplY3QpCiAgICAgICAgICAgICBzd2l0Y2ggKG9i
amVjdC50eXBlKCkpIHsKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRs
ZUZyYW1lOgogICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlUGFnZToK
LSAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2VHcm91cDoKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6Ok9i
akNPYmplY3RHcmFwaDoKICNlbmRpZgpAQCAtMTgzOSwxMyArMTgzMyw2IEBAIFJlZlB0cjxBUEk6
Ok9iamVjdD4gV2ViUHJvY2Vzczo6dHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyhBUEk6Ok9iamVj
dCogb2JqZWN0KQogICAgICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlUGFn
ZToKICAgICAgICAgICAgICAgICByZXR1cm4gQVBJOjpQYWdlSGFuZGxlOjpjcmVhdGVBdXRvY29u
dmVydGluZyhzdGF0aWNfY2FzdDxjb25zdCBXZWJQYWdlJj4ob2JqZWN0KS53ZWJQYWdlUHJveHlJ
ZGVudGlmaWVyKCksIHN0YXRpY19jYXN0PGNvbnN0IFdlYlBhZ2UmPihvYmplY3QpLmlkZW50aWZp
ZXIoKSk7CiAKLSAgICAgICAgICAgIGNhc2UgQVBJOjpPYmplY3Q6OlR5cGU6OkJ1bmRsZVBhZ2VH
cm91cDogewotICAgICAgICAgICAgICAgIFdlYlBhZ2VHcm91cERhdGEgcGFnZUdyb3VwRGF0YTsK
LSAgICAgICAgICAgICAgICBwYWdlR3JvdXBEYXRhLnBhZ2VHcm91cElEID0gc3RhdGljX2Nhc3Q8
Y29uc3QgV2ViUGFnZUdyb3VwUHJveHkmPihvYmplY3QpLnBhZ2VHcm91cElEKCk7Ci0KLSAgICAg
ICAgICAgICAgICByZXR1cm4gQVBJOjpQYWdlR3JvdXBIYW5kbGU6OmNyZWF0ZShXVEZNb3ZlKHBh
Z2VHcm91cERhdGEpKTsKLSAgICAgICAgICAgIH0KLQogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
ICAgICAgICAgY2FzZSBBUEk6Ok9iamVjdDo6VHlwZTo6T2JqQ09iamVjdEdyYXBoOgogICAgICAg
ICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm1PYmplY3RzVG9IYW5kbGVzKHN0YXRpY19jYXN0PE9i
akNPYmplY3RHcmFwaCY+KG9iamVjdCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg4OGExMGMzNTAxMTZkYzY2NDIyZjg3NGQ1ZTNlYzEyNWQ4
YzVjOTcuLjlkNTE5YzliYzMzMGQzZGVlNmI3NjhhOGVhNmZlNzBlNDY4ZDUyYTcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAyMS0xMi0xNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJlbW92ZSBBUEk6Ok9iamVjdDo6VHlwZTo6QnVuZGxlUGFnZUdyb3VwCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU2MTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRzb24uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9ET01XaW5kb3dFeHRlbnNpb25CYXNpYy5jcHA6CisgICAgICAgIChU
ZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMS0xMi0xNyAgQWxleGV5IFNodmF5a2EgIDxhc2h2
YXlrYUBhcHBsZS5jb20+CiAKICAgICAgICAgVG9vbHMvU2NyaXB0cy9ydW4tcGVyZi10ZXN0cyBp
cyBmYWlsaW5nIG9uIFNwZWVkb21ldGVyMgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWMuY3BwIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWMuY3BwCmluZGV4IGY0
ZmM3MDEwYTk1MjYxZmJiYWViNjUyZmIxY2E3YjFmOWI5OTRlODguLjg3ZmQyOGJjYmE2ZjM2Nzg5
MWM3YzhmOTRkMGI2ZjE5MTdiM2Y4YzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9ET01XaW5kb3dFeHRlbnNpb25CYXNpYy5jcHAKQEAgLTg0
LDcgKzg0LDcgQEAgVEVTVChXZWJLaXQsIERJU0FCTEVEX0RPTVdpbmRvd0V4dGVuc2lvbkJhc2lj
KQogewogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVmPiBwYWdlR3JvdXAgPSBhZG9wdFdL
KFdLUGFnZUdyb3VwQ3JlYXRlV2l0aElkZW50aWZpZXIoV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoIkRPTVdpbmRvd0V4dGVuc2lvbkJhc2ljUGFnZUdyb3VwIikpKTsgCiAKLSAgICBXS1Jl
dGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFV0aWw6OmNyZWF0ZUNvbnRl
eHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkRPTVdpbmRvd0V4dGVuc2lvbkJhc2ljIiwgcGFnZUdy
b3VwLmdldCgpKSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRv
cHRXSyhVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJET01XaW5kb3dF
eHRlbnNpb25CYXNpYyIpKTsKIAogICAgIFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50VjAg
aW5qZWN0ZWRCdW5kbGVDbGllbnQ7CiAgICAgbWVtc2V0KCZpbmplY3RlZEJ1bmRsZUNsaWVudCwg
MCwgc2l6ZW9mKGluamVjdGVkQnVuZGxlQ2xpZW50KSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>