<?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>223404</bug_id>
          
          <creation_ts>2021-03-17 17:23:21 -0700</creation_ts>
          <short_desc>[JSC] Error#cause should apply to WebAssembly error constructors too</short_desc>
          <delta_ts>2021-03-17 19:46:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=223302</see_also>
          <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="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1740963</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-03-17 17:23:21 -0700</bug_when>
    <thetext>[JSC] Error#cause should apply to WebAssembly error constructors too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740964</commentid>
    <comment_count>1</comment_count>
      <attachid>423542</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-03-17 17:28:05 -0700</bug_when>
    <thetext>Created attachment 423542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740985</commentid>
    <comment_count>2</comment_count>
      <attachid>423542</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-17 18:15:31 -0700</bug_when>
    <thetext>Comment on attachment 423542
Patch

r=me nice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1740997</commentid>
    <comment_count>3</comment_count>
      <attachid>423547</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-03-17 18:52:17 -0700</bug_when>
    <thetext>Created attachment 423547
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741005</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-17 19:45:15 -0700</bug_when>
    <thetext>Committed r274609: &lt;https://commits.webkit.org/r274609&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423547.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741007</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-17 19:46:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/75556422&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423542</attachid>
            <date>2021-03-17 17:28:05 -0700</date>
            <delta_ts>2021-03-17 18:52:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223404-20210317172804.patch</filename>
            <type>text/plain</type>
            <size>30875</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
N2IyZmMwNWY3ZWRhNjBiNjBmZTcwYmY1Y2UyYjIyNDZhYzkzNThlLi5mZmE3NWU0N2UwYTViODBl
MjgxZjI0YzE2ZjNhNTZmM2Y0ZDVlNDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MSBAQAorMjAyMS0wMy0xNyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gRXJyb3IjY2F1c2Ugc2hvdWxkIGFwcGx5IHRvIFdlYkFz
c2VtYmx5IGVycm9yIGNvbnN0cnVjdG9ycyB0b28KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzQwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFBlciBodHRwczovL3d3dy53My5vcmcvVFIvd2FzbS1qcy1h
cGktMS8jZXJyb3Itb2JqZWN0czoKKyAgICAgICAgPiBUaGUgY29uc3RydWN0b3IgYW5kIHByb3Bl
cnRpZXMgb2YgV2ViQXNzZW1ibHkgZXJyb3JzIGlzIGFzIHNwZWNpZmllZCBmb3IgTmF0aXZlRXJy
b3IuCisKKyAgICAgICAgU28gRXJyb3IjY2F1c2Ugc2hvdWxkICJqdXN0IHdvcmsiIGZvciBXZWJB
c3NlbWJseS57Q29tcGlsZUVycm9yLCBMaW5rRXJyb3IsIFJ1bnRpbWVFcnJvcn0gdG9vLgorCisg
ICAgICAgIEluIHRoZSBwcm9jZXNzOgorICAgICAgICAgLSBFbGltaW5hdGUgSlNXZWJBc3NlbWJs
eUNvbXBpbGVFcnJvciBhbmQga2luIHNpbmNlIHRoZXkgYWRkIG5vIGZ1bmN0aW9uYWxpdHkgb24g
dG9wIG9mIEVycm9ySW5zdGFuY2UuCisgICAgICAgICAtIEFkZCBhbiBvbi1ieS1kZWZhdWx0IGZl
YXR1cmUgZmxhZyAoYmVsYXRlZCBmcm9tIHRoZSBsYXN0IHBhdGNoKS4KKworICAgICAgICAqIEFQ
SS9KU09iamVjdFJlZi5jcHA6CisgICAgICAgIChKU09iamVjdE1ha2VFcnJvcik6CisgICAgICAg
ICogcnVudGltZS9BZ2dyZWdhdGVFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3Ry
dWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKiBydW50aW1lL05hdGl2
ZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvckNvbnN0cnVj
dG9yPGVycm9yVHlwZT46OmNvbnN0cnVjdEltcGwpOgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJv
ckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNhbGxJbXBsKToKKyAgICAgICAgKiBydW50aW1lL09w
dGlvbnNMaXN0Lmg6CisgICAgICAgICogd2FzbS9XYXNtT3BlcmF0aW9ucy5jcHA6CisgICAgICAg
IChKU0M6Oldhc206OkpTQ19ERUZJTkVfSklUX09QRVJBVElPTik6CisgICAgICAgICogd2FzbS9q
cy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6Y3JlYXRlSlNX
ZWJBc3NlbWJseUNvbXBpbGVFcnJvcik6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlDb21w
aWxlRXJyb3I6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1ibHlD
b21waWxlRXJyb3I6OkpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IpOiBEZWxldGVkLgorICAgICAg
ICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5oOgorICAgICAgICAoKTogRGVs
ZXRlZC4KKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHA6CisgICAg
ICAgIChKU0M6OkpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6ZmluYWxpemVDcmVhdGlvbik6CisgICAg
ICAgICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmNwcDoKKyAgICAgICAgKEpTQzo6
Y3JlYXRlSlNXZWJBc3NlbWJseUxpbmtFcnJvcik6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1i
bHlMaW5rRXJyb3I6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1i
bHlMaW5rRXJyb3I6OkpTV2ViQXNzZW1ibHlMaW5rRXJyb3IpOiBEZWxldGVkLgorICAgICAgICAq
IHdhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oOgorICAgICAgICAoKTogRGVsZXRlZC4K
KyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuY3BwOgorICAgICAgICAoSlND
OjpKU1dlYkFzc2VtYmx5TW9kdWxlOjpjcmVhdGVTdHViKToKKyAgICAgICAgKiB3YXNtL2pzL0pT
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuY3BwOgorICAgICAgICAoSlNDOjpjcmVhdGVKU1dlYkFz
c2VtYmx5UnVudGltZUVycm9yKToKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseVJ1bnRpbWVF
cnJvcjo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseVJ1bnRp
bWVFcnJvcjo6SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcik6IERlbGV0ZWQuCisgICAgICAgICog
d2FzbS9qcy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmg6CisgICAgICAgICgpOiBEZWxldGVk
LgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAgICAgICog
d2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJvckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpT
Qzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2Vt
Ymx5UnVudGltZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpKU0NfREVGSU5F
X0hPU1RfRlVOQ1RJT04pOgorCiAyMDIxLTAzLTE2ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJz
bGluZ0Bzb255LmNvbT4KIAogICAgICAgICBbSlNDXSBJbXBsZW1lbnQgRXJyb3IjY2F1c2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKaW5kZXggNDVkY2QyMzY0YmE0
ZWNiYTc1ODYwNjhlYjVhNDc2NzBlYmY1MjI3MC4uNTQ1NzAyYjg1ZDdkNTg4MTc1MTg2M2MyODBi
YmJkZTRhMjExNzc5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09i
amVjdFJlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5j
cHAKQEAgLTIzMSw3ICsyMzEsNyBAQCBKU09iamVjdFJlZiBKU09iamVjdE1ha2VFcnJvcihKU0Nv
bnRleHRSZWYgY3R4LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYQogICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKIAogICAgIEpTVmFsdWUgbWVzc2FnZSA9
IGFyZ3VtZW50Q291bnQgPyB0b0pTKGdsb2JhbE9iamVjdCwgYXJndW1lbnRzWzBdKSA6IGpzVW5k
ZWZpbmVkKCk7Ci0gICAgSlNWYWx1ZSBvcHRpb25zID0gYXJndW1lbnRDb3VudCA+IDEgPyB0b0pT
KGdsb2JhbE9iamVjdCwgYXJndW1lbnRzWzFdKSA6IGpzVW5kZWZpbmVkKCk7CisgICAgSlNWYWx1
ZSBvcHRpb25zID0gYXJndW1lbnRDb3VudCA+IDEgJiYgT3B0aW9uczo6dXNlRXJyb3JDYXVzZSgp
ID8gdG9KUyhnbG9iYWxPYmplY3QsIGFyZ3VtZW50c1sxXSkgOiBqc1VuZGVmaW5lZCgpOwogICAg
IFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJl
KCk7CiAgICAgSlNPYmplY3QqIHJlc3VsdCA9IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBvcHRpb25zKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3JDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvckNvbnN0cnVj
dG9yLmNwcAppbmRleCA2ZjhmZWFlM2JlYWFkOGZkYzZmOTY0YTY2MmE2YTIzNTdlZGViYTY3Li4z
NDc3ZWJiZmYxODYzZTY5YWYyNzllMzkzNzQ0MWIxNWE3MTBjYWEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvckNvbnN0cnVjdG9yLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvckNvbnN0cnVj
dG9yLmNwcApAQCAtNjAsNyArNjAsNyBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEFn
Z3JlZ2F0ZUVycm9yQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsTwogICAgIFZN
JiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBKU1ZhbHVlIGVycm9ycyA9IGNhbGxGcmFt
ZS0+YXJndW1lbnQoMCk7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVu
dCgxKTsKLSAgICBKU1ZhbHVlIG9wdGlvbnMgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDIpOworICAg
IEpTVmFsdWUgb3B0aW9ucyA9IE9wdGlvbnM6OnVzZUVycm9yQ2F1c2UoKSA/IGNhbGxGcmFtZS0+
YXJndW1lbnQoMikgOiBqc1VuZGVmaW5lZCgpOwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1
cmUgPSBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJlKEVycm9yVHlwZTo6QWdncmVnYXRlRXJy
b3IpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoQWdncmVnYXRlRXJyb3I6OmNyZWF0ZShn
bG9iYWxPYmplY3QsIHZtLCBlcnJvclN0cnVjdHVyZSwgZXJyb3JzLCBtZXNzYWdlLCBvcHRpb25z
LCBudWxscHRyLCBUeXBlTm90aGluZywgZmFsc2UpKTsKIH0KQEAgLTcxLDcgKzcxLDcgQEAgSlND
X0RFRklORV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVjdEFnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0b3Is
IChKU0dsb2JhbE9iamVjdCogZ2wKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09Q
RSh2bSk7CiAgICAgSlNWYWx1ZSBlcnJvcnMgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAg
IEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMSk7Ci0gICAgSlNWYWx1ZSBv
cHRpb25zID0gY2FsbEZyYW1lLT5hcmd1bWVudCgyKTsKKyAgICBKU1ZhbHVlIG9wdGlvbnMgPSBP
cHRpb25zOjp1c2VFcnJvckNhdXNlKCkgPyBjYWxsRnJhbWUtPmFyZ3VtZW50KDIpIDoganNVbmRl
ZmluZWQoKTsKIAogICAgIEpTT2JqZWN0KiBuZXdUYXJnZXQgPSBhc09iamVjdChjYWxsRnJhbWUt
Pm5ld1RhcmdldCgpKTsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gSlNDX0dFVF9E
RVJJVkVEX1NUUlVDVFVSRSh2bSwgZXJyb3JTdHJ1Y3R1cmVXaXRoRXJyb3JUeXBlPEVycm9yVHlw
ZTo6QWdncmVnYXRlRXJyb3I+LCBuZXdUYXJnZXQsIGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3Bw
CmluZGV4IGMwYjFiM2VmMjQyZWU2ZDBiNjAwMDM0YTQwZTZlM2E5OTI5Y2Q1ODQuLmQ4M2M1MTAw
NjM1MjMzM2ZjYzkwYTc0MDIzZWNkZWEzNmUzZjczMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCkBAIC01Myw3ICs1Myw3IEBA
IEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjb25zdHJ1Y3RFcnJvckNvbnN0cnVjdG9yLCAoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgp
OwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU1ZhbHVl
IG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwotICAgIEpTVmFsdWUgb3B0aW9ucyA9
IGNhbGxGcmFtZS0+YXJndW1lbnQoMSk7CisgICAgSlNWYWx1ZSBvcHRpb25zID0gT3B0aW9uczo6
dXNlRXJyb3JDYXVzZSgpID8gY2FsbEZyYW1lLT5hcmd1bWVudCgxKSA6IGpzVW5kZWZpbmVkKCk7
CiAKICAgICBKU09iamVjdCogbmV3VGFyZ2V0ID0gYXNPYmplY3QoY2FsbEZyYW1lLT5uZXdUYXJn
ZXQoKSk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IEpTQ19HRVRfREVSSVZFRF9T
VFJVQ1RVUkUodm0sIGVycm9yU3RydWN0dXJlLCBuZXdUYXJnZXQsIGNhbGxGcmFtZS0+anNDYWxs
ZWUoKSk7CkBAIC02NSw3ICs2NSw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjb25zdHJ1
Y3RFcnJvckNvbnN0cnVjdG9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjCiBKU0NfREVG
SU5FX0hPU1RfRlVOQ1RJT04oY2FsbEVycm9yQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAgICAgSlNWYWx1ZSBtZXNz
YWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKLSAgICBKU1ZhbHVlIG9wdGlvbnMgPSBjYWxs
RnJhbWUtPmFyZ3VtZW50KDEpOworICAgIEpTVmFsdWUgb3B0aW9ucyA9IE9wdGlvbnM6OnVzZUVy
cm9yQ2F1c2UoKSA/IGNhbGxGcmFtZS0+YXJndW1lbnQoMSkgOiBqc1VuZGVmaW5lZCgpOwogICAg
IFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPmVycm9yU3RydWN0dXJl
KCk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xv
YmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwgb3B0aW9ucywgbnVsbHB0ciwgVHlw
ZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCAzNTAzMzQ1ZWNlMzBlMjRm
ZTg1YjI1NTMzNjJiNmIxOTMzYTAxMDAxLi4yYWQyMjM5OTQ3NDE0ZDlkMDY2NjhhZDNmNTMwNGU1
NWM2ODE5NjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmgKQEAgLTE2NiwxMyArMTY2LDEzIEBAIGNvbnN0ZXhwciBib29sIHR5cGVFeHBvc2Vk
QnlEZWZhdWx0ID0gdHJ1ZTsKIAogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKICNkZWZpbmUgRk9S
X0VBQ0hfV0VCQVNTRU1CTFlfQ09OU1RSVUNUT1JfVFlQRShtYWNybykgXAotICAgIG1hY3JvKFdl
YkFzc2VtYmx5Q29tcGlsZUVycm9yLCB3ZWJBc3NlbWJseUNvbXBpbGVFcnJvciwgd2ViQXNzZW1i
bHlDb21waWxlRXJyb3IsIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IsIENvbXBpbGVFcnJvciwg
ZXJyb3IsIHR5cGVFeHBvc2VkQnlEZWZhdWx0KSBcCisgICAgbWFjcm8oV2ViQXNzZW1ibHlDb21w
aWxlRXJyb3IsIHdlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCB3ZWJBc3NlbWJseUNvbXBpbGVFcnJv
ciwgRXJyb3JJbnN0YW5jZSwgICAgICAgICAgICAgQ29tcGlsZUVycm9yLCBlcnJvciwgdHlwZUV4
cG9zZWRCeURlZmF1bHQpIFwKICAgICBtYWNybyhXZWJBc3NlbWJseUdsb2JhbCwgICAgICAgd2Vi
QXNzZW1ibHlHbG9iYWwsICAgICAgIHdlYkFzc2VtYmx5R2xvYmFsLCAgICAgICBKU1dlYkFzc2Vt
Ymx5R2xvYmFsLCAgICAgICBHbG9iYWwsICAgICAgIG9iamVjdCwgdHlwZUV4cG9zZWRCeURlZmF1
bHQpIFwKICAgICBtYWNybyhXZWJBc3NlbWJseUluc3RhbmNlLCAgICAgd2ViQXNzZW1ibHlJbnN0
YW5jZSwgICAgIHdlYkFzc2VtYmx5SW5zdGFuY2UsICAgICBKU1dlYkFzc2VtYmx5SW5zdGFuY2Us
ICAgICBJbnN0YW5jZSwgICAgIG9iamVjdCwgdHlwZUV4cG9zZWRCeURlZmF1bHQpIFwKLSAgICBt
YWNybyhXZWJBc3NlbWJseUxpbmtFcnJvciwgICAgd2ViQXNzZW1ibHlMaW5rRXJyb3IsICAgIHdl
YkFzc2VtYmx5TGlua0Vycm9yLCAgICBKU1dlYkFzc2VtYmx5TGlua0Vycm9yLCAgICBMaW5rRXJy
b3IsICAgIGVycm9yLCB0eXBlRXhwb3NlZEJ5RGVmYXVsdCkgXAorICAgIG1hY3JvKFdlYkFzc2Vt
Ymx5TGlua0Vycm9yLCAgICB3ZWJBc3NlbWJseUxpbmtFcnJvciwgICAgd2ViQXNzZW1ibHlMaW5r
RXJyb3IsICAgIEVycm9ySW5zdGFuY2UsICAgICAgICAgICAgIExpbmtFcnJvciwgICAgZXJyb3Is
IHR5cGVFeHBvc2VkQnlEZWZhdWx0KSBcCiAgICAgbWFjcm8oV2ViQXNzZW1ibHlNZW1vcnksICAg
ICAgIHdlYkFzc2VtYmx5TWVtb3J5LCAgICAgICB3ZWJBc3NlbWJseU1lbW9yeSwgICAgICAgSlNX
ZWJBc3NlbWJseU1lbW9yeSwgICAgICAgTWVtb3J5LCAgICAgICBvYmplY3QsIHR5cGVFeHBvc2Vk
QnlEZWZhdWx0KSBcCiAgICAgbWFjcm8oV2ViQXNzZW1ibHlNb2R1bGUsICAgICAgIHdlYkFzc2Vt
Ymx5TW9kdWxlLCAgICAgICB3ZWJBc3NlbWJseU1vZHVsZSwgICAgICAgSlNXZWJBc3NlbWJseU1v
ZHVsZSwgICAgICAgTW9kdWxlLCAgICAgICBvYmplY3QsIHR5cGVFeHBvc2VkQnlEZWZhdWx0KSBc
Ci0gICAgbWFjcm8oV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IsIHdlYkFzc2VtYmx5UnVudGltZUVy
cm9yLCB3ZWJBc3NlbWJseVJ1bnRpbWVFcnJvciwgSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciwg
UnVudGltZUVycm9yLCBlcnJvciwgdHlwZUV4cG9zZWRCeURlZmF1bHQpIFwKKyAgICBtYWNybyhX
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvciwgd2ViQXNzZW1ibHlSdW50aW1lRXJyb3IsIHdlYkFzc2Vt
Ymx5UnVudGltZUVycm9yLCBFcnJvckluc3RhbmNlLCAgICAgICAgICAgICBSdW50aW1lRXJyb3Is
IGVycm9yLCB0eXBlRXhwb3NlZEJ5RGVmYXVsdCkgXAogICAgIG1hY3JvKFdlYkFzc2VtYmx5VGFi
bGUsICAgICAgICB3ZWJBc3NlbWJseVRhYmxlLCAgICAgICAgd2ViQXNzZW1ibHlUYWJsZSwgICAg
ICAgIEpTV2ViQXNzZW1ibHlUYWJsZSwgICAgICAgIFRhYmxlLCAgICAgICAgb2JqZWN0LCB0eXBl
RXhwb3NlZEJ5RGVmYXVsdCkKICNlbHNlCiAjZGVmaW5lIEZPUl9FQUNIX1dFQkFTU0VNQkxZX0NP
TlNUUlVDVE9SX1RZUEUobWFjcm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDIxM2Q5ZmI3YTY4YWIy
YWM4Zjk2ZDg2NzBkOGFlMzQ2ZjEzOWUzZmMuLjllOTRjZjE4MmU4NDlmNzkxYmNhZDczMWIzZDRl
MTg5MjgyZjdmNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05h
dGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC01MCw3ICs1MCw3IEBAIGlubGluZSBF
bmNvZGVkSlNWYWx1ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yPGVycm9yVHlwZT46OmNvbnN0cnVj
dEltcGwoSlNHbG9iYWxPCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU1ZhbHVlIG1lc3NhZ2Ug
PSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwotICAgIEpTVmFsdWUgb3B0aW9ucyA9IGNhbGxGcmFt
ZS0+YXJndW1lbnQoMSk7CisgICAgSlNWYWx1ZSBvcHRpb25zID0gT3B0aW9uczo6dXNlRXJyb3JD
YXVzZSgpID8gY2FsbEZyYW1lLT5hcmd1bWVudCgxKSA6IGpzVW5kZWZpbmVkKCk7CiAKICAgICBK
U09iamVjdCogbmV3VGFyZ2V0ID0gYXNPYmplY3QoY2FsbEZyYW1lLT5uZXdUYXJnZXQoKSk7CiAg
ICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IEpTQ19HRVRfREVSSVZFRF9TVFJVQ1RVUkUo
dm0sIGVycm9yU3RydWN0dXJlV2l0aEVycm9yVHlwZTxlcnJvclR5cGU+LCBuZXdUYXJnZXQsIGNh
bGxGcmFtZS0+anNDYWxsZWUoKSk7CkBAIC02Miw3ICs2Miw3IEBAIHRlbXBsYXRlPEVycm9yVHlw
ZSBlcnJvclR5cGU+CiBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rv
cjxlcnJvclR5cGU+OjpjYWxsSW1wbChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxs
RnJhbWUqIGNhbGxGcmFtZSkKIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFy
Z3VtZW50KDApOwotICAgIEpTVmFsdWUgb3B0aW9ucyA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMSk7
CisgICAgSlNWYWx1ZSBvcHRpb25zID0gT3B0aW9uczo6dXNlRXJyb3JDYXVzZSgpID8gY2FsbEZy
YW1lLT5hcmd1bWVudCgxKSA6IGpzVW5kZWZpbmVkKCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0
cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoZXJyb3JUeXBlKTsKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3Qs
IGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBvcHRpb25zLCBudWxscHRyLCBUeXBlTm90aGluZywg
ZXJyb3JUeXBlLCBmYWxzZSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT3B0aW9uc0xpc3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
dGlvbnNMaXN0LmgKaW5kZXggZmEyMWU0YThkZDQ3ODgwYzU5ZDExYzFmNmEzOTE5ZjMyZWE3Yzhm
Ni4uMDdkN2UxM2E2ZDViOTAyYjI4Yjk4YTUxMTlkZTM4NjE3NWNiNmU0NiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5oCkBAIC01MjcsNiArNTI3LDcgQEAg
SlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBjYW5Vc2VKSVRDYWdlKCk7CiAgICAgdihCb29sLCB1c2VJ
bnRsRGF0ZVRpbWVGb3JtYXREYXlQZXJpb2QsIHRydWUsIE5vcm1hbCwgIkV4cG9zZSB0aGUgSW50
bC5EYXRlVGltZUZvcm1hdCBkYXlQZXJpb2QgZmVhdHVyZS4iKSBcCiAgICAgdihCb29sLCB1c2VJ
bnRsRGF0ZVRpbWVGb3JtYXRSYW5nZVRvUGFydHMsIHRydWUsIE5vcm1hbCwgIkV4cG9zZSB0aGUg
SW50bC5EYXRlVGltZUZvcm1hdCNmb3JtYXRSYW5nZVRvUGFydHMgZmVhdHVyZS4iKSBcCiAgICAg
dihCb29sLCB1c2VBdE1ldGhvZCwgZmFsc2UsIE5vcm1hbCwgIkV4cG9zZSB0aGUgYXQoKSBtZXRo
b2Qgb24gQXJyYXksICVUeXBlZEFycmF5JSwgYW5kIFN0cmluZy4iKSBcCisgICAgdihCb29sLCB1
c2VFcnJvckNhdXNlLCB0cnVlLCBOb3JtYWwsICJBbGxvdyBhIGNhdXNlIHRvIGJlIHByb3ZpZGVk
IHdoZW4gY29uc3RydWN0aW5nIGFuIEVycm9yLCBfTmF0aXZlRXJyb3JfLCBvciBBZ2dyZWdhdGVF
cnJvci4iKSBcCiAgICAgdihCb29sLCB1c2VTaGFyZWRBcnJheUJ1ZmZlciwgZmFsc2UsIE5vcm1h
bCwgbnVsbHB0cikgXAogICAgIHYoQm9vbCwgdXNlVG9wTGV2ZWxBd2FpdCwgdHJ1ZSwgTm9ybWFs
LCAiYWxsb3cgdGhlIGF3YWl0IGtleXdvcmQgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIG1vZHVsZS4i
KSBcCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRp
b25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21PcGVyYXRpb25zLmNwcApp
bmRleCA3NmU1ZmZlMGNlYzk0YjJhMWYxNTc5OGY2ZTVmZGE0YzhjZmFlYTcyLi40NTZlNTI4ODIw
NmNjNTY1ZmViMzhjOWMzY2ZhMmU2NTBmMTdlMjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuY3BwCkBAIC05MzQsNyArOTM0LDcgQEAgSlNDX0RFRklO
RV9KSVRfT1BFUkFUSU9OKG9wZXJhdGlvbldhc21Ub0pTRXhjZXB0aW9uLCB2b2lkKiwgKENhbGxG
cmFtZSogY2FsbEZyYW0KICAgICAgICAgaWYgKHR5cGUgPT0gRXhjZXB0aW9uVHlwZTo6U3RhY2tP
dmVyZmxvdykKICAgICAgICAgICAgIGVycm9yID0gY3JlYXRlU3RhY2tPdmVyZmxvd0Vycm9yKGds
b2JhbE9iamVjdCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGVycm9yID0gSlNXZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvcjo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIGdsb2JhbE9iamVjdC0+
d2ViQXNzZW1ibHlSdW50aW1lRXJyb3JTdHJ1Y3R1cmUoKSwgV2FzbTo6ZXJyb3JNZXNzYWdlRm9y
RXhjZXB0aW9uVHlwZSh0eXBlKSk7CisgICAgICAgICAgICBlcnJvciA9IGNyZWF0ZUpTV2ViQXNz
ZW1ibHlSdW50aW1lRXJyb3IoZ2xvYmFsT2JqZWN0LCB2bSwgV2FzbTo6ZXJyb3JNZXNzYWdlRm9y
RXhjZXB0aW9uVHlwZSh0eXBlKSk7CiAgICAgICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVj
dCwgdGhyb3dTY29wZSwgZXJyb3IpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcAppbmRl
eCAzMzA4MmI1MDU3NzUwYWNmOWZjMDM0NzdlMGRkYzlkZTEyYzY2ODgwLi4xODhmMTQzZWJkYzU1
NjgzMGJiMDYzYjdlYTA5MDFkZjFlMWYzYjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcApAQCAt
MjgsMzAgKzI4LDE0IEBACiAKICNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCiAKLSNpbmNsdWRlICJK
U0NlbGxJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKIAogbmFtZXNwYWNl
IEpTQyB7CiAKLUpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IqIEpTV2ViQXNzZW1ibHlDb21waWxl
RXJyb3I6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCi17Ci0gICAgYXV0byogaW5z
dGFuY2UgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU1dlYkFzc2VtYmx5Q29tcGlsZUVy
cm9yPih2bS5oZWFwKSkgSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcih2bSwgc3RydWN0dXJlKTsK
LSAgICBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWU7Ci0gICAgaW5zdGFuY2UtPmZpbmlzaENy
ZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIG1lc3NhZ2UsIGpzVW5kZWZpbmVkKCksIGRlZmF1bHRT
b3VyY2VBcHBlbmRlciwgVHlwZU5vdGhpbmcsIHVzZUN1cnJlbnRGcmFtZSk7Ci0gICAgcmV0dXJu
IGluc3RhbmNlOwotfQotCi1KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yOjpKU1dlYkFzc2VtYmx5
Q29tcGlsZUVycm9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZt
LCBzdHJ1Y3R1cmUsIEVycm9yVHlwZTo6RXJyb3IpCi17Ci19Ci0KLWNvbnN0IENsYXNzSW5mbyBK
U1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yOjpzX2luZm8gPSB7ICJXZWJBc3NlbWJseS5Db21waWxl
RXJyb3IiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IpIH07Ci0KLSAgICAKIEpTT2JqZWN0KiBjcmVh
dGVKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFZNJiB2bSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5p
c0VtcHR5KCkpOwotICAgIHJldHVybiBKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yOjpjcmVhdGUo
Z2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseUNvbXBpbGVFcnJvclN0
cnVjdHVyZSgpLCBtZXNzYWdlKTsKKyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgdm0sIGdsb2JhbE9iamVjdC0+d2ViQXNzZW1ibHlDb21waWxlRXJyb3JTdHJ1
Y3R1cmUoKSwgbWVzc2FnZSwganNVbmRlZmluZWQoKSwgZGVmYXVsdFNvdXJjZUFwcGVuZGVyLCBU
eXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgdHJ1ZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseUNvbXBpbGVFcnJvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJB
c3NlbWJseUNvbXBpbGVFcnJvci5oCmluZGV4IDcyZmQwNGVlNzYwMDI0MzgxNmRhZDY0Nzk3NDhh
NmIwMTE0MTU5YTcuLjdlODFkZTE4OWJmMDBlZDcxMDA1Y2NmNDBkZGNiZWJjNWNmYzk4ZDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21w
aWxlRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5Q29tcGlsZUVycm9yLmgKQEAgLTMxLDIzICszMSw2IEBACiAKIG5hbWVzcGFjZSBKU0Mgewog
Ci1jbGFzcyBKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yIGZpbmFsIDogcHVibGljIEVycm9ySW5z
dGFuY2UgewotcHVibGljOgotICAgIHVzaW5nIEJhc2UgPSBFcnJvckluc3RhbmNlOwotCi0gICAg
c3RhdGljIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCos
IFZNJiwgU3RydWN0dXJlKiwgY29uc3QgU3RyaW5nJik7Ci0gICAgc3RhdGljIEpTV2ViQXNzZW1i
bHlDb21waWxlRXJyb3IqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1ZhbHVlIG1lc3NhZ2UpCi0gICAgewotICAgICAg
ICByZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgbWVzc2FnZS5pc1Vu
ZGVmaW5lZCgpID8gU3RyaW5nKCkgOiBtZXNzYWdlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCkp
OwotICAgIH0KLQotICAgIERFQ0xBUkVfSU5GTzsKLQotcHJpdmF0ZToKLSAgICBKU1dlYkFzc2Vt
Ymx5Q29tcGlsZUVycm9yKFZNJiwgU3RydWN0dXJlKik7Ci19OwotU1RBVElDX0FTU0VSVF9JU09f
U1VCU1BBQ0VfU0hBUkFCTEUoSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvciwgRXJyb3JJbnN0YW5j
ZSk7Ci0KIEpTT2JqZWN0KiBjcmVhdGVKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yKEpTR2xvYmFs
T2JqZWN0KiwgVk0mLCBjb25zdCBTdHJpbmcmKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFu
Y2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3Rh
bmNlLmNwcAppbmRleCA0NjE4ZWVkNzg4YzBiODg5YjdhNGExMWFkZjAzNTA1ZWU1Y2Y3MThlLi42
ODA4N2U1NTBlYjYwNzg1ZjE0MjI4MGNkZDQyMmE1YjNlZmQwNzM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFuY2UuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHAK
QEAgLTExMiw3ICsxMTIsNyBAQCB2b2lkIEpTV2ViQXNzZW1ibHlJbnN0YW5jZTo6ZmluYWxpemVD
cmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplYwogICAgIGF1dG8gc2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAogICAgIGlmICghd2FzbUNvZGVCbG9jay0+
cnVubmFibGUoKSkgewotICAgICAgICB0aHJvd0V4Y2VwdGlvbihnbG9iYWxPYmplY3QsIHNjb3Bl
LCBKU1dlYkFzc2VtYmx5TGlua0Vycm9yOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgdGhpcy0+
Z2xvYmFsT2JqZWN0KCktPndlYkFzc2VtYmx5TGlua0Vycm9yU3RydWN0dXJlKCksIHdhc21Db2Rl
QmxvY2stPmVycm9yTWVzc2FnZSgpKSk7CisgICAgICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9i
amVjdCwgc2NvcGUsIGNyZWF0ZUpTV2ViQXNzZW1ibHlMaW5rRXJyb3IoZ2xvYmFsT2JqZWN0LCB2
bSwgd2FzbUNvZGVCbG9jay0+ZXJyb3JNZXNzYWdlKCkpKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtMTI4LDcgKzEyOCw3IEBAIHZvaWQgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpmaW5h
bGl6ZUNyZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjCiAgICAgfSBl
bHNlIHsKICAgICAgICAganNDb2RlQmxvY2sgPSBKU1dlYkFzc2VtYmx5Q29kZUJsb2NrOjpjcmVh
dGUodm0sIFdURk1vdmUod2FzbUNvZGVCbG9jayksIG1vZHVsZSgpLT5tb2R1bGUoKS5tb2R1bGVJ
bmZvcm1hdGlvbigpKTsKICAgICAgICAgaWYgKFVOTElLRUxZKCFqc0NvZGVCbG9jay0+cnVubmFi
bGUoKSkpIHsKLSAgICAgICAgICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUs
IEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCB0aGlzLT5n
bG9iYWxPYmplY3QoKS0+d2ViQXNzZW1ibHlMaW5rRXJyb3JTdHJ1Y3R1cmUoKSwganNDb2RlQmxv
Y2stPmVycm9yTWVzc2FnZSgpKSk7CisgICAgICAgICAgICB0aHJvd0V4Y2VwdGlvbihnbG9iYWxP
YmplY3QsIHNjb3BlLCBjcmVhdGVKU1dlYkFzc2VtYmx5TGlua0Vycm9yKGdsb2JhbE9iamVjdCwg
dm0sIGpzQ29kZUJsb2NrLT5lcnJvck1lc3NhZ2UoKSkpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAgICAgICAgIG1fY29kZUJsb2NrLnNldCh2bSwgdGhpcywganNDb2RlQmxvY2sp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJs
eUxpbmtFcnJvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5TGlua0Vycm9yLmNwcAppbmRleCA2YzgyNjRiYzZkMzA0ZmI2YTJjYTRiM2ZkNzg2M2YwNzYx
ZDFhMTU2Li4zYWIxMzk1MWViNzQ2YTI3OTcxOGIwZTBjNjQwM2ZmMjg0MTc0ZmMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlu
a0Vycm9yLmNwcApAQCAtMjgsMzAgKzI4LDE0IEBACiAKICNpZiBFTkFCTEUoV0VCQVNTRU1CTFkp
CiAKLSNpbmNsdWRlICJKU0NlbGxJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3Qu
aCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUpTV2ViQXNzZW1ibHlMaW5rRXJyb3IqIEpTV2ViQXNz
ZW1ibHlMaW5rRXJyb3I6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCi17Ci0gICAg
YXV0byogaW5zdGFuY2UgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU1dlYkFzc2VtYmx5
TGlua0Vycm9yPih2bS5oZWFwKSkgSlNXZWJBc3NlbWJseUxpbmtFcnJvcih2bSwgc3RydWN0dXJl
KTsKLSAgICBib29sIHVzZUN1cnJlbnRGcmFtZSA9IHRydWU7Ci0gICAgaW5zdGFuY2UtPmZpbmlz
aENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIG1lc3NhZ2UsIGpzVW5kZWZpbmVkKCksIGRlZmF1
bHRTb3VyY2VBcHBlbmRlciwgVHlwZU5vdGhpbmcsIHVzZUN1cnJlbnRGcmFtZSk7Ci0gICAgcmV0
dXJuIGluc3RhbmNlOwotfQotCi1KU1dlYkFzc2VtYmx5TGlua0Vycm9yOjpKU1dlYkFzc2VtYmx5
TGlua0Vycm9yKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBz
dHJ1Y3R1cmUsIEVycm9yVHlwZTo6RXJyb3IpCi17Ci19Ci0KLWNvbnN0IENsYXNzSW5mbyBKU1dl
YkFzc2VtYmx5TGlua0Vycm9yOjpzX2luZm8gPSB7ICJXZWJBc3NlbWJseS5MaW5rRXJyb3IiLCAm
QmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTV2Vi
QXNzZW1ibHlMaW5rRXJyb3IpIH07Ci0KLSAgICAKIEpTT2JqZWN0KiBjcmVhdGVKU1dlYkFzc2Vt
Ymx5TGlua0Vycm9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlKQogewogICAgIEFTU0VSVCghbWVzc2FnZS5pc0VtcHR5KCkpOwotICAg
IHJldHVybiBKU1dlYkFzc2VtYmx5TGlua0Vycm9yOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwg
Z2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseUxpbmtFcnJvclN0cnVjdHVyZSgpLCBtZXNzYWdlKTsK
KyAgICByZXR1cm4gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIGdsb2Jh
bE9iamVjdC0+d2ViQXNzZW1ibHlMaW5rRXJyb3JTdHJ1Y3R1cmUoKSwgbWVzc2FnZSwganNVbmRl
ZmluZWQoKSwgZGVmYXVsdFNvdXJjZUFwcGVuZGVyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpF
cnJvciwgdHJ1ZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oCmluZGV4IDcx
NzM3ZGNiNTU2YjI0OTZmN2RhZjNlNzIyMTZiNTFmY2MwZmIyZTEuLjNlNTEyZGVjZGExZWRiNzA4
ZmFjNjQxZjI1Y2NhMGU5MjgyODJkODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmgKQEAgLTMxLDIzICszMSw2IEBA
CiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBKU1dlYkFzc2VtYmx5TGlua0Vycm9yIGZpbmFs
IDogcHVibGljIEVycm9ySW5zdGFuY2UgewotcHVibGljOgotICAgIHR5cGVkZWYgRXJyb3JJbnN0
YW5jZSBCYXNlOwotCi0gICAgc3RhdGljIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3IqIGNyZWF0ZShK
U0dsb2JhbE9iamVjdCosIFZNJiwgU3RydWN0dXJlKiwgY29uc3QgU3RyaW5nJik7Ci0gICAgc3Rh
dGljIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3IqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1ZhbHVlIG1lc3NhZ2UpCi0g
ICAgewotICAgICAgICByZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwg
bWVzc2FnZS5pc1VuZGVmaW5lZCgpID8gU3RyaW5nKCkgOiBtZXNzYWdlLnRvV1RGU3RyaW5nKGds
b2JhbE9iamVjdCkpOwotICAgIH0KLQotICAgIERFQ0xBUkVfSU5GTzsKLQotcHJpdmF0ZToKLSAg
ICBKU1dlYkFzc2VtYmx5TGlua0Vycm9yKFZNJiwgU3RydWN0dXJlKik7Ci19OwotU1RBVElDX0FT
U0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNXZWJBc3NlbWJseUxpbmtFcnJvciwgRXJyb3JJ
bnN0YW5jZSk7Ci0KIEpTT2JqZWN0KiBjcmVhdGVKU1dlYkFzc2VtYmx5TGlua0Vycm9yKEpTR2xv
YmFsT2JqZWN0KiwgVk0mLCBjb25zdCBTdHJpbmcmKTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TW9k
dWxlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1
bGUuY3BwCmluZGV4IDRmMDc3ZjVjYTNmZDNmMDFhNDM3ZGQ4OWMwMzhjZTNmZDg1MzU1MjEuLmQ4
YTc1NTFjMjM3ZDUyZDBkOTlkNmM5MmZhOWY0MDFiNGRkYjBiMTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1bGUuY3BwCkBAIC00
NCw3ICs0NCw3IEBAIEpTV2ViQXNzZW1ibHlNb2R1bGUqIEpTV2ViQXNzZW1ibHlNb2R1bGU6OmNy
ZWF0ZVN0dWIoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvCiB7CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIGlmICghcmVzdWx0Lmhhc192YWx1ZSgpKSB7
Ci0gICAgICAgIGF1dG8qIGVycm9yID0gSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcjo6Y3JlYXRl
KGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCktPndlYkFzc2VtYmx5
Q29tcGlsZUVycm9yU3RydWN0dXJlKCksIHJlc3VsdC5lcnJvcigpKTsKKyAgICAgICAgYXV0byog
ZXJyb3IgPSBjcmVhdGVKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yKGdsb2JhbE9iamVjdCwgdm0s
IHJlc3VsdC5lcnJvcigpKTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVs
bHB0cik7CiAgICAgICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUsIGVycm9y
KTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuY3BwCmluZGV4IGNk
ZTk5YjE3ZGQ0MWFiMTM1NmUwYTRjODk3YzM3ZDM2ODJiMTk1NmIuLmMwMTY4YTUyNjQxMzZkMDEz
OGNiMGNmYjA3MjQxNDIzZDIzMzkzZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuY3BwCkBAIC0yOCwy
OSArMjgsMTQgQEAKIAogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKIAotI2luY2x1ZGUgIkpTQ2Vs
bElubGluZXMuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgogCiBuYW1lc3BhY2UgSlND
IHsKIAotSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciogSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
cjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKLXsKLSAgICBhdXRvKiBpbnN0YW5j
ZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3I+
KHZtLmhlYXApKSBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yKHZtLCBzdHJ1Y3R1cmUpOwotICAg
IGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZTsKLSAgICBpbnN0YW5jZS0+ZmluaXNoQ3JlYXRp
b24odm0sIGdsb2JhbE9iamVjdCwgbWVzc2FnZSwganNVbmRlZmluZWQoKSwgZGVmYXVsdFNvdXJj
ZUFwcGVuZGVyLCBUeXBlTm90aGluZywgdXNlQ3VycmVudEZyYW1lKTsKLSAgICByZXR1cm4gaW5z
dGFuY2U7Ci19Ci0KLUpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3I6OkpTV2ViQXNzZW1ibHlSdW50
aW1lRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0sIHN0
cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJvcikKLXsKLX0KLQotY29uc3QgQ2xhc3NJbmZvIEpTV2Vi
QXNzZW1ibHlSdW50aW1lRXJyb3I6OnNfaW5mbyA9IHsgIldlYkFzc2VtYmx5LlJ1bnRpbWVFcnJv
ciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcikgfTsKLQogSlNPYmplY3QqIGNyZWF0ZUpTV2ViQXNz
ZW1ibHlSdW50aW1lRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBj
b25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHkoKSk7
Ci0gICAgcmV0dXJuIEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3I6OmNyZWF0ZShnbG9iYWxPYmpl
Y3QsIHZtLCBnbG9iYWxPYmplY3QtPndlYkFzc2VtYmx5UnVudGltZUVycm9yU3RydWN0dXJlKCks
IG1lc3NhZ2UpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0
LCB2bSwgZ2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseVJ1bnRpbWVFcnJvclN0cnVjdHVyZSgpLCBt
ZXNzYWdlLCBqc1VuZGVmaW5lZCgpLCBkZWZhdWx0U291cmNlQXBwZW5kZXIsIFR5cGVOb3RoaW5n
LCBFcnJvclR5cGU6OkVycm9yLCB0cnVlKTsKIH0KICAgICAKIH0gLy8gbmFtZXNwYWNlIEpTQwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1
bnRpbWVFcnJvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJs
eVJ1bnRpbWVFcnJvci5oCmluZGV4IGQ0MGJiZDBkNDQzYzQwYWIwYTM1MmZkOGM4MjU1OGUwMzg2
ZTgzYjAuLmJlNDEzMDkwZDMyNzRjNjE4ZmFmZDQ5YjExNjdiMGQyMjI3Y2U1ZmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJy
b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yLmgKQEAgLTMxLDE5ICszMSw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFz
cyBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yIGZpbmFsIDogcHVibGljIEVycm9ySW5zdGFuY2Ug
ewotcHVibGljOgotICAgIHR5cGVkZWYgRXJyb3JJbnN0YW5jZSBCYXNlOwotCi0gICAgc3RhdGlj
IEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IqIGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIFZNJiwg
U3RydWN0dXJlKiwgY29uc3QgU3RyaW5nJik7Ci0KLSAgICBERUNMQVJFX0lORk87Ci0KLXByaXZh
dGU6Ci0gICAgSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcihWTSYsIFN0cnVjdHVyZSopOwotfTsK
LVNUQVRJQ19BU1NFUlRfSVNPX1NVQlNQQUNFX1NIQVJBQkxFKEpTV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3IsIEVycm9ySW5zdGFuY2UpOwotCiBKU09iamVjdCogY3JlYXRlSlNXZWJBc3NlbWJseVJ1
bnRpbWVFcnJvcihKU0dsb2JhbE9iamVjdCosIFZNJiwgY29uc3QgU3RyaW5nJik7CiAKIH0gLy8g
bmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlDb21waWxlRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRl
eCBlYzZjNzM1YmUwYzNkNGVkY2Q4MWVlODU1MTNiMmUyNTY3YjhhY2RkLi5kYzRhM2U1NzM3NzA0
NzI2ZGFhYTFkNDkyMTc0OGY1Y2ZiZjcxMWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNv
bnN0cnVjdG9yLmNwcApAQCAtNTEsMTkgKzUxLDIxIEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElP
Tihjb25zdHJ1Y3RKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGds
CiAgICAgYXV0byYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFtZS0+
YXJndW1lbnQoMCk7CisgICAgSlNWYWx1ZSBvcHRpb25zID0gT3B0aW9uczo6dXNlRXJyb3JDYXVz
ZSgpID8gY2FsbEZyYW1lLT5hcmd1bWVudCgxKSA6IGpzVW5kZWZpbmVkKCk7CiAKICAgICBKU09i
amVjdCogbmV3VGFyZ2V0ID0gYXNPYmplY3QoY2FsbEZyYW1lLT5uZXdUYXJnZXQoKSk7CiAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBKU0NfR0VUX0RFUklWRURfU1RSVUNUVVJFKHZtLCB3ZWJB
c3NlbWJseUNvbXBpbGVFcnJvclN0cnVjdHVyZSwgbmV3VGFyZ2V0LCBjYWxsRnJhbWUtPmpzQ2Fs
bGVlKCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAKLSAgICBSRUxF
QVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVuY29kZShKU1dlYkFzc2VtYmx5Q29tcGls
ZUVycm9yOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgc3RydWN0dXJlLCBtZXNzYWdlKSkpOwor
ICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFu
Y2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgbWVzc2FnZSwgb3B0aW9ucywgbnVs
bHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSkpOwogfQogCiBKU0Nf
REVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkpCiB7CiAgICAg
SlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKKyAgICBKU1ZhbHVlIG9w
dGlvbnMgPSBPcHRpb25zOjp1c2VFcnJvckNhdXNlKCkgPyBjYWxsRnJhbWUtPmFyZ3VtZW50KDEp
IDoganNVbmRlZmluZWQoKTsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gZ2xvYmFs
T2JqZWN0LT53ZWJBc3NlbWJseUNvbXBpbGVFcnJvclN0cnVjdHVyZSgpOwotICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JT
dHJ1Y3R1cmUsIG1lc3NhZ2UsIGpzVW5kZWZpbmVkKCksIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBF
cnJvclR5cGU6OkVycm9yLCBmYWxzZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJy
b3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2Us
IG9wdGlvbnMsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkp
OwogfQogCiBXZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yKiBXZWJBc3NlbWJseUNv
bXBpbGVFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgV2ViQXNzZW1ibHlDb21waWxlRXJyb3JQcm90b3R5cGUqIHRoaXNQcm90b3R5cGUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseUxpbmtFcnJv
ckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2Vt
Ymx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDk5ZTEwODRmNzExMDU0OTY1MzI5Yjdk
NjQ3MmQzZWY5NDRkNDk5YjUuLmJiYWMzZDRhY2UyMjZjMTQ0ZWI0Mzc0OTA5OGU3MzExNzk0ODFi
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwCkBAIC01MSwxOSArNTEsMjEg
QEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVjdEpTV2ViQXNzZW1ibHlMaW5rRXJy
b3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmEKICAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVjdC0+
dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgSlNW
YWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsKKyAgICBKU1ZhbHVlIG9wdGlv
bnMgPSBPcHRpb25zOjp1c2VFcnJvckNhdXNlKCkgPyBjYWxsRnJhbWUtPmFyZ3VtZW50KDEpIDog
anNVbmRlZmluZWQoKTsKIAogICAgIEpTT2JqZWN0KiBuZXdUYXJnZXQgPSBhc09iamVjdChjYWxs
RnJhbWUtPm5ld1RhcmdldCgpKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IEpTQ19HRVRf
REVSSVZFRF9TVFJVQ1RVUkUodm0sIHdlYkFzc2VtYmx5TGlua0Vycm9yU3RydWN0dXJlLCBuZXdU
YXJnZXQsIGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgeyB9KTsKIAotICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5j
b2RlKEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBzdHJ1
Y3R1cmUsIG1lc3NhZ2UpKSk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVl
OjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBt
ZXNzYWdlLCBvcHRpb25zLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwg
ZmFsc2UpKSk7CiB9CiAKIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsSlNXZWJBc3NlbWJs
eUxpbmtFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2Fs
bEZyYW1lKSkKIHsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDAp
OworICAgIEpTVmFsdWUgb3B0aW9ucyA9IE9wdGlvbnM6OnVzZUVycm9yQ2F1c2UoKSA/IGNhbGxG
cmFtZS0+YXJndW1lbnQoMSkgOiBqc1VuZGVmaW5lZCgpOwogICAgIFN0cnVjdHVyZSogZXJyb3JT
dHJ1Y3R1cmUgPSBnbG9iYWxPYmplY3QtPndlYkFzc2VtYmx5TGlua0Vycm9yU3RydWN0dXJlKCk7
Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFs
T2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwganNVbmRlZmluZWQoKSwgbnVsbHB0ciwg
VHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVj
dHVyZSwgbWVzc2FnZSwgb3B0aW9ucywgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6
RXJyb3IsIGZhbHNlKSk7CiB9CiAKIFdlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IqIFdl
YkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBXZWJBc3NlbWJseUxpbmtFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNDA5MDNiNTdlODdl
YzIwMmQxMjIyNDA1N2RkOWFhYWMwOGZkZmRjYS4uNzk3MDRmMzU1NjdlYTRiN2I4ZTY0NWRiNDNi
NjUzMTU1ZTQyYzlmMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMv
V2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAK
QEAgLTUxLDIxICs1MSwyMSBAQCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0SlNX
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvciwgKEpTR2xvYmFsT2JqZWN0KiBnbAogICAgIGF1dG8mIHZt
ID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwot
ICAgIFN0cmluZyBtZXNzYWdlU3RyaW5nID0gbWVzc2FnZS5pc1VuZGVmaW5lZCgpID8gU3RyaW5n
KCkgOiBtZXNzYWdlLnRvV1RGU3RyaW5nKGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgSlNWYWx1ZSBvcHRpb25zID0g
T3B0aW9uczo6dXNlRXJyb3JDYXVzZSgpID8gY2FsbEZyYW1lLT5hcmd1bWVudCgxKSA6IGpzVW5k
ZWZpbmVkKCk7CiAKICAgICBKU09iamVjdCogbmV3VGFyZ2V0ID0gYXNPYmplY3QoY2FsbEZyYW1l
LT5uZXdUYXJnZXQoKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBKU0NfR0VUX0RFUklW
RURfU1RSVUNUVVJFKHZtLCB3ZWJBc3NlbWJseVJ1bnRpbWVFcnJvclN0cnVjdHVyZSwgbmV3VGFy
Z2V0LCBjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIHsgfSk7CiAKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTV2ViQXNzZW1ibHlSdW50
aW1lRXJyb3I6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBzdHJ1Y3R1cmUsIFdURk1vdmUobWVz
c2FnZVN0cmluZykpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6OmVu
Y29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIG1lc3Nh
Z2UsIG9wdGlvbnMsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxz
ZSkpKTsKIH0KIAogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpKQogewogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7
CisgICAgSlNWYWx1ZSBvcHRpb25zID0gT3B0aW9uczo6dXNlRXJyb3JDYXVzZSgpID8gY2FsbEZy
YW1lLT5hcmd1bWVudCgxKSA6IGpzVW5kZWZpbmVkKCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0
cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+d2ViQXNzZW1ibHlSdW50aW1lRXJyb3JTdHJ1Y3R1cmUo
KTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9i
YWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBqc1VuZGVmaW5lZCgpLCBudWxscHRy
LCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2UpKTsKKyAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3Ry
dWN0dXJlLCBtZXNzYWdlLCBvcHRpb25zLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBl
OjpFcnJvciwgZmFsc2UpKTsKIH0KIAogV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rv
ciogV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFdlYkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlKiB0aGlz
UHJvdG90eXBlKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5n
ZUxvZwppbmRleCBjNzAwODUzM2FjZTlmMTAwNWUxMDg4NzQ3NmYyZGFlYTY4ZTI4YWJlLi43YmEx
NDIyOGE4MjVhYWIyYjBkNmFhNGU5ZjQyZjdhZjhmNmRkMGY4IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIx
LTAzLTE3ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAg
ICBbSlNDXSBFcnJvciNjYXVzZSBzaG91bGQgYXBwbHkgdG8gV2ViQXNzZW1ibHkgZXJyb3IgY29u
c3RydWN0b3JzIHRvbworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIzNDA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzdHJlc3MvZXJyb3ItY2F1c2UuanM6CisgICAgICAgIFJ1biB0ZXN0cyBvbiBXZWJB
c3NlbWJseSBlcnJvcnMgdG9vLgorCiAyMDIxLTAzLTE2ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5r
aXJzbGluZ0Bzb255LmNvbT4KIAogICAgICAgICBbSlNDXSBJbXBsZW1lbnQgRXJyb3IjY2F1c2UK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2Vycm9yLWNhdXNlLmpzIGIvSlNUZXN0cy9zdHJl
c3MvZXJyb3ItY2F1c2UuanMKaW5kZXggNzBlNDgwYzc4YjNjNTY5NjhkNTIwOTI5ZmNkY2UxMWVl
MjQxMmEwNC4uMzZjNjQ4MjMyN2Y4MGRjZjQ5NzMzYzBiYjc1ZWFmNzgyMTRkMzg0ZSAxMDA2NDQK
LS0tIGEvSlNUZXN0cy9zdHJlc3MvZXJyb3ItY2F1c2UuanMKKysrIGIvSlNUZXN0cy9zdHJlc3Mv
ZXJyb3ItY2F1c2UuanMKQEAgLTQsNiArNCw5IEBAIGZ1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwg
ZXhwZWN0ZWQpIHsKIH0KIAogY29uc3QgZXJyb3JDb25zdHJ1Y3RvcnMgPSBbRXJyb3IsIEV2YWxF
cnJvciwgUmFuZ2VFcnJvciwgUmVmZXJlbmNlRXJyb3IsIFN5bnRheEVycm9yLCBUeXBlRXJyb3Is
IFVSSUVycm9yLCBBZ2dyZWdhdGVFcnJvcl07CitpZiAodHlwZW9mIFdlYkFzc2VtYmx5ICE9PSAn
dW5kZWZpbmVkJykKKyAgICBlcnJvckNvbnN0cnVjdG9ycy5wdXNoKFdlYkFzc2VtYmx5LkNvbXBp
bGVFcnJvciwgV2ViQXNzZW1ibHkuTGlua0Vycm9yLCBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3Ip
OworCiBjb25zdCBjb25zdHJ1Y3RFcnJvciA9IChFLCAuLi5hcmdzKSA9PiBFID09PSBBZ2dyZWdh
dGVFcnJvciA/IG5ldyBFKFtdLCAnJywgLi4uYXJncykgOiBuZXcgRSgnJywgLi4uYXJncyk7CiAK
IGZvciAoY29uc3QgRSBvZiBlcnJvckNvbnN0cnVjdG9ycykgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423547</attachid>
            <date>2021-03-17 18:52:17 -0700</date>
            <delta_ts>2021-03-17 19:45:16 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223404-20210317185217.patch</filename>
            <type>text/plain</type>
            <size>31733</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
N2IyZmMwNWY3ZWRhNjBiNjBmZTcwYmY1Y2UyYjIyNDZhYzkzNThlLi5jMGMxMDg5NGY0NWU0OTM4
MzFiYTJlN2QyN2NkNWNmMTY3MmYwZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MSBAQAorMjAyMS0wMy0xNyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gRXJyb3IjY2F1c2Ugc2hvdWxkIGFwcGx5IHRvIFdlYkFz
c2VtYmx5IGVycm9yIGNvbnN0cnVjdG9ycyB0b28KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzQwNAorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3Vr
ZSBTdXp1a2kuCisKKyAgICAgICAgUGVyIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YXNtLWpzLWFw
aS0xLyNlcnJvci1vYmplY3RzOgorICAgICAgICA+IFRoZSBjb25zdHJ1Y3RvciBhbmQgcHJvcGVy
dGllcyBvZiBXZWJBc3NlbWJseSBlcnJvcnMgaXMgYXMgc3BlY2lmaWVkIGZvciBOYXRpdmVFcnJv
ci4KKworICAgICAgICBTbyBFcnJvciNjYXVzZSBzaG91bGQgImp1c3Qgd29yayIgZm9yIFdlYkFz
c2VtYmx5LntDb21waWxlRXJyb3IsIExpbmtFcnJvciwgUnVudGltZUVycm9yfSB0b28uCisKKyAg
ICAgICAgSW4gdGhlIHByb2Nlc3M6CisgICAgICAgICAtIEVsaW1pbmF0ZSBKU1dlYkFzc2VtYmx5
Q29tcGlsZUVycm9yIGFuZCBraW4gc2luY2UgdGhleSBhZGQgbm8gZnVuY3Rpb25hbGl0eSBvbiB0
b3Agb2YgRXJyb3JJbnN0YW5jZS4KKyAgICAgICAgIC0gQWRkIGFuIG9uLWJ5LWRlZmF1bHQgZmVh
dHVyZSBmbGFnIChiZWxhdGVkIGZyb20gdGhlIGxhc3QgcGF0Y2gpLgorCisgICAgICAgICogQVBJ
L0pTT2JqZWN0UmVmLmNwcDoKKyAgICAgICAgKEpTT2JqZWN0TWFrZUVycm9yKToKKyAgICAgICAg
KiBydW50aW1lL0FnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpK
U0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHJ1bnRpbWUvRXJyb3JDb25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTik6CisgICAg
ICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvTmF0aXZl
RXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9yQ29uc3RydWN0
b3I8ZXJyb3JUeXBlPjo6Y29uc3RydWN0SW1wbCk6CisgICAgICAgIChKU0M6Ok5hdGl2ZUVycm9y
Q29uc3RydWN0b3I8ZXJyb3JUeXBlPjo6Y2FsbEltcGwpOgorICAgICAgICAqIHJ1bnRpbWUvT3B0
aW9uc0xpc3QuaDoKKyAgICAgICAgKiB3YXNtL1dhc21PcGVyYXRpb25zLmNwcDoKKyAgICAgICAg
KEpTQzo6V2FzbTo6SlNDX0RFRklORV9KSVRfT1BFUkFUSU9OKToKKyAgICAgICAgKiB3YXNtL2pz
L0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwOgorICAgICAgICAoSlNDOjpjcmVhdGVKU1dl
YkFzc2VtYmx5Q29tcGlsZUVycm9yKToKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUNvbXBp
bGVFcnJvcjo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJseUNv
bXBpbGVFcnJvcjo6SlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcik6IERlbGV0ZWQuCisgICAgICAg
ICogd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmg6CisgICAgICAgICgpOiBEZWxl
dGVkLgorICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6SlNXZWJBc3NlbWJseUluc3RhbmNlOjpmaW5hbGl6ZUNyZWF0aW9uKToKKyAgICAg
ICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuY3BwOgorICAgICAgICAoSlNDOjpj
cmVhdGVKU1dlYkFzc2VtYmx5TGlua0Vycm9yKToKKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJs
eUxpbmtFcnJvcjo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6SlNXZWJBc3NlbWJs
eUxpbmtFcnJvcjo6SlNXZWJBc3NlbWJseUxpbmtFcnJvcik6IERlbGV0ZWQuCisgICAgICAgICog
d2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmg6CisgICAgICAgICgpOiBEZWxldGVkLgor
ICAgICAgICAqIHdhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5jcHA6CisgICAgICAgIChKU0M6
OkpTV2ViQXNzZW1ibHlNb2R1bGU6OmNyZWF0ZVN0dWIpOgorICAgICAgICAqIHdhc20vanMvSlNX
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5jcHA6CisgICAgICAgIChKU0M6OmNyZWF0ZUpTV2ViQXNz
ZW1ibHlSdW50aW1lRXJyb3IpOgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5UnVudGltZUVy
cm9yOjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5UnVudGlt
ZUVycm9yOjpKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yKTogRGVsZXRlZC4KKyAgICAgICAgKiB3
YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuaDoKKyAgICAgICAgKCk6IERlbGV0ZWQu
CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKToKKyAgICAgICAgKiB3
YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlND
OjpKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04pOgorICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1i
bHlSdW50aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkpTQ19ERUZJTkVf
SE9TVF9GVU5DVElPTik6CisKIDIwMjEtMDMtMTYgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNs
aW5nQHNvbnkuY29tPgogCiAgICAgICAgIFtKU0NdIEltcGxlbWVudCBFcnJvciNjYXVzZQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0NWRjZDIzNjRiYTRl
Y2JhNzU4NjA2OGViNWE0NzY3MGViZjUyMjcwLi41NDU3MDJiODVkN2Q1ODgxNzUxODYzYzI4MGJi
YmRlNGEyMTE3NzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2Jq
ZWN0UmVmLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNw
cApAQCAtMjMxLDcgKzIzMSw3IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0TWFrZUVycm9yKEpTQ29u
dGV4dFJlZiBjdHgsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhCiAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOwogCiAgICAgSlNWYWx1ZSBtZXNzYWdlID0g
YXJndW1lbnRDb3VudCA/IHRvSlMoZ2xvYmFsT2JqZWN0LCBhcmd1bWVudHNbMF0pIDoganNVbmRl
ZmluZWQoKTsKLSAgICBKU1ZhbHVlIG9wdGlvbnMgPSBhcmd1bWVudENvdW50ID4gMSA/IHRvSlMo
Z2xvYmFsT2JqZWN0LCBhcmd1bWVudHNbMV0pIDoganNVbmRlZmluZWQoKTsKKyAgICBKU1ZhbHVl
IG9wdGlvbnMgPSBhcmd1bWVudENvdW50ID4gMSAmJiBPcHRpb25zOjp1c2VFcnJvckNhdXNlKCkg
PyB0b0pTKGdsb2JhbE9iamVjdCwgYXJndW1lbnRzWzFdKSA6IGpzVW5kZWZpbmVkKCk7CiAgICAg
U3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUo
KTsKICAgICBKU09iamVjdCogcmVzdWx0ID0gRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9i
amVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG9wdGlvbnMpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvckNvbnN0cnVjdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0
b3IuY3BwCmluZGV4IDZmOGZlYWUzYmVhYWQ4ZmRjNmY5NjRhNjYyYTZhMjM1N2VkZWJhNjcuLjM0
NzdlYmJmZjE4NjNlNjlhZjI3OWUzOTM3NDQxYjE1YTcxMGNhYTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0b3IuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yQ29uc3RydWN0
b3IuY3BwCkBAIC02MCw3ICs2MCw3IEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjYWxsQWdn
cmVnYXRlRXJyb3JDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPCiAgICAgVk0m
IHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwogICAgIEpTVmFsdWUgZXJyb3JzID0gY2FsbEZyYW1l
LT5hcmd1bWVudCgwKTsKICAgICBKU1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50
KDEpOwotICAgIEpTVmFsdWUgb3B0aW9ucyA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMik7CisgICAg
SlNWYWx1ZSBvcHRpb25zID0gT3B0aW9uczo6dXNlRXJyb3JDYXVzZSgpID8gY2FsbEZyYW1lLT5h
cmd1bWVudCgyKSA6IGpzVW5kZWZpbmVkKCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0cnVjdHVy
ZSA9IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUoRXJyb3JUeXBlOjpBZ2dyZWdhdGVFcnJv
cik7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShBZ2dyZWdhdGVFcnJvcjo6Y3JlYXRlKGds
b2JhbE9iamVjdCwgdm0sIGVycm9yU3RydWN0dXJlLCBlcnJvcnMsIG1lc3NhZ2UsIG9wdGlvbnMs
IG51bGxwdHIsIFR5cGVOb3RoaW5nLCBmYWxzZSkpOwogfQpAQCAtNzEsNyArNzEsNyBAQCBKU0Nf
REVGSU5FX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0QWdncmVnYXRlRXJyb3JDb25zdHJ1Y3Rvciwg
KEpTR2xvYmFsT2JqZWN0KiBnbAogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKICAgICBKU1ZhbHVlIGVycm9ycyA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CiAgICAg
SlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgxKTsKLSAgICBKU1ZhbHVlIG9w
dGlvbnMgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDIpOworICAgIEpTVmFsdWUgb3B0aW9ucyA9IE9w
dGlvbnM6OnVzZUVycm9yQ2F1c2UoKSA/IGNhbGxGcmFtZS0+YXJndW1lbnQoMikgOiBqc1VuZGVm
aW5lZCgpOwogCiAgICAgSlNPYmplY3QqIG5ld1RhcmdldCA9IGFzT2JqZWN0KGNhbGxGcmFtZS0+
bmV3VGFyZ2V0KCkpOwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBKU0NfR0VUX0RF
UklWRURfU1RSVUNUVVJFKHZtLCBlcnJvclN0cnVjdHVyZVdpdGhFcnJvclR5cGU8RXJyb3JUeXBl
OjpBZ2dyZWdhdGVFcnJvcj4sIG5ld1RhcmdldCwgY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggYzBiMWIzZWYyNDJlZTZkMGI2MDAwMzRhNDBlNmUzYTk5MjljZDU4NC4uZDgzYzUxMDA2
MzUyMzMzZmNjOTBhNzQwMjNlY2RlYTM2ZTNmNzMyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTUzLDcgKzUzLDcgQEAg
SlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVjdEVycm9yQ29uc3RydWN0b3IsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWMKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIEpTVmFsdWUg
bWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7Ci0gICAgSlNWYWx1ZSBvcHRpb25zID0g
Y2FsbEZyYW1lLT5hcmd1bWVudCgxKTsKKyAgICBKU1ZhbHVlIG9wdGlvbnMgPSBPcHRpb25zOjp1
c2VFcnJvckNhdXNlKCkgPyBjYWxsRnJhbWUtPmFyZ3VtZW50KDEpIDoganNVbmRlZmluZWQoKTsK
IAogICAgIEpTT2JqZWN0KiBuZXdUYXJnZXQgPSBhc09iamVjdChjYWxsRnJhbWUtPm5ld1Rhcmdl
dCgpKTsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gSlNDX0dFVF9ERVJJVkVEX1NU
UlVDVFVSRSh2bSwgZXJyb3JTdHJ1Y3R1cmUsIG5ld1RhcmdldCwgY2FsbEZyYW1lLT5qc0NhbGxl
ZSgpKTsKQEAgLTY1LDcgKzY1LDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNvbnN0cnVj
dEVycm9yQ29uc3RydWN0b3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWMKIEpTQ19ERUZJ
TkVfSE9TVF9GVU5DVElPTihjYWxsRXJyb3JDb25zdHJ1Y3RvciwgKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKIHsKICAgICBKU1ZhbHVlIG1lc3Nh
Z2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwotICAgIEpTVmFsdWUgb3B0aW9ucyA9IGNhbGxG
cmFtZS0+YXJndW1lbnQoMSk7CisgICAgSlNWYWx1ZSBvcHRpb25zID0gT3B0aW9uczo6dXNlRXJy
b3JDYXVzZSgpID8gY2FsbEZyYW1lLT5hcmd1bWVudCgxKSA6IGpzVW5kZWZpbmVkKCk7CiAgICAg
U3RydWN0dXJlKiBlcnJvclN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+ZXJyb3JTdHJ1Y3R1cmUo
KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9i
YWxPYmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBvcHRpb25zLCBudWxscHRyLCBUeXBl
Tm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2UpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDM1MDMzNDVlY2UzMGUyNGZl
ODViMjU1MzM2MmI2YjE5MzNhMDEwMDEuLjJhZDIyMzk5NDc0MTRkOWQwNjY2OGFkM2Y1MzA0ZTU1
YzY4MTk2NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaApAQCAtMTY2LDEzICsxNjYsMTMgQEAgY29uc3RleHByIGJvb2wgdHlwZUV4cG9zZWRC
eURlZmF1bHQgPSB0cnVlOwogCiAjaWYgRU5BQkxFKFdFQkFTU0VNQkxZKQogI2RlZmluZSBGT1Jf
RUFDSF9XRUJBU1NFTUJMWV9DT05TVFJVQ1RPUl9UWVBFKG1hY3JvKSBcCi0gICAgbWFjcm8oV2Vi
QXNzZW1ibHlDb21waWxlRXJyb3IsIHdlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCB3ZWJBc3NlbWJs
eUNvbXBpbGVFcnJvciwgSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvciwgQ29tcGlsZUVycm9yLCBl
cnJvciwgdHlwZUV4cG9zZWRCeURlZmF1bHQpIFwKKyAgICBtYWNybyhXZWJBc3NlbWJseUNvbXBp
bGVFcnJvciwgd2ViQXNzZW1ibHlDb21waWxlRXJyb3IsIHdlYkFzc2VtYmx5Q29tcGlsZUVycm9y
LCBFcnJvckluc3RhbmNlLCAgICAgICAgICAgICBDb21waWxlRXJyb3IsIGVycm9yLCB0eXBlRXhw
b3NlZEJ5RGVmYXVsdCkgXAogICAgIG1hY3JvKFdlYkFzc2VtYmx5R2xvYmFsLCAgICAgICB3ZWJB
c3NlbWJseUdsb2JhbCwgICAgICAgd2ViQXNzZW1ibHlHbG9iYWwsICAgICAgIEpTV2ViQXNzZW1i
bHlHbG9iYWwsICAgICAgIEdsb2JhbCwgICAgICAgb2JqZWN0LCB0eXBlRXhwb3NlZEJ5RGVmYXVs
dCkgXAogICAgIG1hY3JvKFdlYkFzc2VtYmx5SW5zdGFuY2UsICAgICB3ZWJBc3NlbWJseUluc3Rh
bmNlLCAgICAgd2ViQXNzZW1ibHlJbnN0YW5jZSwgICAgIEpTV2ViQXNzZW1ibHlJbnN0YW5jZSwg
ICAgIEluc3RhbmNlLCAgICAgb2JqZWN0LCB0eXBlRXhwb3NlZEJ5RGVmYXVsdCkgXAotICAgIG1h
Y3JvKFdlYkFzc2VtYmx5TGlua0Vycm9yLCAgICB3ZWJBc3NlbWJseUxpbmtFcnJvciwgICAgd2Vi
QXNzZW1ibHlMaW5rRXJyb3IsICAgIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3IsICAgIExpbmtFcnJv
ciwgICAgZXJyb3IsIHR5cGVFeHBvc2VkQnlEZWZhdWx0KSBcCisgICAgbWFjcm8oV2ViQXNzZW1i
bHlMaW5rRXJyb3IsICAgIHdlYkFzc2VtYmx5TGlua0Vycm9yLCAgICB3ZWJBc3NlbWJseUxpbmtF
cnJvciwgICAgRXJyb3JJbnN0YW5jZSwgICAgICAgICAgICAgTGlua0Vycm9yLCAgICBlcnJvciwg
dHlwZUV4cG9zZWRCeURlZmF1bHQpIFwKICAgICBtYWNybyhXZWJBc3NlbWJseU1lbW9yeSwgICAg
ICAgd2ViQXNzZW1ibHlNZW1vcnksICAgICAgIHdlYkFzc2VtYmx5TWVtb3J5LCAgICAgICBKU1dl
YkFzc2VtYmx5TWVtb3J5LCAgICAgICBNZW1vcnksICAgICAgIG9iamVjdCwgdHlwZUV4cG9zZWRC
eURlZmF1bHQpIFwKICAgICBtYWNybyhXZWJBc3NlbWJseU1vZHVsZSwgICAgICAgd2ViQXNzZW1i
bHlNb2R1bGUsICAgICAgIHdlYkFzc2VtYmx5TW9kdWxlLCAgICAgICBKU1dlYkFzc2VtYmx5TW9k
dWxlLCAgICAgICBNb2R1bGUsICAgICAgIG9iamVjdCwgdHlwZUV4cG9zZWRCeURlZmF1bHQpIFwK
LSAgICBtYWNybyhXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciwgd2ViQXNzZW1ibHlSdW50aW1lRXJy
b3IsIHdlYkFzc2VtYmx5UnVudGltZUVycm9yLCBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yLCBS
dW50aW1lRXJyb3IsIGVycm9yLCB0eXBlRXhwb3NlZEJ5RGVmYXVsdCkgXAorICAgIG1hY3JvKFdl
YkFzc2VtYmx5UnVudGltZUVycm9yLCB3ZWJBc3NlbWJseVJ1bnRpbWVFcnJvciwgd2ViQXNzZW1i
bHlSdW50aW1lRXJyb3IsIEVycm9ySW5zdGFuY2UsICAgICAgICAgICAgIFJ1bnRpbWVFcnJvciwg
ZXJyb3IsIHR5cGVFeHBvc2VkQnlEZWZhdWx0KSBcCiAgICAgbWFjcm8oV2ViQXNzZW1ibHlUYWJs
ZSwgICAgICAgIHdlYkFzc2VtYmx5VGFibGUsICAgICAgICB3ZWJBc3NlbWJseVRhYmxlLCAgICAg
ICAgSlNXZWJBc3NlbWJseVRhYmxlLCAgICAgICAgVGFibGUsICAgICAgICBvYmplY3QsIHR5cGVF
eHBvc2VkQnlEZWZhdWx0KQogI2Vsc2UKICNkZWZpbmUgRk9SX0VBQ0hfV0VCQVNTRU1CTFlfQ09O
U1RSVUNUT1JfVFlQRShtYWNybykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggMjEzZDlmYjdhNjhhYjJh
YzhmOTZkODY3MGQ4YWUzNDZmMTM5ZTNmYy4uOWU5NGNmMTgyZTg0OWY3OTFiY2FkNzMxYjNkNGUx
ODkyODJmN2Y2NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0
aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgaW5saW5lIEVu
Y29kZWRKU1ZhbHVlIE5hdGl2ZUVycm9yQ29uc3RydWN0b3I8ZXJyb3JUeXBlPjo6Y29uc3RydWN0
SW1wbChKU0dsb2JhbE8KICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIEpTVmFsdWUgbWVzc2FnZSA9
IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7Ci0gICAgSlNWYWx1ZSBvcHRpb25zID0gY2FsbEZyYW1l
LT5hcmd1bWVudCgxKTsKKyAgICBKU1ZhbHVlIG9wdGlvbnMgPSBPcHRpb25zOjp1c2VFcnJvckNh
dXNlKCkgPyBjYWxsRnJhbWUtPmFyZ3VtZW50KDEpIDoganNVbmRlZmluZWQoKTsKIAogICAgIEpT
T2JqZWN0KiBuZXdUYXJnZXQgPSBhc09iamVjdChjYWxsRnJhbWUtPm5ld1RhcmdldCgpKTsKICAg
ICBTdHJ1Y3R1cmUqIGVycm9yU3RydWN0dXJlID0gSlNDX0dFVF9ERVJJVkVEX1NUUlVDVFVSRSh2
bSwgZXJyb3JTdHJ1Y3R1cmVXaXRoRXJyb3JUeXBlPGVycm9yVHlwZT4sIG5ld1RhcmdldCwgY2Fs
bEZyYW1lLT5qc0NhbGxlZSgpKTsKQEAgLTYyLDcgKzYyLDcgQEAgdGVtcGxhdGU8RXJyb3JUeXBl
IGVycm9yVHlwZT4KIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9y
PGVycm9yVHlwZT46OmNhbGxJbXBsKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxG
cmFtZSogY2FsbEZyYW1lKQogewogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJn
dW1lbnQoMCk7Ci0gICAgSlNWYWx1ZSBvcHRpb25zID0gY2FsbEZyYW1lLT5hcmd1bWVudCgxKTsK
KyAgICBKU1ZhbHVlIG9wdGlvbnMgPSBPcHRpb25zOjp1c2VFcnJvckNhdXNlKCkgPyBjYWxsRnJh
bWUtPmFyZ3VtZW50KDEpIDoganNVbmRlZmluZWQoKTsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3Ry
dWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5lcnJvclN0cnVjdHVyZShlcnJvclR5cGUpOwogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwg
ZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIG9wdGlvbnMsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBl
cnJvclR5cGUsIGZhbHNlKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PcHRpb25zTGlzdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0
aW9uc0xpc3QuaAppbmRleCBmYTIxZTRhOGRkNDc4ODBjNTlkMTFjMWY2YTM5MTlmMzJlYTdjOGY2
Li4wN2Q3ZTEzYTZkNWI5MDJiMjhiOThhNTExOWRlMzg2MTc1Y2I2ZTQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKQEAgLTUyNyw2ICs1MjcsNyBAQCBK
U19FWFBPUlRfUFJJVkFURSBib29sIGNhblVzZUpJVENhZ2UoKTsKICAgICB2KEJvb2wsIHVzZUlu
dGxEYXRlVGltZUZvcm1hdERheVBlcmlvZCwgdHJ1ZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBJbnRs
LkRhdGVUaW1lRm9ybWF0IGRheVBlcmlvZCBmZWF0dXJlLiIpIFwKICAgICB2KEJvb2wsIHVzZUlu
dGxEYXRlVGltZUZvcm1hdFJhbmdlVG9QYXJ0cywgdHJ1ZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBJ
bnRsLkRhdGVUaW1lRm9ybWF0I2Zvcm1hdFJhbmdlVG9QYXJ0cyBmZWF0dXJlLiIpIFwKICAgICB2
KEJvb2wsIHVzZUF0TWV0aG9kLCBmYWxzZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBhdCgpIG1ldGhv
ZCBvbiBBcnJheSwgJVR5cGVkQXJyYXklLCBhbmQgU3RyaW5nLiIpIFwKKyAgICB2KEJvb2wsIHVz
ZUVycm9yQ2F1c2UsIHRydWUsIE5vcm1hbCwgIkFsbG93IGEgY2F1c2UgdG8gYmUgcHJvdmlkZWQg
d2hlbiBjb25zdHJ1Y3RpbmcgYW4gRXJyb3IsIF9OYXRpdmVFcnJvcl8sIG9yIEFnZ3JlZ2F0ZUVy
cm9yLiIpIFwKICAgICB2KEJvb2wsIHVzZVNoYXJlZEFycmF5QnVmZmVyLCBmYWxzZSwgTm9ybWFs
LCBudWxscHRyKSBcCiAgICAgdihCb29sLCB1c2VUb3BMZXZlbEF3YWl0LCB0cnVlLCBOb3JtYWws
ICJhbGxvdyB0aGUgYXdhaXQga2V5d29yZCBhdCB0aGUgdG9wIGxldmVsIG9mIGEgbW9kdWxlLiIp
IFwKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9wZXJhdGlv
bnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbU9wZXJhdGlvbnMuY3BwCmlu
ZGV4IDc2ZTVmZmUwY2VjOTRiMmExZjE1Nzk4ZjZlNWZkYTRjOGNmYWVhNzIuLjQ1NmU1Mjg4MjA2
Y2M1NjVmZWIzOGM5YzNjZmEyZTY1MGYxN2UyOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dhc21PcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XYXNtT3BlcmF0aW9ucy5jcHAKQEAgLTkzNCw3ICs5MzQsNyBAQCBKU0NfREVGSU5F
X0pJVF9PUEVSQVRJT04ob3BlcmF0aW9uV2FzbVRvSlNFeGNlcHRpb24sIHZvaWQqLCAoQ2FsbEZy
YW1lKiBjYWxsRnJhbQogICAgICAgICBpZiAodHlwZSA9PSBFeGNlcHRpb25UeXBlOjpTdGFja092
ZXJmbG93KQogICAgICAgICAgICAgZXJyb3IgPSBjcmVhdGVTdGFja092ZXJmbG93RXJyb3IoZ2xv
YmFsT2JqZWN0KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgZXJyb3IgPSBKU1dlYkFzc2Vt
Ymx5UnVudGltZUVycm9yOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2JqZWN0LT53
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvclN0cnVjdHVyZSgpLCBXYXNtOjplcnJvck1lc3NhZ2VGb3JF
eGNlcHRpb25UeXBlKHR5cGUpKTsKKyAgICAgICAgICAgIGVycm9yID0gY3JlYXRlSlNXZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvcihnbG9iYWxPYmplY3QsIHZtLCBXYXNtOjplcnJvck1lc3NhZ2VGb3JF
eGNlcHRpb25UeXBlKHR5cGUpKTsKICAgICAgICAgdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0
LCB0aHJvd1Njb3BlLCBlcnJvcik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwCmluZGV4
IDMzMDgyYjUwNTc3NTBhY2Y5ZmMwMzQ3N2UwZGRjOWRlMTJjNjY4ODAuLjE4OGYxNDNlYmRjNTU2
ODMwYmIwNjNiN2VhMDkwMWRmMWUxZjNiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IuY3BwCkBAIC0y
OCwzMCArMjgsMTQgQEAKIAogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKIAotI2luY2x1ZGUgIkpT
Q2VsbElubGluZXMuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvciogSlNXZWJBc3NlbWJseUNvbXBpbGVF
cnJvcjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKLXsKLSAgICBhdXRvKiBpbnN0
YW5jZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTV2ViQXNzZW1ibHlDb21waWxlRXJy
b3I+KHZtLmhlYXApKSBKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yKHZtLCBzdHJ1Y3R1cmUpOwot
ICAgIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZTsKLSAgICBpbnN0YW5jZS0+ZmluaXNoQ3Jl
YXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWVzc2FnZSwganNVbmRlZmluZWQoKSwgZGVmYXVsdFNv
dXJjZUFwcGVuZGVyLCBUeXBlTm90aGluZywgdXNlQ3VycmVudEZyYW1lKTsKLSAgICByZXR1cm4g
aW5zdGFuY2U7Ci19Ci0KLUpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OkpTV2ViQXNzZW1ibHlD
b21waWxlRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0s
IHN0cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJvcikKLXsKLX0KLQotY29uc3QgQ2xhc3NJbmZvIEpT
V2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OnNfaW5mbyA9IHsgIldlYkFzc2VtYmx5LkNvbXBpbGVF
cnJvciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFC
TEUoSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvcikgfTsKLQotICAgIAogSlNPYmplY3QqIGNyZWF0
ZUpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Vk0mIHZtLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlz
RW1wdHkoKSk7Ci0gICAgcmV0dXJuIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3I6OmNyZWF0ZShn
bG9iYWxPYmplY3QsIHZtLCBnbG9iYWxPYmplY3QtPndlYkFzc2VtYmx5Q29tcGlsZUVycm9yU3Ry
dWN0dXJlKCksIG1lc3NhZ2UpOworICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xv
YmFsT2JqZWN0LCB2bSwgZ2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseUNvbXBpbGVFcnJvclN0cnVj
dHVyZSgpLCBtZXNzYWdlLCBqc1VuZGVmaW5lZCgpLCBkZWZhdWx0U291cmNlQXBwZW5kZXIsIFR5
cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCB0cnVlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
SlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2Vt
Ymx5Q29tcGlsZUVycm9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5Q29tcGlsZUVycm9yLmgKaW5kZXggNzJmZDA0ZWU3NjAwMjQzODE2ZGFkNjQ3OTc0OGE2
YjAxMTQxNTlhNy4uN2U4MWRlMTg5YmYwMGVkNzEwMDVjY2Y0MGRkY2JlYmM1Y2ZjOThkNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUNvbXBp
bGVFcnJvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1i
bHlDb21waWxlRXJyb3IuaApAQCAtMzEsMjMgKzMxLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAK
LWNsYXNzIEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IgZmluYWwgOiBwdWJsaWMgRXJyb3JJbnN0
YW5jZSB7Ci1wdWJsaWM6Ci0gICAgdXNpbmcgQmFzZSA9IEVycm9ySW5zdGFuY2U7Ci0KLSAgICBz
dGF0aWMgSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvciogY3JlYXRlKEpTR2xvYmFsT2JqZWN0Kiwg
Vk0mLCBTdHJ1Y3R1cmUqLCBjb25zdCBTdHJpbmcmKTsKLSAgICBzdGF0aWMgSlNXZWJBc3NlbWJs
eUNvbXBpbGVFcnJvciogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVmFsdWUgbWVzc2FnZSkKLSAgICB7Ci0gICAgICAg
IHJldHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgc3RydWN0dXJlLCBtZXNzYWdlLmlzVW5k
ZWZpbmVkKCkgPyBTdHJpbmcoKSA6IG1lc3NhZ2UudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KSk7
Ci0gICAgfQotCi0gICAgREVDTEFSRV9JTkZPOwotCi1wcml2YXRlOgotICAgIEpTV2ViQXNzZW1i
bHlDb21waWxlRXJyb3IoVk0mLCBTdHJ1Y3R1cmUqKTsKLX07Ci1TVEFUSUNfQVNTRVJUX0lTT19T
VUJTUEFDRV9TSEFSQUJMRShKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCBFcnJvckluc3RhbmNl
KTsKLQogSlNPYmplY3QqIGNyZWF0ZUpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IoSlNHbG9iYWxP
YmplY3QqLCBWTSYsIGNvbnN0IFN0cmluZyYpOwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5j
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5SW5zdGFu
Y2UuY3BwCmluZGV4IDQ2MThlZWQ3ODhjMGI4ODliN2E0YTExYWRmMDM1MDVlZTVjZjcxOGUuLjY4
MDg3ZTU1MGViNjA3ODVmMTQyMjgwY2RkNDIyYTViM2VmZDA3MzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlJbnN0YW5jZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseUluc3RhbmNlLmNwcApA
QCAtMTEyLDcgKzExMiw3IEBAIHZvaWQgSlNXZWJBc3NlbWJseUluc3RhbmNlOjpmaW5hbGl6ZUNy
ZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjCiAgICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCiAgICAgaWYgKCF3YXNtQ29kZUJsb2NrLT5y
dW5uYWJsZSgpKSB7Ci0gICAgICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9iamVjdCwgc2NvcGUs
IEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCB0aGlzLT5n
bG9iYWxPYmplY3QoKS0+d2ViQXNzZW1ibHlMaW5rRXJyb3JTdHJ1Y3R1cmUoKSwgd2FzbUNvZGVC
bG9jay0+ZXJyb3JNZXNzYWdlKCkpKTsKKyAgICAgICAgdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2Jq
ZWN0LCBzY29wZSwgY3JlYXRlSlNXZWJBc3NlbWJseUxpbmtFcnJvcihnbG9iYWxPYmplY3QsIHZt
LCB3YXNtQ29kZUJsb2NrLT5lcnJvck1lc3NhZ2UoKSkpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC0xMjgsNyArMTI4LDcgQEAgdm9pZCBKU1dlYkFzc2VtYmx5SW5zdGFuY2U6OmZpbmFs
aXplQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWMKICAgICB9IGVs
c2UgewogICAgICAgICBqc0NvZGVCbG9jayA9IEpTV2ViQXNzZW1ibHlDb2RlQmxvY2s6OmNyZWF0
ZSh2bSwgV1RGTW92ZSh3YXNtQ29kZUJsb2NrKSwgbW9kdWxlKCktPm1vZHVsZSgpLm1vZHVsZUlu
Zm9ybWF0aW9uKCkpOwogICAgICAgICBpZiAoVU5MSUtFTFkoIWpzQ29kZUJsb2NrLT5ydW5uYWJs
ZSgpKSkgewotICAgICAgICAgICAgdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBzY29wZSwg
SlNXZWJBc3NlbWJseUxpbmtFcnJvcjo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIHRoaXMtPmds
b2JhbE9iamVjdCgpLT53ZWJBc3NlbWJseUxpbmtFcnJvclN0cnVjdHVyZSgpLCBqc0NvZGVCbG9j
ay0+ZXJyb3JNZXNzYWdlKCkpKTsKKyAgICAgICAgICAgIHRocm93RXhjZXB0aW9uKGdsb2JhbE9i
amVjdCwgc2NvcGUsIGNyZWF0ZUpTV2ViQXNzZW1ibHlMaW5rRXJyb3IoZ2xvYmFsT2JqZWN0LCB2
bSwganNDb2RlQmxvY2stPmVycm9yTWVzc2FnZSgpKSk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICAgICAgbV9jb2RlQmxvY2suc2V0KHZtLCB0aGlzLCBqc0NvZGVCbG9jayk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
TGlua0Vycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1i
bHlMaW5rRXJyb3IuY3BwCmluZGV4IDZjODI2NGJjNmQzMDRmYjZhMmNhNGIzZmQ3ODYzZjA3NjFk
MWExNTYuLjNhYjEzOTUxZWI3NDZhMjc5NzE4YjBlMGM2NDAzZmYyODQxNzRmYzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3Iu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5r
RXJyb3IuY3BwCkBAIC0yOCwzMCArMjgsMTQgQEAKIAogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkK
IAotI2luY2x1ZGUgIkpTQ2VsbElubGluZXMuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKIAotSlNXZWJBc3NlbWJseUxpbmtFcnJvciogSlNXZWJBc3Nl
bWJseUxpbmtFcnJvcjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2
bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKLXsKLSAgICBh
dXRvKiBpbnN0YW5jZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTV2ViQXNzZW1ibHlM
aW5rRXJyb3I+KHZtLmhlYXApKSBKU1dlYkFzc2VtYmx5TGlua0Vycm9yKHZtLCBzdHJ1Y3R1cmUp
OwotICAgIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZTsKLSAgICBpbnN0YW5jZS0+ZmluaXNo
Q3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWVzc2FnZSwganNVbmRlZmluZWQoKSwgZGVmYXVs
dFNvdXJjZUFwcGVuZGVyLCBUeXBlTm90aGluZywgdXNlQ3VycmVudEZyYW1lKTsKLSAgICByZXR1
cm4gaW5zdGFuY2U7Ci19Ci0KLUpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OkpTV2ViQXNzZW1ibHlM
aW5rRXJyb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICA6IEJhc2Uodm0sIHN0
cnVjdHVyZSwgRXJyb3JUeXBlOjpFcnJvcikKLXsKLX0KLQotY29uc3QgQ2xhc3NJbmZvIEpTV2Vi
QXNzZW1ibHlMaW5rRXJyb3I6OnNfaW5mbyA9IHsgIldlYkFzc2VtYmx5LkxpbmtFcnJvciIsICZC
YXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNXZWJB
c3NlbWJseUxpbmtFcnJvcikgfTsKLQotICAgIAogSlNPYmplY3QqIGNyZWF0ZUpTV2ViQXNzZW1i
bHlMaW5rRXJyb3IoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgQVNTRVJUKCFtZXNzYWdlLmlzRW1wdHkoKSk7Ci0gICAg
cmV0dXJuIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3I6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBn
bG9iYWxPYmplY3QtPndlYkFzc2VtYmx5TGlua0Vycm9yU3RydWN0dXJlKCksIG1lc3NhZ2UpOwor
ICAgIHJldHVybiBFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgZ2xvYmFs
T2JqZWN0LT53ZWJBc3NlbWJseUxpbmtFcnJvclN0cnVjdHVyZSgpLCBtZXNzYWdlLCBqc1VuZGVm
aW5lZCgpLCBkZWZhdWx0U291cmNlQXBwZW5kZXIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVy
cm9yLCB0cnVlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TGlua0Vycm9yLmgKaW5kZXggNzE3
MzdkY2I1NTZiMjQ5NmY3ZGFmM2U3MjIxNmI1MWZjYzBmYjJlMS4uM2U1MTJkZWNkYTFlZGI3MDhm
YWM2NDFmMjVjY2EwZTkyODI4MmQ4MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvSlNXZWJBc3NlbWJseUxpbmtFcnJvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlMaW5rRXJyb3IuaApAQCAtMzEsMjMgKzMxLDYgQEAK
IAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIEpTV2ViQXNzZW1ibHlMaW5rRXJyb3IgZmluYWwg
OiBwdWJsaWMgRXJyb3JJbnN0YW5jZSB7Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiBFcnJvckluc3Rh
bmNlIEJhc2U7Ci0KLSAgICBzdGF0aWMgSlNXZWJBc3NlbWJseUxpbmtFcnJvciogY3JlYXRlKEpT
R2xvYmFsT2JqZWN0KiwgVk0mLCBTdHJ1Y3R1cmUqLCBjb25zdCBTdHJpbmcmKTsKLSAgICBzdGF0
aWMgSlNXZWJBc3NlbWJseUxpbmtFcnJvciogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVmFsdWUgbWVzc2FnZSkKLSAg
ICB7Ci0gICAgICAgIHJldHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgc3RydWN0dXJlLCBt
ZXNzYWdlLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmcoKSA6IG1lc3NhZ2UudG9XVEZTdHJpbmcoZ2xv
YmFsT2JqZWN0KSk7Ci0gICAgfQotCi0gICAgREVDTEFSRV9JTkZPOwotCi1wcml2YXRlOgotICAg
IEpTV2ViQXNzZW1ibHlMaW5rRXJyb3IoVk0mLCBTdHJ1Y3R1cmUqKTsKLX07Ci1TVEFUSUNfQVNT
RVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1dlYkFzc2VtYmx5TGlua0Vycm9yLCBFcnJvcklu
c3RhbmNlKTsKLQogSlNPYmplY3QqIGNyZWF0ZUpTV2ViQXNzZW1ibHlMaW5rRXJyb3IoSlNHbG9i
YWxPYmplY3QqLCBWTSYsIGNvbnN0IFN0cmluZyYpOwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlNb2R1
bGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVs
ZS5jcHAKaW5kZXggNGYwNzdmNWNhM2ZkM2YwMWE0MzdkZDg5YzAzOGNlM2ZkODUzNTUyMS4uZDhh
NzU1MWMyMzdkNTJkMGQ5OWQ2YzkyZmE5ZjQwMWI0ZGRiMGIxMCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1vZHVsZS5jcHAKQEAgLTQ0
LDcgKzQ0LDcgQEAgSlNXZWJBc3NlbWJseU1vZHVsZSogSlNXZWJBc3NlbWJseU1vZHVsZTo6Y3Jl
YXRlU3R1YihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG8KIHsKICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgaWYgKCFyZXN1bHQuaGFzX3ZhbHVlKCkpIHsK
LSAgICAgICAgYXV0byogZXJyb3IgPSBKU1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yOjpjcmVhdGUo
Z2xvYmFsT2JqZWN0LCB2bSwgc3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKS0+d2ViQXNzZW1ibHlD
b21waWxlRXJyb3JTdHJ1Y3R1cmUoKSwgcmVzdWx0LmVycm9yKCkpOworICAgICAgICBhdXRvKiBl
cnJvciA9IGNyZWF0ZUpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IoZ2xvYmFsT2JqZWN0LCB2bSwg
cmVzdWx0LmVycm9yKCkpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxs
cHRyKTsKICAgICAgICAgdGhyb3dFeGNlcHRpb24oZ2xvYmFsT2JqZWN0LCBzY29wZSwgZXJyb3Ip
OwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5jcHAKaW5kZXggY2Rl
OTliMTdkZDQxYWIxMzU2ZTBhNGM4OTdjMzdkMzY4MmIxOTU2Yi4uYzAxNjhhNTI2NDEzNmQwMTM4
Y2IwY2ZiMDcyNDE0MjNkMjMzOTNlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5jcHAKQEAgLTI4LDI5
ICsyOCwxNCBAQAogCiAjaWYgRU5BQkxFKFdFQkFTU0VNQkxZKQogCi0jaW5jbHVkZSAiSlNDZWxs
SW5saW5lcy5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0Mg
ewogCi1KU1dlYkFzc2VtYmx5UnVudGltZUVycm9yKiBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9y
OjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQotewotICAgIGF1dG8qIGluc3RhbmNl
ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcj4o
dm0uaGVhcCkpIEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3Iodm0sIHN0cnVjdHVyZSk7Ci0gICAg
Ym9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlOwotICAgIGluc3RhbmNlLT5maW5pc2hDcmVhdGlv
bih2bSwgZ2xvYmFsT2JqZWN0LCBtZXNzYWdlLCBqc1VuZGVmaW5lZCgpLCBkZWZhdWx0U291cmNl
QXBwZW5kZXIsIFR5cGVOb3RoaW5nLCB1c2VDdXJyZW50RnJhbWUpOwotICAgIHJldHVybiBpbnN0
YW5jZTsKLX0KLQotSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcjo6SlNXZWJBc3NlbWJseVJ1bnRp
bWVFcnJvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDogQmFzZSh2bSwgc3Ry
dWN0dXJlLCBFcnJvclR5cGU6OkVycm9yKQotewotfQotCi1jb25zdCBDbGFzc0luZm8gSlNXZWJB
c3NlbWJseVJ1bnRpbWVFcnJvcjo6c19pbmZvID0geyAiV2ViQXNzZW1ibHkuUnVudGltZUVycm9y
IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShK
U1dlYkFzc2VtYmx5UnVudGltZUVycm9yKSB9OwotCiBKU09iamVjdCogY3JlYXRlSlNXZWJBc3Nl
bWJseVJ1bnRpbWVFcnJvcihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBBU1NFUlQoIW1lc3NhZ2UuaXNFbXB0eSgpKTsK
LSAgICByZXR1cm4gSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvcjo6Y3JlYXRlKGdsb2JhbE9iamVj
dCwgdm0sIGdsb2JhbE9iamVjdC0+d2ViQXNzZW1ibHlSdW50aW1lRXJyb3JTdHJ1Y3R1cmUoKSwg
bWVzc2FnZSk7CisgICAgcmV0dXJuIEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3Qs
IHZtLCBnbG9iYWxPYmplY3QtPndlYkFzc2VtYmx5UnVudGltZUVycm9yU3RydWN0dXJlKCksIG1l
c3NhZ2UsIGpzVW5kZWZpbmVkKCksIGRlZmF1bHRTb3VyY2VBcHBlbmRlciwgVHlwZU5vdGhpbmcs
IEVycm9yVHlwZTo6RXJyb3IsIHRydWUpOwogfQogICAgIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5
UnVudGltZUVycm9yLmgKaW5kZXggZDQwYmJkMGQ0NDNjNDBhYjBhMzUyZmQ4YzgyNTU4ZTAzODZl
ODNiMC4uYmU0MTMwOTBkMzI3NGM2MThmYWZkNDliMTE2N2IwZDIyMjdjZTVmYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJv
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNzZW1ibHlSdW50
aW1lRXJyb3IuaApAQCAtMzEsMTkgKzMxLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNz
IEpTV2ViQXNzZW1ibHlSdW50aW1lRXJyb3IgZmluYWwgOiBwdWJsaWMgRXJyb3JJbnN0YW5jZSB7
Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiBFcnJvckluc3RhbmNlIEJhc2U7Ci0KLSAgICBzdGF0aWMg
SlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvciogY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgVk0mLCBT
dHJ1Y3R1cmUqLCBjb25zdCBTdHJpbmcmKTsKLQotICAgIERFQ0xBUkVfSU5GTzsKLQotcHJpdmF0
ZToKLSAgICBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yKFZNJiwgU3RydWN0dXJlKik7Ci19Owot
U1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNXZWJBc3NlbWJseVJ1bnRpbWVF
cnJvciwgRXJyb3JJbnN0YW5jZSk7Ci0KIEpTT2JqZWN0KiBjcmVhdGVKU1dlYkFzc2VtYmx5UnVu
dGltZUVycm9yKEpTR2xvYmFsT2JqZWN0KiwgVk0mLCBjb25zdCBTdHJpbmcmKTsKIAogfSAvLyBu
YW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseUNvbXBpbGVFcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4
IGVjNmM3MzViZTBjM2Q0ZWRjZDgxZWU4NTUxM2IyZTI1NjdiOGFjZGQuLmRjNGEzZTU3Mzc3MDQ3
MjZkYWFhMWQ0OTIxNzQ4ZjVjZmJmNzExZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29u
c3RydWN0b3IuY3BwCkBAIC01MSwxOSArNTEsMjEgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9O
KGNvbnN0cnVjdEpTV2ViQXNzZW1ibHlDb21waWxlRXJyb3IsIChKU0dsb2JhbE9iamVjdCogZ2wK
ICAgICBhdXRvJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5h
cmd1bWVudCgwKTsKKyAgICBKU1ZhbHVlIG9wdGlvbnMgPSBPcHRpb25zOjp1c2VFcnJvckNhdXNl
KCkgPyBjYWxsRnJhbWUtPmFyZ3VtZW50KDEpIDoganNVbmRlZmluZWQoKTsKIAogICAgIEpTT2Jq
ZWN0KiBuZXdUYXJnZXQgPSBhc09iamVjdChjYWxsRnJhbWUtPm5ld1RhcmdldCgpKTsKICAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IEpTQ19HRVRfREVSSVZFRF9TVFJVQ1RVUkUodm0sIHdlYkFz
c2VtYmx5Q29tcGlsZUVycm9yU3RydWN0dXJlLCBuZXdUYXJnZXQsIGNhbGxGcmFtZS0+anNDYWxs
ZWUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKIAotICAgIFJFTEVB
U0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5jb2RlKEpTV2ViQXNzZW1ibHlDb21waWxl
RXJyb3I6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2UpKSk7Cisg
ICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5j
ZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgc3RydWN0dXJlLCBtZXNzYWdlLCBvcHRpb25zLCBudWxs
cHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2UpKSk7CiB9CiAKIEpTQ19E
RUZJTkVfSE9TVF9GVU5DVElPTihjYWxsSlNXZWJBc3NlbWJseUNvbXBpbGVFcnJvciwgKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKSkKIHsKICAgICBK
U1ZhbHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgIEpTVmFsdWUgb3B0
aW9ucyA9IE9wdGlvbnM6OnVzZUVycm9yQ2F1c2UoKSA/IGNhbGxGcmFtZS0+YXJndW1lbnQoMSkg
OiBqc1VuZGVmaW5lZCgpOwogICAgIFN0cnVjdHVyZSogZXJyb3JTdHJ1Y3R1cmUgPSBnbG9iYWxP
YmplY3QtPndlYkFzc2VtYmx5Q29tcGlsZUVycm9yU3RydWN0dXJlKCk7Ci0gICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0
cnVjdHVyZSwgbWVzc2FnZSwganNVbmRlZmluZWQoKSwgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVy
cm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShFcnJv
ckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBlcnJvclN0cnVjdHVyZSwgbWVzc2FnZSwg
b3B0aW9ucywgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNlKSk7
CiB9CiAKIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yQ29uc3RydWN0b3IqIFdlYkFzc2VtYmx5Q29t
cGlsZUVycm9yQ29uc3RydWN0b3I6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBXZWJBc3NlbWJseUNvbXBpbGVFcnJvclByb3RvdHlwZSogdGhpc1Byb3RvdHlwZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TGlua0Vycm9y
Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1i
bHlMaW5rRXJyb3JDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOTllMTA4NGY3MTEwNTQ5NjUzMjliN2Q2
NDcyZDNlZjk0NGQ0OTliNS4uYmJhYzNkNGFjZTIyNmMxNDRlYjQzNzQ5MDk4ZTczMTE3OTQ4MWI3
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlM
aW5rRXJyb3JDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rvci5jcHAKQEAgLTUxLDE5ICs1MSwyMSBA
QCBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY29uc3RydWN0SlNXZWJBc3NlbWJseUxpbmtFcnJv
ciwgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYQogICAgIGF1dG8mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU1Zh
bHVlIG1lc3NhZ2UgPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOworICAgIEpTVmFsdWUgb3B0aW9u
cyA9IE9wdGlvbnM6OnVzZUVycm9yQ2F1c2UoKSA/IGNhbGxGcmFtZS0+YXJndW1lbnQoMSkgOiBq
c1VuZGVmaW5lZCgpOwogCiAgICAgSlNPYmplY3QqIG5ld1RhcmdldCA9IGFzT2JqZWN0KGNhbGxG
cmFtZS0+bmV3VGFyZ2V0KCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gSlNDX0dFVF9E
RVJJVkVEX1NUUlVDVFVSRSh2bSwgd2ViQXNzZW1ibHlMaW5rRXJyb3JTdHJ1Y3R1cmUsIG5ld1Rh
cmdldCwgY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB7IH0pOwogCi0gICAgUkVMRUFTRV9BTkRfUkVUVVJOKHNjb3BlLCBKU1ZhbHVlOjplbmNv
ZGUoSlNXZWJBc3NlbWJseUxpbmtFcnJvcjo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIHN0cnVj
dHVyZSwgbWVzc2FnZSkpKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4oc2NvcGUsIEpTVmFsdWU6
OmVuY29kZShFcnJvckluc3RhbmNlOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUsIG1l
c3NhZ2UsIG9wdGlvbnMsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBm
YWxzZSkpKTsKIH0KIAogSlNDX0RFRklORV9IT1NUX0ZVTkNUSU9OKGNhbGxKU1dlYkFzc2VtYmx5
TGlua0Vycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpKQogewogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7
CisgICAgSlNWYWx1ZSBvcHRpb25zID0gT3B0aW9uczo6dXNlRXJyb3JDYXVzZSgpID8gY2FsbEZy
YW1lLT5hcmd1bWVudCgxKSA6IGpzVW5kZWZpbmVkKCk7CiAgICAgU3RydWN0dXJlKiBlcnJvclN0
cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+d2ViQXNzZW1ibHlMaW5rRXJyb3JTdHJ1Y3R1cmUoKTsK
LSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxP
YmplY3QsIGVycm9yU3RydWN0dXJlLCBtZXNzYWdlLCBqc1VuZGVmaW5lZCgpLCBudWxscHRyLCBU
eXBlTm90aGluZywgRXJyb3JUeXBlOjpFcnJvciwgZmFsc2UpKTsKKyAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIGVycm9yU3RydWN0
dXJlLCBtZXNzYWdlLCBvcHRpb25zLCBudWxscHRyLCBUeXBlTm90aGluZywgRXJyb3JUeXBlOjpF
cnJvciwgZmFsc2UpKTsKIH0KIAogV2ViQXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3RvciogV2Vi
QXNzZW1ibHlMaW5rRXJyb3JDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIFdlYkFzc2VtYmx5TGlua0Vycm9yUHJvdG90eXBlKiB0aGlzUHJvdG90eXBlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlSdW50
aW1lRXJyb3JDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcAppbmRleCA0MDkwM2I1N2U4N2Vj
MjAyZDEyMjI0MDU3ZGQ5YWFhYzA4ZmRmZGNhLi43OTcwNGYzNTU2N2VhNGI3YjhlNjQ1ZGI0M2I2
NTMxNTVlNDJjOWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9X
ZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yLmNwcApA
QCAtNTEsMjEgKzUxLDIxIEBAIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjb25zdHJ1Y3RKU1dl
YkFzc2VtYmx5UnVudGltZUVycm9yLCAoSlNHbG9iYWxPYmplY3QqIGdsCiAgICAgYXV0byYgdm0g
PSBnbG9iYWxPYmplY3QtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwogICAgIEpTVmFsdWUgbWVzc2FnZSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7Ci0g
ICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmcgPSBtZXNzYWdlLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmco
KSA6IG1lc3NhZ2UudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKLSAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICBKU1ZhbHVlIG9wdGlvbnMgPSBP
cHRpb25zOjp1c2VFcnJvckNhdXNlKCkgPyBjYWxsRnJhbWUtPmFyZ3VtZW50KDEpIDoganNVbmRl
ZmluZWQoKTsKIAogICAgIEpTT2JqZWN0KiBuZXdUYXJnZXQgPSBhc09iamVjdChjYWxsRnJhbWUt
Pm5ld1RhcmdldCgpKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IEpTQ19HRVRfREVSSVZF
RF9TVFJVQ1RVUkUodm0sIHdlYkFzc2VtYmx5UnVudGltZUVycm9yU3RydWN0dXJlLCBuZXdUYXJn
ZXQsIGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgeyB9KTsKIAotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNXZWJBc3NlbWJseVJ1bnRp
bWVFcnJvcjo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgdm0sIHN0cnVjdHVyZSwgV1RGTW92ZShtZXNz
YWdlU3RyaW5nKSkpOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTihzY29wZSwgSlNWYWx1ZTo6ZW5j
b2RlKEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgbWVzc2Fn
ZSwgb3B0aW9ucywgbnVsbHB0ciwgVHlwZU5vdGhpbmcsIEVycm9yVHlwZTo6RXJyb3IsIGZhbHNl
KSkpOwogfQogCiBKU0NfREVGSU5FX0hPU1RfRlVOQ1RJT04oY2FsbEpTV2ViQXNzZW1ibHlSdW50
aW1lRXJyb3IsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxG
cmFtZSkpCiB7CiAgICAgSlNWYWx1ZSBtZXNzYWdlID0gY2FsbEZyYW1lLT5hcmd1bWVudCgwKTsK
KyAgICBKU1ZhbHVlIG9wdGlvbnMgPSBPcHRpb25zOjp1c2VFcnJvckNhdXNlKCkgPyBjYWxsRnJh
bWUtPmFyZ3VtZW50KDEpIDoganNVbmRlZmluZWQoKTsKICAgICBTdHJ1Y3R1cmUqIGVycm9yU3Ry
dWN0dXJlID0gZ2xvYmFsT2JqZWN0LT53ZWJBc3NlbWJseVJ1bnRpbWVFcnJvclN0cnVjdHVyZSgp
OwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2Jh
bE9iamVjdCwgZXJyb3JTdHJ1Y3R1cmUsIG1lc3NhZ2UsIGpzVW5kZWZpbmVkKCksIG51bGxwdHIs
IFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6OkVycm9yLCBmYWxzZSkpOworICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoRXJyb3JJbnN0YW5jZTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgZXJyb3JTdHJ1
Y3R1cmUsIG1lc3NhZ2UsIG9wdGlvbnMsIG51bGxwdHIsIFR5cGVOb3RoaW5nLCBFcnJvclR5cGU6
OkVycm9yLCBmYWxzZSkpOwogfQogCiBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9y
KiBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvckNvbnN0cnVjdG9yOjpjcmVhdGUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5cGUqIHRoaXNQ
cm90b3R5cGUpCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGM3MDA4NTMzYWNlOWYxMDA1ZTEwODg3NDc2ZjJkYWVhNjhlMjhhYmUuLjc1Mjkx
ZDQ2NmI2YTAzNGE3OTA5NThhMWVmYzQyMTU3MDg0NGI1MjYgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEt
MDMtMTcgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAg
IFtKU0NdIEVycm9yI2NhdXNlIHNob3VsZCBhcHBseSB0byBXZWJBc3NlbWJseSBlcnJvciBjb25z
dHJ1Y3RvcnMgdG9vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjM0MDQKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAg
ICAgICogc3RyZXNzL2Vycm9yLWNhdXNlLmpzOgorICAgICAgICBSdW4gdGVzdHMgb24gV2ViQXNz
ZW1ibHkgZXJyb3JzIHRvby4KKworICAgICAgICAqIHdhc20vanMtYXBpL3Rlc3RfYmFzaWNfYXBp
LmpzOgorICAgICAgICBGaXggdGVzdC4gVGhpcyBiZWhhdmlvciB3YXMgaW5jb25zaXN0ZW50IHdp
dGggYWxsIG90aGVyIGVycm9yIHR5cGVzIChhbmQgZGl2ZXJnZW50IGZyb20gYWxsIG90aGVyIGVu
Z2luZXMpLgorCiAyMDIxLTAzLTE2ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255
LmNvbT4KIAogICAgICAgICBbSlNDXSBJbXBsZW1lbnQgRXJyb3IjY2F1c2UKZGlmZiAtLWdpdCBh
L0pTVGVzdHMvc3RyZXNzL2Vycm9yLWNhdXNlLmpzIGIvSlNUZXN0cy9zdHJlc3MvZXJyb3ItY2F1
c2UuanMKaW5kZXggNzBlNDgwYzc4YjNjNTY5NjhkNTIwOTI5ZmNkY2UxMWVlMjQxMmEwNC4uMzZj
NjQ4MjMyN2Y4MGRjZjQ5NzMzYzBiYjc1ZWFmNzgyMTRkMzg0ZSAxMDA2NDQKLS0tIGEvSlNUZXN0
cy9zdHJlc3MvZXJyb3ItY2F1c2UuanMKKysrIGIvSlNUZXN0cy9zdHJlc3MvZXJyb3ItY2F1c2Uu
anMKQEAgLTQsNiArNCw5IEBAIGZ1bmN0aW9uIHNob3VsZEJlKGFjdHVhbCwgZXhwZWN0ZWQpIHsK
IH0KIAogY29uc3QgZXJyb3JDb25zdHJ1Y3RvcnMgPSBbRXJyb3IsIEV2YWxFcnJvciwgUmFuZ2VF
cnJvciwgUmVmZXJlbmNlRXJyb3IsIFN5bnRheEVycm9yLCBUeXBlRXJyb3IsIFVSSUVycm9yLCBB
Z2dyZWdhdGVFcnJvcl07CitpZiAodHlwZW9mIFdlYkFzc2VtYmx5ICE9PSAndW5kZWZpbmVkJykK
KyAgICBlcnJvckNvbnN0cnVjdG9ycy5wdXNoKFdlYkFzc2VtYmx5LkNvbXBpbGVFcnJvciwgV2Vi
QXNzZW1ibHkuTGlua0Vycm9yLCBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IpOworCiBjb25zdCBj
b25zdHJ1Y3RFcnJvciA9IChFLCAuLi5hcmdzKSA9PiBFID09PSBBZ2dyZWdhdGVFcnJvciA/IG5l
dyBFKFtdLCAnJywgLi4uYXJncykgOiBuZXcgRSgnJywgLi4uYXJncyk7CiAKIGZvciAoY29uc3Qg
RSBvZiBlcnJvckNvbnN0cnVjdG9ycykgewpkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNtL2pzLWFw
aS90ZXN0X2Jhc2ljX2FwaS5qcyBiL0pTVGVzdHMvd2FzbS9qcy1hcGkvdGVzdF9iYXNpY19hcGku
anMKaW5kZXggZjNmZmY0NGJiNTIyYjBmZGMwODRmZTI4NjMwNWZjNDVlYzJmY2RjMC4uMTBmOGE0
N2JhZjE4OTVkNDhjNGZhYTUyNjg3ZDZkOTgzYzM1Zjk2ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy93
YXNtL2pzLWFwaS90ZXN0X2Jhc2ljX2FwaS5qcworKysgYi9KU1Rlc3RzL3dhc20vanMtYXBpL3Rl
c3RfYmFzaWNfYXBpLmpzCkBAIC0xMDgsNyArMTA4LDcgQEAgZm9yIChjb25zdCBjIGluIGNvbnN0
cnVjdG9yUHJvcGVydGllcykgewogICAgICAgICAgICAgYXNzZXJ0LmVxKHR5cGVvZiBlLnN0YWNr
LCAic3RyaW5nIik7CiAgICAgICAgICAgICBjb25zdCBzaWxseVN0cmluZyA9ICJ1aC1vaCEiOwog
ICAgICAgICAgICAgY29uc3QgZTIgPSBuZXcgV2ViQXNzZW1ibHlbY10oc2lsbHlTdHJpbmcpOwot
ICAgICAgICAgICAgYXNzZXJ0LmVxKGUyLm1lc3NhZ2UsIHNpbGx5U3RyaW5nICsgIiAoZXZhbHVh
dGluZyAnbmV3IFdlYkFzc2VtYmx5W2NdKHNpbGx5U3RyaW5nKScpIik7CisgICAgICAgICAgICBh
c3NlcnQuZXEoZTIubWVzc2FnZSwgc2lsbHlTdHJpbmcpOwogICAgICAgICB9CiAgICAgICAgIHsK
ICAgICAgICAgICAgIGNvbnN0IGUgPSBXZWJBc3NlbWJseVtjXSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>