<?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>185118</bug_id>
          
          <creation_ts>2018-04-29 06:30:19 -0700</creation_ts>
          <short_desc>REGRESSION(r231137): It is breaking Test262 language/expressions/multiplication/order-of-evaluation.js (Requested by caiolima on #webkit).</short_desc>
          <delta_ts>2018-04-29 06:34:19 -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>
          
          
          <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>
          
          <blocked>183721</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>saam</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1418875</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-29 06:30:19 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/231137 broke the build:
It is breaking Test262 language/expressions/multiplication/order-of-evaluation.js (Requested by caiolima on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418877</commentid>
    <comment_count>1</comment_count>
      <attachid>339091</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-29 06:30:27 -0700</bug_when>
    <thetext>Created attachment 339091
ROLLOUT of r231137

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418878</commentid>
    <comment_count>2</comment_count>
      <attachid>339091</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-29 06:33:30 -0700</bug_when>
    <thetext>Comment on attachment 339091
ROLLOUT of r231137

Clearing flags on attachment: 339091

Committed r231147: &lt;https://trac.webkit.org/changeset/231147&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418879</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-29 06:33:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418880</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-29 06:34:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/39824053&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339091</attachid>
            <date>2018-04-29 06:30:27 -0700</date>
            <delta_ts>2018-04-29 06:33:30 -0700</delta_ts>
            <desc>ROLLOUT of r231137</desc>
            <filename>bug-185118-20180429093026.patch</filename>
            <type>text/plain</type>
            <size>44359</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NzM2YTMxNDYxYzVlOGYyNTZhNjlhMzk5Y2U1MThlM2M1ODM4YTU0Li5jMzgwMzRkN2QzOTNjNmI4
Y2M1NGY5YzZmZmQ5ODgyZGEwZWE2YTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOC0wNC0yOSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIzMTEzNy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTExOAorCisgICAg
ICAgIEl0IGlzIGJyZWFraW5nIFRlc3QyNjIgbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvbXVsdGlwbGlj
YXRpb24KKyAgICAgICAgL29yZGVyLW9mLWV2YWx1YXRpb24uanMgKFJlcXVlc3RlZCBieSBjYWlv
bGltYSBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAg
ICAgIltFU05leHRdW0JpZ0ludF0gSW1wbGVtZW50IHN1cHBvcnQgZm9yICIqIiBvcGVyYXRpb24i
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM3MjEK
KyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIzMTEzNworCiAyMDE4
LTA0LTI4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIFdlIGRv
bid0IG1vZGVsIHJlZ2V4cCBlZmZlY3RzIHByb3Blcmx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCmluZGV4IGU0NjUwYWMz
MDgwZjZiNDIwYjYzNzhiNjY1Y2VkNTI2YmI5ZGU1YTcuLmNlZTY1NjIzNDMxNzcwZjRiZjQwMmFk
YTBjODc3MzU4ZjgwMGI2N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCkBAIC0xNDYsMTQgKzE0NiwxNCBAQCBwcml2
YXRlOgogICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIGNoaWxkMkNvbnN0YW50ID0gbV9zdGF0
ZS5mb3JOb2RlKG5vZGUtPmNoaWxkMigpLm5vZGUoKSkudmFsdWUoKTsKIAogICAgICAgICAgICAg
ICAgICAgICAvLyBGSVhNRTogUmV2aXNpdCB0aGlzIGNvbmRpdGlvbiB3aGVuIGludHJvZHVjaW5n
IEJpZ0ludCB0byBKU0MuCi0gICAgICAgICAgICAgICAgICAgIGF1dG8gaXNOb25TdHJpbmdPckJp
Z0ludENlbGxDb25zdGFudCA9IFtdIChKU1ZhbHVlIHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUuaXNDZWxsKCkgJiYgIXZhbHVlLmlzU3RyaW5n
KCkgJiYgIXZhbHVlLmlzQmlnSW50KCk7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gaXNOb25T
dHJpbmdDZWxsQ29uc3RhbnQgPSBbXSAoSlNWYWx1ZSB2YWx1ZSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlLmlzQ2VsbCgpICYmICF2YWx1ZS5pc1N0cmlu
ZygpOwogICAgICAgICAgICAgICAgICAgICB9OwogCi0gICAgICAgICAgICAgICAgICAgIGlmIChp
c05vblN0cmluZ09yQmlnSW50Q2VsbENvbnN0YW50KGNoaWxkMUNvbnN0YW50KSkgeworICAgICAg
ICAgICAgICAgICAgICBpZiAoaXNOb25TdHJpbmdDZWxsQ29uc3RhbnQoY2hpbGQxQ29uc3RhbnQp
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9Db21wYXJlRXFQdHIo
bV9ncmFwaC5mcmVlemVTdHJvbmcoY2hpbGQxQ29uc3RhbnQuYXNDZWxsKCkpLCBub2RlLT5jaGls
ZDIoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIGlmIChpc05vblN0cmluZ09yQmlnSW50Q2VsbENvbnN0YW50KGNo
aWxkMkNvbnN0YW50KSkgeworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzTm9uU3Ry
aW5nQ2VsbENvbnN0YW50KGNoaWxkMkNvbnN0YW50KSkgewogICAgICAgICAgICAgICAgICAgICAg
ICAgbm9kZS0+Y29udmVydFRvQ29tcGFyZUVxUHRyKG1fZ3JhcGguZnJlZXplU3Ryb25nKGNoaWxk
MkNvbnN0YW50LmFzQ2VsbCgpKSwgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgY2hhbmdlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IDYyZmMxYjAyMmFjOTdjYmQ4
ODgxNDE5MjIyMmM2Mjc0OWQyN2Y1YjYuLjM2NWJiNzM3NTVhN2E0NTRjZjA4NTQzNmM2Mzc4ZDFi
ZjczZmVjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNw
cApAQCAtMjU1NCwyMyArMjU1NCwzNCBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblZhbHVlQWRkTm9PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZQogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAotQUxXQVlTX0lOTElORSBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgdW5wcm9maWxlZE11bChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpCitBTFdBWVNfSU5MSU5F
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSB1bnByb2ZpbGVkTXVsKFZNJiB2bSwgRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3Ay
KQogeworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBKU1Zh
bHVlIG9wMSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkT3AxKTsKICAgICBKU1ZhbHVlIG9wMiA9
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkT3AyKTsKIAotICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNNdWwoZXhlYywgb3AxLCBvcDIpKTsKKyAgICBkb3VibGUgYSA9IG9wMS50b051bWJlcihl
eGVjKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsK
KyAgICBzY29wZS5yZWxlYXNlKCk7CisgICAgZG91YmxlIGIgPSBvcDIudG9OdW1iZXIoZXhlYyk7
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc051bWJlcihhICogYikpOwogfQogCi1BTFdB
WVNfSU5MSU5FIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBwcm9maWxlZE11bChFeGVjU3RhdGUqIGV4
ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIs
IEFyaXRoUHJvZmlsZSYgYXJpdGhQcm9maWxlLCBib29sIHNob3VsZE9ic2VydmVMSFNBbmRSSFNU
eXBlcyA9IHRydWUpCitBTFdBWVNfSU5MSU5FIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBwcm9maWxl
ZE11bChWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMiwgQXJpdGhQcm9maWxlJiBhcml0aFByb2ZpbGUsIGJv
b2wgc2hvdWxkT2JzZXJ2ZUxIU0FuZFJIU1R5cGVzID0gdHJ1ZSkKIHsKKyAgICBhdXRvIHNjb3Bl
ID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgSlNWYWx1ZSBvcDEgPSBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZE9wMSk7CiAgICAgSlNWYWx1ZSBvcDIgPSBKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZE9wMik7CiAKICAgICBpZiAoc2hvdWxkT2JzZXJ2ZUxIU0FuZFJIU1R5cGVzKQogICAgICAg
ICBhcml0aFByb2ZpbGUub2JzZXJ2ZUxIU0FuZFJIUyhvcDEsIG9wMik7CiAKLSAgICBKU1ZhbHVl
IHJlc3VsdCA9IGpzTXVsKGV4ZWMsIG9wMSwgb3AyKTsKKyAgICBkb3VibGUgYSA9IG9wMS50b051
bWJlcihleGVjKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1
ZSgpKTsKKyAgICBkb3VibGUgYiA9IG9wMi50b051bWJlcihleGVjKTsKKyAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICAKKyAgICBKU1ZhbHVlIHJl
c3VsdCA9IGpzTnVtYmVyKGEgKiBiKTsKICAgICBhcml0aFByb2ZpbGUub2JzZXJ2ZVJlc3VsdChy
ZXN1bHQpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KQEAgLTI1ODAs
NyArMjU5MSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmFsdWVN
dWwoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlCiAgICAgVk0qIHZtID0gJmV4ZWMt
PnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CiAKLSAg
ICByZXR1cm4gdW5wcm9maWxlZE11bChleGVjLCBlbmNvZGVkT3AxLCBlbmNvZGVkT3AyKTsKKyAg
ICByZXR1cm4gdW5wcm9maWxlZE11bCgqdm0sIGV4ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIp
OwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlTXVsTm9P
cHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRPcDIsIEpJVE11bElDKikKQEAgLTI1ODgsNyArMjU5OSw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmFsdWVNdWxOb09wdGltaXplKEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlCiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7CiAKLSAgICByZXR1cm4gdW5wcm9m
aWxlZE11bChleGVjLCBlbmNvZGVkT3AxLCBlbmNvZGVkT3AyKTsKKyAgICByZXR1cm4gdW5wcm9m
aWxlZE11bCgqdm0sIGV4ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRPcDIpOwogfQogCiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlTXVsT3B0aW1pemUoRXhlY1N0YXRl
KiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
T3AyLCBKSVRNdWxJQyogbXVsSUMpCkBAIC0yNjA1LDcgKzI2MTYsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlTXVsT3B0aW1pemUoRXhlY1N0YXRlKiBleGVj
LCBFbmNvZGVkSgogICAgIGV4ZWMtPmNvZGVCbG9jaygpLT5kdW1wTWF0aElDU3RhdHMoKTsKICNl
bmRpZgogCi0gICAgcmV0dXJuIHVucHJvZmlsZWRNdWwoZXhlYywgZW5jb2RlZE9wMSwgZW5jb2Rl
ZE9wMik7CisgICAgcmV0dXJuIHVucHJvZmlsZWRNdWwoKnZtLCBleGVjLCBlbmNvZGVkT3AxLCBl
bmNvZGVkT3AyKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25W
YWx1ZU11bFByb2ZpbGVkKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9w
MSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMiwgQXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUp
CkBAIC0yNjE0LDcgKzI2MjUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblZhbHVlTXVsUHJvZmlsZWQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSgogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwogCiAgICAgQVNTRVJUKGFyaXRoUHJv
ZmlsZSk7Ci0gICAgcmV0dXJuIHByb2ZpbGVkTXVsKGV4ZWMsIGVuY29kZWRPcDEsIGVuY29kZWRP
cDIsICphcml0aFByb2ZpbGUpOworICAgIHJldHVybiBwcm9maWxlZE11bCgqdm0sIGV4ZWMsIGVu
Y29kZWRPcDEsIGVuY29kZWRPcDIsICphcml0aFByb2ZpbGUpOwogfQogCiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlTXVsUHJvZmlsZWRPcHRpbWl6ZShFeGVjU3Rh
dGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRPcDIsIEpJVE11bElDKiBtdWxJQykKQEAgLTI2MzIsNyArMjY0Myw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmFsdWVNdWxQcm9maWxlZE9wdGltaXplKEV4ZWNT
dGF0ZSogZXhlYywKICAgICBleGVjLT5jb2RlQmxvY2soKS0+ZHVtcE1hdGhJQ1N0YXRzKCk7CiAj
ZW5kaWYKIAotICAgIHJldHVybiBwcm9maWxlZE11bChleGVjLCBlbmNvZGVkT3AxLCBlbmNvZGVk
T3AyLCAqYXJpdGhQcm9maWxlLCBmYWxzZSk7CisgICAgcmV0dXJuIHByb2ZpbGVkTXVsKCp2bSwg
ZXhlYywgZW5jb2RlZE9wMSwgZW5jb2RlZE9wMiwgKmFyaXRoUHJvZmlsZSwgZmFsc2UpOwogfQog
CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlTXVsUHJvZmlsZWRO
b09wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZE9wMiwgSklUTXVsSUMqIG11bElDKQpAQCAtMjY0Miw3ICsyNjUz
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYWx1ZU11bFByb2Zp
bGVkTm9PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMKIAogICAgIEFyaXRoUHJvZmlsZSogYXJpdGhQ
cm9maWxlID0gbXVsSUMtPmFyaXRoUHJvZmlsZSgpOwogICAgIEFTU0VSVChhcml0aFByb2ZpbGUp
OwotICAgIHJldHVybiBwcm9maWxlZE11bChleGVjLCBlbmNvZGVkT3AxLCBlbmNvZGVkT3AyLCAq
YXJpdGhQcm9maWxlKTsKKyAgICByZXR1cm4gcHJvZmlsZWRNdWwoKnZtLCBleGVjLCBlbmNvZGVk
T3AxLCBlbmNvZGVkT3AyLCAqYXJpdGhQcm9maWxlKTsKIH0KIAogQUxXQVlTX0lOTElORSBzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgdW5wcm9maWxlZE5lZ2F0ZShFeGVjU3RhdGUqIGV4ZWMsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRPcGVyYW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKaW5kZXggMWMwMzkxYmEwMTlhN2Q5NWMwMzNjYTFj
M2I3ZWJjYjBlNjFhYmQzMy4uZTZjMWE0NGQ2N2Y0MjE0NTI4NWZiMGQyMDA3NDVkYmNiM2E3ZGY3
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1Bh
dGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0
aHMuY3BwCkBAIC00ODYsMjYgKzQ4NiwxMCBAQCBTTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbXVs
KQogICAgIEJFR0lOKCk7CiAgICAgSlNWYWx1ZSBsZWZ0ID0gT1BfQygyKS5qc1ZhbHVlKCk7CiAg
ICAgSlNWYWx1ZSByaWdodCA9IE9QX0MoMykuanNWYWx1ZSgpOwotICAgIEpTVmFsdWUgbGVmdFBy
aW1pdGl2ZSA9IGxlZnQudG9QcmltaXRpdmUoZXhlYywgUHJlZmVyTnVtYmVyKTsgCi0gICAgQ0hF
Q0tfRVhDRVBUSU9OKCk7Ci0gICAgSlNWYWx1ZSByaWdodFByaW1pdGl2ZSA9IHJpZ2h0LnRvUHJp
bWl0aXZlKGV4ZWMsIFByZWZlck51bWJlcik7Ci0gICAgQ0hFQ0tfRVhDRVBUSU9OKCk7Ci0gICAg
Ci0gICAgaWYgKGxlZnRQcmltaXRpdmUuaXNCaWdJbnQoKSB8fCByaWdodFByaW1pdGl2ZS5pc0Jp
Z0ludCgpKSB7Ci0gICAgICAgIGlmIChsZWZ0UHJpbWl0aXZlLmlzQmlnSW50KCkgJiYgcmlnaHRQ
cmltaXRpdmUuaXNCaWdJbnQoKSkgewotICAgICAgICAgICAgSlNWYWx1ZSByZXN1bHQoSlNCaWdJ
bnQ6Om11bHRpcGx5KGV4ZWMsIGFzQmlnSW50KGxlZnRQcmltaXRpdmUpLCBhc0JpZ0ludChyaWdo
dFByaW1pdGl2ZSkpKTsKLSAgICAgICAgICAgIFJFVFVSTl9XSVRIX1BST0ZJTElORyhyZXN1bHQs
IHsKLSAgICAgICAgICAgICAgICB1cGRhdGVBcml0aFByb2ZpbGVGb3JCaW5hcnlBcml0aE9wKGV4
ZWMsIHBjLCByZXN1bHQsIGxlZnQsIHJpZ2h0KTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9
Ci0KLSAgICAgICAgVEhST1coY3JlYXRlVHlwZUVycm9yKGV4ZWMsICJJbnZhbGlkIG1peCBvZiBC
aWdJbnQgYW5kIG90aGVyIHR5cGUgaW4gbXVsdGlwbGljYXRpb24uIikpOwotICAgIH0KLQotICAg
IGRvdWJsZSBhID0gbGVmdFByaW1pdGl2ZS50b051bWJlcihleGVjKTsKLSAgICBDSEVDS19FWENF
UFRJT04oKTsKLSAgICBkb3VibGUgYiA9IHJpZ2h0UHJpbWl0aXZlLnRvTnVtYmVyKGV4ZWMpOwot
ICAgIENIRUNLX0VYQ0VQVElPTigpOworICAgIGRvdWJsZSBhID0gbGVmdC50b051bWJlcihleGVj
KTsKKyAgICBpZiAoVU5MSUtFTFkodGhyb3dTY29wZS5leGNlcHRpb24oKSkpCisgICAgICAgIFJF
VFVSTihKU1ZhbHVlKCkpOworICAgIGRvdWJsZSBiID0gcmlnaHQudG9OdW1iZXIoZXhlYyk7CiAg
ICAgSlNWYWx1ZSByZXN1bHQgPSBqc051bWJlcihhICogYik7CiAgICAgUkVUVVJOX1dJVEhfUFJP
RklMSU5HKHJlc3VsdCwgewogICAgICAgICB1cGRhdGVBcml0aFByb2ZpbGVGb3JCaW5hcnlBcml0
aE9wKGV4ZWMsIHBjLCByZXN1bHQsIGxlZnQsIHJpZ2h0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQmlnSW50LmNwcAppbmRleCA5MTk3YjlhMWE0NGRjNTExMjcwMmRhNzhhMTg4
OTgwNzhmMmQ2NDlmLi5jNTFjOGIyMTBkOTNjMTdmOTY0MDBlZmU3N2RhYTY3MmEyNTlhNmQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuY3BwCkBAIC02OSw3ICs2
OSw3IEBAIHZvaWQgSlNCaWdJbnQ6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90Vmlz
aXRvciYgdmlzaXRvcikKICAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0
b3IpOwogfQogCi1KU0JpZ0ludDo6SlNCaWdJbnQoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgdW5zaWduZWQgbGVuZ3RoKQorSlNCaWdJbnQ6OkpTQmlnSW50KFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIGludCBsZW5ndGgpCiAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCiAgICAg
LCBtX2xlbmd0aChsZW5ndGgpCiB7IH0KQEAgLTkzLDEzICs5MywxMyBAQCBKU0JpZ0ludCogSlNC
aWdJbnQ6OmNyZWF0ZVplcm8oVk0mIHZtKQogICAgIHJldHVybiB6ZXJvQmlnSW50OwogfQogCi1z
aXplX3QgSlNCaWdJbnQ6OmFsbG9jYXRpb25TaXplKHVuc2lnbmVkIGxlbmd0aCkKK3NpemVfdCBK
U0JpZ0ludDo6YWxsb2NhdGlvblNpemUoaW50IGxlbmd0aCkKIHsKICAgICBzaXplX3Qgc2l6ZVdp
dGhQYWRkaW5nID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mPHNpemVvZihzaXplX3QpPihzaXpl
b2YoSlNCaWdJbnQpKTsKICAgICByZXR1cm4gc2l6ZVdpdGhQYWRkaW5nICsgbGVuZ3RoICogc2l6
ZW9mKERpZ2l0KTsKIH0KIAotSlNCaWdJbnQqIEpTQmlnSW50OjpjcmVhdGVXaXRoTGVuZ3RoKFZN
JiB2bSwgdW5zaWduZWQgbGVuZ3RoKQorSlNCaWdJbnQqIEpTQmlnSW50OjpjcmVhdGVXaXRoTGVu
Z3RoKFZNJiB2bSwgaW50IGxlbmd0aCkKIHsKICAgICBKU0JpZ0ludCogYmlnSW50ID0gbmV3IChO
b3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNCaWdJbnQ+KHZtLmhlYXAsIGFsbG9jYXRpb25TaXplKGxl
bmd0aCkpKSBKU0JpZ0ludCh2bSwgdm0uYmlnSW50U3RydWN0dXJlLmdldCgpLCBsZW5ndGgpOwog
ICAgIGJpZ0ludC0+ZmluaXNoQ3JlYXRpb24odm0pOwpAQCAtMjIzLDcgKzIyMyw3IEBAIEpTQmln
SW50KiBKU0JpZ0ludDo6cGFyc2VJbnQoRXhlY1N0YXRlKiBzdGF0ZSwgVk0mIHZtLCBTdHJpbmdW
aWV3IHMsIHVpbnQ4X3QgcmFkCiAgICAgcmV0dXJuIHBhcnNlSW50KHN0YXRlLCB2bSwgcy5jaGFy
YWN0ZXJzMTYoKSwgcy5sZW5ndGgoKSwgMCwgcmFkaXgsIGZhbHNlKTsKIH0KIAotU3RyaW5nIEpT
QmlnSW50Ojp0b1N0cmluZyhFeGVjU3RhdGUmIHN0YXRlLCB1bnNpZ25lZCByYWRpeCkKK1N0cmlu
ZyBKU0JpZ0ludDo6dG9TdHJpbmcoRXhlY1N0YXRlJiBzdGF0ZSwgaW50IHJhZGl4KQogewogICAg
IGlmICh0aGlzLT5pc1plcm8oKSkKICAgICAgICAgcmV0dXJuIHN0YXRlLnZtKCkuc21hbGxTdHJp
bmdzLnNpbmdsZUNoYXJhY3RlclN0cmluZ1JlcCgnMCcpOwpAQCAtMjQ2LDI2ICsyNDYsNiBAQCB2
b2lkIEpTQmlnSW50OjppbnBsYWNlTXVsdGlwbHlBZGQodWludHB0cl90IGZhY3RvciwgdWludHB0
cl90IHN1bW1hbmQpCiAgICAgaW50ZXJuYWxNdWx0aXBseUFkZCh0aGlzLCBmYWN0b3IsIHN1bW1h
bmQsIGxlbmd0aCgpLCB0aGlzKTsKIH0KIAotSlNCaWdJbnQqIEpTQmlnSW50OjptdWx0aXBseShF
eGVjU3RhdGUqIHN0YXRlLCBKU0JpZ0ludCogeCwgSlNCaWdJbnQqIHkpCi17Ci0gICAgVk0mIHZt
ID0gc3RhdGUtPnZtKCk7Ci0KLSAgICBpZiAoeC0+aXNaZXJvKCkpCi0gICAgICAgIHJldHVybiB4
OwotICAgIGlmICh5LT5pc1plcm8oKSkKLSAgICAgICAgcmV0dXJuIHk7Ci0KLSAgICB1bnNpZ25l
ZCByZXN1bHRMZW5ndGggPSB4LT5sZW5ndGgoKSArIHktPmxlbmd0aCgpOwotICAgIEpTQmlnSW50
KiByZXN1bHQgPSBKU0JpZ0ludDo6Y3JlYXRlV2l0aExlbmd0aCh2bSwgcmVzdWx0TGVuZ3RoKTsK
LSAgICByZXN1bHQtPmluaXRpYWxpemUoSW5pdGlhbGl6YXRpb25UeXBlOjpXaXRoWmVybyk7Ci0K
LSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgeC0+bGVuZ3RoKCk7IGkrKykKLSAgICAgICAg
bXVsdGlwbHlBY2N1bXVsYXRlKHksIHgtPmRpZ2l0KGkpLCByZXN1bHQsIGkpOwotCi0gICAgcmVz
dWx0LT5zZXRTaWduKHgtPnNpZ24oKSAhPSB5LT5zaWduKCkpOwotICAgIHJldHVybiByZXN1bHQt
PnJpZ2h0VHJpbSh2bSk7Ci19Ci0KICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogI2RlZmluZSBIQVZF
X1RXT19ESUdJVCAxCiB0eXBlZGVmIHVpbnQ2NF90IFR3b0RpZ2l0OwpAQCAtMzk4LDkgKzM3OCw5
IEBAIEpTQmlnSW50OjpEaWdpdCBKU0JpZ0ludDo6ZGlnaXREaXYoRGlnaXQgaGlnaCwgRGlnaXQg
bG93LCBEaWdpdCBkaXZpc29yLCBEaWdpdCYKICAgICBzdGF0aWMgY29uc3QgRGlnaXQga0hhbGZE
aWdpdEJhc2UgPSAxdWxsIDw8IGhhbGZEaWdpdEJpdHM7CiAgICAgLy8gQWRhcHRlZCBmcm9tIFdh
cnJlbiwgSGFja2VyJ3MgRGVsaWdodCwgcC4gMTUyLgogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAg
dW5zaWduZWQgcyA9IGNsejY0KGRpdmlzb3IpOworICAgIGludCBzID0gY2x6NjQoZGl2aXNvcik7
CiAjZWxzZQotICAgIHVuc2lnbmVkIHMgPSBjbHozMihkaXZpc29yKTsKKyAgICBpbnQgcyA9IGNs
ejMyKGRpdmlzb3IpOwogI2VuZGlmCiAgICAgZGl2aXNvciA8PD0gczsKICAgICAKQEAgLTQ0Mywx
NCArNDIzLDE0IEBAIEpTQmlnSW50OjpEaWdpdCBKU0JpZ0ludDo6ZGlnaXREaXYoRGlnaXQgaGln
aCwgRGlnaXQgbG93LCBEaWdpdCBkaXZpc29yLCBEaWdpdCYKIAogLy8gTXVsdGlwbGllcyB7c291
cmNlfSB3aXRoIHtmYWN0b3J9IGFuZCBhZGRzIHtzdW1tYW5kfSB0byB0aGUgcmVzdWx0LgogLy8g
e3Jlc3VsdH0gYW5kIHtzb3VyY2V9IG1heSBiZSB0aGUgc2FtZSBCaWdJbnQgZm9yIGlucGxhY2Ug
bW9kaWZpY2F0aW9uLgotdm9pZCBKU0JpZ0ludDo6aW50ZXJuYWxNdWx0aXBseUFkZChKU0JpZ0lu
dCogc291cmNlLCBEaWdpdCBmYWN0b3IsIERpZ2l0IHN1bW1hbmQsIHVuc2lnbmVkIG4sIEpTQmln
SW50KiByZXN1bHQpCit2b2lkIEpTQmlnSW50OjppbnRlcm5hbE11bHRpcGx5QWRkKEpTQmlnSW50
KiBzb3VyY2UsIERpZ2l0IGZhY3RvciwgRGlnaXQgc3VtbWFuZCwgaW50IG4sIEpTQmlnSW50KiBy
ZXN1bHQpCiB7CiAgICAgQVNTRVJUKHNvdXJjZS0+bGVuZ3RoKCkgPj0gbik7CiAgICAgQVNTRVJU
KHJlc3VsdC0+bGVuZ3RoKCkgPj0gbik7CiAKICAgICBEaWdpdCBjYXJyeSA9IHN1bW1hbmQ7CiAg
ICAgRGlnaXQgaGlnaCA9IDA7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG47IGkrKykg
eworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgIERpZ2l0IGN1cnJl
bnQgPSBzb3VyY2UtPmRpZ2l0KGkpOwogICAgICAgICBEaWdpdCBuZXdDYXJyeSA9IDA7CiAKQEAg
LTQ3OCw0OSArNDU4LDYgQEAgdm9pZCBKU0JpZ0ludDo6aW50ZXJuYWxNdWx0aXBseUFkZChKU0Jp
Z0ludCogc291cmNlLCBEaWdpdCBmYWN0b3IsIERpZ2l0IHN1bW1hbmQKICAgICAgICAgQVNTRVJU
KCEoY2FycnkgKyBoaWdoKSk7CiB9CiAKLS8vIE11bHRpcGxpZXMge211bHRpcGxpY2FuZH0gd2l0
aCB7bXVsdGlwbGllcn0gYW5kIGFkZHMgdGhlIHJlc3VsdCB0bwotLy8ge2FjY3VtdWxhdG9yfSwg
c3RhcnRpbmcgYXQge2FjY3VtdWxhdG9ySW5kZXh9IGZvciB0aGUgbGVhc3Qtc2lnbmlmaWNhbnQK
LS8vIGRpZ2l0LgotLy8gQ2FsbGVycyBtdXN0IGVuc3VyZSB0aGF0IHthY2N1bXVsYXRvcn0gaXMg
YmlnIGVub3VnaCB0byBob2xkIHRoZSByZXN1bHQuCi12b2lkIEpTQmlnSW50OjptdWx0aXBseUFj
Y3VtdWxhdGUoSlNCaWdJbnQqIG11bHRpcGxpY2FuZCwgRGlnaXQgbXVsdGlwbGllciwgSlNCaWdJ
bnQqIGFjY3VtdWxhdG9yLCB1bnNpZ25lZCBhY2N1bXVsYXRvckluZGV4KQotewotICAgIEFTU0VS
VChhY2N1bXVsYXRvci0+bGVuZ3RoKCkgPiBtdWx0aXBsaWNhbmQtPmxlbmd0aCgpICsgYWNjdW11
bGF0b3JJbmRleCk7Ci0gICAgaWYgKCFtdWx0aXBsaWVyKQotICAgICAgICByZXR1cm47Ci0gICAg
Ci0gICAgRGlnaXQgY2FycnkgPSAwOwotICAgIERpZ2l0IGhpZ2ggPSAwOwotICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBtdWx0aXBsaWNhbmQtPmxlbmd0aCgpOyBpKyssIGFjY3VtdWxhdG9y
SW5kZXgrKykgewotICAgICAgICBEaWdpdCBhY2MgPSBhY2N1bXVsYXRvci0+ZGlnaXQoYWNjdW11
bGF0b3JJbmRleCk7Ci0gICAgICAgIERpZ2l0IG5ld0NhcnJ5ID0gMDsKLSAgICAgICAgCi0gICAg
ICAgIC8vIEFkZCBsYXN0IHJvdW5kJ3MgY2FycnlvdmVycy4KLSAgICAgICAgYWNjID0gZGlnaXRB
ZGQoYWNjLCBoaWdoLCBuZXdDYXJyeSk7Ci0gICAgICAgIGFjYyA9IGRpZ2l0QWRkKGFjYywgY2Fy
cnksIG5ld0NhcnJ5KTsKLSAgICAgICAgCi0gICAgICAgIC8vIENvbXB1dGUgdGhpcyByb3VuZCdz
IG11bHRpcGxpY2F0aW9uLgotICAgICAgICBEaWdpdCBtdWx0aXBsaWNhbmREaWdpdCA9IG11bHRp
cGxpY2FuZC0+ZGlnaXQoaSk7Ci0gICAgICAgIERpZ2l0IGxvdyA9IGRpZ2l0TXVsKG11bHRpcGxp
ZXIsIG11bHRpcGxpY2FuZERpZ2l0LCBoaWdoKTsKLSAgICAgICAgYWNjID0gZGlnaXRBZGQoYWNj
LCBsb3csIG5ld0NhcnJ5KTsKLSAgICAgICAgCi0gICAgICAgIC8vIFN0b3JlIHJlc3VsdCBhbmQg
cHJlcGFyZSBmb3IgbmV4dCByb3VuZC4KLSAgICAgICAgYWNjdW11bGF0b3ItPnNldERpZ2l0KGFj
Y3VtdWxhdG9ySW5kZXgsIGFjYyk7Ci0gICAgICAgIGNhcnJ5ID0gbmV3Q2Fycnk7Ci0gICAgfQot
ICAgIAotICAgIHdoaWxlIChjYXJyeSB8fCBoaWdoKSB7Ci0gICAgICAgIEFTU0VSVChhY2N1bXVs
YXRvckluZGV4IDwgYWNjdW11bGF0b3ItPmxlbmd0aCgpKTsKLSAgICAgICAgRGlnaXQgYWNjID0g
YWNjdW11bGF0b3ItPmRpZ2l0KGFjY3VtdWxhdG9ySW5kZXgpOwotICAgICAgICBEaWdpdCBuZXdD
YXJyeSA9IDA7Ci0gICAgICAgIGFjYyA9IGRpZ2l0QWRkKGFjYywgaGlnaCwgbmV3Q2FycnkpOwot
ICAgICAgICBoaWdoID0gMDsKLSAgICAgICAgYWNjID0gZGlnaXRBZGQoYWNjLCBjYXJyeSwgbmV3
Q2FycnkpOwotICAgICAgICBhY2N1bXVsYXRvci0+c2V0RGlnaXQoYWNjdW11bGF0b3JJbmRleCwg
YWNjKTsKLSAgICAgICAgY2FycnkgPSBuZXdDYXJyeTsKLSAgICAgICAgYWNjdW11bGF0b3JJbmRl
eCsrOwotICAgIH0KLX0KLQogYm9vbCBKU0JpZ0ludDo6ZXF1YWxzKEpTQmlnSW50KiB4LCBKU0Jp
Z0ludCogeSkKIHsKICAgICBpZiAoeC0+c2lnbigpICE9IHktPnNpZ24oKSkKQEAgLTUyOSw3ICs0
NjYsNyBAQCBib29sIEpTQmlnSW50OjplcXVhbHMoSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KQog
ICAgIGlmICh4LT5sZW5ndGgoKSAhPSB5LT5sZW5ndGgoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHgtPmxlbmd0aCgpOyBpKyspIHsKKyAg
ICBmb3IgKGludCBpID0gMDsgaSA8IHgtPmxlbmd0aCgpOyBpKyspIHsKICAgICAgICAgaWYgKHgt
PmRpZ2l0KGkpICE9IHktPmRpZ2l0KGkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IH0KQEAgLTU1Nyw3ICs0OTQsNyBAQCB2b2lkIEpTQmlnSW50OjphYnNvbHV0ZURpdlNtYWxsKEV4
ZWNTdGF0ZSYgc3RhdGUsIEpTQmlnSW50KiB4LCBEaWdpdCBkaXZpc29yLCBKUwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgdW5zaWduZWQgbGVuZ3RoID0geC0+bGVuZ3RoKCk7CisgICAg
aW50IGxlbmd0aCA9IHgtPmxlbmd0aCgpOwogICAgIGlmIChxdW90aWVudCAhPSBudWxscHRyKSB7
CiAgICAgICAgIGlmICgqcXVvdGllbnQgPT0gbnVsbHB0cikKICAgICAgICAgICAgICpxdW90aWVu
dCA9IEpTQmlnSW50OjpjcmVhdGVXaXRoTGVuZ3RoKHZtLCBsZW5ndGgpOwpAQCAtNTg0LDE0ICs1
MjEsMTQgQEAgY29uc3RleHByIHVpbnQ4X3QgbWF4Qml0c1BlckNoYXJUYWJsZVtdID0gewogICAg
IDE2MiwgMTYzLCAxNjUsIDE2NiwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMzMuLjM2CiB9
OwogCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgYml0c1BlckNoYXJUYWJsZVNoaWZ0ID0gNTsKK3N0
YXRpYyBjb25zdCBpbnQgYml0c1BlckNoYXJUYWJsZVNoaWZ0ID0gNTsKIHN0YXRpYyBjb25zdCBz
aXplX3QgYml0c1BlckNoYXJUYWJsZU11bHRpcGxpZXIgPSAxdSA8PCBiaXRzUGVyQ2hhclRhYmxl
U2hpZnQ7CiAKIC8vIENvbXB1dGUgKGFuIG92ZXJhcHByb3hpbWF0aW9uIG9mKSB0aGUgbGVuZ3Ro
IG9mIHRoZSByZXN1bHRpbmcgc3RyaW5nOgogLy8gRGl2aWRlIGJpdCBsZW5ndGggb2YgdGhlIEJp
Z0ludCBieSBiaXRzIHJlcHJlc2VudGFibGUgcGVyIGNoYXJhY3Rlci4KLXVpbnQ2NF90IEpTQmln
SW50OjpjYWxjdWxhdGVNYXhpbXVtQ2hhcmFjdGVyc1JlcXVpcmVkKHVuc2lnbmVkIGxlbmd0aCwg
dW5zaWduZWQgcmFkaXgsIERpZ2l0IGxhc3REaWdpdCwgYm9vbCBzaWduKQordWludDY0X3QgSlNC
aWdJbnQ6OmNhbGN1bGF0ZU1heGltdW1DaGFyYWN0ZXJzUmVxdWlyZWQoaW50IGxlbmd0aCwgaW50
IHJhZGl4LCBEaWdpdCBsYXN0RGlnaXQsIGJvb2wgc2lnbikKIHsKLSAgICB1bnNpZ25lZCBsZWFk
aW5nWmVyb3M7CisgICAgaW50IGxlYWRpbmdaZXJvczsKICAgICBpZiAoc2l6ZW9mKGxhc3REaWdp
dCkgPT0gOCkKICAgICAgICAgbGVhZGluZ1plcm9zID0gY2x6NjQobGFzdERpZ2l0KTsKICAgICBl
bHNlCkBAIC02MTksNyArNTU2LDcgQEAgdWludDY0X3QgSlNCaWdJbnQ6OmNhbGN1bGF0ZU1heGlt
dW1DaGFyYWN0ZXJzUmVxdWlyZWQodW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZAogICAgIHJldHVy
biBtYXhpbXVtQ2hhcmFjdGVyc1JlcXVpcmVkOwogfQogCi1TdHJpbmcgSlNCaWdJbnQ6OnRvU3Ry
aW5nR2VuZXJpYyhFeGVjU3RhdGUmIHN0YXRlLCBKU0JpZ0ludCogeCwgdW5zaWduZWQgcmFkaXgp
CitTdHJpbmcgSlNCaWdJbnQ6OnRvU3RyaW5nR2VuZXJpYyhFeGVjU3RhdGUmIHN0YXRlLCBKU0Jp
Z0ludCogeCwgaW50IHJhZGl4KQogewogICAgIC8vIEZJWE1FOiBbSlNDXSBSZXZpc2l0IHVzYWdl
IG9mIFN0cmluZ1ZlY3RvciBpbnRvIEpTQmlnSW50Ojp0b1N0cmluZwogICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA2NwpAQCAtNjI4LDcgKzU2NSw3IEBA
IFN0cmluZyBKU0JpZ0ludDo6dG9TdHJpbmdHZW5lcmljKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTQmln
SW50KiB4LCB1bnNpZ25lZCByYWRpeCkKICAgICBBU1NFUlQocmFkaXggPj0gMiAmJiByYWRpeCA8
PSAzNik7CiAgICAgQVNTRVJUKCF4LT5pc1plcm8oKSk7CiAKLSAgICB1bnNpZ25lZCBsZW5ndGgg
PSB4LT5sZW5ndGgoKTsKKyAgICBpbnQgbGVuZ3RoID0geC0+bGVuZ3RoKCk7CiAgICAgYm9vbCBz
aWduID0geC0+c2lnbigpOwogCiAgICAgdWludDhfdCBtYXhCaXRzUGVyQ2hhciA9IG1heEJpdHNQ
ZXJDaGFyVGFibGVbcmFkaXhdOwpAQCAtNjQ0LDEyICs1ODEsMTIgQEAgU3RyaW5nIEpTQmlnSW50
Ojp0b1N0cmluZ0dlbmVyaWMoRXhlY1N0YXRlJiBzdGF0ZSwgSlNCaWdJbnQqIHgsIHVuc2lnbmVk
IHJhZGl4KQogICAgIGlmIChsZW5ndGggPT0gMSkKICAgICAgICAgbGFzdERpZ2l0ID0geC0+ZGln
aXQoMCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIHVuc2lnbmVkIGNodW5rQ2hhcnMgPSBkaWdpdEJp
dHMgKiBiaXRzUGVyQ2hhclRhYmxlTXVsdGlwbGllciAvIG1heEJpdHNQZXJDaGFyOworICAgICAg
ICBpbnQgY2h1bmtDaGFycyA9IGRpZ2l0Qml0cyAqIGJpdHNQZXJDaGFyVGFibGVNdWx0aXBsaWVy
IC8gbWF4Qml0c1BlckNoYXI7CiAgICAgICAgIERpZ2l0IGNodW5rRGl2aXNvciA9IGRpZ2l0UG93
KHJhZGl4LCBjaHVua0NoYXJzKTsKIAogICAgICAgICAvLyBCeSBjb25zdHJ1Y3Rpb24gb2YgY2h1
bmtDaGFycywgdGhlcmUgY2FuJ3QgaGF2ZSBiZWVuIG92ZXJmbG93LgogICAgICAgICBBU1NFUlQo
Y2h1bmtEaXZpc29yKTsKLSAgICAgICAgdW5zaWduZWQgbm9uWmVyb0RpZ2l0ID0gbGVuZ3RoIC0g
MTsKKyAgICAgICAgaW50IG5vblplcm9EaWdpdCA9IGxlbmd0aCAtIDE7CiAgICAgICAgIEFTU0VS
VCh4LT5kaWdpdChub25aZXJvRGlnaXQpKTsKIAogICAgICAgICAvLyB7cmVzdH0gaG9sZHMgdGhl
IHBhcnQgb2YgdGhlIEJpZ0ludCB0aGF0IHdlIGhhdmVuJ3QgbG9va2VkIGF0IHlldC4KQEAgLTY2
NSw3ICs2MDIsNyBAQCBTdHJpbmcgSlNCaWdJbnQ6OnRvU3RyaW5nR2VuZXJpYyhFeGVjU3RhdGUm
IHN0YXRlLCBKU0JpZ0ludCogeCwgdW5zaWduZWQgcmFkaXgpCiAgICAgICAgICAgICBBU1NFUlQo
cmVzdCk7CiAKICAgICAgICAgICAgIGRpdmlkZW5kID0gJnJlc3Q7Ci0gICAgICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgY2h1bmtDaGFyczsgaSsrKSB7CisgICAgICAgICAgICBmb3Ig
KGludCBpID0gMDsgaSA8IGNodW5rQ2hhcnM7IGkrKykgewogICAgICAgICAgICAgICAgIHJlc3Vs
dFN0cmluZy5hcHBlbmQocmFkaXhEaWdpdHNbY2h1bmsgJSByYWRpeF0pOwogICAgICAgICAgICAg
ICAgIGNodW5rIC89IHJhZGl4OwogICAgICAgICAgICAgfQpAQCAtNjkwLDcgKzYyNyw3IEBAIFN0
cmluZyBKU0JpZ0ludDo6dG9TdHJpbmdHZW5lcmljKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTQmlnSW50
KiB4LCB1bnNpZ25lZCByYWRpeCkKICAgICBBU1NFUlQocmVzdWx0U3RyaW5nLnNpemUoKSA8PSBz
dGF0aWNfY2FzdDxzaXplX3Q+KG1heGltdW1DaGFyYWN0ZXJzUmVxdWlyZWQpKTsKIAogICAgIC8v
IFJlbW92ZSBsZWFkaW5nIHplcm9lcy4KLSAgICB1bnNpZ25lZCBuZXdTaXplTm9MZWFkaW5nWmVy
b2VzID0gcmVzdWx0U3RyaW5nLnNpemUoKTsKKyAgICBpbnQgbmV3U2l6ZU5vTGVhZGluZ1plcm9l
cyA9IHJlc3VsdFN0cmluZy5zaXplKCk7CiAgICAgd2hpbGUgKG5ld1NpemVOb0xlYWRpbmdaZXJv
ZXMgID4gMSAmJiByZXN1bHRTdHJpbmdbbmV3U2l6ZU5vTGVhZGluZ1plcm9lcyAtIDFdID09ICcw
JykKICAgICAgICAgbmV3U2l6ZU5vTGVhZGluZ1plcm9lcy0tOwogCkBAIC03MDksMTYgKzY0Niwx
NCBAQCBKU0JpZ0ludCogSlNCaWdJbnQ6OnJpZ2h0VHJpbShWTSYgdm0pCiAgICAgaWYgKGlzWmVy
bygpKQogICAgICAgICByZXR1cm4gdGhpczsKIAotICAgIEFTU0VSVChtX2xlbmd0aCk7Ci0KICAg
ICBpbnQgbm9uWmVyb0luZGV4ID0gbV9sZW5ndGggLSAxOwogICAgIHdoaWxlIChub25aZXJvSW5k
ZXggPj0gMCAmJiAhZGlnaXQobm9uWmVyb0luZGV4KSkKICAgICAgICAgbm9uWmVyb0luZGV4LS07
CiAKLSAgICBpZiAobm9uWmVyb0luZGV4ID09IHN0YXRpY19jYXN0PGludD4obV9sZW5ndGggLSAx
KSkKKyAgICBpZiAobm9uWmVyb0luZGV4ID09IG1fbGVuZ3RoIC0gMSkKICAgICAgICAgcmV0dXJu
IHRoaXM7CiAKLSAgICB1bnNpZ25lZCBuZXdMZW5ndGggPSBub25aZXJvSW5kZXggKyAxOworICAg
IGludCBuZXdMZW5ndGggPSBub25aZXJvSW5kZXggKyAxOwogICAgIEpTQmlnSW50KiB0cmltbWVk
QmlnSW50ID0gY3JlYXRlV2l0aExlbmd0aCh2bSwgbmV3TGVuZ3RoKTsKICAgICBSRUxFQVNFX0FT
U0VSVCh0cmltbWVkQmlnSW50KTsKICAgICBzdGQ6OmNvcHkoZGF0YVN0b3JhZ2UoKSwgZGF0YVN0
b3JhZ2UoKSArIG5ld0xlbmd0aCwgdHJpbW1lZEJpZ0ludC0+ZGF0YVN0b3JhZ2UoKSk7IApAQCAt
NzI4LDE0ICs2NjMsMTQgQEAgSlNCaWdJbnQqIEpTQmlnSW50OjpyaWdodFRyaW0oVk0mIHZtKQog
ICAgIHJldHVybiB0cmltbWVkQmlnSW50OwogfQogCi1KU0JpZ0ludCogSlNCaWdJbnQ6OmFsbG9j
YXRlRm9yKEV4ZWNTdGF0ZSogc3RhdGUsIFZNJiB2bSwgdW5zaWduZWQgcmFkaXgsIHVuc2lnbmVk
IGNoYXJjb3VudCkKK0pTQmlnSW50KiBKU0JpZ0ludDo6YWxsb2NhdGVGb3IoRXhlY1N0YXRlKiBz
dGF0ZSwgVk0mIHZtLCBpbnQgcmFkaXgsIGludCBjaGFyY291bnQpCiB7CiAgICAgQVNTRVJUKDIg
PD0gcmFkaXggJiYgcmFkaXggPD0gMzYpOwogICAgIEFTU0VSVChjaGFyY291bnQgPj0gMCk7CiAK
ICAgICBzaXplX3QgYml0c1BlckNoYXIgPSBtYXhCaXRzUGVyQ2hhclRhYmxlW3JhZGl4XTsKICAg
ICBzaXplX3QgY2hhcnMgPSBjaGFyY291bnQ7Ci0gICAgY29uc3QgdW5zaWduZWQgcm91bmR1cCA9
IGJpdHNQZXJDaGFyVGFibGVNdWx0aXBsaWVyIC0gMTsKKyAgICBjb25zdCBpbnQgcm91bmR1cCA9
IGJpdHNQZXJDaGFyVGFibGVNdWx0aXBsaWVyIC0gMTsKICAgICBpZiAoY2hhcnMgPD0gKHN0ZDo6
bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkgLSByb3VuZHVwKSAvIGJpdHNQZXJDaGFyKSB7
CiAgICAgICAgIHNpemVfdCBiaXRzTWluID0gYml0c1BlckNoYXIgKiBjaGFyczsKIApAQCAtNzQz
LDcgKzY3OCw3IEBAIEpTQmlnSW50KiBKU0JpZ0ludDo6YWxsb2NhdGVGb3IoRXhlY1N0YXRlKiBz
dGF0ZSwgVk0mIHZtLCB1bnNpZ25lZCByYWRpeCwgdW5zaWduCiAgICAgICAgIGJpdHNNaW4gPSAo
Yml0c01pbiArIHJvdW5kdXApID4+IGJpdHNQZXJDaGFyVGFibGVTaGlmdDsKICAgICAgICAgaWYg
KGJpdHNNaW4gPD0gc3RhdGljX2Nhc3Q8c2l6ZV90PihtYXhJbnQpKSB7CiAgICAgICAgICAgICAv
LyBEaXZpZGUgYnkga0RpZ2l0c0JpdHMsIHJvdW5kaW5nIHVwLgotICAgICAgICAgICAgdW5zaWdu
ZWQgbGVuZ3RoID0gKGJpdHNNaW4gKyBkaWdpdEJpdHMgLSAxKSAvIGRpZ2l0Qml0czsKKyAgICAg
ICAgICAgIGludCBsZW5ndGggPSAoc3RhdGljX2Nhc3Q8aW50PihiaXRzTWluKSArIGRpZ2l0Qml0
cyAtIDEpIC8gZGlnaXRCaXRzOwogICAgICAgICAgICAgaWYgKGxlbmd0aCA8PSBtYXhMZW5ndGgp
IHsKICAgICAgICAgICAgICAgICBKU0JpZ0ludCogcmVzdWx0ID0gSlNCaWdJbnQ6OmNyZWF0ZVdp
dGhMZW5ndGgodm0sIGxlbmd0aCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKQEAg
LTc4NCwxMSArNzE5LDExIEBAIHNpemVfdCBKU0JpZ0ludDo6b2Zmc2V0T2ZEYXRhKCkKIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIENoYXJUeXBlPgotSlNCaWdJbnQqIEpTQmlnSW50OjpwYXJzZUlu
dChFeGVjU3RhdGUqIHN0YXRlLCBDaGFyVHlwZSogIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCkKK0pT
QmlnSW50KiBKU0JpZ0ludDo6cGFyc2VJbnQoRXhlY1N0YXRlKiBzdGF0ZSwgQ2hhclR5cGUqICBk
YXRhLCBpbnQgbGVuZ3RoKQogewogICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOwogCi0gICAgdW5z
aWduZWQgcCA9IDA7CisgICAgaW50IHAgPSAwOwogICAgIHdoaWxlIChwIDwgbGVuZ3RoICYmIGlz
U3RyV2hpdGVTcGFjZShkYXRhW3BdKSkKICAgICAgICAgKytwOwogCkBAIC04MjMsMTAgKzc1OCwx
MCBAQCBKU0JpZ0ludCogSlNCaWdJbnQ6OnBhcnNlSW50KEV4ZWNTdGF0ZSogc3RhdGUsIENoYXJU
eXBlKiAgZGF0YSwgdW5zaWduZWQgbGVuZ3RoKQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hh
clR5cGU+Ci1KU0JpZ0ludCogSlNCaWdJbnQ6OnBhcnNlSW50KEV4ZWNTdGF0ZSogc3RhdGUsIFZN
JiB2bSwgQ2hhclR5cGUqIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgc3RhcnRJbmRl
eCwgdW5zaWduZWQgcmFkaXgsIGJvb2wgYWxsb3dFbXB0eVN0cmluZykKK0pTQmlnSW50KiBKU0Jp
Z0ludDo6cGFyc2VJbnQoRXhlY1N0YXRlKiBzdGF0ZSwgVk0mIHZtLCBDaGFyVHlwZSogZGF0YSwg
aW50IGxlbmd0aCwgaW50IHN0YXJ0SW5kZXgsIGludCByYWRpeCwgYm9vbCBhbGxvd0VtcHR5U3Ry
aW5nKQogewogICAgIEFTU0VSVChsZW5ndGggPj0gMCk7Ci0gICAgdW5zaWduZWQgcCA9IHN0YXJ0
SW5kZXg7CisgICAgaW50IHAgPSBzdGFydEluZGV4OwogCiAgICAgYXV0byBzY29wZSA9IERFQ0xB
UkVfVEhST1dfU0NPUEUodm0pOwogCkBAIC04NDIsNyArNzc3LDcgQEAgSlNCaWdJbnQqIEpTQmln
SW50OjpwYXJzZUludChFeGVjU3RhdGUqIHN0YXRlLCBWTSYgdm0sIENoYXJUeXBlKiBkYXRhLCB1
bnNpZ25lZAogCiAgICAgaW50IGVuZEluZGV4ID0gbGVuZ3RoIC0gMTsKICAgICAvLyBSZW1vdmlu
ZyB0cmFpbGluZyBzcGFjZXMKLSAgICB3aGlsZSAoZW5kSW5kZXggPj0gc3RhdGljX2Nhc3Q8aW50
PihwKSAmJiBpc1N0cldoaXRlU3BhY2UoZGF0YVtlbmRJbmRleF0pKQorICAgIHdoaWxlIChlbmRJ
bmRleCA+PSBwICYmIGlzU3RyV2hpdGVTcGFjZShkYXRhW2VuZEluZGV4XSkpCiAgICAgICAgIC0t
ZW5kSW5kZXg7CiAKICAgICBsZW5ndGggPSBlbmRJbmRleCArIDE7CkBAIC04NTAsMTYgKzc4NSwx
NiBAQCBKU0JpZ0ludCogSlNCaWdJbnQ6OnBhcnNlSW50KEV4ZWNTdGF0ZSogc3RhdGUsIFZNJiB2
bSwgQ2hhclR5cGUqIGRhdGEsIHVuc2lnbmVkCiAgICAgaWYgKHAgPT0gbGVuZ3RoKQogICAgICAg
ICByZXR1cm4gY3JlYXRlWmVybyh2bSk7CiAKLSAgICB1bnNpZ25lZCBsaW1pdDAgPSAnMCcgKyAo
cmFkaXggPCAxMCA/IHJhZGl4IDogMTApOwotICAgIHVuc2lnbmVkIGxpbWl0YSA9ICdhJyArIChy
YWRpeCAtIDEwKTsKLSAgICB1bnNpZ25lZCBsaW1pdEEgPSAnQScgKyAocmFkaXggLSAxMCk7Cisg
ICAgaW50IGxpbWl0MCA9ICcwJyArIChyYWRpeCA8IDEwID8gcmFkaXggOiAxMCk7CisgICAgaW50
IGxpbWl0YSA9ICdhJyArIChyYWRpeCAtIDEwKTsKKyAgICBpbnQgbGltaXRBID0gJ0EnICsgKHJh
ZGl4IC0gMTApOwogCiAgICAgSlNCaWdJbnQqIHJlc3VsdCA9IGFsbG9jYXRlRm9yKHN0YXRlLCB2
bSwgcmFkaXgsIGxlbmd0aCAtIHApOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51
bGxwdHIpOwogCiAgICAgcmVzdWx0LT5pbml0aWFsaXplKEluaXRpYWxpemF0aW9uVHlwZTo6V2l0
aFplcm8pOwogCi0gICAgZm9yICh1bnNpZ25lZCBpID0gcDsgaSA8IGxlbmd0aDsgaSsrLCBwKysp
IHsKKyAgICBmb3IgKGludCBpID0gcDsgaSA8IGxlbmd0aDsgaSsrLCBwKyspIHsKICAgICAgICAg
dWludDMyX3QgZGlnaXQ7CiAgICAgICAgIGlmIChkYXRhW2ldID49ICcwJyAmJiBkYXRhW2ldIDwg
bGltaXQwKQogICAgICAgICAgICAgZGlnaXQgPSBkYXRhW2ldIC0gJzAnOwpAQCAtODg3LDEzICs4
MjIsMTMgQEAgSlNCaWdJbnQ6OkRpZ2l0KiBKU0JpZ0ludDo6ZGF0YVN0b3JhZ2UoKQogICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PERpZ2l0Kj4ocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4odGhp
cykgKyBvZmZzZXRPZkRhdGEoKSk7CiB9CiAKLUpTQmlnSW50OjpEaWdpdCBKU0JpZ0ludDo6ZGln
aXQodW5zaWduZWQgbikKK0pTQmlnSW50OjpEaWdpdCBKU0JpZ0ludDo6ZGlnaXQoaW50IG4pCiB7
CiAgICAgQVNTRVJUKG4gPj0gMCAmJiBuIDwgbGVuZ3RoKCkpOwogICAgIHJldHVybiBkYXRhU3Rv
cmFnZSgpW25dOwogfQogCi12b2lkIEpTQmlnSW50OjpzZXREaWdpdCh1bnNpZ25lZCBuLCBEaWdp
dCB2YWx1ZSkKK3ZvaWQgSlNCaWdJbnQ6OnNldERpZ2l0KGludCBuLCBEaWdpdCB2YWx1ZSkKIHsK
ICAgICBBU1NFUlQobiA+PSAwICYmIG4gPCBsZW5ndGgoKSk7CiAgICAgZGF0YVN0b3JhZ2UoKVtu
XSA9IHZhbHVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNC
aWdJbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50LmgKaW5kZXgg
ZWIxMmMwMDQ2NmUzNTZmZmRhZGZhMzY2NDE0YzA3Y2QwM2JjNDZmNy4uMjk4YzM0OGNkMmI0ZTVh
YjVjOTJjN2JiNzk5YTMwZjNlYmZhNjIzMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNCaWdJbnQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0JpZ0ludC5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIEpTQmlnSW50IGZpbmFsIDogcHVi
bGljIEpTQ2VsbCB7CiAKIHB1YmxpYzoKIAotICAgIEpTQmlnSW50KFZNJiwgU3RydWN0dXJlKiwg
dW5zaWduZWQgbGVuZ3RoKTsKKyAgICBKU0JpZ0ludChWTSYsIFN0cnVjdHVyZSosIGludCBsZW5n
dGgpOwogCiAgICAgZW51bSBjbGFzcyBJbml0aWFsaXphdGlvblR5cGUgeyBOb25lLCBXaXRoWmVy
byB9OwogICAgIHZvaWQgaW5pdGlhbGl6ZShJbml0aWFsaXphdGlvblR5cGUpOwpAQCAtNDksMTEg
KzQ5LDEyIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCos
IFNsb3RWaXNpdG9yJik7CiAKICAgICBzdGF0aWMgc2l6ZV90IGVzdGltYXRlZFNpemUoSlNDZWxs
Kik7Ci0gICAgc3RhdGljIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSh1bnNpZ25lZCBsZW5ndGgpOwor
ICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoaW50IGxlbmd0aCk7CiAKICAgICBzdGF0
aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFs
dWUgcHJvdG90eXBlKTsKKwogICAgIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlWmVybyhWTSYpOwot
ICAgIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlV2l0aExlbmd0aChWTSYsIHVuc2lnbmVkIGxlbmd0
aCk7CisgICAgc3RhdGljIEpTQmlnSW50KiBjcmVhdGVXaXRoTGVuZ3RoKFZNJiwgaW50IGxlbmd0
aCk7CiAKICAgICBzdGF0aWMgSlNCaWdJbnQqIGNyZWF0ZUZyb20oVk0mLCBpbnQzMl90IHZhbHVl
KTsKICAgICBzdGF0aWMgSlNCaWdJbnQqIGNyZWF0ZUZyb20oVk0mLCB1aW50MzJfdCB2YWx1ZSk7
CkBAIC02OSwxNCArNzAsMTQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2lnbihib29sIHNpZ24p
IHsgbV9zaWduID0gc2lnbjsgfQogICAgIGJvb2wgc2lnbigpIGNvbnN0IHsgcmV0dXJuIG1fc2ln
bjsgfQogCi0gICAgdm9pZCBzZXRMZW5ndGgodW5zaWduZWQgbGVuZ3RoKSB7IG1fbGVuZ3RoID0g
bGVuZ3RoOyB9Ci0gICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7
IH0KKyAgICB2b2lkIHNldExlbmd0aChpbnQgbGVuZ3RoKSB7IG1fbGVuZ3RoID0gbGVuZ3RoOyB9
CisgICAgaW50IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CiAKICAgICBzdGF0
aWMgSlNCaWdJbnQqIHBhcnNlSW50KEV4ZWNTdGF0ZSosIFZNJiwgU3RyaW5nVmlldywgdWludDhf
dCByYWRpeCk7CiAgICAgc3RhdGljIEpTQmlnSW50KiBwYXJzZUludChFeGVjU3RhdGUqLCBTdHJp
bmdWaWV3KTsKIAogICAgIHN0ZDo6b3B0aW9uYWw8dWludDhfdD4gc2luZ2xlRGlnaXRWYWx1ZUZv
clN0cmluZygpOwotICAgIFN0cmluZyB0b1N0cmluZyhFeGVjU3RhdGUmLCB1bnNpZ25lZCByYWRp
eCk7CisgICAgU3RyaW5nIHRvU3RyaW5nKEV4ZWNTdGF0ZSYsIGludCByYWRpeCk7CiAgICAgCiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgZXF1YWxzKEpTQmlnSW50KiwgSlNCaWdJ
bnQqKTsKIApAQCAtODQsMTQgKzg1LDEyIEBAIHB1YmxpYzoKICAgICBkb3VibGUgdG9OdW1iZXIo
RXhlY1N0YXRlKikgY29uc3Q7CiAKICAgICBKU09iamVjdCogdG9PYmplY3QoRXhlY1N0YXRlKiwg
SlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLQotICAgIHN0YXRpYyBKU0JpZ0ludCogbXVsdGlwbHko
RXhlY1N0YXRlKiwgSlNCaWdJbnQqIHgsIEpTQmlnSW50KiB5KTsKICAgICAKIHByaXZhdGU6CiAg
ICAgdXNpbmcgRGlnaXQgPSB1aW50cHRyX3Q7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCB1
bnNpZ25lZCBiaXRzUGVyQnl0ZSA9IDg7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBjb25zdCB1bnNp
Z25lZCBkaWdpdEJpdHMgPSBzaXplb2YoRGlnaXQpICogYml0c1BlckJ5dGU7Ci0gICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCB1bnNpZ25lZCBoYWxmRGlnaXRCaXRzID0gZGlnaXRCaXRzIC8gMjsK
KyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IGludCBiaXRzUGVyQnl0ZSA9IDg7CisgICAgc3Rh
dGljIGNvbnN0ZXhwciBjb25zdCBpbnQgZGlnaXRCaXRzID0gc2l6ZW9mKERpZ2l0KSAqIGJpdHNQ
ZXJCeXRlOworICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgaW50IGhhbGZEaWdpdEJpdHMgPSBk
aWdpdEJpdHMgLyAyOwogICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgRGlnaXQgaGFsZkRpZ2l0
TWFzayA9ICgxdWxsIDw8IGhhbGZEaWdpdEJpdHMpIC0gMTsKICAgICBzdGF0aWMgY29uc3RleHBy
IGNvbnN0IGludCBtYXhJbnQgPSAweDdGRkZGRkZGOwogICAgIApAQCAtOTksMTMgKzk4LDEyIEBA
IHByaXZhdGU6CiAgICAgLy8gbWF4SW50IC8gZGlnaXRCaXRzLiBIb3dldmVyLCB3ZSB1c2UgYSBs
b3dlciBsaW1pdCBmb3Igbm93LCBiZWNhdXNlCiAgICAgLy8gcmFpc2luZyBpdCBsYXRlciBpcyBl
YXNpZXIgdGhhbiBsb3dlcmluZyBpdC4KICAgICAvLyBTdXBwb3J0IHVwIHRvIDEgbWlsbGlvbiBi
aXRzLgotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhMZW5ndGggPSAxMDI0ICogMTAyNCAv
IChzaXplb2Yodm9pZCopICogYml0c1BlckJ5dGUpOworICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4
TGVuZ3RoID0gMTAyNCAqIDEwMjQgLyAoc2l6ZW9mKHZvaWQqKSAqIGJpdHNQZXJCeXRlKTsKICAg
ICAKLSAgICBzdGF0aWMgdWludDY0X3QgY2FsY3VsYXRlTWF4aW11bUNoYXJhY3RlcnNSZXF1aXJl
ZCh1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHJhZGl4LCBEaWdpdCBsYXN0RGlnaXQsIGJvb2wg
c2lnbik7CisgICAgc3RhdGljIHVpbnQ2NF90IGNhbGN1bGF0ZU1heGltdW1DaGFyYWN0ZXJzUmVx
dWlyZWQoaW50IGxlbmd0aCwgaW50IHJhZGl4LCBEaWdpdCBsYXN0RGlnaXQsIGJvb2wgc2lnbik7
CiAgICAgCiAgICAgc3RhdGljIHZvaWQgYWJzb2x1dGVEaXZTbWFsbChFeGVjU3RhdGUmLCBKU0Jp
Z0ludCogeCwgRGlnaXQgZGl2aXNvciwgSlNCaWdJbnQqKiBxdW90aWVudCwgRGlnaXQmIHJlbWFp
bmRlcik7Ci0gICAgc3RhdGljIHZvaWQgaW50ZXJuYWxNdWx0aXBseUFkZChKU0JpZ0ludCogc291
cmNlLCBEaWdpdCBmYWN0b3IsIERpZ2l0IHN1bW1hbmQsIHVuc2lnbmVkLCBKU0JpZ0ludCogcmVz
dWx0KTsKLSAgICBzdGF0aWMgdm9pZCBtdWx0aXBseUFjY3VtdWxhdGUoSlNCaWdJbnQqIG11bHRp
cGxpY2FuZCwgRGlnaXQgbXVsdGlwbGllciwgSlNCaWdJbnQqIGFjY3VtdWxhdG9yLCB1bnNpZ25l
ZCBhY2N1bXVsYXRvckluZGV4KTsKKyAgICBzdGF0aWMgdm9pZCBpbnRlcm5hbE11bHRpcGx5QWRk
KEpTQmlnSW50KiBzb3VyY2UsIERpZ2l0IGZhY3RvciwgRGlnaXQgc3VtbWFuZCwgaW50LCBKU0Jp
Z0ludCogcmVzdWx0KTsKIAogICAgIC8vIERpZ2l0IGFyaXRobWV0aWMgaGVscGVycy4KICAgICBz
dGF0aWMgRGlnaXQgZGlnaXRBZGQoRGlnaXQgYSwgRGlnaXQgYiwgRGlnaXQmIGNhcnJ5KTsKQEAg
LTExNCwxNyArMTEyLDE3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIERpZ2l0IGRpZ2l0RGl2KERp
Z2l0IGhpZ2gsIERpZ2l0IGxvdywgRGlnaXQgZGl2aXNvciwgRGlnaXQmIHJlbWFpbmRlcik7CiAg
ICAgc3RhdGljIERpZ2l0IGRpZ2l0UG93KERpZ2l0IGJhc2UsIERpZ2l0IGV4cG9uZW50KTsKIAot
ICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmdHZW5lcmljKEV4ZWNTdGF0ZSYsIEpTQmlnSW50Kiwg
dW5zaWduZWQgcmFkaXgpOworICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmdHZW5lcmljKEV4ZWNT
dGF0ZSYsIEpTQmlnSW50KiwgaW50IHJhZGl4KTsKIAogICAgIGJvb2wgaXNaZXJvKCk7CiAKICAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhclR5cGU+Ci0gICAgc3RhdGljIEpTQmlnSW50KiBwYXJz
ZUludChFeGVjU3RhdGUqLCBDaGFyVHlwZSogIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCk7CisgICAg
c3RhdGljIEpTQmlnSW50KiBwYXJzZUludChFeGVjU3RhdGUqLCBDaGFyVHlwZSogIGRhdGEsIGlu
dCBsZW5ndGgpOwogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJUeXBlPgotICAgIHN0YXRp
YyBKU0JpZ0ludCogcGFyc2VJbnQoRXhlY1N0YXRlKiwgVk0mLCBDaGFyVHlwZSogZGF0YSwgdW5z
aWduZWQgbGVuZ3RoLCB1bnNpZ25lZCBzdGFydEluZGV4LCB1bnNpZ25lZCByYWRpeCwgYm9vbCBh
bGxvd0VtcHR5U3RyaW5nID0gdHJ1ZSk7CisgICAgc3RhdGljIEpTQmlnSW50KiBwYXJzZUludChF
eGVjU3RhdGUqLCBWTSYsIENoYXJUeXBlKiBkYXRhLCBpbnQgbGVuZ3RoLCBpbnQgc3RhcnRJbmRl
eCwgaW50IHJhZGl4LCBib29sIGFsbG93RW1wdHlTdHJpbmcgPSB0cnVlKTsKIAotICAgIHN0YXRp
YyBKU0JpZ0ludCogYWxsb2NhdGVGb3IoRXhlY1N0YXRlKiwgVk0mLCB1bnNpZ25lZCByYWRpeCwg
dW5zaWduZWQgY2hhcmNvdW50KTsKKyAgICBzdGF0aWMgSlNCaWdJbnQqIGFsbG9jYXRlRm9yKEV4
ZWNTdGF0ZSosIFZNJiwgaW50IHJhZGl4LCBpbnQgY2hhcmNvdW50KTsKIAogICAgIEpTQmlnSW50
KiByaWdodFRyaW0oVk0mKTsKIApAQCAtMTMzLDEwICsxMzEsMTAgQEAgcHJpdmF0ZToKICAgICBz
dGF0aWMgc2l6ZV90IG9mZnNldE9mRGF0YSgpOwogICAgIERpZ2l0KiBkYXRhU3RvcmFnZSgpOwog
Ci0gICAgRGlnaXQgZGlnaXQodW5zaWduZWQpOwotICAgIHZvaWQgc2V0RGlnaXQodW5zaWduZWQs
IERpZ2l0KTsKKyAgICBEaWdpdCBkaWdpdChpbnQpOworICAgIHZvaWQgc2V0RGlnaXQoaW50LCBE
aWdpdCk7CiAgICAgICAgIAotICAgIHVuc2lnbmVkIG1fbGVuZ3RoOworICAgIGludCBtX2xlbmd0
aDsKICAgICBib29sIG1fc2lnbjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wZXJhdGlvbnMuaAppbmRleCBlMjY1ODE1MTM4OWYyMzA2Y2EwMWNkZThkYjk3OGQ3ZmU5ZDY0
MzkxLi4xMzQ5YWVjMTZhN2E4M2E4YThhNTkwYWNlZmQ1NGIxNzljOTdiZjFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCkBAIC0yMyw3ICsyMyw2IEBACiAK
ICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCi0j
aW5jbHVkZSAiSlNCaWdJbnQuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtMjU3LDMxICsyNTYsNiBAQCBBTFdBWVNfSU5MSU5FIEpTVmFsdWUganNBZGQo
Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFsdWUgdjEsIEpTVmFsdWUgdjIpCiAgICAgcmV0dXJu
IGpzQWRkU2xvd0Nhc2UoY2FsbEZyYW1lLCB2MSwgdjIpOwogfQogCi1BTFdBWVNfSU5MSU5FIEpT
VmFsdWUganNNdWwoRXhlY1N0YXRlKiBzdGF0ZSwgSlNWYWx1ZSB2MSwgSlNWYWx1ZSB2MikKLXsK
LSAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7Ci0KLSAgICBKU1ZhbHVlIGxlZnROdW1iZXIgPSB2MS50b1ByaW1pdGl2ZShz
dGF0ZSwgUHJlZmVyTnVtYmVyKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0p
OwotICAgIEpTVmFsdWUgcmlnaHROdW1iZXIgPSB2Mi50b1ByaW1pdGl2ZShzdGF0ZSwgUHJlZmVy
TnVtYmVyKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOwotCi0gICAgaWYg
KGxlZnROdW1iZXIuaXNCaWdJbnQoKSB8fCByaWdodE51bWJlci5pc0JpZ0ludCgpKSB7Ci0gICAg
ICAgIGlmIChsZWZ0TnVtYmVyLmlzQmlnSW50KCkgJiYgcmlnaHROdW1iZXIuaXNCaWdJbnQoKSkK
LSAgICAgICAgICAgIHJldHVybiBKU0JpZ0ludDo6bXVsdGlwbHkoc3RhdGUsIGFzQmlnSW50KGxl
ZnROdW1iZXIpLCBhc0JpZ0ludChyaWdodE51bWJlcikpOwotCi0gICAgICAgIHRocm93VHlwZUVy
cm9yKHN0YXRlLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJJbnZhbGlkIG1peCBvZiBCaWdJbnQgYW5k
IG90aGVyIHR5cGUgaW4gbXVsdGlwbGljYXRpb24uIikpOwotICAgICAgICByZXR1cm4geyB9Owot
ICAgIH0KLQotICAgIGRvdWJsZSBsZWZ0VmFsdWUgPSAgbGVmdE51bWJlci50b051bWJlcihzdGF0
ZSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKLSAgICBkb3VibGUgcmln
aHRWYWx1ZSA9ICByaWdodE51bWJlci50b051bWJlcihzdGF0ZSk7Ci0gICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgeyB9KTsKLSAgICByZXR1cm4ganNOdW1iZXIobGVmdFZhbHVlICogcmln
aHRWYWx1ZSk7Ci19Ci0KIGlubGluZSBib29sIHNjcmliYmxlRnJlZUNlbGxzKCkKIHsKICAgICBy
ZXR1cm4gIUFTU0VSVF9ESVNBQkxFRCB8fCBPcHRpb25zOjpzY3JpYmJsZUZyZWVDZWxscygpOwpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCA5
ZmUyYjI4ZGYzMTkxZThjYjQzYmI5ZGE5MGQwYWIzYTUyMzc4MzQxLi45MGEwZjNkYjFkZWViZmE0
ZDZhNTFkMmI2ZDhkMTBhYWJiYjg0Mjc1IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZwor
KysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTA0LTI5ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjMxMTM3LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg1MTE4CisKKyAgICAgICAgSXQgaXMgYnJlYWtpbmcgVGVzdDI2MiBs
YW5ndWFnZS9leHByZXNzaW9ucy9tdWx0aXBsaWNhdGlvbgorICAgICAgICAvb3JkZXItb2YtZXZh
bHVhdGlvbi5qcyAoUmVxdWVzdGVkIGJ5IGNhaW9saW1hIG9uICN3ZWJraXQpLgorCisgICAgICAg
IFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiW0VTTmV4dF1bQmlnSW50XSBJbXBsZW1l
bnQgc3VwcG9ydCBmb3IgIioiIG9wZXJhdGlvbiIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzcyMQorICAgICAgICBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjMxMTM3CisKIDIwMTgtMDQtMjggIFNhYW0gQmFyYXRpICA8c2JhcmF0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgV2UgZG9uJ3QgbW9kZWwgcmVnZXhwIGVmZmVjdHMgcHJv
cGVybHkKZGlmZiAtLWdpdCBhL0pTVGVzdHMvYmlnSW50VGVzdHMueWFtbCBiL0pTVGVzdHMvYmln
SW50VGVzdHMueWFtbAppbmRleCBlOTQ3ZGMyOTQ1YWRmOTBkMDc3ZmM4MzdkNTU4M2ExZDA4ZTNi
YzkxLi43YWUyMmNiMWJiMmFmZjYyY2M0ZGRmNDk2Mjk5Zjk2YTA3NDRmN2FlIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL2JpZ0ludFRlc3RzLnlhbWwKKysrIGIvSlNUZXN0cy9iaWdJbnRUZXN0cy55YW1s
CkBAIC05NywyNCArOTcsMyBAQAogLSBwYXRoOiBzdHJlc3MvYmlnLWludC10by1zdHJpbmcuanMK
ICAgY21kOiBydW5CaWdJbnRFbmFibGVkCiAKLS0gcGF0aDogc3RyZXNzL2JpZy1pbnQtbXVsLWpp
dC5qcwotICBjbWQ6IHJ1bkJpZ0ludEVuYWJsZWQKLQotLSBwYXRoOiBzdHJlc3MvYmlnLWludC1t
dWwtdG8tcHJpbWl0aXZlLXByZWNlZGVuY2UuanMKLSAgY21kOiBydW5CaWdJbnRFbmFibGVkCi0K
LS0gcGF0aDogc3RyZXNzL2JpZy1pbnQtbXVsLXRvLXByaW1pdGl2ZS5qcwotICBjbWQ6IHJ1bkJp
Z0ludEVuYWJsZWQKLQotLSBwYXRoOiBzdHJlc3MvYmlnLWludC1tdWwtdHlwZS1lcnJvci5qcwot
ICBjbWQ6IHJ1bkJpZ0ludEVuYWJsZWQKLQotLSBwYXRoOiBzdHJlc3MvYmlnLWludC1tdWwtd3Jh
cHBlZC12YWx1ZS5qcwotICBjbWQ6IHJ1bkJpZ0ludEVuYWJsZWQKLQotLSBwYXRoOiBzdHJlc3Mv
YmlnLWludC1tdWx0aXBsaWNhdGlvbi5qcwotICBjbWQ6IHJ1bkJpZ0ludEVuYWJsZWQKLQotLSBw
YXRoOiBzdHJlc3MvYmlnLWludC1tdWx0aXBseS1tZW1vcnktc3RyZXNzLmpzCi0gIGNtZDogcnVu
QmlnSW50RW5hYmxlZAotCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW11bC1q
aXQuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW11bC1qaXQuanMKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDBjYmVkZTMxODc1ZDIxZmIzODIyZTdmMjhmZjA1YmNhY2ExYzlmN2Eu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy9z
dHJlc3MvYmlnLWludC1tdWwtaml0LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAot
Ly9AIHJ1bkJpZ0ludEVuYWJsZWQKLQotbGV0IGFzc2VydCA9IHsKLSAgICBzYW1lVmFsdWU6IGZ1
bmN0aW9uKGksIGUsIG0pIHsKLSAgICAgICAgaWYgKGkgIT09IGUpCi0gICAgICAgICAgICB0aHJv
dyBuZXcgRXJyb3IobSk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBiaWdJbnRNdWwoeCwgeSkgewot
ICAgIHJldHVybiB4ICogeTsKLX0KLW5vSW5saW5lKGJpZ0ludE11bCk7Ci0KLWZvciAobGV0IGkg
PSAwOyBpIDwgMTAwMDA7IGkrKykgewotICAgIGxldCByID0gYmlnSW50TXVsKDNuLCAxMG4pOwot
ICAgIGFzc2VydC5zYW1lVmFsdWUociwgMzBuLCAzbiArICIgKiAiICsgMTBuICsgIiA9ICIgKyBy
KTsKLX0KLQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1tdWwtdG8tcHJpbWl0
aXZlLXByZWNlZGVuY2UuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW11bC10by1wcmltaXRp
dmUtcHJlY2VkZW5jZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzE0OWExOTY4
N2UxNGFlZTcwMTNiMzY4NjQ0OTJlNjgyYmQ1ZTc1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW11bC10by1wcmlt
aXRpdmUtcHJlY2VkZW5jZS5qcworKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLS8vQCBy
dW5CaWdJbnRFbmFibGVkCi0KLWFzc2VydCA9IHsKLSAgICBzYW1lVmFsdWU6IGZ1bmN0aW9uIChp
bnB1dCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKLSAgICAgICAgaWYgKGlucHV0ICE9PSBleHBlY3Rl
ZCkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTsKLSAgICB9Ci19OwotCi1m
dW5jdGlvbiB0ZXN0TXVsKHgsIHksIHosIG1lc3NhZ2UpIHsKLSAgICBhc3NlcnQuc2FtZVZhbHVl
KHggKiB5LCB6LCBtZXNzYWdlKTsKLSAgICBhc3NlcnQuc2FtZVZhbHVlKHkgKiB4LCB6LCBtZXNz
YWdlKTsKLX0KLQotdGVzdE11bChPYmplY3QoMm4pLCAxbiwgMm4sICJUb1ByaW1pdGl2ZTogdW5i
b3ggb2JqZWN0IHdpdGggaW50ZXJuYWwgc2xvdCIpOwotCi1sZXQgbyA9IHsKLSAgICBbU3ltYm9s
LnRvUHJpbWl0aXZlXTogZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiAybjsKLSAgICB9LAot
ICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTaG91
bGQgbmV2ZXIgZXhlY3V0ZSBpdCIpOwotICAgIH0sCi0gICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgp
IHsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTaG91bGQgbmV2ZXIgZXhlY3V0ZSBpdCIpOwot
ICAgIH0KLX07Ci10ZXN0TXVsKG8sIDFuLCAybiwgIlRvUHJpbWl0aXZlOiBAQHRvUHJpbWl0aXZl
Iik7Ci0KLW8gPSB7Ci0gICAgdmFsdWVPZjogZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiAy
bjsKLSAgICB9LAotICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHRocm93IG5l
dyBFcnJvcigiU2hvdWxkIG5ldmVyIGV4ZWN1dGUgaXQiKTsKLSAgICB9Ci19OwotdGVzdE11bChv
LCAxbiwgMm4sICJUb1ByaW1pdGl2ZTogdmFsdWVPZiIpOwotCmRpZmYgLS1naXQgYS9KU1Rlc3Rz
L3N0cmVzcy9iaWctaW50LW11bC10by1wcmltaXRpdmUuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWct
aW50LW11bC10by1wcmltaXRpdmUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0
MmUyZThlMjkxMTllMjdkMTM1NzdjYjU3YWMyZjk3MzUwZmU2Y2MuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1tdWwt
dG8tcHJpbWl0aXZlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLy9AIHJ1bkJp
Z0ludEVuYWJsZWQKLQotZnVuY3Rpb24gYXNzZXJ0KGEpIHsKLSAgICBpZiAoIWEpCi0gICAgICAg
IHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbiIpOwotfQotCi1hc3NlcnQuc2FtZVZhbHVl
ID0gZnVuY3Rpb24gKGlucHV0LCBleHBlY3RlZCwgbWVzc2FnZSkgewotICAgIGlmIChpbnB1dCAh
PT0gZXhwZWN0ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTsKLX0KLQotZnVu
Y3Rpb24gdGVzdE11bCh4LCB5LCB6KSB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZSh4ICogeSwgeiwg
eCArICIgKiAiICsgeSArICIgPSAiICsgeik7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZSh5ICogeCwg
eiwgeSArICIgKiAiICsgeCArICIgPSAiICsgeik7Ci19Ci0KLWxldCBvID0gewotICAgIFtTeW1i
b2wudG9QcmltaXRpdmVdOiBmdW5jdGlvbiAoKSB7IHJldHVybiAzMDAwMDAwMDAwMDAwMDBuOyB9
Ci19Ci0KLXRlc3RNdWwoNTAwMDAwMDAwMDAwNDM4biwgbywgMTUwMDAwMDAwMDAwMTMxNDAwMDAw
MDAwMDAwMDAwbik7Ci0KLW8udmFsdWVPZiA9IGZ1bmN0aW9uICgpIHsKLSAgICB0aHJvdyBuZXcg
RXJyb3IoIlNob3VsZCBuZXZlciBleGVjdXRlIGl0Iik7Ci19OwotCi10ZXN0TXVsKDcwMDAwMDAw
MDAwMDQzOG4sIG8sIDIxMDAwMDAwMDAwMDEzMTQwMDAwMDAwMDAwMDAwMG4pOwotCi1vLnRvU3Ry
aW5nID0gZnVuY3Rpb24gKCkgewotICAgIHRocm93IG5ldyBFcnJvcigiU2hvdWxkIG5ldmVyIGV4
ZWN1dGUgaXQiKTsKLX07Ci0KLXRlc3RNdWwoNzAwMDAwMDAwMDAwNDM4biwgbywgMjEwMDAwMDAw
MDAwMTMxNDAwMDAwMDAwMDAwMDAwbik7Ci0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2Jp
Zy1pbnQtbXVsLXR5cGUtZXJyb3IuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW11bC10eXBl
LWVycm9yLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNTE3ODQ1N2ZiNjIzNzU3
ZmQwZTc3MzU3N2RjMzk2ZjJmMzBmZTYwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbXVsLXR5cGUtZXJyb3IuanMK
KysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotLy9AIHJ1bkJpZ0ludEVuYWJsZWQKLQot
ZnVuY3Rpb24gYXNzZXJ0KGEsIG1lc3NhZ2UpIHsKLSAgICBpZiAoIWEpCi0gICAgICAgIHRocm93
IG5ldyBFcnJvcihtZXNzYWdlKTsKLX0KLQotZnVuY3Rpb24gYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
YSwgYiwgbWVzc2FnZSkgewotICAgIHRyeSB7Ci0gICAgICAgIGxldCBuID0gYSAqIGI7Ci0gICAg
ICAgIGFzc2VydChmYWxzZSwgbWVzc2FnZSArICI6IFNob3VsZCB0aHJvdyBUeXBlRXJyb3IsIGJ1
dCBleGVjdXRlZCB3aXRob3V0IGV4Y2VwdGlvbiIpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAg
ICAgYXNzZXJ0KGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IsIG1lc3NhZ2UgKyAiOiBleHBlY3RlZCBU
eXBlRXJyb3IsIGdvdDogIiArIGUpOwotICAgIH0KLX0KLQotYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
MzBuLCAiZm9vIiwgIkJpZ0ludCAqIFN0cmluZyIpOwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IoImJh
ciIsIDE4NzU3MzgyOTg0ODIxbiwgIlN0cmluZyAqIEJpZ0ludCIpOwotYXNzZXJ0VGhyb3dUeXBl
RXJyb3IoMzBuLCBTeW1ib2woImZvbyIpLCAiQmlnSW50ICogU3ltYm9sIik7Ci1hc3NlcnRUaHJv
d1R5cGVFcnJvcihTeW1ib2woImJhciIpLCAxODc1NzM4Mjk4NDgyMW4sICJTeW1ib2wgKiBCaWdJ
bnQiKTsKLWFzc2VydFRocm93VHlwZUVycm9yKDMwbiwgMzMyMCwgIkJpZ0ludCAqIEludDMyIik7
Ci1hc3NlcnRUaHJvd1R5cGVFcnJvcigzMzI1NiwgMTg3NTczODI5ODQ4MjFuLCAiSW50MzIgKiBC
aWdJbnQiKTsKLWFzc2VydFRocm93VHlwZUVycm9yKDMwbiwgMC41NDMsICJCaWdJbnQgKiBEb3Vi
bGUiKTsKLWFzc2VydFRocm93VHlwZUVycm9yKDIzMC4xOTI5MywgMTg3NTczODI5ODQ4MjFuLCAi
RG91YmxlICogQmlnSW50Iik7Ci1hc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIE5hTiwgIkJpZ0lu
dCAqIE5hTiIpOwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IoTmFOLCAxODc1NzM4Mjk4NDgyMW4sICJO
YU4gKiBCaWdJbnQiKTsKLWFzc2VydFRocm93VHlwZUVycm9yKDMwbiwgTmFOLCAiQmlnSW50ICog
TmFOIik7Ci1hc3NlcnRUaHJvd1R5cGVFcnJvcihOYU4sIDE4NzU3MzgyOTg0ODIxbiwgIk5hTiAq
IEJpZ0ludCIpOwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCArSW5maW5pdHksICJCaWdJbnQg
KiBOYU4iKTsKLWFzc2VydFRocm93VHlwZUVycm9yKCtJbmZpbml0eSwgMTg3NTczODI5ODQ4MjFu
LCAiTmFOICogQmlnSW50Iik7Ci1hc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIC1JbmZpbml0eSwg
IkJpZ0ludCAqIC1JbmZpbml0eSIpOwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IoLUluZmluaXR5LCAx
ODc1NzM4Mjk4NDgyMW4sICItSW5maW5pdHkgKiBCaWdJbnQiKTsKLWFzc2VydFRocm93VHlwZUVy
cm9yKDMwbiwgbnVsbCwgIkJpZ0ludCAqIG51bGwiKTsKLWFzc2VydFRocm93VHlwZUVycm9yKG51
bGwsIDE4NzU3MzgyOTg0ODIxbiwgIm51bGwgKiBCaWdJbnQiKTsKLWFzc2VydFRocm93VHlwZUVy
cm9yKDMwbiwgdW5kZWZpbmVkLCAiQmlnSW50ICogdW5kZWZpbmVkIik7Ci1hc3NlcnRUaHJvd1R5
cGVFcnJvcih1bmRlZmluZWQsIDE4NzU3MzgyOTg0ODIxbiwgInVuZGVmaW5lZCAqIEJpZ0ludCIp
OwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCB0cnVlLCAiQmlnSW50ICogdHJ1ZSIpOwotYXNz
ZXJ0VGhyb3dUeXBlRXJyb3IodHJ1ZSwgMTg3NTczODI5ODQ4MjFuLCAidHJ1ZSAqIEJpZ0ludCIp
OwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBmYWxzZSwgIkJpZ0ludCAqIGZhbHNlIik7Ci1h
c3NlcnRUaHJvd1R5cGVFcnJvcihmYWxzZSwgMTg3NTczODI5ODQ4MjFuLCAiZmFsc2UgKiBCaWdJ
bnQiKTsKLQotLy8gRXJyb3Igd2hlbiByZXR1cm5pbmcgZnJvbSBvYmplY3QKLQotbGV0IG8gPSB7
Ci0gICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gU3ltYm9sKCJGb28iKTsgfQotfTsK
LQotYXNzZXJ0VGhyb3dUeXBlRXJyb3IoMzBuLCBvLCAiQmlnSW50ICogT2JqZWN0LnZhbHVlT2Yg
cmV0dXJuaW5nIFN5bWJvbCIpOwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4
MjFuLCAiT2JqZWN0LnZhbHVlT2YgcmV0dXJuaW5nIFN5bWJvbCAqIEJpZ0ludCIpOwotCi1vID0g
ewotICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDMzMjU2OyB9Ci19OwotCi1hc3Nl
cnRUaHJvd1R5cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgKiBPYmplY3QudmFsdWVPZiByZXR1cm5p
bmcgSW50MzIiKTsKLWFzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9i
amVjdC52YWx1ZU9mIHJldHVybmluZyBJbnQzMiAqIEJpZ0ludCIpOwotCi1vID0gewotICAgIHZh
bHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDAuNDUzOyB9Ci19OwotCi1hc3NlcnRUaHJvd1R5
cGVFcnJvcigzMG4sIG8sICJCaWdJbnQgKiBPYmplY3QudmFsdWVPZiByZXR1cm5pbmcgRG91Ymxl
Iik7Ci1hc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QudmFs
dWVPZiByZXR1cm5pbmcgRG91YmxlICogQmlnSW50Iik7Ci0KLW8gPSB7Ci0gICAgdG9TdHJpbmc6
IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFN5bWJvbCgiRm9vIik7IH0KLX07Ci0KLWFzc2VydFRocm93
VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCAqIE9iamVjdC50b1N0cmluZyByZXR1cm5pbmcgU3lt
Ym9sIik7Ci1hc3NlcnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3Qu
dG9TdHJpbmcgcmV0dXJuaW5nIFN5bWJvbCAqIEJpZ0ludCIpOwotCi1vID0gewotICAgIHRvU3Ry
aW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAzMzI1NjsgfQotfTsKLQotYXNzZXJ0VGhyb3dUeXBl
RXJyb3IoMzBuLCBvLCAiQmlnSW50ICogT2JqZWN0LnRvU3RyaW5nIHJldHVybmluZyBJbnQzMiIp
OwotYXNzZXJ0VGhyb3dUeXBlRXJyb3IobywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LnRvU3Ry
aW5nIHJldHVybmluZyBJbnQzMiAqIEJpZ0ludCIpOwotCi1vID0gewotICAgIHRvU3RyaW5nOiBm
dW5jdGlvbiAoKSB7IHJldHVybiAwLjQ1MzsgfQotfTsKLQotYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
MzBuLCBvLCAiQmlnSW50ICogT2JqZWN0LnRvU3RyaW5nIHJldHVybmluZyBEb3VibGUiKTsKLWFz
c2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIxbiwgIk9iamVjdC50b1N0cmluZyBy
ZXR1cm5pbmcgRG91YmxlICogQmlnSW50Iik7Ci0KLW8gPSB7Ci0gICAgW1N5bWJvbC50b1ByaW1p
dGl2ZV06IGZ1bmN0aW9uICgpIHsgcmV0dXJuIFN5bWJvbCgiRm9vIik7IH0KLX07Ci0KLWFzc2Vy
dFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCAqIE9iamVjdC5AQHRvUHJpbWl0aXZlIHJl
dHVybmluZyBTeW1ib2wiKTsKLWFzc2VydFRocm93VHlwZUVycm9yKG8sIDE4NzU3MzgyOTg0ODIx
biwgIk9iamVjdC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBTeW1ib2wgKiBCaWdJbnQiKTsKLQot
byA9IHsKLSAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXTogZnVuY3Rpb24gKCkgeyByZXR1cm4gMzMy
NTY7IH0KLX07Ci0KLWFzc2VydFRocm93VHlwZUVycm9yKDMwbiwgbywgIkJpZ0ludCAqIE9iamVj
dC5AQHRvUHJpbWl0aXZlIHJldHVybmluZyBJbnQzMiIpOwotYXNzZXJ0VGhyb3dUeXBlRXJyb3Io
bywgMTg3NTczODI5ODQ4MjFuLCAiT2JqZWN0LkBAdG9QcmltaXRpdmUgcmV0dXJuaW5nIEludDMy
ICogQmlnSW50Iik7Ci0KLW8gPSB7Ci0gICAgW1N5bWJvbC50b1ByaW1pdGl2ZV06IGZ1bmN0aW9u
ICgpIHsgcmV0dXJuIDAuNDUzOyB9Ci19OwotCi1hc3NlcnRUaHJvd1R5cGVFcnJvcigzMG4sIG8s
ICJCaWdJbnQgKiBPYmplY3QuQEB0b1ByaW1pdGl2ZSByZXR1cm5pbmcgRG91YmxlIik7Ci1hc3Nl
cnRUaHJvd1R5cGVFcnJvcihvLCAxODc1NzM4Mjk4NDgyMW4sICJPYmplY3QuQEB0b1ByaW1pdGl2
ZSByZXR1cm5pbmcgRG91YmxlICogQmlnSW50Iik7Ci0KZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3Ry
ZXNzL2JpZy1pbnQtbXVsLXdyYXBwZWQtdmFsdWUuanMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50
LW11bC13cmFwcGVkLXZhbHVlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjcz
ZDhhNjAzMDJmYWY2NmRmYTZjZmExZWIxMzcwZWM4YzIyYzNhLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0pTVGVzdHMvc3RyZXNzL2JpZy1pbnQtbXVsLXdy
YXBwZWQtdmFsdWUuanMKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0vL0AgcnVuQmln
SW50RW5hYmxlZAotCi1hc3NlcnQgPSB7Ci0gICAgc2FtZVZhbHVlOiBmdW5jdGlvbiAoaW5wdXQs
IGV4cGVjdGVkLCBtZXNzYWdlKSB7Ci0gICAgICAgIGlmIChpbnB1dCAhPT0gZXhwZWN0ZWQpCi0g
ICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7Ci0gICAgfQotfTsKLQotZnVuY3Rp
b24gdGVzdE11bCh4LCB5LCB6LCBtZXNzYWdlKSB7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZSh4ICog
eSwgeiwgbWVzc2FnZSk7Ci0gICAgYXNzZXJ0LnNhbWVWYWx1ZSh5ICogeCwgeiwgbWVzc2FnZSk7
Ci19Ci0KLXRlc3RNdWwoT2JqZWN0KDJuKSwgMW4sIDJuLCAiVG9QcmltaXRpdmU6IHVuYm94IG9i
amVjdCB3aXRoIGludGVybmFsIHNsb3QiKTsKLQotbGV0IG8gPSB7Ci0gICAgW1N5bWJvbC50b1By
aW1pdGl2ZV06IGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gMm47Ci0gICAgfQotfTsKLXRl
c3RNdWwobywgMW4sIDJuLCAiVG9QcmltaXRpdmU6IEBAdG9QcmltaXRpdmUiKTsKLQotbyA9IHsK
LSAgICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsKLSAgICAgICAgcmV0dXJuIDJuOwotICAgIH0KLX07
Ci10ZXN0TXVsKG8sIDFuLCAybiwgIlRvUHJpbWl0aXZlOiB2YWx1ZU9mIik7Ci0KLW8gPSB7Ci0g
ICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gMm47Ci0gICAgfQotfQot
dGVzdE11bChvLCAxbiwgMm4sICJUb1ByaW1pdGl2ZTogdG9TdHJpbmciKTsKLQpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1tdWx0aXBsaWNhdGlvbi5qcyBiL0pTVGVzdHMvc3Ry
ZXNzL2JpZy1pbnQtbXVsdGlwbGljYXRpb24uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDNlY2Q2MzZkN2Y4OWEyNGFjZmJiODFkNzJkNzU1YzIyOGZlNmZhZDkuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvSlNUZXN0cy9zdHJlc3MvYmlnLWlu
dC1tdWx0aXBsaWNhdGlvbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAgQEAKLS8vQCBy
dW5CaWdJbnRFbmFibGVkCi0KLS8vIENvcHlyaWdodCAoQykgMjAxNyBSb2JpbiBUZW1wbGV0b24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJT
RCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0KLWFzc2VydCA9IHsKLSAgICBz
YW1lVmFsdWU6IGZ1bmN0aW9uIChpbnB1dCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKLSAgICBpZiAo
aW5wdXQgIT09IGV4cGVjdGVkKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7Ci0g
ICAgfQotfTsKLQotZnVuY3Rpb24gdGVzdE11bCh4LCB5LCB6KSB7Ci0gICAgYXNzZXJ0LnNhbWVW
YWx1ZSh4ICogeSwgeiwgeCArICIgKiAiICsgeSArICIgPSAiICsgeik7Ci0gICAgYXNzZXJ0LnNh
bWVWYWx1ZSh5ICogeCwgeiwgeSArICIgKiAiICsgeCArICIgPSAiICsgeik7Ci19Ci0KLXRlc3RN
dWwoMHhGRURDQkE5ODc2NTQzMjEwbiwgMHhGRURDQkE5ODc2NTQzMjEwbiwgMHhGREJBQzA5N0M4
REM1QUNDREVFQzZDRDdBNDRBNDEwMG4pOwotdGVzdE11bCgweEZFRENCQTk4NzY1NDMyMTBuLCAw
eEZFRENCQTk4biwgMHhGREJBQzA5NzUzMEVDQTg2NTQxRDU5ODBuKTsKLXRlc3RNdWwoMHhGRURD
QkE5ODc2NTQzMjEwbiwgMHgxMjM0biwgMHgxMjFGNDlGNDlGNDlGNDlGNEI0MG4pOwotdGVzdE11
bCgweEZFRENCQTk4NzY1NDMyMTBuLCAweDNuLCAweDJGQzk2MkZDOTYyRkM5NjMwbik7Ci10ZXN0
TXVsKDB4RkVEQ0JBOTg3NjU0MzIxMG4sIDB4Mm4sIDB4MUZEQjk3NTMwRUNBODY0MjBuKTsKLXRl
c3RNdWwoMHhGRURDQkE5ODc2NTQzMjEwbiwgMHgxbiwgMHhGRURDQkE5ODc2NTQzMjEwbik7Ci10
ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIxMG4sIDB4MG4sIDB4MG4pOwotdGVzdE11bCgweEZFRENC
QTk4NzY1NDMyMTBuLCBCaWdJbnQoIi0xIiksIEJpZ0ludCgiLTE4MzY0NzU4NTQ0NDkzMDY0NzIw
IikpOwotdGVzdE11bCgweEZFRENCQTk4NzY1NDMyMTBuLCBCaWdJbnQoIi0yIiksIEJpZ0ludCgi
LTM2NzI5NTE3MDg4OTg2MTI5NDQwIikpOwotdGVzdE11bCgweEZFRENCQTk4NzY1NDMyMTBuLCBC
aWdJbnQoIi0zIiksIEJpZ0ludCgiLTU1MDk0Mjc1NjMzNDc5MTk0MTYwIikpOwotdGVzdE11bCgw
eEZFRENCQTk4NzY1NDMyMTBuLCBCaWdJbnQoIi00NjYwIiksIEJpZ0ludCgiLTg1NTc5Nzc0ODE3
MzM3NjgxNTk1MjAwIikpOwotdGVzdE11bCgweEZFRENCQTk4NzY1NDMyMTBuLCBCaWdJbnQoIi00
Mjc1ODc4NTUxIiksIEJpZ0ludCgiLTc4NTI1NDc3MTU0NjkxODc0NjA0NTAyODIwNzIwIikpOwot
dGVzdE11bCgweEZFRENCQTk4NzY1NDMyMEZuLCAweEZFRENCQTk4NzY1NDMyMEZuLCAweEZEQkFD
MDk3QzhEQzVBQ0FFMTMyRjdBNkI3QTFEQ0Uxbik7Ci10ZXN0TXVsKDB4RkVEQ0JBOTg3NjU0MzIw
Rm4sIDB4RkVEQ0JBOTduLCAweEZEQkFDMDk2NTQzMjBGRUNERUVDNkNEOW4pOwotdGVzdE11bCgw
eEZFRENCQTk4NzY1NDMyMEZuLCAweDNuLCAweDJGQzk2MkZDOTYyRkM5NjJEbik7Ci10ZXN0TXVs
KDB4RkVEQ0JBOTg3NjU0MzIwRm4sIDB4Mm4sIDB4MUZEQjk3NTMwRUNBODY0MUVuKTsKLXRlc3RN
dWwoMHhGRURDQkE5ODc2NTQzMjBGbiwgMHgxbiwgMHhGRURDQkE5ODc2NTQzMjBGbik7Ci10ZXN0
TXVsKDB4RkVEQ0JBOTg3NjU0MzIwRm4sIDB4MG4sIDB4MG4pOwotdGVzdE11bCgweEZFRENCQTk4
NzY1NDMyMEZuLCBCaWdJbnQoIi0xIiksIEJpZ0ludCgiLTE4MzY0NzU4NTQ0NDkzMDY0NzE5Iikp
OwotdGVzdE11bCgweEZFRENCQTk4NzY1NDMyMEZuLCBCaWdJbnQoIi0yIiksIEJpZ0ludCgiLTM2
NzI5NTE3MDg4OTg2MTI5NDM4IikpOwotdGVzdE11bCgweEZFRENCQTk4NzY1NDMyMEZuLCBCaWdJ
bnQoIi0zIiksIEJpZ0ludCgiLTU1MDk0Mjc1NjMzNDc5MTk0MTU3IikpOwotdGVzdE11bCgweEZF
RENCQTk4NzY1NDMyMEZuLCBCaWdJbnQoIi00Mjc1ODc4NTUxIiksIEJpZ0ludCgiLTc4NTI1NDc3
MTU0NjkxODc0NjAwMjI2OTQyMTY5IikpOwotdGVzdE11bCgweEZFRENCQTk4NzY1NDMyMEZuLCBC
aWdJbnQoIi0xODM2NDc1ODU0NDQ5MzA2NDcyMCIpLCBCaWdJbnQoIi0zMzcyNjQzNTYzOTc1MzEw
Mjg5NzY2MDgyODk2MzM2MTU2MTM2ODAiKSk7Ci10ZXN0TXVsKDB4RkVEQ0JBOThuLCAweEZFRENC
QTk4biwgMHhGREJBQzA5NkRENDEzQTQwbik7Ci10ZXN0TXVsKDB4RkVEQ0JBOThuLCAweDEyMzRu
LCAweDEyMUY0OUY0OTZFMG4pOwotdGVzdE11bCgweEZFRENCQTk4biwgMHgzbiwgMHgyRkM5NjJG
QzhuKTsKLXRlc3RNdWwoMHhGRURDQkE5OG4sIDB4Mm4sIDB4MUZEQjk3NTMwbik7Ci10ZXN0TXVs
KDB4RkVEQ0JBOThuLCAweDFuLCAweEZFRENCQTk4bik7Ci10ZXN0TXVsKDB4RkVEQ0JBOThuLCAw
eDBuLCAweDBuKTsKLXRlc3RNdWwoMHhGRURDQkE5OG4sIEJpZ0ludCgiLTEiKSwgQmlnSW50KCIt
NDI3NTg3ODU1MiIpKTsKLXRlc3RNdWwoMHhGRURDQkE5OG4sIEJpZ0ludCgiLTIiKSwgQmlnSW50
KCItODU1MTc1NzEwNCIpKTsKLXRlc3RNdWwoMHhGRURDQkE5OG4sIEJpZ0ludCgiLTMiKSwgQmln
SW50KCItMTI4Mjc2MzU2NTYiKSk7Ci10ZXN0TXVsKDB4RkVEQ0JBOThuLCBCaWdJbnQoIi00Mjc1
ODc4NTUxIiksIEJpZ0ludCgiLTE4MjgzMTM3Mzg3MTc3NzM4MTUyIikpOwotdGVzdE11bCgweEZF
RENCQTk4biwgQmlnSW50KCItMTgzNjQ3NTg1NDQ0OTMwNjQ3MjAiKSwgQmlnSW50KCItNzg1MjU0
NzcxNzMwNTY2MzMxNDg5OTU4ODU0NDAiKSk7Ci10ZXN0TXVsKDB4M24sIDB4M24sIDB4OW4pOwot
dGVzdE11bCgweDNuLCAweDJuLCAweDZuKTsKLXRlc3RNdWwoMHgzbiwgMHgxbiwgMHgzbik7Ci10
ZXN0TXVsKDB4M24sIDB4MG4sIDB4MG4pOwotdGVzdE11bCgweDNuLCBCaWdJbnQoIi0xIiksIEJp
Z0ludCgiLTMiKSk7Ci10ZXN0TXVsKDB4M24sIEJpZ0ludCgiLTIiKSwgQmlnSW50KCItNiIpKTsK
LXRlc3RNdWwoMHgzbiwgQmlnSW50KCItMyIpLCBCaWdJbnQoIi05IikpOwotdGVzdE11bCgweDNu
LCBCaWdJbnQoIi00NjYwIiksIEJpZ0ludCgiLTEzOTgwIikpOwotdGVzdE11bCgweDNuLCBCaWdJ
bnQoIi00Mjc1ODc4NTUyIiksIEJpZ0ludCgiLTEyODI3NjM1NjU2IikpOwotdGVzdE11bCgweDNu
LCBCaWdJbnQoIi0xODM2NDc1ODU0NDQ5MzA2NDcyMCIpLCBCaWdJbnQoIi01NTA5NDI3NTYzMzQ3
OTE5NDE2MCIpKTsKLXRlc3RNdWwoMHgwbiwgMHgwbiwgMHgwbik7Ci10ZXN0TXVsKDB4MG4sIEJp
Z0ludCgiLTEiKSwgMHgwbik7Ci10ZXN0TXVsKDB4MG4sIEJpZ0ludCgiLTIiKSwgMHgwbik7Ci10
ZXN0TXVsKDB4MG4sIEJpZ0ludCgiLTMiKSwgMHgwbik7Ci10ZXN0TXVsKDB4MG4sIEJpZ0ludCgi
LTQyNzU4Nzg1NTEiKSwgMHgwbik7Ci10ZXN0TXVsKDB4MG4sIEJpZ0ludCgiLTE4MzY0NzU4NTQ0
NDkzMDY0NzE5IiksIDB4MG4pOwotdGVzdE11bChCaWdJbnQoIi0xIiksIEJpZ0ludCgiLTEiKSwg
MHgxbik7Ci10ZXN0TXVsKEJpZ0ludCgiLTEiKSwgQmlnSW50KCItMiIpLCAweDJuKTsKLXRlc3RN
dWwoQmlnSW50KCItMSIpLCBCaWdJbnQoIi0zIiksIDB4M24pOwotdGVzdE11bChCaWdJbnQoIi0x
IiksIEJpZ0ludCgiLTQ2NjAiKSwgMHgxMjM0bik7Ci10ZXN0TXVsKEJpZ0ludCgiLTEiKSwgQmln
SW50KCItNDI3NTg3ODU1MSIpLCAweEZFRENCQTk3bik7Ci10ZXN0TXVsKEJpZ0ludCgiLTEiKSwg
QmlnSW50KCItNDI3NTg3ODU1MiIpLCAweEZFRENCQTk4bik7Ci10ZXN0TXVsKEJpZ0ludCgiLTEi
KSwgQmlnSW50KCItMTgzNjQ3NTg1NDQ0OTMwNjQ3MTkiKSwgMHhGRURDQkE5ODc2NTQzMjBGbik7
Ci10ZXN0TXVsKEJpZ0ludCgiLTEiKSwgQmlnSW50KCItMTgzNjQ3NTg1NDQ0OTMwNjQ3MjAiKSwg
MHhGRURDQkE5ODc2NTQzMjEwbik7Ci10ZXN0TXVsKEJpZ0ludCgiLTMiKSwgQmlnSW50KCItMyIp
LCAweDluKTsKLXRlc3RNdWwoQmlnSW50KCItMyIpLCBCaWdJbnQoIi00NjYwIiksIDB4MzY5Q24p
OwotdGVzdE11bChCaWdJbnQoIi0zIiksIEJpZ0ludCgiLTQyNzU4Nzg1NTEiKSwgMHgyRkM5NjJG
QzVuKTsKLXRlc3RNdWwoQmlnSW50KCItMyIpLCBCaWdJbnQoIi00Mjc1ODc4NTUyIiksIDB4MkZD
OTYyRkM4bik7Ci10ZXN0TXVsKEJpZ0ludCgiLTMiKSwgQmlnSW50KCItMTgzNjQ3NTg1NDQ0OTMw
NjQ3MTkiKSwgMHgyRkM5NjJGQzk2MkZDOTYyRG4pOwotdGVzdE11bChCaWdJbnQoIi0zIiksIEJp
Z0ludCgiLTE4MzY0NzU4NTQ0NDkzMDY0NzIwIiksIDB4MkZDOTYyRkM5NjJGQzk2MzBuKTsKLXRl
c3RNdWwoQmlnSW50KCItMTgzNjQ3NTg1NDQ0OTMwNjQ3MjAiKSwgQmlnSW50KCItMTgzNjQ3NTg1
NDQ0OTMwNjQ3MjAiKSwgMHhGREJBQzA5N0M4REM1QUNDREVFQzZDRDdBNDRBNDEwMG4pOwotCmRp
ZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW11bHRpcGx5LW1lbW9yeS1zdHJlc3Mu
anMgYi9KU1Rlc3RzL3N0cmVzcy9iaWctaW50LW11bHRpcGx5LW1lbW9yeS1zdHJlc3MuanMKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhYmFhN2UyOGY5YWVlNjVkMjFjMGQzNmY2M2Rm
NjgwMjNiOWM4OTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvSlNUZXN0cy9zdHJlc3MvYmlnLWludC1tdWx0aXBseS1tZW1vcnktc3RyZXNzLmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotLy9AIHJ1bkJpZ0ludEVuYWJsZWQKLQotZnVuY3Rp
b24gYXNzZXJ0KGEpIHsKLSAgICBpZiAoIWEpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFk
IGFzc2VydGlvbiIpOwotfQotCi1sZXQgYSA9IDBuOwotbGV0IGIgPSAxbjsKLWZvciAobGV0IGkg
PSAwOyBpIDwgMTAwMDAwMDsgaSsrKSB7Ci0gICAgYSA9IGIgKiAzMG47Ci19Ci0KLWFzc2VydChh
ID09PSAzMG4pOwotCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>