<?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>228951</bug_id>
          
          <creation_ts>2021-08-10 06:06:11 -0700</creation_ts>
          <short_desc>Cherry-pick ANGLE: Revise WebGL&apos;s shaderSource validation</short_desc>
          <delta_ts>2021-08-12 14:09:46 -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>ANGLE</component>
          <version>WebKit Local 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=229051</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>
          
          <blocked>223315</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1783149</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-10 06:06:11 -0700</bug_when>
    <thetext>Cherry-pick ANGLE: Revise WebGL&apos;s shaderSource validation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783150</commentid>
    <comment_count>1</comment_count>
      <attachid>435251</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-10 06:12:03 -0700</bug_when>
    <thetext>Created attachment 435251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783156</commentid>
    <comment_count>2</comment_count>
      <attachid>435254</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-10 06:52:36 -0700</bug_when>
    <thetext>Created attachment 435254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783243</commentid>
    <comment_count>3</comment_count>
      <attachid>435278</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-10 11:57:11 -0700</bug_when>
    <thetext>Created attachment 435278
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783244</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-08-10 11:58:06 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783264</commentid>
    <comment_count>5</comment_count>
      <attachid>435278</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-08-10 13:00:41 -0700</bug_when>
    <thetext>Comment on attachment 435278
Patch

Looks good; verified that WebGLRenderingContextBase is just passing through these shader sources to ANGLE rather than doing any processing like it used to. r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783396</commentid>
    <comment_count>6</comment_count>
      <attachid>435324</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-08-10 22:45:37 -0700</bug_when>
    <thetext>Created attachment 435324
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783445</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-11 04:21:01 -0700</bug_when>
    <thetext>Committed r280904 (240428@main): &lt;https://commits.webkit.org/240428@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435324.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783446</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-11 04:21:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/81787531&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435251</attachid>
            <date>2021-08-10 06:12:03 -0700</date>
            <delta_ts>2021-08-10 06:52:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228951-20210810161201.patch</filename>
            <type>text/plain</type>
            <size>12645</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNDQwNDczZDJmMzUxZWY2ZjVkYmEyMjhjMjAzNzEwOWQ3MGUxYTM1MS4uYTUzYmYwNjBkODE0
M2I3ZTQ2YjI1OGE1MzUyNjE3NjRhYTkzNmMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA4LTEwICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hlcnJ5LXBpY2sgQU5HTEU6IFJldmlzZSBXZWJHTCdz
IHNoYWRlclNvdXJjZSB2YWxpZGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjg5NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDaGVycnktcGljayBBTkdMRSBjb21taXQ6IGI0ZmQ0NjI4OGFhNjVk
NjFkYzljNzE0MGM3ZDFjZGJhM2Y0Y2RmOWEKKyAgICAgICAgRnJvbTogS2VubmV0aCBSdXNzZWxs
IDxrYnJAY2hyb21pdW0ub3JnPgorICAgICAgICBEYXRlOiBXZWQsIDI3IEphbiAyMDIxIDE1OjU2
OjU4IC0wODAwCisgICAgICAgIFJldmlzZSBXZWJHTCdzIHNoYWRlclNvdXJjZSB2YWxpZGF0aW9u
LgorCisgICAgICAgIFBlciBkaXNjdXNzaW9uIGluIHRoZSBXZWJHTCB3b3JraW5nIGdyb3VwLCBz
aGFkZXJTb3VyY2Ugbm8gbG9uZ2VyCisgICAgICAgIGdlbmVyYXRlcyBJTlZBTElEX1ZBTFVFIGZv
ciBzb3VyY2VzIGNvbnRhaW5pbmcgY2hhcmFjdGVycyBvdXRzaWRlIHRoZQorICAgICAgICBFU1NM
IGNoYXJhY3RlciBzZXQuIENvbXBpbGF0aW9uIGFuZC9vciBsaW5raW5nIGlzIHN0aWxsIHNwZWNp
ZmllZCB0bworICAgICAgICBmYWlsIHdoZW4gaWxsZWdhbCBjb25zdHJ1Y3RzIGFyZSB1c2VkLgor
CisgICAgICAgIFdpdGggdGhpcyBjaGFuZ2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9LaHJvbm9zR3Jv
dXAvV2ViR0wvcHVsbC8zMjA2CisgICAgICAgIHBhc3NlcyB3aXRoIHRoZSBwYXNzdGhyb3VnaCBj
b21tYW5kIGRlY29kZXIuCisKKyAgICAgICAgUmV2aXNlIFdlYkdMIGNvbXBhdGliaWxpdHkgdGVz
dHMgdG8gZm9sbG93IHRoZSBuZXcgcnVsZXMuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvdmFs
aWRhdGlvbkVTMi5jcHA6CisgICAgICAgIChnbDo6VmFsaWRhdGVTaGFkZXJTb3VyY2UpOgorICAg
ICAgICAqIHNyYy90ZXN0cy9nbF90ZXN0cy9XZWJHTENvbXBhdGliaWxpdHlUZXN0LmNwcDoKKwog
MjAyMS0wNy0yMyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgMy41
IE1CIHN5c3RlbS13aWRlIGZvb3RwcmludCBpbXBhY3QgZHVlIHRvIHRocmVhZC1sb2NhbHMgaW4g
bGliQU5HTEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS92YWxpZGF0aW9uRVMyLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS92YWxpZGF0aW9uRVMyLmNwcAppbmRleCBlOGNhYmMwNjI4ZTg2NDRjMzZkMzMxYWE1OWVlNWMz
NjIwM2MyNTMyLi5lYWUxMmE3NDZkNjJhMjJiNmVjMDk1NDRlZjllOTNjYTdmYTc4NGIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVT
Mi5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRp
b25FUzIuY3BwCkBAIC04MDUsMTMwICs4MDUsNiBAQCBib29sIElzVmFsaWRFU1NMU3RyaW5nKGNv
bnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxlbikKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBJ
c1ZhbGlkRVNTTFNoYWRlclNvdXJjZVN0cmluZyhjb25zdCBjaGFyICpzdHIsIHNpemVfdCBsZW4s
IGJvb2wgbGluZUNvbnRpbnVhdGlvbkFsbG93ZWQpCi17Ci0gICAgZW51bSBjbGFzcyBQYXJzZVN0
YXRlCi0gICAgewotICAgICAgICAvLyBIYXZlIG5vdCBzZWVuIGFuIEFTQ0lJIG5vbi13aGl0ZXNw
YWNlIGNoYXJhY3RlciB5ZXQgb24KLSAgICAgICAgLy8gdGhpcyBsaW5lLiBQb3NzaWJsZSB0aGF0
IHdlIG1pZ2h0IHNlZSBhIHByZXByb2Nlc3NvcgotICAgICAgICAvLyBkaXJlY3RpdmUuCi0gICAg
ICAgIEJFR0lOSU5HX09GX0xJTkUsCi0KLSAgICAgICAgLy8gSGF2ZSBzZWVuIGF0IGxlYXN0IG9u
ZSBBU0NJSSBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIKLSAgICAgICAgLy8gb24gdGhpcyBsaW5l
LgotICAgICAgICBNSURETEVfT0ZfTElORSwKLQotICAgICAgICAvLyBIYW5kbGluZyBhIHByZXBy
b2Nlc3NvciBkaXJlY3RpdmUuIFBhc3NlcyB0aHJvdWdoIGFsbAotICAgICAgICAvLyBjaGFyYWN0
ZXJzIHVwIHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUuIERpc2FibGVzIGNvbW1lbnQKLSAgICAgICAg
Ly8gcHJvY2Vzc2luZy4KLSAgICAgICAgSU5fUFJFUFJPQ0VTU09SX0RJUkVDVElWRSwKLQotICAg
ICAgICAvLyBIYW5kbGluZyBhIHNpbmdsZS1saW5lIGNvbW1lbnQuIFRoZSBjb21tZW50IHRleHQg
aXMKLSAgICAgICAgLy8gcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBzcGFjZS4KLSAgICAgICAgSU5f
U0lOR0xFX0xJTkVfQ09NTUVOVCwKLQotICAgICAgICAvLyBIYW5kbGluZyBhIG11bHRpLWxpbmUg
Y29tbWVudC4gTmV3bGluZXMgYXJlIHBhc3NlZAotICAgICAgICAvLyB0aHJvdWdoIHRvIHByZXNl
cnZlIGxpbmUgbnVtYmVycy4KLSAgICAgICAgSU5fTVVMVElfTElORV9DT01NRU5UCi0gICAgfTsK
LQotICAgIFBhcnNlU3RhdGUgc3RhdGUgPSBQYXJzZVN0YXRlOjpCRUdJTklOR19PRl9MSU5FOwot
ICAgIHNpemVfdCBwb3MgICAgICAgPSAwOwotCi0gICAgd2hpbGUgKHBvcyA8IGxlbikKLSAgICB7
Ci0gICAgICAgIGNoYXIgYyAgICA9IHN0cltwb3NdOwotICAgICAgICBjaGFyIG5leHQgPSBwb3Mg
KyAxIDwgbGVuID8gc3RyW3BvcyArIDFdIDogMDsKLQotICAgICAgICAvLyBDaGVjayBmb3IgbmV3
bGluZXMKLSAgICAgICAgaWYgKGMgPT0gJ1xuJyB8fCBjID09ICdccicpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGlmIChzdGF0ZSAhPSBQYXJzZVN0YXRlOjpJTl9NVUxUSV9MSU5FX0NPTU1FTlQp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc3RhdGUgPSBQYXJzZVN0YXRlOjpCRUdJ
TklOR19PRl9MSU5FOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBwb3MrKzsKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgc3dpdGNoIChzdGF0ZSkKLSAg
ICAgICAgewotICAgICAgICAgICAgY2FzZSBQYXJzZVN0YXRlOjpCRUdJTklOR19PRl9MSU5FOgot
ICAgICAgICAgICAgICAgIGlmIChjID09ICcgJykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgIC8vIE1haW50YWluIHRoZSBCRUdJTklOR19PRl9MSU5FIHN0YXRlIHVudGls
IGEgbm9uLXNwYWNlIGlzIHNlZW4KLSAgICAgICAgICAgICAgICAgICAgcG9zKys7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGMgPT0gJyMnKQotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBQYXJzZVN0YXRlOjpJTl9QUkVQ
Uk9DRVNTT1JfRElSRUNUSVZFOwotICAgICAgICAgICAgICAgICAgICBwb3MrKzsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgLy8gRG9uJ3QgYWR2YW5jZSwgcmUtcHJvY2VzcyB0aGlzIGNoYXJhY3Rl
ciB3aXRoIHRoZSBNSURETEVfT0ZfTElORSBzdGF0ZQotICAgICAgICAgICAgICAgICAgICBzdGF0
ZSA9IFBhcnNlU3RhdGU6Ok1JRERMRV9PRl9MSU5FOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgY2FzZSBQYXJzZVN0YXRlOjpNSURETEVf
T0ZfTElORToKLSAgICAgICAgICAgICAgICBpZiAoYyA9PSAnLycgJiYgbmV4dCA9PSAnLycpCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IFBhcnNlU3RhdGU6
OklOX1NJTkdMRV9MSU5FX0NPTU1FTlQ7Ci0gICAgICAgICAgICAgICAgICAgIHBvcysrOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIGlmIChjID09ICcvJyAmJiBuZXh0
ID09ICcqJykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0g
UGFyc2VTdGF0ZTo6SU5fTVVMVElfTElORV9DT01NRU5UOwotICAgICAgICAgICAgICAgICAgICBw
b3MrKzsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAobGluZUNv
bnRpbnVhdGlvbkFsbG93ZWQgJiYgYyA9PSAnXFwnICYmIChuZXh0ID09ICdcbicgfHwgbmV4dCA9
PSAnXHInKSkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFNraXAg
bGluZSBjb250aW51YXRpb24gY2hhcmFjdGVycwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBlbHNlIGlmICghSXNWYWxpZEVTU0xDaGFyYWN0ZXIoYykpCi0gICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIHBvcysrOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAg
ICAgICAgICBjYXNlIFBhcnNlU3RhdGU6OklOX1BSRVBST0NFU1NPUl9ESVJFQ1RJVkU6Ci0gICAg
ICAgICAgICAgICAgLy8gTGluZS1jb250aW51YXRpb24gY2hhcmFjdGVycyBtYXkgbm90IGJlIHBl
cm1pdHRlZC4KLSAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGp1c3QgcGFzcyBpdCB0aHJv
dWdoLiBEbyBub3QgcGFyc2UgY29tbWVudHMgaW4gdGhpcyBzdGF0ZS4KLSAgICAgICAgICAgICAg
ICBpZiAoIWxpbmVDb250aW51YXRpb25BbGxvd2VkICYmIGMgPT0gJ1xcJykKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgcG9zKys7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAg
ICAgICAgICAgIGNhc2UgUGFyc2VTdGF0ZTo6SU5fU0lOR0xFX0xJTkVfQ09NTUVOVDoKLSAgICAg
ICAgICAgICAgICAvLyBMaW5lLWNvbnRpbnVhdGlvbiBjaGFyYWN0ZXJzIGFyZSBwcm9jZXNzZWQg
YmVmb3JlIGNvbW1lbnQgcHJvY2Vzc2luZy4KLSAgICAgICAgICAgICAgICAvLyBBZHZhbmNlIHN0
cmluZyBpZiBhIG5ldyBsaW5lIGNoYXJhY3RlciBpcyBpbW1lZGlhdGVseSBiZWhpbmQKLSAgICAg
ICAgICAgICAgICAvLyBsaW5lLWNvbnRpbnVhdGlvbiBjaGFyYWN0ZXIuCi0gICAgICAgICAgICAg
ICAgaWYgKGMgPT0gJ1xcJyAmJiAobmV4dCA9PSAnXG4nIHx8IG5leHQgPT0gJ1xyJykpCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBwb3MrKzsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgcG9zKys7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAg
ICAgICAgICAgIGNhc2UgUGFyc2VTdGF0ZTo6SU5fTVVMVElfTElORV9DT01NRU5UOgotICAgICAg
ICAgICAgICAgIGlmIChjID09ICcqJyAmJiBuZXh0ID09ICcvJykKLSAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0gUGFyc2VTdGF0ZTo6TUlERExFX09GX0xJTkU7
Ci0gICAgICAgICAgICAgICAgICAgIHBvcysrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBwb3MrKzsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0K
LQotICAgIHJldHVybiB0cnVlOwotfQotCiBib29sIFZhbGlkYXRlV2ViR0xOYW1lUHJlZml4KGNv
bnN0IENvbnRleHQgKmNvbnRleHQsIGNvbnN0IEdMY2hhciAqbmFtZSkKIHsKICAgICBBU1NFUlQo
Y29udGV4dC0+aXNXZWJHTCgpKTsKQEAgLTQ5NDgsMjUgKzQ4MjQsNiBAQCBib29sIFZhbGlkYXRl
U2hhZGVyU291cmNlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKLSAgICAvLyBUaGUgV2ViR0wgc3BlYyAoc2VjdGlvbiA2LjIwKSBkaXNhbGxv
d3Mgc3RyaW5ncyBjb250YWluaW5nIGludmFsaWQgRVNTTCBjaGFyYWN0ZXJzIGZvcgotICAgIC8v
IHNoYWRlci1yZWxhdGVkIGVudHJ5IHBvaW50cwotICAgIGlmIChjb250ZXh0LT5nZXRFeHRlbnNp
b25zKCkud2ViZ2xDb21wYXRpYmlsaXR5KQotICAgIHsKLSAgICAgICAgZm9yIChHTHNpemVpIGkg
PSAwOyBpIDwgY291bnQ7IGkrKykKLSAgICAgICAgewotICAgICAgICAgICAgc2l6ZV90IGxlbiA9
Ci0gICAgICAgICAgICAgICAgKGxlbmd0aCAmJiBsZW5ndGhbaV0gPj0gMCkgPyBzdGF0aWNfY2Fz
dDxzaXplX3Q+KGxlbmd0aFtpXSkgOiBzdHJsZW4oc3RyaW5nW2ldKTsKLQotICAgICAgICAgICAg
Ly8gQmFja3NsYXNoIGFzIGxpbmUtY29udGludWF0aW9uIGlzIGFsbG93ZWQgaW4gV2ViR0wgMi4w
LgotICAgICAgICAgICAgaWYgKCFJc1ZhbGlkRVNTTFNoYWRlclNvdXJjZVN0cmluZyhzdHJpbmdb
aV0sIGxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpID49IEVTXzNfMCkpCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfVkFMVUUs
IGtTaGFkZXJTb3VyY2VJbnZhbGlkQ2hhcmFjdGVycyk7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCiAgICAgU2hhZGVyICpz
aGFkZXJPYmplY3QgPSBHZXRWYWxpZFNoYWRlcihjb250ZXh0LCBzaGFkZXIpOwogICAgIGlmICgh
c2hhZGVyT2JqZWN0KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy90ZXN0cy9nbF90ZXN0cy9XZWJHTENvbXBhdGliaWxpdHlUZXN0LmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9XZWJHTENvbXBhdGliaWxpdHlUZXN0
LmNwcAppbmRleCA2MWMxMzBlZTQwZmIwMDVmM2I3NzllNWE2MTEzMThmNTM4OGQzNTRhLi5jOWYx
NzMzODU2ODllOTVkMDA4NzgyZmRkZGFjOWZiMzA4NTRkZTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvV2ViR0xDb21wYXRpYmlsaXR5VGVz
dC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1dl
YkdMQ29tcGF0aWJpbGl0eVRlc3QuY3BwCkBAIC0yMTU2LDM5ICsyMTU2LDI3IEBAIHZvaWQgbWFp
bigpCiAgICAgZm9yIChjaGFyIGludmFsaWRDaGFyIDogaW52YWxpZFNldCkKICAgICB7CiAgICAg
ICAgIHN0ZDo6c3RyaW5nIGludmFsaWRBdHRyaWJOYW1lID0gdmFsaWRBdHRyaWJOYW1lICsgaW52
YWxpZENoYXI7Ci0gICAgICAgIGNvbnN0IGNoYXIgKmludmFsaWRWZXJ0W10gICAgID0gewotICAg
ICAgICAgICAgImF0dHJpYnV0ZSBmbG9hdCAiLAotICAgICAgICAgICAgaW52YWxpZEF0dHJpYk5h
bWUuY19zdHIoKSwKLSAgICAgICAgICAgIFIiKDssCisgICAgICAgIHN0ZDo6c3RyaW5nIGludmFs
aWRWZXJ0ICAgICAgID0gImF0dHJpYnV0ZSBmbG9hdCAiOworICAgICAgICBpbnZhbGlkVmVydCAr
PSBpbnZhbGlkQXR0cmliTmFtZTsKKyAgICAgICAgaW52YWxpZFZlcnQgKz0gUiIoOywKIHZvaWQg
bWFpbigpLAogeywKICAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMS4wKTssCi19KSIsCi0gICAgICAg
IH07Ci0KLSAgICAgICAgR0x1aW50IHNoYWRlciA9IGdsQ3JlYXRlU2hhZGVyKEdMX1ZFUlRFWF9T
SEFERVIpOwotICAgICAgICBnbFNoYWRlclNvdXJjZShzaGFkZXIsIHN0YXRpY19jYXN0PEdMc2l6
ZWk+KEFycmF5U2l6ZShpbnZhbGlkVmVydCkpLCBpbnZhbGlkVmVydCwgbnVsbHB0cik7Ci0gICAg
ICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX1ZBTFVFKTsKLSAgICAgICAgZ2xEZWxldGVT
aGFkZXIoc2hhZGVyKTsKK30pIjsKKyAgICAgICAgR0x1aW50IHByb2dyYW0gPSBDb21waWxlUHJv
Z3JhbShpbnZhbGlkVmVydC5jX3N0cigpLCBlc3NsMV9zaGFkZXJzOjpmczo6UmVkKCkpOworICAg
ICAgICBFWFBFQ1RfRVEoMHUsIHByb2dyYW0pOwogICAgIH0KIH0KIAotLy8gVGVzdCB0aGF0IGxp
bmUgY29udGludWF0aW9uIGlzIGhhbmRsZWQgY29ycmVjdGx5IHdoZW4gdmFsZGlhdGluZyBzaGFk
ZXIgc291cmNlCisvLyBUZXN0IHRoYXQgbGluZSBjb250aW51YXRpb24gaXMgaGFuZGxlZCBjb3Jy
ZWN0bHkgd2hlbiB2YWxpZGF0aW5nIHNoYWRlciBzb3VyY2UKIFRFU1RfUChXZWJHTENvbXBhdGli
aWxpdHlUZXN0LCBTaGFkZXJTb3VyY2VMaW5lQ29udGludWF0aW9uKQogewotICAgIC8vIFZlcmlm
eSB0aGF0IGEgbGluZSBjb250aW51YXRpb24gY2hhcmFjdGVyIChpLmUuIGJhY2tzbGFzaCkgY2Fu
bm90IGJlIHVzZWQKLSAgICAvLyB3aXRoaW4gYSBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlIGluIGEg
RVMyIGNvbnRleHQuCi0gICAgQU5HTEVfU0tJUF9URVNUX0lGKGdldENsaWVudE1ham9yVmVyc2lv
bigpID49IDMpOworICAgIC8vIFdpdGggcmVjZW50IGNoYW5nZXMgdG8gV2ViR0wncyBzaGFkZXIg
c291cmNlIHZhbGlkYXRpb24gaW4KKyAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vS2hyb25vc0dy
b3VwL1dlYkdML3B1bGwvMzIwNiBhbmQgZm9sbG93LW9ucywKKyAgICAvLyB0aGUgYmFja3NsYXNo
IGNoYXJhY3RlciBjYW4gYmUgdXNlZCBpbiBib3RoIFdlYkdMIDEuMCBhbmQgMi4wCisgICAgLy8g
Y29udGV4dHMuCiAKICAgICBjb25zdCBjaGFyICp2YWxpZFZlcnQgPQotICAgICAgICBSIigjZGVm
aW5lIGZvbyB0aGlzIGlzIGEgdGVzdAotcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Ci12b2lkIG1h
aW4oKQotewotICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgxLjApOwotfSkiOwotCi0gICAgY29uc3Qg
Y2hhciAqaW52YWxpZFZlcnQgPQogICAgICAgICBSIigjZGVmaW5lIGZvbyB0aGlzIFwKICAgICBp
cyBhIHRlc3QKIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpAQCAtMjE5NywxMyArMjE4NSw5IEBA
IHZvaWQgbWFpbigpCiAgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KDEuMCk7CiB9KSI7CiAKLSAgICBH
THVpbnQgc2hhZGVyID0gZ2xDcmVhdGVTaGFkZXIoR0xfVkVSVEVYX1NIQURFUik7Ci0gICAgZ2xT
aGFkZXJTb3VyY2Uoc2hhZGVyLCAxLCAmdmFsaWRWZXJ0LCBudWxscHRyKTsKLSAgICBFWFBFQ1Rf
R0xfTk9fRVJST1IoKTsKLQotICAgIGdsU2hhZGVyU291cmNlKHNoYWRlciwgMSwgJmludmFsaWRW
ZXJ0LCBudWxscHRyKTsKLSAgICBFWFBFQ1RfR0xfRVJST1IoR0xfSU5WQUxJRF9WQUxVRSk7Ci0g
ICAgZ2xEZWxldGVTaGFkZXIoc2hhZGVyKTsKKyAgICBHTHVpbnQgcHJvZ3JhbSA9IENvbXBpbGVQ
cm9ncmFtKHZhbGlkVmVydCwgZXNzbDFfc2hhZGVyczo6ZnM6OlJlZCgpKTsKKyAgICBFWFBFQ1Rf
TkUoMHUsIHByb2dyYW0pOworICAgIGdsRGVsZXRlUHJvZ3JhbShwcm9ncmFtKTsKIH0KIAogLy8g
VGVzdCB0aGF0IGxpbmUgY29udGludWF0aW9uIGlzIGhhbmRsZWQgY29ycmVjdGx5IHdoZW4gdmFs
ZGlhdGluZyBzaGFkZXIgc291cmNlCkBAIC0yMjMxLDEyICsyMjE1LDEyIEBAIG9vID0gMS4wOwog
ICAgIGdsX1Bvc2l0aW9uID0gdmVjNChmb28pOwogfSkiOwogCi0gICAgR0x1aW50IHNoYWRlciA9
IGdsQ3JlYXRlU2hhZGVyKEdMX1ZFUlRFWF9TSEFERVIpOwotICAgIGdsU2hhZGVyU291cmNlKHNo
YWRlciwgMSwgJnZhbGlkVmVydCwgbnVsbHB0cik7Ci0gICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7
Ci0gICAgZ2xTaGFkZXJTb3VyY2Uoc2hhZGVyLCAxLCAmaW52YWxpZFZlcnQsIG51bGxwdHIpOwot
ICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX1ZBTFVFKTsKLSAgICBnbERlbGV0ZVNoYWRl
cihzaGFkZXIpOworICAgIEdMdWludCBwcm9ncmFtID0gQ29tcGlsZVByb2dyYW0odmFsaWRWZXJ0
LCBlc3NsM19zaGFkZXJzOjpmczo6UmVkKCkpOworICAgIEVYUEVDVF9ORSgwdSwgcHJvZ3JhbSk7
CisgICAgZ2xEZWxldGVQcm9ncmFtKHByb2dyYW0pOworCisgICAgcHJvZ3JhbSA9IENvbXBpbGVQ
cm9ncmFtKGludmFsaWRWZXJ0LCBlc3NsM19zaGFkZXJzOjpmczo6UmVkKCkpOworICAgIEVYUEVD
VF9FUSgwdSwgcHJvZ3JhbSk7CiB9CiAKIC8vIFRlc3RzIGJpbmRBdHRyaWJMb2NhdGlvbnMgZm9y
IHJlc2VydmVkIHByZWZpeGVzIGFuZCBsZW5ndGggbGltaXRzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWE2YjY3MGM3ZmNh
MThhNmYzNmY5NTNkNTE4MjNiMjY0NDk0NzNmOC4uNGU1NmVmOGI5NjI4M2Q3OTJkMGRmMTBhNDll
MTZjNWYwNzU5ZmYxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA4LTEwICBLaW1tbyBL
aW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hlcnJ5LXBpY2sgQU5H
TEU6IFJldmlzZSBXZWJHTCdzIHNoYWRlclNvdXJjZSB2YWxpZGF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg5NTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyB0ZXN0czoKKyAgICAgICAg
d2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvbWlzYy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbAor
ICAgICAgICB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS9nbHNsL2J1Z3MvY2hhcmFjdGVyLXNldC5o
dG1sCisgICAgICAgIHdlYmdsLzIuMC55L2NvbmZvcm1hbmNlL21pc2MvaW52YWxpZC1wYXNzZWQt
cGFyYW1zLmh0bWwKKyAgICAgICAgd2ViZ2wvMi4wLnkvY29uZm9ybWFuY2UvZ2xzbC9idWdzL2No
YXJhY3Rlci1zZXQuaHRtbAorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0w
OC0wMyAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIENy
YXNoIHdoaWxlIHJlYWRpbmcgV2ViR0wgZHJhd2luZyBidWZmZXIgaWYgY2FudmFzIGltYWdlIGJ1
ZmZlciBhbGxvY2F0aW9uIGZhaWxzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0YzIwNjQwMDUxMTQy
NTQwYjlhYjcwM2JkMzBhYzc0MzVkZmU0MjUzLi45YmZmYjVmYjY1YjA3MDVhYjNiNjkzOGY1MzZk
YmI2YjNjN2ZlOTRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM2NTEsNiArMzY1MSw4IEBAIHdl
YmdsLzEuMC54IFsgU2tpcCBdCiAjIEV4cGxpY2l0bHkgZW5hYmxlIHRlc3RzIHdoaWNoIHdlIGhh
dmUgZml4ZWQgYW5kIGRvIG5vdCBoYXZlIGNvcnJlc3BvbmRpbmcgMS4wLjMgdGVzdCBmdW5jdGlv
bmFsaXR5Lgogd2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3Qu
aHRtbCBbIFBhc3MgXQogd2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0
dXJlLWNvcm5lci1jYXNlLXZpZGVvcy5odG1sIFsgUGFzcyBdCit3ZWJnbC8xLjAueC9jb25mb3Jt
YW5jZS9taXNjL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1sIFsgUGFzcyBdCit3ZWJnbC8xLjAu
eC9jb25mb3JtYW5jZS9nbHNsL2J1Z3MvY2hhcmFjdGVyLXNldC5odG1sIFsgUGFzcyBdCiAKICMg
V2ViR0wgY29uZm9ybWFuY2UgdGVzdCBzdWl0ZSAyLjAuMSBpcyBza2lwcGVkIHVudGlsIDIuMC4w
IGlzIHJldGlyZWQuCiB3ZWJnbC8yLjAueSBbIFNraXAgXQpAQCAtMzY1OCw2ICszNjYwLDggQEAg
d2ViZ2wvMi4wLnkgWyBTa2lwIF0KICMgRXhwbGljaXRseSBlbmFibGUgdGVzdHMgd2hpY2ggd2Ug
aGF2ZSBmaXhlZCBhbmQgZG8gbm90IGhhdmUgY29ycmVzcG9uZGluZyAyLjAuMCB0ZXN0IGZ1bmN0
aW9uYWxpdHkuCiB3ZWJnbC8yLjAueS9jb25mb3JtYW5jZS9jYW52YXMvdG8tZGF0YS11cmwtdGVz
dC5odG1sIFsgUGFzcyBdCiB3ZWJnbC8yLjAueS9jb25mb3JtYW5jZS90ZXh0dXJlcy9taXNjL3Rl
eHR1cmUtY29ybmVyLWNhc2UtdmlkZW9zLmh0bWwgWyBQYXNzIF0KK3dlYmdsLzIuMC55L2NvbmZv
cm1hbmNlL21pc2MvaW52YWxpZC1wYXNzZWQtcGFyYW1zLmh0bWwgWyBQYXNzIF0KK3dlYmdsLzIu
MC55L2NvbmZvcm1hbmNlL2dsc2wvYnVncy9jaGFyYWN0ZXItc2V0Lmh0bWwgWyBQYXNzIF0KIAog
IyBwcmUtd3JhcCBwcm9ncmVzc2lvbi4gT3RoZXIgcmVuZGVyaW5nIGVuZ2luZXMgYWdyZWUgd2l0
aCB0aGUgcmVzdWx0Lgogd2Via2l0Lm9yZy9iLzIwNjE2OCBbIERlYnVnIF0gZmFzdC9kb20vaW5z
ZXJ0LXNwYW4taW50by1sb25nLXRleHQtYnVnLTI4MjQ1Lmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435254</attachid>
            <date>2021-08-10 06:52:36 -0700</date>
            <delta_ts>2021-08-10 11:57:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228951-20210810165234.patch</filename>
            <type>text/plain</type>
            <size>13144</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNDQwNDczZDJmMzUxZWY2ZjVkYmEyMjhjMjAzNzEwOWQ3MGUxYTM1MS4uYTUzYmYwNjBkODE0
M2I3ZTQ2YjI1OGE1MzUyNjE3NjRhYTkzNmMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA4LTEwICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hlcnJ5LXBpY2sgQU5HTEU6IFJldmlzZSBXZWJHTCdz
IHNoYWRlclNvdXJjZSB2YWxpZGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjg5NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDaGVycnktcGljayBBTkdMRSBjb21taXQ6IGI0ZmQ0NjI4OGFhNjVk
NjFkYzljNzE0MGM3ZDFjZGJhM2Y0Y2RmOWEKKyAgICAgICAgRnJvbTogS2VubmV0aCBSdXNzZWxs
IDxrYnJAY2hyb21pdW0ub3JnPgorICAgICAgICBEYXRlOiBXZWQsIDI3IEphbiAyMDIxIDE1OjU2
OjU4IC0wODAwCisgICAgICAgIFJldmlzZSBXZWJHTCdzIHNoYWRlclNvdXJjZSB2YWxpZGF0aW9u
LgorCisgICAgICAgIFBlciBkaXNjdXNzaW9uIGluIHRoZSBXZWJHTCB3b3JraW5nIGdyb3VwLCBz
aGFkZXJTb3VyY2Ugbm8gbG9uZ2VyCisgICAgICAgIGdlbmVyYXRlcyBJTlZBTElEX1ZBTFVFIGZv
ciBzb3VyY2VzIGNvbnRhaW5pbmcgY2hhcmFjdGVycyBvdXRzaWRlIHRoZQorICAgICAgICBFU1NM
IGNoYXJhY3RlciBzZXQuIENvbXBpbGF0aW9uIGFuZC9vciBsaW5raW5nIGlzIHN0aWxsIHNwZWNp
ZmllZCB0bworICAgICAgICBmYWlsIHdoZW4gaWxsZWdhbCBjb25zdHJ1Y3RzIGFyZSB1c2VkLgor
CisgICAgICAgIFdpdGggdGhpcyBjaGFuZ2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9LaHJvbm9zR3Jv
dXAvV2ViR0wvcHVsbC8zMjA2CisgICAgICAgIHBhc3NlcyB3aXRoIHRoZSBwYXNzdGhyb3VnaCBj
b21tYW5kIGRlY29kZXIuCisKKyAgICAgICAgUmV2aXNlIFdlYkdMIGNvbXBhdGliaWxpdHkgdGVz
dHMgdG8gZm9sbG93IHRoZSBuZXcgcnVsZXMuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvdmFs
aWRhdGlvbkVTMi5jcHA6CisgICAgICAgIChnbDo6VmFsaWRhdGVTaGFkZXJTb3VyY2UpOgorICAg
ICAgICAqIHNyYy90ZXN0cy9nbF90ZXN0cy9XZWJHTENvbXBhdGliaWxpdHlUZXN0LmNwcDoKKwog
MjAyMS0wNy0yMyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgMy41
IE1CIHN5c3RlbS13aWRlIGZvb3RwcmludCBpbXBhY3QgZHVlIHRvIHRocmVhZC1sb2NhbHMgaW4g
bGliQU5HTEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS92YWxpZGF0aW9uRVMyLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS92YWxpZGF0aW9uRVMyLmNwcAppbmRleCBlOGNhYmMwNjI4ZTg2NDRjMzZkMzMxYWE1OWVlNWMz
NjIwM2MyNTMyLi5lYWUxMmE3NDZkNjJhMjJiNmVjMDk1NDRlZjllOTNjYTdmYTc4NGIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVT
Mi5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRp
b25FUzIuY3BwCkBAIC04MDUsMTMwICs4MDUsNiBAQCBib29sIElzVmFsaWRFU1NMU3RyaW5nKGNv
bnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxlbikKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBJ
c1ZhbGlkRVNTTFNoYWRlclNvdXJjZVN0cmluZyhjb25zdCBjaGFyICpzdHIsIHNpemVfdCBsZW4s
IGJvb2wgbGluZUNvbnRpbnVhdGlvbkFsbG93ZWQpCi17Ci0gICAgZW51bSBjbGFzcyBQYXJzZVN0
YXRlCi0gICAgewotICAgICAgICAvLyBIYXZlIG5vdCBzZWVuIGFuIEFTQ0lJIG5vbi13aGl0ZXNw
YWNlIGNoYXJhY3RlciB5ZXQgb24KLSAgICAgICAgLy8gdGhpcyBsaW5lLiBQb3NzaWJsZSB0aGF0
IHdlIG1pZ2h0IHNlZSBhIHByZXByb2Nlc3NvcgotICAgICAgICAvLyBkaXJlY3RpdmUuCi0gICAg
ICAgIEJFR0lOSU5HX09GX0xJTkUsCi0KLSAgICAgICAgLy8gSGF2ZSBzZWVuIGF0IGxlYXN0IG9u
ZSBBU0NJSSBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIKLSAgICAgICAgLy8gb24gdGhpcyBsaW5l
LgotICAgICAgICBNSURETEVfT0ZfTElORSwKLQotICAgICAgICAvLyBIYW5kbGluZyBhIHByZXBy
b2Nlc3NvciBkaXJlY3RpdmUuIFBhc3NlcyB0aHJvdWdoIGFsbAotICAgICAgICAvLyBjaGFyYWN0
ZXJzIHVwIHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUuIERpc2FibGVzIGNvbW1lbnQKLSAgICAgICAg
Ly8gcHJvY2Vzc2luZy4KLSAgICAgICAgSU5fUFJFUFJPQ0VTU09SX0RJUkVDVElWRSwKLQotICAg
ICAgICAvLyBIYW5kbGluZyBhIHNpbmdsZS1saW5lIGNvbW1lbnQuIFRoZSBjb21tZW50IHRleHQg
aXMKLSAgICAgICAgLy8gcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBzcGFjZS4KLSAgICAgICAgSU5f
U0lOR0xFX0xJTkVfQ09NTUVOVCwKLQotICAgICAgICAvLyBIYW5kbGluZyBhIG11bHRpLWxpbmUg
Y29tbWVudC4gTmV3bGluZXMgYXJlIHBhc3NlZAotICAgICAgICAvLyB0aHJvdWdoIHRvIHByZXNl
cnZlIGxpbmUgbnVtYmVycy4KLSAgICAgICAgSU5fTVVMVElfTElORV9DT01NRU5UCi0gICAgfTsK
LQotICAgIFBhcnNlU3RhdGUgc3RhdGUgPSBQYXJzZVN0YXRlOjpCRUdJTklOR19PRl9MSU5FOwot
ICAgIHNpemVfdCBwb3MgICAgICAgPSAwOwotCi0gICAgd2hpbGUgKHBvcyA8IGxlbikKLSAgICB7
Ci0gICAgICAgIGNoYXIgYyAgICA9IHN0cltwb3NdOwotICAgICAgICBjaGFyIG5leHQgPSBwb3Mg
KyAxIDwgbGVuID8gc3RyW3BvcyArIDFdIDogMDsKLQotICAgICAgICAvLyBDaGVjayBmb3IgbmV3
bGluZXMKLSAgICAgICAgaWYgKGMgPT0gJ1xuJyB8fCBjID09ICdccicpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGlmIChzdGF0ZSAhPSBQYXJzZVN0YXRlOjpJTl9NVUxUSV9MSU5FX0NPTU1FTlQp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc3RhdGUgPSBQYXJzZVN0YXRlOjpCRUdJ
TklOR19PRl9MSU5FOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBwb3MrKzsKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgc3dpdGNoIChzdGF0ZSkKLSAg
ICAgICAgewotICAgICAgICAgICAgY2FzZSBQYXJzZVN0YXRlOjpCRUdJTklOR19PRl9MSU5FOgot
ICAgICAgICAgICAgICAgIGlmIChjID09ICcgJykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgIC8vIE1haW50YWluIHRoZSBCRUdJTklOR19PRl9MSU5FIHN0YXRlIHVudGls
IGEgbm9uLXNwYWNlIGlzIHNlZW4KLSAgICAgICAgICAgICAgICAgICAgcG9zKys7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGMgPT0gJyMnKQotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBQYXJzZVN0YXRlOjpJTl9QUkVQ
Uk9DRVNTT1JfRElSRUNUSVZFOwotICAgICAgICAgICAgICAgICAgICBwb3MrKzsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgLy8gRG9uJ3QgYWR2YW5jZSwgcmUtcHJvY2VzcyB0aGlzIGNoYXJhY3Rl
ciB3aXRoIHRoZSBNSURETEVfT0ZfTElORSBzdGF0ZQotICAgICAgICAgICAgICAgICAgICBzdGF0
ZSA9IFBhcnNlU3RhdGU6Ok1JRERMRV9PRl9MSU5FOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgY2FzZSBQYXJzZVN0YXRlOjpNSURETEVf
T0ZfTElORToKLSAgICAgICAgICAgICAgICBpZiAoYyA9PSAnLycgJiYgbmV4dCA9PSAnLycpCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IFBhcnNlU3RhdGU6
OklOX1NJTkdMRV9MSU5FX0NPTU1FTlQ7Ci0gICAgICAgICAgICAgICAgICAgIHBvcysrOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIGlmIChjID09ICcvJyAmJiBuZXh0
ID09ICcqJykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0g
UGFyc2VTdGF0ZTo6SU5fTVVMVElfTElORV9DT01NRU5UOwotICAgICAgICAgICAgICAgICAgICBw
b3MrKzsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAobGluZUNv
bnRpbnVhdGlvbkFsbG93ZWQgJiYgYyA9PSAnXFwnICYmIChuZXh0ID09ICdcbicgfHwgbmV4dCA9
PSAnXHInKSkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFNraXAg
bGluZSBjb250aW51YXRpb24gY2hhcmFjdGVycwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBlbHNlIGlmICghSXNWYWxpZEVTU0xDaGFyYWN0ZXIoYykpCi0gICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIHBvcysrOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAg
ICAgICAgICBjYXNlIFBhcnNlU3RhdGU6OklOX1BSRVBST0NFU1NPUl9ESVJFQ1RJVkU6Ci0gICAg
ICAgICAgICAgICAgLy8gTGluZS1jb250aW51YXRpb24gY2hhcmFjdGVycyBtYXkgbm90IGJlIHBl
cm1pdHRlZC4KLSAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGp1c3QgcGFzcyBpdCB0aHJv
dWdoLiBEbyBub3QgcGFyc2UgY29tbWVudHMgaW4gdGhpcyBzdGF0ZS4KLSAgICAgICAgICAgICAg
ICBpZiAoIWxpbmVDb250aW51YXRpb25BbGxvd2VkICYmIGMgPT0gJ1xcJykKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgcG9zKys7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAg
ICAgICAgICAgIGNhc2UgUGFyc2VTdGF0ZTo6SU5fU0lOR0xFX0xJTkVfQ09NTUVOVDoKLSAgICAg
ICAgICAgICAgICAvLyBMaW5lLWNvbnRpbnVhdGlvbiBjaGFyYWN0ZXJzIGFyZSBwcm9jZXNzZWQg
YmVmb3JlIGNvbW1lbnQgcHJvY2Vzc2luZy4KLSAgICAgICAgICAgICAgICAvLyBBZHZhbmNlIHN0
cmluZyBpZiBhIG5ldyBsaW5lIGNoYXJhY3RlciBpcyBpbW1lZGlhdGVseSBiZWhpbmQKLSAgICAg
ICAgICAgICAgICAvLyBsaW5lLWNvbnRpbnVhdGlvbiBjaGFyYWN0ZXIuCi0gICAgICAgICAgICAg
ICAgaWYgKGMgPT0gJ1xcJyAmJiAobmV4dCA9PSAnXG4nIHx8IG5leHQgPT0gJ1xyJykpCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBwb3MrKzsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgcG9zKys7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAg
ICAgICAgICAgIGNhc2UgUGFyc2VTdGF0ZTo6SU5fTVVMVElfTElORV9DT01NRU5UOgotICAgICAg
ICAgICAgICAgIGlmIChjID09ICcqJyAmJiBuZXh0ID09ICcvJykKLSAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0gUGFyc2VTdGF0ZTo6TUlERExFX09GX0xJTkU7
Ci0gICAgICAgICAgICAgICAgICAgIHBvcysrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBwb3MrKzsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0K
LQotICAgIHJldHVybiB0cnVlOwotfQotCiBib29sIFZhbGlkYXRlV2ViR0xOYW1lUHJlZml4KGNv
bnN0IENvbnRleHQgKmNvbnRleHQsIGNvbnN0IEdMY2hhciAqbmFtZSkKIHsKICAgICBBU1NFUlQo
Y29udGV4dC0+aXNXZWJHTCgpKTsKQEAgLTQ5NDgsMjUgKzQ4MjQsNiBAQCBib29sIFZhbGlkYXRl
U2hhZGVyU291cmNlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKLSAgICAvLyBUaGUgV2ViR0wgc3BlYyAoc2VjdGlvbiA2LjIwKSBkaXNhbGxv
d3Mgc3RyaW5ncyBjb250YWluaW5nIGludmFsaWQgRVNTTCBjaGFyYWN0ZXJzIGZvcgotICAgIC8v
IHNoYWRlci1yZWxhdGVkIGVudHJ5IHBvaW50cwotICAgIGlmIChjb250ZXh0LT5nZXRFeHRlbnNp
b25zKCkud2ViZ2xDb21wYXRpYmlsaXR5KQotICAgIHsKLSAgICAgICAgZm9yIChHTHNpemVpIGkg
PSAwOyBpIDwgY291bnQ7IGkrKykKLSAgICAgICAgewotICAgICAgICAgICAgc2l6ZV90IGxlbiA9
Ci0gICAgICAgICAgICAgICAgKGxlbmd0aCAmJiBsZW5ndGhbaV0gPj0gMCkgPyBzdGF0aWNfY2Fz
dDxzaXplX3Q+KGxlbmd0aFtpXSkgOiBzdHJsZW4oc3RyaW5nW2ldKTsKLQotICAgICAgICAgICAg
Ly8gQmFja3NsYXNoIGFzIGxpbmUtY29udGludWF0aW9uIGlzIGFsbG93ZWQgaW4gV2ViR0wgMi4w
LgotICAgICAgICAgICAgaWYgKCFJc1ZhbGlkRVNTTFNoYWRlclNvdXJjZVN0cmluZyhzdHJpbmdb
aV0sIGxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpID49IEVTXzNfMCkpCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfVkFMVUUs
IGtTaGFkZXJTb3VyY2VJbnZhbGlkQ2hhcmFjdGVycyk7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCiAgICAgU2hhZGVyICpz
aGFkZXJPYmplY3QgPSBHZXRWYWxpZFNoYWRlcihjb250ZXh0LCBzaGFkZXIpOwogICAgIGlmICgh
c2hhZGVyT2JqZWN0KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy90ZXN0cy9nbF90ZXN0cy9XZWJHTENvbXBhdGliaWxpdHlUZXN0LmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9XZWJHTENvbXBhdGliaWxpdHlUZXN0
LmNwcAppbmRleCA2MWMxMzBlZTQwZmIwMDVmM2I3NzllNWE2MTEzMThmNTM4OGQzNTRhLi5jOWYx
NzMzODU2ODllOTVkMDA4NzgyZmRkZGFjOWZiMzA4NTRkZTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvV2ViR0xDb21wYXRpYmlsaXR5VGVz
dC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1dl
YkdMQ29tcGF0aWJpbGl0eVRlc3QuY3BwCkBAIC0yMTU2LDM5ICsyMTU2LDI3IEBAIHZvaWQgbWFp
bigpCiAgICAgZm9yIChjaGFyIGludmFsaWRDaGFyIDogaW52YWxpZFNldCkKICAgICB7CiAgICAg
ICAgIHN0ZDo6c3RyaW5nIGludmFsaWRBdHRyaWJOYW1lID0gdmFsaWRBdHRyaWJOYW1lICsgaW52
YWxpZENoYXI7Ci0gICAgICAgIGNvbnN0IGNoYXIgKmludmFsaWRWZXJ0W10gICAgID0gewotICAg
ICAgICAgICAgImF0dHJpYnV0ZSBmbG9hdCAiLAotICAgICAgICAgICAgaW52YWxpZEF0dHJpYk5h
bWUuY19zdHIoKSwKLSAgICAgICAgICAgIFIiKDssCisgICAgICAgIHN0ZDo6c3RyaW5nIGludmFs
aWRWZXJ0ICAgICAgID0gImF0dHJpYnV0ZSBmbG9hdCAiOworICAgICAgICBpbnZhbGlkVmVydCAr
PSBpbnZhbGlkQXR0cmliTmFtZTsKKyAgICAgICAgaW52YWxpZFZlcnQgKz0gUiIoOywKIHZvaWQg
bWFpbigpLAogeywKICAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMS4wKTssCi19KSIsCi0gICAgICAg
IH07Ci0KLSAgICAgICAgR0x1aW50IHNoYWRlciA9IGdsQ3JlYXRlU2hhZGVyKEdMX1ZFUlRFWF9T
SEFERVIpOwotICAgICAgICBnbFNoYWRlclNvdXJjZShzaGFkZXIsIHN0YXRpY19jYXN0PEdMc2l6
ZWk+KEFycmF5U2l6ZShpbnZhbGlkVmVydCkpLCBpbnZhbGlkVmVydCwgbnVsbHB0cik7Ci0gICAg
ICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX1ZBTFVFKTsKLSAgICAgICAgZ2xEZWxldGVT
aGFkZXIoc2hhZGVyKTsKK30pIjsKKyAgICAgICAgR0x1aW50IHByb2dyYW0gPSBDb21waWxlUHJv
Z3JhbShpbnZhbGlkVmVydC5jX3N0cigpLCBlc3NsMV9zaGFkZXJzOjpmczo6UmVkKCkpOworICAg
ICAgICBFWFBFQ1RfRVEoMHUsIHByb2dyYW0pOwogICAgIH0KIH0KIAotLy8gVGVzdCB0aGF0IGxp
bmUgY29udGludWF0aW9uIGlzIGhhbmRsZWQgY29ycmVjdGx5IHdoZW4gdmFsZGlhdGluZyBzaGFk
ZXIgc291cmNlCisvLyBUZXN0IHRoYXQgbGluZSBjb250aW51YXRpb24gaXMgaGFuZGxlZCBjb3Jy
ZWN0bHkgd2hlbiB2YWxpZGF0aW5nIHNoYWRlciBzb3VyY2UKIFRFU1RfUChXZWJHTENvbXBhdGli
aWxpdHlUZXN0LCBTaGFkZXJTb3VyY2VMaW5lQ29udGludWF0aW9uKQogewotICAgIC8vIFZlcmlm
eSB0aGF0IGEgbGluZSBjb250aW51YXRpb24gY2hhcmFjdGVyIChpLmUuIGJhY2tzbGFzaCkgY2Fu
bm90IGJlIHVzZWQKLSAgICAvLyB3aXRoaW4gYSBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlIGluIGEg
RVMyIGNvbnRleHQuCi0gICAgQU5HTEVfU0tJUF9URVNUX0lGKGdldENsaWVudE1ham9yVmVyc2lv
bigpID49IDMpOworICAgIC8vIFdpdGggcmVjZW50IGNoYW5nZXMgdG8gV2ViR0wncyBzaGFkZXIg
c291cmNlIHZhbGlkYXRpb24gaW4KKyAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vS2hyb25vc0dy
b3VwL1dlYkdML3B1bGwvMzIwNiBhbmQgZm9sbG93LW9ucywKKyAgICAvLyB0aGUgYmFja3NsYXNo
IGNoYXJhY3RlciBjYW4gYmUgdXNlZCBpbiBib3RoIFdlYkdMIDEuMCBhbmQgMi4wCisgICAgLy8g
Y29udGV4dHMuCiAKICAgICBjb25zdCBjaGFyICp2YWxpZFZlcnQgPQotICAgICAgICBSIigjZGVm
aW5lIGZvbyB0aGlzIGlzIGEgdGVzdAotcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Ci12b2lkIG1h
aW4oKQotewotICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgxLjApOwotfSkiOwotCi0gICAgY29uc3Qg
Y2hhciAqaW52YWxpZFZlcnQgPQogICAgICAgICBSIigjZGVmaW5lIGZvbyB0aGlzIFwKICAgICBp
cyBhIHRlc3QKIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpAQCAtMjE5NywxMyArMjE4NSw5IEBA
IHZvaWQgbWFpbigpCiAgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KDEuMCk7CiB9KSI7CiAKLSAgICBH
THVpbnQgc2hhZGVyID0gZ2xDcmVhdGVTaGFkZXIoR0xfVkVSVEVYX1NIQURFUik7Ci0gICAgZ2xT
aGFkZXJTb3VyY2Uoc2hhZGVyLCAxLCAmdmFsaWRWZXJ0LCBudWxscHRyKTsKLSAgICBFWFBFQ1Rf
R0xfTk9fRVJST1IoKTsKLQotICAgIGdsU2hhZGVyU291cmNlKHNoYWRlciwgMSwgJmludmFsaWRW
ZXJ0LCBudWxscHRyKTsKLSAgICBFWFBFQ1RfR0xfRVJST1IoR0xfSU5WQUxJRF9WQUxVRSk7Ci0g
ICAgZ2xEZWxldGVTaGFkZXIoc2hhZGVyKTsKKyAgICBHTHVpbnQgcHJvZ3JhbSA9IENvbXBpbGVQ
cm9ncmFtKHZhbGlkVmVydCwgZXNzbDFfc2hhZGVyczo6ZnM6OlJlZCgpKTsKKyAgICBFWFBFQ1Rf
TkUoMHUsIHByb2dyYW0pOworICAgIGdsRGVsZXRlUHJvZ3JhbShwcm9ncmFtKTsKIH0KIAogLy8g
VGVzdCB0aGF0IGxpbmUgY29udGludWF0aW9uIGlzIGhhbmRsZWQgY29ycmVjdGx5IHdoZW4gdmFs
ZGlhdGluZyBzaGFkZXIgc291cmNlCkBAIC0yMjMxLDEyICsyMjE1LDEyIEBAIG9vID0gMS4wOwog
ICAgIGdsX1Bvc2l0aW9uID0gdmVjNChmb28pOwogfSkiOwogCi0gICAgR0x1aW50IHNoYWRlciA9
IGdsQ3JlYXRlU2hhZGVyKEdMX1ZFUlRFWF9TSEFERVIpOwotICAgIGdsU2hhZGVyU291cmNlKHNo
YWRlciwgMSwgJnZhbGlkVmVydCwgbnVsbHB0cik7Ci0gICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7
Ci0gICAgZ2xTaGFkZXJTb3VyY2Uoc2hhZGVyLCAxLCAmaW52YWxpZFZlcnQsIG51bGxwdHIpOwot
ICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX1ZBTFVFKTsKLSAgICBnbERlbGV0ZVNoYWRl
cihzaGFkZXIpOworICAgIEdMdWludCBwcm9ncmFtID0gQ29tcGlsZVByb2dyYW0odmFsaWRWZXJ0
LCBlc3NsM19zaGFkZXJzOjpmczo6UmVkKCkpOworICAgIEVYUEVDVF9ORSgwdSwgcHJvZ3JhbSk7
CisgICAgZ2xEZWxldGVQcm9ncmFtKHByb2dyYW0pOworCisgICAgcHJvZ3JhbSA9IENvbXBpbGVQ
cm9ncmFtKGludmFsaWRWZXJ0LCBlc3NsM19zaGFkZXJzOjpmczo6UmVkKCkpOworICAgIEVYUEVD
VF9FUSgwdSwgcHJvZ3JhbSk7CiB9CiAKIC8vIFRlc3RzIGJpbmRBdHRyaWJMb2NhdGlvbnMgZm9y
IHJlc2VydmVkIHByZWZpeGVzIGFuZCBsZW5ndGggbGltaXRzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWE2YjY3MGM3ZmNh
MThhNmYzNmY5NTNkNTE4MjNiMjY0NDk0NzNmOC4uNGU1NmVmOGI5NjI4M2Q3OTJkMGRmMTBhNDll
MTZjNWYwNzU5ZmYxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA4LTEwICBLaW1tbyBL
aW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hlcnJ5LXBpY2sgQU5H
TEU6IFJldmlzZSBXZWJHTCdzIHNoYWRlclNvdXJjZSB2YWxpZGF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg5NTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyB0ZXN0czoKKyAgICAgICAg
d2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvbWlzYy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbAor
ICAgICAgICB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS9nbHNsL2J1Z3MvY2hhcmFjdGVyLXNldC5o
dG1sCisgICAgICAgIHdlYmdsLzIuMC55L2NvbmZvcm1hbmNlL21pc2MvaW52YWxpZC1wYXNzZWQt
cGFyYW1zLmh0bWwKKyAgICAgICAgd2ViZ2wvMi4wLnkvY29uZm9ybWFuY2UvZ2xzbC9idWdzL2No
YXJhY3Rlci1zZXQuaHRtbAorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0w
OC0wMyAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIENy
YXNoIHdoaWxlIHJlYWRpbmcgV2ViR0wgZHJhd2luZyBidWZmZXIgaWYgY2FudmFzIGltYWdlIGJ1
ZmZlciBhbGxvY2F0aW9uIGZhaWxzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0YzIwNjQwMDUxMTQy
NTQwYjlhYjcwM2JkMzBhYzc0MzVkZmU0MjUzLi5mZGNiOTk4NjU3NmYzZDAxOTQxYTMyMjljNTQ4
ZmUwMGM1OWFhMTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM2NTEsNiArMzY1MSw4IEBAIHdl
YmdsLzEuMC54IFsgU2tpcCBdCiAjIEV4cGxpY2l0bHkgZW5hYmxlIHRlc3RzIHdoaWNoIHdlIGhh
dmUgZml4ZWQgYW5kIGRvIG5vdCBoYXZlIGNvcnJlc3BvbmRpbmcgMS4wLjMgdGVzdCBmdW5jdGlv
bmFsaXR5Lgogd2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3Qu
aHRtbCBbIFBhc3MgXQogd2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90ZXh0
dXJlLWNvcm5lci1jYXNlLXZpZGVvcy5odG1sIFsgUGFzcyBdCit3ZWJnbC8xLjAueC9jb25mb3Jt
YW5jZS9taXNjL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1sIFsgUGFzcyBdCit3ZWJnbC8xLjAu
eC9jb25mb3JtYW5jZS9nbHNsL2J1Z3MvY2hhcmFjdGVyLXNldC5odG1sIFsgUGFzcyBdCiAKICMg
V2ViR0wgY29uZm9ybWFuY2UgdGVzdCBzdWl0ZSAyLjAuMSBpcyBza2lwcGVkIHVudGlsIDIuMC4w
IGlzIHJldGlyZWQuCiB3ZWJnbC8yLjAueSBbIFNraXAgXQpAQCAtMzY1OCw2ICszNjYwLDE2IEBA
IHdlYmdsLzIuMC55IFsgU2tpcCBdCiAjIEV4cGxpY2l0bHkgZW5hYmxlIHRlc3RzIHdoaWNoIHdl
IGhhdmUgZml4ZWQgYW5kIGRvIG5vdCBoYXZlIGNvcnJlc3BvbmRpbmcgMi4wLjAgdGVzdCBmdW5j
dGlvbmFsaXR5Lgogd2ViZ2wvMi4wLnkvY29uZm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRl
c3QuaHRtbCBbIFBhc3MgXQogd2ViZ2wvMi4wLnkvY29uZm9ybWFuY2UvdGV4dHVyZXMvbWlzYy90
ZXh0dXJlLWNvcm5lci1jYXNlLXZpZGVvcy5odG1sIFsgUGFzcyBdCit3ZWJnbC8yLjAueS9jb25m
b3JtYW5jZS9taXNjL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1sIFsgUGFzcyBdCit3ZWJnbC8y
LjAueS9jb25mb3JtYW5jZS9nbHNsL2J1Z3MvY2hhcmFjdGVyLXNldC5odG1sIFsgUGFzcyBdCisK
KyMgV2ViR0wgMS4wLjMgYW5kIDIuMC4wIHRlc3RzIHdoZXJlIGJlaGF2aW9yIGlzIG9ic29sZXRl
IGFuZCBXZWJLaXQgY29udGFpbnMgaW1wbGVtZW50YXRpb24KKyMgYW5kIHRlc3RzIGZvciB0aGUg
bmV3IGJlaGF2aW9yLiBTaG91bGQgYmUgcmVtb3ZlZCBvbmNlIDEuMC4zIGFuZCAyLjAuMCBhcmUg
cmV0aXJlZC4KK3dlYmdsLzEuMC4zL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1k
ZWZpbmUtbGluZS1jb250aW51YXRpb24uZnJhZy5odG1sIFsgU2tpcCBdCit3ZWJnbC8xLjAuMy9j
b25mb3JtYW5jZS9taXNjL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1sIFsgU2tpcCBdCit3ZWJn
bC8yLjAuMC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZGVmaW5lLWxpbmUtY29u
dGludWF0aW9uLmZyYWcuaHRtbCBbIFNraXAgXQord2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlz
Yy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbCBbIFNraXAgXQorCiAKICMgcHJlLXdyYXAgcHJv
Z3Jlc3Npb24uIE90aGVyIHJlbmRlcmluZyBlbmdpbmVzIGFncmVlIHdpdGggdGhlIHJlc3VsdC4K
IHdlYmtpdC5vcmcvYi8yMDYxNjggWyBEZWJ1ZyBdIGZhc3QvZG9tL2luc2VydC1zcGFuLWludG8t
bG9uZy10ZXh0LWJ1Zy0yODI0NS5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435278</attachid>
            <date>2021-08-10 11:57:11 -0700</date>
            <delta_ts>2021-08-10 22:45:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228951-20210810215710.patch</filename>
            <type>text/plain</type>
            <size>12916</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwODU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNDQwNDczZDJmMzUxZWY2ZjVkYmEyMjhjMjAzNzEwOWQ3MGUxYTM1MS4uYTUzYmYwNjBkODE0
M2I3ZTQ2YjI1OGE1MzUyNjE3NjRhYTkzNmMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA4LTEwICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hlcnJ5LXBpY2sgQU5HTEU6IFJldmlzZSBXZWJHTCdz
IHNoYWRlclNvdXJjZSB2YWxpZGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjg5NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDaGVycnktcGljayBBTkdMRSBjb21taXQ6IGI0ZmQ0NjI4OGFhNjVk
NjFkYzljNzE0MGM3ZDFjZGJhM2Y0Y2RmOWEKKyAgICAgICAgRnJvbTogS2VubmV0aCBSdXNzZWxs
IDxrYnJAY2hyb21pdW0ub3JnPgorICAgICAgICBEYXRlOiBXZWQsIDI3IEphbiAyMDIxIDE1OjU2
OjU4IC0wODAwCisgICAgICAgIFJldmlzZSBXZWJHTCdzIHNoYWRlclNvdXJjZSB2YWxpZGF0aW9u
LgorCisgICAgICAgIFBlciBkaXNjdXNzaW9uIGluIHRoZSBXZWJHTCB3b3JraW5nIGdyb3VwLCBz
aGFkZXJTb3VyY2Ugbm8gbG9uZ2VyCisgICAgICAgIGdlbmVyYXRlcyBJTlZBTElEX1ZBTFVFIGZv
ciBzb3VyY2VzIGNvbnRhaW5pbmcgY2hhcmFjdGVycyBvdXRzaWRlIHRoZQorICAgICAgICBFU1NM
IGNoYXJhY3RlciBzZXQuIENvbXBpbGF0aW9uIGFuZC9vciBsaW5raW5nIGlzIHN0aWxsIHNwZWNp
ZmllZCB0bworICAgICAgICBmYWlsIHdoZW4gaWxsZWdhbCBjb25zdHJ1Y3RzIGFyZSB1c2VkLgor
CisgICAgICAgIFdpdGggdGhpcyBjaGFuZ2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9LaHJvbm9zR3Jv
dXAvV2ViR0wvcHVsbC8zMjA2CisgICAgICAgIHBhc3NlcyB3aXRoIHRoZSBwYXNzdGhyb3VnaCBj
b21tYW5kIGRlY29kZXIuCisKKyAgICAgICAgUmV2aXNlIFdlYkdMIGNvbXBhdGliaWxpdHkgdGVz
dHMgdG8gZm9sbG93IHRoZSBuZXcgcnVsZXMuCisKKyAgICAgICAgKiBzcmMvbGliQU5HTEUvdmFs
aWRhdGlvbkVTMi5jcHA6CisgICAgICAgIChnbDo6VmFsaWRhdGVTaGFkZXJTb3VyY2UpOgorICAg
ICAgICAqIHNyYy90ZXN0cy9nbF90ZXN0cy9XZWJHTENvbXBhdGliaWxpdHlUZXN0LmNwcDoKKwog
MjAyMS0wNy0yMyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgMy41
IE1CIHN5c3RlbS13aWRlIGZvb3RwcmludCBpbXBhY3QgZHVlIHRvIHRocmVhZC1sb2NhbHMgaW4g
bGliQU5HTEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS92YWxpZGF0aW9uRVMyLmNwcCBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdM
RS92YWxpZGF0aW9uRVMyLmNwcAppbmRleCBlOGNhYmMwNjI4ZTg2NDRjMzZkMzMxYWE1OWVlNWMz
NjIwM2MyNTMyLi5lYWUxMmE3NDZkNjJhMjJiNmVjMDk1NDRlZjllOTNjYTdmYTc4NGIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVT
Mi5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRp
b25FUzIuY3BwCkBAIC04MDUsMTMwICs4MDUsNiBAQCBib29sIElzVmFsaWRFU1NMU3RyaW5nKGNv
bnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxlbikKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBJ
c1ZhbGlkRVNTTFNoYWRlclNvdXJjZVN0cmluZyhjb25zdCBjaGFyICpzdHIsIHNpemVfdCBsZW4s
IGJvb2wgbGluZUNvbnRpbnVhdGlvbkFsbG93ZWQpCi17Ci0gICAgZW51bSBjbGFzcyBQYXJzZVN0
YXRlCi0gICAgewotICAgICAgICAvLyBIYXZlIG5vdCBzZWVuIGFuIEFTQ0lJIG5vbi13aGl0ZXNw
YWNlIGNoYXJhY3RlciB5ZXQgb24KLSAgICAgICAgLy8gdGhpcyBsaW5lLiBQb3NzaWJsZSB0aGF0
IHdlIG1pZ2h0IHNlZSBhIHByZXByb2Nlc3NvcgotICAgICAgICAvLyBkaXJlY3RpdmUuCi0gICAg
ICAgIEJFR0lOSU5HX09GX0xJTkUsCi0KLSAgICAgICAgLy8gSGF2ZSBzZWVuIGF0IGxlYXN0IG9u
ZSBBU0NJSSBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIKLSAgICAgICAgLy8gb24gdGhpcyBsaW5l
LgotICAgICAgICBNSURETEVfT0ZfTElORSwKLQotICAgICAgICAvLyBIYW5kbGluZyBhIHByZXBy
b2Nlc3NvciBkaXJlY3RpdmUuIFBhc3NlcyB0aHJvdWdoIGFsbAotICAgICAgICAvLyBjaGFyYWN0
ZXJzIHVwIHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUuIERpc2FibGVzIGNvbW1lbnQKLSAgICAgICAg
Ly8gcHJvY2Vzc2luZy4KLSAgICAgICAgSU5fUFJFUFJPQ0VTU09SX0RJUkVDVElWRSwKLQotICAg
ICAgICAvLyBIYW5kbGluZyBhIHNpbmdsZS1saW5lIGNvbW1lbnQuIFRoZSBjb21tZW50IHRleHQg
aXMKLSAgICAgICAgLy8gcmVwbGFjZWQgd2l0aCBhIHNpbmdsZSBzcGFjZS4KLSAgICAgICAgSU5f
U0lOR0xFX0xJTkVfQ09NTUVOVCwKLQotICAgICAgICAvLyBIYW5kbGluZyBhIG11bHRpLWxpbmUg
Y29tbWVudC4gTmV3bGluZXMgYXJlIHBhc3NlZAotICAgICAgICAvLyB0aHJvdWdoIHRvIHByZXNl
cnZlIGxpbmUgbnVtYmVycy4KLSAgICAgICAgSU5fTVVMVElfTElORV9DT01NRU5UCi0gICAgfTsK
LQotICAgIFBhcnNlU3RhdGUgc3RhdGUgPSBQYXJzZVN0YXRlOjpCRUdJTklOR19PRl9MSU5FOwot
ICAgIHNpemVfdCBwb3MgICAgICAgPSAwOwotCi0gICAgd2hpbGUgKHBvcyA8IGxlbikKLSAgICB7
Ci0gICAgICAgIGNoYXIgYyAgICA9IHN0cltwb3NdOwotICAgICAgICBjaGFyIG5leHQgPSBwb3Mg
KyAxIDwgbGVuID8gc3RyW3BvcyArIDFdIDogMDsKLQotICAgICAgICAvLyBDaGVjayBmb3IgbmV3
bGluZXMKLSAgICAgICAgaWYgKGMgPT0gJ1xuJyB8fCBjID09ICdccicpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGlmIChzdGF0ZSAhPSBQYXJzZVN0YXRlOjpJTl9NVUxUSV9MSU5FX0NPTU1FTlQp
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc3RhdGUgPSBQYXJzZVN0YXRlOjpCRUdJ
TklOR19PRl9MSU5FOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBwb3MrKzsKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgc3dpdGNoIChzdGF0ZSkKLSAg
ICAgICAgewotICAgICAgICAgICAgY2FzZSBQYXJzZVN0YXRlOjpCRUdJTklOR19PRl9MSU5FOgot
ICAgICAgICAgICAgICAgIGlmIChjID09ICcgJykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgICAgIC8vIE1haW50YWluIHRoZSBCRUdJTklOR19PRl9MSU5FIHN0YXRlIHVudGls
IGEgbm9uLXNwYWNlIGlzIHNlZW4KLSAgICAgICAgICAgICAgICAgICAgcG9zKys7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGMgPT0gJyMnKQotICAgICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBQYXJzZVN0YXRlOjpJTl9QUkVQ
Uk9DRVNTT1JfRElSRUNUSVZFOwotICAgICAgICAgICAgICAgICAgICBwb3MrKzsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICAgICAgLy8gRG9uJ3QgYWR2YW5jZSwgcmUtcHJvY2VzcyB0aGlzIGNoYXJhY3Rl
ciB3aXRoIHRoZSBNSURETEVfT0ZfTElORSBzdGF0ZQotICAgICAgICAgICAgICAgICAgICBzdGF0
ZSA9IFBhcnNlU3RhdGU6Ok1JRERMRV9PRl9MSU5FOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgY2FzZSBQYXJzZVN0YXRlOjpNSURETEVf
T0ZfTElORToKLSAgICAgICAgICAgICAgICBpZiAoYyA9PSAnLycgJiYgbmV4dCA9PSAnLycpCi0g
ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IFBhcnNlU3RhdGU6
OklOX1NJTkdMRV9MSU5FX0NPTU1FTlQ7Ci0gICAgICAgICAgICAgICAgICAgIHBvcysrOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIGlmIChjID09ICcvJyAmJiBuZXh0
ID09ICcqJykKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0g
UGFyc2VTdGF0ZTo6SU5fTVVMVElfTElORV9DT01NRU5UOwotICAgICAgICAgICAgICAgICAgICBw
b3MrKzsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAobGluZUNv
bnRpbnVhdGlvbkFsbG93ZWQgJiYgYyA9PSAnXFwnICYmIChuZXh0ID09ICdcbicgfHwgbmV4dCA9
PSAnXHInKSkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFNraXAg
bGluZSBjb250aW51YXRpb24gY2hhcmFjdGVycwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBlbHNlIGlmICghSXNWYWxpZEVTU0xDaGFyYWN0ZXIoYykpCi0gICAgICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgIHBvcysrOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0gICAg
ICAgICAgICBjYXNlIFBhcnNlU3RhdGU6OklOX1BSRVBST0NFU1NPUl9ESVJFQ1RJVkU6Ci0gICAg
ICAgICAgICAgICAgLy8gTGluZS1jb250aW51YXRpb24gY2hhcmFjdGVycyBtYXkgbm90IGJlIHBl
cm1pdHRlZC4KLSAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGp1c3QgcGFzcyBpdCB0aHJv
dWdoLiBEbyBub3QgcGFyc2UgY29tbWVudHMgaW4gdGhpcyBzdGF0ZS4KLSAgICAgICAgICAgICAg
ICBpZiAoIWxpbmVDb250aW51YXRpb25BbGxvd2VkICYmIGMgPT0gJ1xcJykKLSAgICAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgcG9zKys7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAg
ICAgICAgICAgIGNhc2UgUGFyc2VTdGF0ZTo6SU5fU0lOR0xFX0xJTkVfQ09NTUVOVDoKLSAgICAg
ICAgICAgICAgICAvLyBMaW5lLWNvbnRpbnVhdGlvbiBjaGFyYWN0ZXJzIGFyZSBwcm9jZXNzZWQg
YmVmb3JlIGNvbW1lbnQgcHJvY2Vzc2luZy4KLSAgICAgICAgICAgICAgICAvLyBBZHZhbmNlIHN0
cmluZyBpZiBhIG5ldyBsaW5lIGNoYXJhY3RlciBpcyBpbW1lZGlhdGVseSBiZWhpbmQKLSAgICAg
ICAgICAgICAgICAvLyBsaW5lLWNvbnRpbnVhdGlvbiBjaGFyYWN0ZXIuCi0gICAgICAgICAgICAg
ICAgaWYgKGMgPT0gJ1xcJyAmJiAobmV4dCA9PSAnXG4nIHx8IG5leHQgPT0gJ1xyJykpCi0gICAg
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBwb3MrKzsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgcG9zKys7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAg
ICAgICAgICAgIGNhc2UgUGFyc2VTdGF0ZTo6SU5fTVVMVElfTElORV9DT01NRU5UOgotICAgICAg
ICAgICAgICAgIGlmIChjID09ICcqJyAmJiBuZXh0ID09ICcvJykKLSAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0gUGFyc2VTdGF0ZTo6TUlERExFX09GX0xJTkU7
Ci0gICAgICAgICAgICAgICAgICAgIHBvcysrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBwb3MrKzsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0K
LQotICAgIHJldHVybiB0cnVlOwotfQotCiBib29sIFZhbGlkYXRlV2ViR0xOYW1lUHJlZml4KGNv
bnN0IENvbnRleHQgKmNvbnRleHQsIGNvbnN0IEdMY2hhciAqbmFtZSkKIHsKICAgICBBU1NFUlQo
Y29udGV4dC0+aXNXZWJHTCgpKTsKQEAgLTQ5NDgsMjUgKzQ4MjQsNiBAQCBib29sIFZhbGlkYXRl
U2hhZGVyU291cmNlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKLSAgICAvLyBUaGUgV2ViR0wgc3BlYyAoc2VjdGlvbiA2LjIwKSBkaXNhbGxv
d3Mgc3RyaW5ncyBjb250YWluaW5nIGludmFsaWQgRVNTTCBjaGFyYWN0ZXJzIGZvcgotICAgIC8v
IHNoYWRlci1yZWxhdGVkIGVudHJ5IHBvaW50cwotICAgIGlmIChjb250ZXh0LT5nZXRFeHRlbnNp
b25zKCkud2ViZ2xDb21wYXRpYmlsaXR5KQotICAgIHsKLSAgICAgICAgZm9yIChHTHNpemVpIGkg
PSAwOyBpIDwgY291bnQ7IGkrKykKLSAgICAgICAgewotICAgICAgICAgICAgc2l6ZV90IGxlbiA9
Ci0gICAgICAgICAgICAgICAgKGxlbmd0aCAmJiBsZW5ndGhbaV0gPj0gMCkgPyBzdGF0aWNfY2Fz
dDxzaXplX3Q+KGxlbmd0aFtpXSkgOiBzdHJsZW4oc3RyaW5nW2ldKTsKLQotICAgICAgICAgICAg
Ly8gQmFja3NsYXNoIGFzIGxpbmUtY29udGludWF0aW9uIGlzIGFsbG93ZWQgaW4gV2ViR0wgMi4w
LgotICAgICAgICAgICAgaWYgKCFJc1ZhbGlkRVNTTFNoYWRlclNvdXJjZVN0cmluZyhzdHJpbmdb
aV0sIGxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpID49IEVTXzNfMCkpCi0gICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9yKEdMX0lOVkFMSURfVkFMVUUs
IGtTaGFkZXJTb3VyY2VJbnZhbGlkQ2hhcmFjdGVycyk7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCiAgICAgU2hhZGVyICpz
aGFkZXJPYmplY3QgPSBHZXRWYWxpZFNoYWRlcihjb250ZXh0LCBzaGFkZXIpOwogICAgIGlmICgh
c2hhZGVyT2JqZWN0KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L3NyYy90ZXN0cy9nbF90ZXN0cy9XZWJHTENvbXBhdGliaWxpdHlUZXN0LmNwcCBiL1NvdXJjZS9U
aGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9XZWJHTENvbXBhdGliaWxpdHlUZXN0
LmNwcAppbmRleCA2MWMxMzBlZTQwZmIwMDVmM2I3NzllNWE2MTEzMThmNTM4OGQzNTRhLi5jOWYx
NzMzODU2ODllOTVkMDA4NzgyZmRkZGFjOWZiMzA4NTRkZTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvV2ViR0xDb21wYXRpYmlsaXR5VGVz
dC5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1dl
YkdMQ29tcGF0aWJpbGl0eVRlc3QuY3BwCkBAIC0yMTU2LDM5ICsyMTU2LDI3IEBAIHZvaWQgbWFp
bigpCiAgICAgZm9yIChjaGFyIGludmFsaWRDaGFyIDogaW52YWxpZFNldCkKICAgICB7CiAgICAg
ICAgIHN0ZDo6c3RyaW5nIGludmFsaWRBdHRyaWJOYW1lID0gdmFsaWRBdHRyaWJOYW1lICsgaW52
YWxpZENoYXI7Ci0gICAgICAgIGNvbnN0IGNoYXIgKmludmFsaWRWZXJ0W10gICAgID0gewotICAg
ICAgICAgICAgImF0dHJpYnV0ZSBmbG9hdCAiLAotICAgICAgICAgICAgaW52YWxpZEF0dHJpYk5h
bWUuY19zdHIoKSwKLSAgICAgICAgICAgIFIiKDssCisgICAgICAgIHN0ZDo6c3RyaW5nIGludmFs
aWRWZXJ0ICAgICAgID0gImF0dHJpYnV0ZSBmbG9hdCAiOworICAgICAgICBpbnZhbGlkVmVydCAr
PSBpbnZhbGlkQXR0cmliTmFtZTsKKyAgICAgICAgaW52YWxpZFZlcnQgKz0gUiIoOywKIHZvaWQg
bWFpbigpLAogeywKICAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMS4wKTssCi19KSIsCi0gICAgICAg
IH07Ci0KLSAgICAgICAgR0x1aW50IHNoYWRlciA9IGdsQ3JlYXRlU2hhZGVyKEdMX1ZFUlRFWF9T
SEFERVIpOwotICAgICAgICBnbFNoYWRlclNvdXJjZShzaGFkZXIsIHN0YXRpY19jYXN0PEdMc2l6
ZWk+KEFycmF5U2l6ZShpbnZhbGlkVmVydCkpLCBpbnZhbGlkVmVydCwgbnVsbHB0cik7Ci0gICAg
ICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX1ZBTFVFKTsKLSAgICAgICAgZ2xEZWxldGVT
aGFkZXIoc2hhZGVyKTsKK30pIjsKKyAgICAgICAgR0x1aW50IHByb2dyYW0gPSBDb21waWxlUHJv
Z3JhbShpbnZhbGlkVmVydC5jX3N0cigpLCBlc3NsMV9zaGFkZXJzOjpmczo6UmVkKCkpOworICAg
ICAgICBFWFBFQ1RfRVEoMHUsIHByb2dyYW0pOwogICAgIH0KIH0KIAotLy8gVGVzdCB0aGF0IGxp
bmUgY29udGludWF0aW9uIGlzIGhhbmRsZWQgY29ycmVjdGx5IHdoZW4gdmFsZGlhdGluZyBzaGFk
ZXIgc291cmNlCisvLyBUZXN0IHRoYXQgbGluZSBjb250aW51YXRpb24gaXMgaGFuZGxlZCBjb3Jy
ZWN0bHkgd2hlbiB2YWxpZGF0aW5nIHNoYWRlciBzb3VyY2UKIFRFU1RfUChXZWJHTENvbXBhdGli
aWxpdHlUZXN0LCBTaGFkZXJTb3VyY2VMaW5lQ29udGludWF0aW9uKQogewotICAgIC8vIFZlcmlm
eSB0aGF0IGEgbGluZSBjb250aW51YXRpb24gY2hhcmFjdGVyIChpLmUuIGJhY2tzbGFzaCkgY2Fu
bm90IGJlIHVzZWQKLSAgICAvLyB3aXRoaW4gYSBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlIGluIGEg
RVMyIGNvbnRleHQuCi0gICAgQU5HTEVfU0tJUF9URVNUX0lGKGdldENsaWVudE1ham9yVmVyc2lv
bigpID49IDMpOworICAgIC8vIFdpdGggcmVjZW50IGNoYW5nZXMgdG8gV2ViR0wncyBzaGFkZXIg
c291cmNlIHZhbGlkYXRpb24gaW4KKyAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vS2hyb25vc0dy
b3VwL1dlYkdML3B1bGwvMzIwNiBhbmQgZm9sbG93LW9ucywKKyAgICAvLyB0aGUgYmFja3NsYXNo
IGNoYXJhY3RlciBjYW4gYmUgdXNlZCBpbiBib3RoIFdlYkdMIDEuMCBhbmQgMi4wCisgICAgLy8g
Y29udGV4dHMuCiAKICAgICBjb25zdCBjaGFyICp2YWxpZFZlcnQgPQotICAgICAgICBSIigjZGVm
aW5lIGZvbyB0aGlzIGlzIGEgdGVzdAotcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Ci12b2lkIG1h
aW4oKQotewotICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgxLjApOwotfSkiOwotCi0gICAgY29uc3Qg
Y2hhciAqaW52YWxpZFZlcnQgPQogICAgICAgICBSIigjZGVmaW5lIGZvbyB0aGlzIFwKICAgICBp
cyBhIHRlc3QKIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpAQCAtMjE5NywxMyArMjE4NSw5IEBA
IHZvaWQgbWFpbigpCiAgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KDEuMCk7CiB9KSI7CiAKLSAgICBH
THVpbnQgc2hhZGVyID0gZ2xDcmVhdGVTaGFkZXIoR0xfVkVSVEVYX1NIQURFUik7Ci0gICAgZ2xT
aGFkZXJTb3VyY2Uoc2hhZGVyLCAxLCAmdmFsaWRWZXJ0LCBudWxscHRyKTsKLSAgICBFWFBFQ1Rf
R0xfTk9fRVJST1IoKTsKLQotICAgIGdsU2hhZGVyU291cmNlKHNoYWRlciwgMSwgJmludmFsaWRW
ZXJ0LCBudWxscHRyKTsKLSAgICBFWFBFQ1RfR0xfRVJST1IoR0xfSU5WQUxJRF9WQUxVRSk7Ci0g
ICAgZ2xEZWxldGVTaGFkZXIoc2hhZGVyKTsKKyAgICBHTHVpbnQgcHJvZ3JhbSA9IENvbXBpbGVQ
cm9ncmFtKHZhbGlkVmVydCwgZXNzbDFfc2hhZGVyczo6ZnM6OlJlZCgpKTsKKyAgICBFWFBFQ1Rf
TkUoMHUsIHByb2dyYW0pOworICAgIGdsRGVsZXRlUHJvZ3JhbShwcm9ncmFtKTsKIH0KIAogLy8g
VGVzdCB0aGF0IGxpbmUgY29udGludWF0aW9uIGlzIGhhbmRsZWQgY29ycmVjdGx5IHdoZW4gdmFs
ZGlhdGluZyBzaGFkZXIgc291cmNlCkBAIC0yMjMxLDEyICsyMjE1LDEyIEBAIG9vID0gMS4wOwog
ICAgIGdsX1Bvc2l0aW9uID0gdmVjNChmb28pOwogfSkiOwogCi0gICAgR0x1aW50IHNoYWRlciA9
IGdsQ3JlYXRlU2hhZGVyKEdMX1ZFUlRFWF9TSEFERVIpOwotICAgIGdsU2hhZGVyU291cmNlKHNo
YWRlciwgMSwgJnZhbGlkVmVydCwgbnVsbHB0cik7Ci0gICAgRVhQRUNUX0dMX05PX0VSUk9SKCk7
Ci0gICAgZ2xTaGFkZXJTb3VyY2Uoc2hhZGVyLCAxLCAmaW52YWxpZFZlcnQsIG51bGxwdHIpOwot
ICAgIEVYUEVDVF9HTF9FUlJPUihHTF9JTlZBTElEX1ZBTFVFKTsKLSAgICBnbERlbGV0ZVNoYWRl
cihzaGFkZXIpOworICAgIEdMdWludCBwcm9ncmFtID0gQ29tcGlsZVByb2dyYW0odmFsaWRWZXJ0
LCBlc3NsM19zaGFkZXJzOjpmczo6UmVkKCkpOworICAgIEVYUEVDVF9ORSgwdSwgcHJvZ3JhbSk7
CisgICAgZ2xEZWxldGVQcm9ncmFtKHByb2dyYW0pOworCisgICAgcHJvZ3JhbSA9IENvbXBpbGVQ
cm9ncmFtKGludmFsaWRWZXJ0LCBlc3NsM19zaGFkZXJzOjpmczo6UmVkKCkpOworICAgIEVYUEVD
VF9FUSgwdSwgcHJvZ3JhbSk7CiB9CiAKIC8vIFRlc3RzIGJpbmRBdHRyaWJMb2NhdGlvbnMgZm9y
IHJlc2VydmVkIHByZWZpeGVzIGFuZCBsZW5ndGggbGltaXRzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGVjYzQ1MGQ2OTcx
NzVlYjlhZjYxNTQzOTdmMDRkMGJjZjRiZDIwMS4uNGJjODlmMzhmYmQ3M2NjMTlkZDk5MWNlNGFm
NDBlNTI2M2RjZDhiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA4LTEwICBLaW1tbyBL
aW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hlcnJ5LXBpY2sgQU5H
TEU6IFJldmlzZSBXZWJHTCdzIHNoYWRlclNvdXJjZSB2YWxpZGF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg5NTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyB0ZXN0czoKKyAgICAgICAg
d2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvbWlzYy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbAor
ICAgICAgICB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS9nbHNsL2J1Z3MvY2hhcmFjdGVyLXNldC5o
dG1sCisgICAgICAgIHdlYmdsLzIuMC55L2NvbmZvcm1hbmNlL21pc2MvaW52YWxpZC1wYXNzZWQt
cGFyYW1zLmh0bWwKKyAgICAgICAgd2ViZ2wvMi4wLnkvY29uZm9ybWFuY2UvZ2xzbC9idWdzL2No
YXJhY3Rlci1zZXQuaHRtbAorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0w
OC0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERvY3VtZW50
LmJhc2VVUkkgaXMgaW5hY2N1cmF0ZSBmb3IgaWZyYW1lIHNyY2RvYyBkb2N1bWVudHMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGFhZmIwMWUwZTBiNjdiZWM1ZGMyMjkxNDg4YTlkZWYwNWQzYmU0ZWQu
LmM1NTdmNjI4ZGVjOTJiNTU4Zjk2MjViYmMyZTc4MDdlNzQ3MzU3OWEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMzY0OSwxMiArMzY0OSwyMyBAQCB3ZWJnbC8xLjAueCBbIFNraXAgXQogCiAjIEV4
cGxpY2l0bHkgZW5hYmxlIHRlc3RzIHdoaWNoIHdlIGhhdmUgZml4ZWQgYW5kIGRvIG5vdCBoYXZl
IGNvcnJlc3BvbmRpbmcgMS4wLjMgdGVzdCBmdW5jdGlvbmFsaXR5Lgogd2ViZ2wvMS4wLngvY29u
Zm9ybWFuY2UvY2FudmFzL3RvLWRhdGEtdXJsLXRlc3QuaHRtbCBbIFBhc3MgXQord2ViZ2wvMS4w
LngvY29uZm9ybWFuY2UvbWlzYy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbCBbIFBhc3MgXQor
d2ViZ2wvMS4wLngvY29uZm9ybWFuY2UvZ2xzbC9idWdzL2NoYXJhY3Rlci1zZXQuaHRtbCBbIFBh
c3MgXQogCiAjIFdlYkdMIGNvbmZvcm1hbmNlIHRlc3Qgc3VpdGUgMi4wLjEgaXMgc2tpcHBlZCB1
bnRpbCAyLjAuMCBpcyByZXRpcmVkLgogd2ViZ2wvMi4wLnkgWyBTa2lwIF0KIAogIyBFeHBsaWNp
dGx5IGVuYWJsZSB0ZXN0cyB3aGljaCB3ZSBoYXZlIGZpeGVkIGFuZCBkbyBub3QgaGF2ZSBjb3Jy
ZXNwb25kaW5nIDIuMC55IHRlc3QgZnVuY3Rpb25hbGl0eS4KIHdlYmdsLzIuMC55L2NvbmZvcm1h
bmNlL2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwgWyBQYXNzIF0KK3dlYmdsLzIuMC55L2Nv
bmZvcm1hbmNlL21pc2MvaW52YWxpZC1wYXNzZWQtcGFyYW1zLmh0bWwgWyBQYXNzIF0KK3dlYmds
LzIuMC55L2NvbmZvcm1hbmNlL2dsc2wvYnVncy9jaGFyYWN0ZXItc2V0Lmh0bWwgWyBQYXNzIF0K
KworIyBXZWJHTCAxLjAuMyBhbmQgMi4wLjAgdGVzdHMgd2hlcmUgYmVoYXZpb3IgaXMgb2Jzb2xl
dGUgYW5kIFdlYktpdCBjb250YWlucyBpbXBsZW1lbnRhdGlvbgorIyBhbmQgdGVzdHMgZm9yIHRo
ZSBuZXcgYmVoYXZpb3IuIFNob3VsZCBiZSByZW1vdmVkIG9uY2UgMS4wLjMgYW5kIDIuMC4wIGFy
ZSByZXRpcmVkLgord2ViZ2wvMS4wLjMvY29uZm9ybWFuY2UvZ2xzbC9taXNjL3NoYWRlci13aXRo
LWRlZmluZS1saW5lLWNvbnRpbnVhdGlvbi5mcmFnLmh0bWwgWyBTa2lwIF0KK3dlYmdsLzEuMC4z
L2NvbmZvcm1hbmNlL21pc2MvaW52YWxpZC1wYXNzZWQtcGFyYW1zLmh0bWwgWyBTa2lwIF0KK3dl
YmdsLzIuMC4wL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1kZWZpbmUtbGluZS1j
b250aW51YXRpb24uZnJhZy5odG1sIFsgU2tpcCBdCit3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZS9t
aXNjL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1sIFsgU2tpcCBdCiAKICMgcHJlLXdyYXAgcHJv
Z3Jlc3Npb24uIE90aGVyIHJlbmRlcmluZyBlbmdpbmVzIGFncmVlIHdpdGggdGhlIHJlc3VsdC4K
IHdlYmtpdC5vcmcvYi8yMDYxNjggWyBEZWJ1ZyBdIGZhc3QvZG9tL2luc2VydC1zcGFuLWludG8t
bG9uZy10ZXh0LWJ1Zy0yODI0NS5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435324</attachid>
            <date>2021-08-10 22:45:37 -0700</date>
            <delta_ts>2021-08-11 04:21:02 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-228951-20210811084535.patch</filename>
            <type>text/plain</type>
            <size>12963</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwODgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNDQwNDczZDJmMzUxZWY2ZjVkYmEyMjhjMjAzNzEwOWQ3MGUxYTM1MS4uNTUzMmYzODI5NzBi
OTk5YTFmZjkxY2U2ZDgwYWIyZmUzM2M2ZmVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA4LTEwICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hlcnJ5LXBpY2sgQU5HTEU6IFJldmlzZSBXZWJHTCdz
IHNoYWRlclNvdXJjZSB2YWxpZGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjg5NTEKKworICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1
c3NlbGwuCisKKyAgICAgICAgQ2hlcnJ5LXBpY2sgQU5HTEUgY29tbWl0OiBiNGZkNDYyODhhYTY1
ZDYxZGM5YzcxNDBjN2QxY2RiYTNmNGNkZjlhCisgICAgICAgIEZyb206IEtlbm5ldGggUnVzc2Vs
bCA8a2JyQGNocm9taXVtLm9yZz4KKyAgICAgICAgRGF0ZTogV2VkLCAyNyBKYW4gMjAyMSAxNTo1
Njo1OCAtMDgwMAorICAgICAgICBSZXZpc2UgV2ViR0wncyBzaGFkZXJTb3VyY2UgdmFsaWRhdGlv
bi4KKworICAgICAgICBQZXIgZGlzY3Vzc2lvbiBpbiB0aGUgV2ViR0wgd29ya2luZyBncm91cCwg
c2hhZGVyU291cmNlIG5vIGxvbmdlcgorICAgICAgICBnZW5lcmF0ZXMgSU5WQUxJRF9WQUxVRSBm
b3Igc291cmNlcyBjb250YWluaW5nIGNoYXJhY3RlcnMgb3V0c2lkZSB0aGUKKyAgICAgICAgRVNT
TCBjaGFyYWN0ZXIgc2V0LiBDb21waWxhdGlvbiBhbmQvb3IgbGlua2luZyBpcyBzdGlsbCBzcGVj
aWZpZWQgdG8KKyAgICAgICAgZmFpbCB3aGVuIGlsbGVnYWwgY29uc3RydWN0cyBhcmUgdXNlZC4K
KworICAgICAgICBXaXRoIHRoaXMgY2hhbmdlLCBodHRwczovL2dpdGh1Yi5jb20vS2hyb25vc0dy
b3VwL1dlYkdML3B1bGwvMzIwNgorICAgICAgICBwYXNzZXMgd2l0aCB0aGUgcGFzc3Rocm91Z2gg
Y29tbWFuZCBkZWNvZGVyLgorCisgICAgICAgIFJldmlzZSBXZWJHTCBjb21wYXRpYmlsaXR5IHRl
c3RzIHRvIGZvbGxvdyB0aGUgbmV3IHJ1bGVzLgorCisgICAgICAgICogc3JjL2xpYkFOR0xFL3Zh
bGlkYXRpb25FUzIuY3BwOgorICAgICAgICAoZ2w6OlZhbGlkYXRlU2hhZGVyU291cmNlKToKKyAg
ICAgICAgKiBzcmMvdGVzdHMvZ2xfdGVzdHMvV2ViR0xDb21wYXRpYmlsaXR5VGVzdC5jcHA6CisK
IDIwMjEtMDctMjMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIDMu
NSBNQiBzeXN0ZW0td2lkZSBmb290cHJpbnQgaW1wYWN0IGR1ZSB0byB0aHJlYWQtbG9jYWxzIGlu
IGxpYkFOR0xFCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvdmFsaWRhdGlvbkVTMi5jcHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5H
TEUvdmFsaWRhdGlvbkVTMi5jcHAKaW5kZXggZThjYWJjMDYyOGU4NjQ0YzM2ZDMzMWFhNTllZTVj
MzYyMDNjMjUzMi4uZWFlMTJhNzQ2ZDYyYTIyYjZlYzA5NTQ0ZWY5ZTkzY2E3ZmE3ODRiMyAxMDA2
NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25F
UzIuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS92YWxpZGF0
aW9uRVMyLmNwcApAQCAtODA1LDEzMCArODA1LDYgQEAgYm9vbCBJc1ZhbGlkRVNTTFN0cmluZyhj
b25zdCBjaGFyICpzdHIsIHNpemVfdCBsZW4pCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wg
SXNWYWxpZEVTU0xTaGFkZXJTb3VyY2VTdHJpbmcoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVu
LCBib29sIGxpbmVDb250aW51YXRpb25BbGxvd2VkKQotewotICAgIGVudW0gY2xhc3MgUGFyc2VT
dGF0ZQotICAgIHsKLSAgICAgICAgLy8gSGF2ZSBub3Qgc2VlbiBhbiBBU0NJSSBub24td2hpdGVz
cGFjZSBjaGFyYWN0ZXIgeWV0IG9uCi0gICAgICAgIC8vIHRoaXMgbGluZS4gUG9zc2libGUgdGhh
dCB3ZSBtaWdodCBzZWUgYSBwcmVwcm9jZXNzb3IKLSAgICAgICAgLy8gZGlyZWN0aXZlLgotICAg
ICAgICBCRUdJTklOR19PRl9MSU5FLAotCi0gICAgICAgIC8vIEhhdmUgc2VlbiBhdCBsZWFzdCBv
bmUgQVNDSUkgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyCi0gICAgICAgIC8vIG9uIHRoaXMgbGlu
ZS4KLSAgICAgICAgTUlERExFX09GX0xJTkUsCi0KLSAgICAgICAgLy8gSGFuZGxpbmcgYSBwcmVw
cm9jZXNzb3IgZGlyZWN0aXZlLiBQYXNzZXMgdGhyb3VnaCBhbGwKLSAgICAgICAgLy8gY2hhcmFj
dGVycyB1cCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lLiBEaXNhYmxlcyBjb21tZW50Ci0gICAgICAg
IC8vIHByb2Nlc3NpbmcuCi0gICAgICAgIElOX1BSRVBST0NFU1NPUl9ESVJFQ1RJVkUsCi0KLSAg
ICAgICAgLy8gSGFuZGxpbmcgYSBzaW5nbGUtbGluZSBjb21tZW50LiBUaGUgY29tbWVudCB0ZXh0
IGlzCi0gICAgICAgIC8vIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUgc3BhY2UuCi0gICAgICAgIElO
X1NJTkdMRV9MSU5FX0NPTU1FTlQsCi0KLSAgICAgICAgLy8gSGFuZGxpbmcgYSBtdWx0aS1saW5l
IGNvbW1lbnQuIE5ld2xpbmVzIGFyZSBwYXNzZWQKLSAgICAgICAgLy8gdGhyb3VnaCB0byBwcmVz
ZXJ2ZSBsaW5lIG51bWJlcnMuCi0gICAgICAgIElOX01VTFRJX0xJTkVfQ09NTUVOVAotICAgIH07
Ci0KLSAgICBQYXJzZVN0YXRlIHN0YXRlID0gUGFyc2VTdGF0ZTo6QkVHSU5JTkdfT0ZfTElORTsK
LSAgICBzaXplX3QgcG9zICAgICAgID0gMDsKLQotICAgIHdoaWxlIChwb3MgPCBsZW4pCi0gICAg
ewotICAgICAgICBjaGFyIGMgICAgPSBzdHJbcG9zXTsKLSAgICAgICAgY2hhciBuZXh0ID0gcG9z
ICsgMSA8IGxlbiA/IHN0cltwb3MgKyAxXSA6IDA7Ci0KLSAgICAgICAgLy8gQ2hlY2sgZm9yIG5l
d2xpbmVzCi0gICAgICAgIGlmIChjID09ICdcbicgfHwgYyA9PSAnXHInKQotICAgICAgICB7Ci0g
ICAgICAgICAgICBpZiAoc3RhdGUgIT0gUGFyc2VTdGF0ZTo6SU5fTVVMVElfTElORV9DT01NRU5U
KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHN0YXRlID0gUGFyc2VTdGF0ZTo6QkVH
SU5JTkdfT0ZfTElORTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgcG9zKys7Ci0gICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIHN3aXRjaCAoc3RhdGUpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIGNhc2UgUGFyc2VTdGF0ZTo6QkVHSU5JTkdfT0ZfTElORToK
LSAgICAgICAgICAgICAgICBpZiAoYyA9PSAnICcpCi0gICAgICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgICAgICAvLyBNYWludGFpbiB0aGUgQkVHSU5JTkdfT0ZfTElORSBzdGF0ZSB1bnRp
bCBhIG5vbi1zcGFjZSBpcyBzZWVuCi0gICAgICAgICAgICAgICAgICAgIHBvcysrOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIGlmIChjID09ICcjJykKLSAgICAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlID0gUGFyc2VTdGF0ZTo6SU5fUFJF
UFJPQ0VTU09SX0RJUkVDVElWRTsKLSAgICAgICAgICAgICAgICAgICAgcG9zKys7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgICAgIC8vIERvbid0IGFkdmFuY2UsIHJlLXByb2Nlc3MgdGhpcyBjaGFyYWN0
ZXIgd2l0aCB0aGUgTUlERExFX09GX0xJTkUgc3RhdGUKLSAgICAgICAgICAgICAgICAgICAgc3Rh
dGUgPSBQYXJzZVN0YXRlOjpNSURETEVfT0ZfTElORTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIGNhc2UgUGFyc2VTdGF0ZTo6TUlERExF
X09GX0xJTkU6Ci0gICAgICAgICAgICAgICAgaWYgKGMgPT0gJy8nICYmIG5leHQgPT0gJy8nKQot
ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBQYXJzZVN0YXRl
OjpJTl9TSU5HTEVfTElORV9DT01NRU5UOwotICAgICAgICAgICAgICAgICAgICBwb3MrKzsKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAnLycgJiYgbmV4
dCA9PSAnKicpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9
IFBhcnNlU3RhdGU6OklOX01VTFRJX0xJTkVfQ09NTUVOVDsKLSAgICAgICAgICAgICAgICAgICAg
cG9zKys7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGxpbmVD
b250aW51YXRpb25BbGxvd2VkICYmIGMgPT0gJ1xcJyAmJiAobmV4dCA9PSAnXG4nIHx8IG5leHQg
PT0gJ1xyJykpCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAvLyBTa2lw
IGxpbmUgY29udGludWF0aW9uIGNoYXJhY3RlcnMKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgZWxzZSBpZiAoIUlzVmFsaWRFU1NMQ2hhcmFjdGVyKGMpKQotICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBwb3MrKzsKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAg
ICAgICAgICAgY2FzZSBQYXJzZVN0YXRlOjpJTl9QUkVQUk9DRVNTT1JfRElSRUNUSVZFOgotICAg
ICAgICAgICAgICAgIC8vIExpbmUtY29udGludWF0aW9uIGNoYXJhY3RlcnMgbWF5IG5vdCBiZSBw
ZXJtaXR0ZWQuCi0gICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBqdXN0IHBhc3MgaXQgdGhy
b3VnaC4gRG8gbm90IHBhcnNlIGNvbW1lbnRzIGluIHRoaXMgc3RhdGUuCi0gICAgICAgICAgICAg
ICAgaWYgKCFsaW5lQ29udGludWF0aW9uQWxsb3dlZCAmJiBjID09ICdcXCcpCi0gICAgICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIHBvcysrOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0g
ICAgICAgICAgICBjYXNlIFBhcnNlU3RhdGU6OklOX1NJTkdMRV9MSU5FX0NPTU1FTlQ6Ci0gICAg
ICAgICAgICAgICAgLy8gTGluZS1jb250aW51YXRpb24gY2hhcmFjdGVycyBhcmUgcHJvY2Vzc2Vk
IGJlZm9yZSBjb21tZW50IHByb2Nlc3NpbmcuCi0gICAgICAgICAgICAgICAgLy8gQWR2YW5jZSBz
dHJpbmcgaWYgYSBuZXcgbGluZSBjaGFyYWN0ZXIgaXMgaW1tZWRpYXRlbHkgYmVoaW5kCi0gICAg
ICAgICAgICAgICAgLy8gbGluZS1jb250aW51YXRpb24gY2hhcmFjdGVyLgotICAgICAgICAgICAg
ICAgIGlmIChjID09ICdcXCcgJiYgKG5leHQgPT0gJ1xuJyB8fCBuZXh0ID09ICdccicpKQotICAg
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcG9zKys7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIHBvcysrOwotICAgICAgICAgICAgICAgIGJyZWFrOwotCi0g
ICAgICAgICAgICBjYXNlIFBhcnNlU3RhdGU6OklOX01VTFRJX0xJTkVfQ09NTUVOVDoKLSAgICAg
ICAgICAgICAgICBpZiAoYyA9PSAnKicgJiYgbmV4dCA9PSAnLycpCi0gICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IFBhcnNlU3RhdGU6Ok1JRERMRV9PRl9MSU5F
OwotICAgICAgICAgICAgICAgICAgICBwb3MrKzsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgcG9zKys7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9
Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogYm9vbCBWYWxpZGF0ZVdlYkdMTmFtZVByZWZpeChj
b25zdCBDb250ZXh0ICpjb250ZXh0LCBjb25zdCBHTGNoYXIgKm5hbWUpCiB7CiAgICAgQVNTRVJU
KGNvbnRleHQtPmlzV2ViR0woKSk7CkBAIC00OTQ4LDI1ICs0ODI0LDYgQEAgYm9vbCBWYWxpZGF0
ZVNoYWRlclNvdXJjZShjb25zdCBDb250ZXh0ICpjb250ZXh0LAogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCi0gICAgLy8gVGhlIFdlYkdMIHNwZWMgKHNlY3Rpb24gNi4yMCkgZGlzYWxs
b3dzIHN0cmluZ3MgY29udGFpbmluZyBpbnZhbGlkIEVTU0wgY2hhcmFjdGVycyBmb3IKLSAgICAv
LyBzaGFkZXItcmVsYXRlZCBlbnRyeSBwb2ludHMKLSAgICBpZiAoY29udGV4dC0+Z2V0RXh0ZW5z
aW9ucygpLndlYmdsQ29tcGF0aWJpbGl0eSkKLSAgICB7Ci0gICAgICAgIGZvciAoR0xzaXplaSBp
ID0gMDsgaSA8IGNvdW50OyBpKyspCi0gICAgICAgIHsKLSAgICAgICAgICAgIHNpemVfdCBsZW4g
PQotICAgICAgICAgICAgICAgIChsZW5ndGggJiYgbGVuZ3RoW2ldID49IDApID8gc3RhdGljX2Nh
c3Q8c2l6ZV90PihsZW5ndGhbaV0pIDogc3RybGVuKHN0cmluZ1tpXSk7Ci0KLSAgICAgICAgICAg
IC8vIEJhY2tzbGFzaCBhcyBsaW5lLWNvbnRpbnVhdGlvbiBpcyBhbGxvd2VkIGluIFdlYkdMIDIu
MC4KLSAgICAgICAgICAgIGlmICghSXNWYWxpZEVTU0xTaGFkZXJTb3VyY2VTdHJpbmcoc3RyaW5n
W2ldLCBsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnRleHQtPmdldENsaWVudFZlcnNpb24oKSA+PSBFU18zXzApKQotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIGNvbnRleHQtPnZhbGlkYXRpb25FcnJvcihHTF9JTlZBTElEX1ZBTFVF
LCBrU2hhZGVyU291cmNlSW52YWxpZENoYXJhY3RlcnMpOwotICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQogICAgIFNoYWRlciAq
c2hhZGVyT2JqZWN0ID0gR2V0VmFsaWRTaGFkZXIoY29udGV4dCwgc2hhZGVyKTsKICAgICBpZiAo
IXNoYWRlck9iamVjdCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdM
RS9zcmMvdGVzdHMvZ2xfdGVzdHMvV2ViR0xDb21wYXRpYmlsaXR5VGVzdC5jcHAgYi9Tb3VyY2Uv
VGhpcmRQYXJ0eS9BTkdMRS9zcmMvdGVzdHMvZ2xfdGVzdHMvV2ViR0xDb21wYXRpYmlsaXR5VGVz
dC5jcHAKaW5kZXggNjFjMTMwZWU0MGZiMDA1ZjNiNzc5ZTVhNjExMzE4ZjUzODhkMzU0YS4uYzlm
MTczMzg1Njg5ZTk1ZDAwODc4MmZkZGRhYzlmYjMwODU0ZGU0NCAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvc3JjL3Rlc3RzL2dsX3Rlc3RzL1dlYkdMQ29tcGF0aWJpbGl0eVRl
c3QuY3BwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy90ZXN0cy9nbF90ZXN0cy9X
ZWJHTENvbXBhdGliaWxpdHlUZXN0LmNwcApAQCAtMjE1NiwzOSArMjE1NiwyNyBAQCB2b2lkIG1h
aW4oKQogICAgIGZvciAoY2hhciBpbnZhbGlkQ2hhciA6IGludmFsaWRTZXQpCiAgICAgewogICAg
ICAgICBzdGQ6OnN0cmluZyBpbnZhbGlkQXR0cmliTmFtZSA9IHZhbGlkQXR0cmliTmFtZSArIGlu
dmFsaWRDaGFyOwotICAgICAgICBjb25zdCBjaGFyICppbnZhbGlkVmVydFtdICAgICA9IHsKLSAg
ICAgICAgICAgICJhdHRyaWJ1dGUgZmxvYXQgIiwKLSAgICAgICAgICAgIGludmFsaWRBdHRyaWJO
YW1lLmNfc3RyKCksCi0gICAgICAgICAgICBSIig7LAorICAgICAgICBzdGQ6OnN0cmluZyBpbnZh
bGlkVmVydCAgICAgICA9ICJhdHRyaWJ1dGUgZmxvYXQgIjsKKyAgICAgICAgaW52YWxpZFZlcnQg
Kz0gaW52YWxpZEF0dHJpYk5hbWU7CisgICAgICAgIGludmFsaWRWZXJ0ICs9IFIiKDssCiB2b2lk
IG1haW4oKSwKIHssCiAgICAgZ2xfUG9zaXRpb24gPSB2ZWM0KDEuMCk7LAotfSkiLAotICAgICAg
ICB9OwotCi0gICAgICAgIEdMdWludCBzaGFkZXIgPSBnbENyZWF0ZVNoYWRlcihHTF9WRVJURVhf
U0hBREVSKTsKLSAgICAgICAgZ2xTaGFkZXJTb3VyY2Uoc2hhZGVyLCBzdGF0aWNfY2FzdDxHTHNp
emVpPihBcnJheVNpemUoaW52YWxpZFZlcnQpKSwgaW52YWxpZFZlcnQsIG51bGxwdHIpOwotICAg
ICAgICBFWFBFQ1RfR0xfRVJST1IoR0xfSU5WQUxJRF9WQUxVRSk7Ci0gICAgICAgIGdsRGVsZXRl
U2hhZGVyKHNoYWRlcik7Cit9KSI7CisgICAgICAgIEdMdWludCBwcm9ncmFtID0gQ29tcGlsZVBy
b2dyYW0oaW52YWxpZFZlcnQuY19zdHIoKSwgZXNzbDFfc2hhZGVyczo6ZnM6OlJlZCgpKTsKKyAg
ICAgICAgRVhQRUNUX0VRKDB1LCBwcm9ncmFtKTsKICAgICB9CiB9CiAKLS8vIFRlc3QgdGhhdCBs
aW5lIGNvbnRpbnVhdGlvbiBpcyBoYW5kbGVkIGNvcnJlY3RseSB3aGVuIHZhbGRpYXRpbmcgc2hh
ZGVyIHNvdXJjZQorLy8gVGVzdCB0aGF0IGxpbmUgY29udGludWF0aW9uIGlzIGhhbmRsZWQgY29y
cmVjdGx5IHdoZW4gdmFsaWRhdGluZyBzaGFkZXIgc291cmNlCiBURVNUX1AoV2ViR0xDb21wYXRp
YmlsaXR5VGVzdCwgU2hhZGVyU291cmNlTGluZUNvbnRpbnVhdGlvbikKIHsKLSAgICAvLyBWZXJp
ZnkgdGhhdCBhIGxpbmUgY29udGludWF0aW9uIGNoYXJhY3RlciAoaS5lLiBiYWNrc2xhc2gpIGNh
bm5vdCBiZSB1c2VkCi0gICAgLy8gd2l0aGluIGEgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZSBpbiBh
IEVTMiBjb250ZXh0LgotICAgIEFOR0xFX1NLSVBfVEVTVF9JRihnZXRDbGllbnRNYWpvclZlcnNp
b24oKSA+PSAzKTsKKyAgICAvLyBXaXRoIHJlY2VudCBjaGFuZ2VzIHRvIFdlYkdMJ3Mgc2hhZGVy
IHNvdXJjZSB2YWxpZGF0aW9uIGluCisgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL0tocm9ub3NH
cm91cC9XZWJHTC9wdWxsLzMyMDYgYW5kIGZvbGxvdy1vbnMsCisgICAgLy8gdGhlIGJhY2tzbGFz
aCBjaGFyYWN0ZXIgY2FuIGJlIHVzZWQgaW4gYm90aCBXZWJHTCAxLjAgYW5kIDIuMAorICAgIC8v
IGNvbnRleHRzLgogCiAgICAgY29uc3QgY2hhciAqdmFsaWRWZXJ0ID0KLSAgICAgICAgUiIoI2Rl
ZmluZSBmb28gdGhpcyBpcyBhIHRlc3QKLXByZWNpc2lvbiBtZWRpdW1wIGZsb2F0Owotdm9pZCBt
YWluKCkKLXsKLSAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoMS4wKTsKLX0pIjsKLQotICAgIGNvbnN0
IGNoYXIgKmludmFsaWRWZXJ0ID0KICAgICAgICAgUiIoI2RlZmluZSBmb28gdGhpcyBcCiAgICAg
aXMgYSB0ZXN0CiBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKQEAgLTIxOTcsMTMgKzIxODUsOSBA
QCB2b2lkIG1haW4oKQogICAgIGdsX1Bvc2l0aW9uID0gdmVjNCgxLjApOwogfSkiOwogCi0gICAg
R0x1aW50IHNoYWRlciA9IGdsQ3JlYXRlU2hhZGVyKEdMX1ZFUlRFWF9TSEFERVIpOwotICAgIGds
U2hhZGVyU291cmNlKHNoYWRlciwgMSwgJnZhbGlkVmVydCwgbnVsbHB0cik7Ci0gICAgRVhQRUNU
X0dMX05PX0VSUk9SKCk7Ci0KLSAgICBnbFNoYWRlclNvdXJjZShzaGFkZXIsIDEsICZpbnZhbGlk
VmVydCwgbnVsbHB0cik7Ci0gICAgRVhQRUNUX0dMX0VSUk9SKEdMX0lOVkFMSURfVkFMVUUpOwot
ICAgIGdsRGVsZXRlU2hhZGVyKHNoYWRlcik7CisgICAgR0x1aW50IHByb2dyYW0gPSBDb21waWxl
UHJvZ3JhbSh2YWxpZFZlcnQsIGVzc2wxX3NoYWRlcnM6OmZzOjpSZWQoKSk7CisgICAgRVhQRUNU
X05FKDB1LCBwcm9ncmFtKTsKKyAgICBnbERlbGV0ZVByb2dyYW0ocHJvZ3JhbSk7CiB9CiAKIC8v
IFRlc3QgdGhhdCBsaW5lIGNvbnRpbnVhdGlvbiBpcyBoYW5kbGVkIGNvcnJlY3RseSB3aGVuIHZh
bGRpYXRpbmcgc2hhZGVyIHNvdXJjZQpAQCAtMjIzMSwxMiArMjIxNSwxMiBAQCBvbyA9IDEuMDsK
ICAgICBnbF9Qb3NpdGlvbiA9IHZlYzQoZm9vKTsKIH0pIjsKIAotICAgIEdMdWludCBzaGFkZXIg
PSBnbENyZWF0ZVNoYWRlcihHTF9WRVJURVhfU0hBREVSKTsKLSAgICBnbFNoYWRlclNvdXJjZShz
aGFkZXIsIDEsICZ2YWxpZFZlcnQsIG51bGxwdHIpOwotICAgIEVYUEVDVF9HTF9OT19FUlJPUigp
OwotICAgIGdsU2hhZGVyU291cmNlKHNoYWRlciwgMSwgJmludmFsaWRWZXJ0LCBudWxscHRyKTsK
LSAgICBFWFBFQ1RfR0xfRVJST1IoR0xfSU5WQUxJRF9WQUxVRSk7Ci0gICAgZ2xEZWxldGVTaGFk
ZXIoc2hhZGVyKTsKKyAgICBHTHVpbnQgcHJvZ3JhbSA9IENvbXBpbGVQcm9ncmFtKHZhbGlkVmVy
dCwgZXNzbDNfc2hhZGVyczo6ZnM6OlJlZCgpKTsKKyAgICBFWFBFQ1RfTkUoMHUsIHByb2dyYW0p
OworICAgIGdsRGVsZXRlUHJvZ3JhbShwcm9ncmFtKTsKKworICAgIHByb2dyYW0gPSBDb21waWxl
UHJvZ3JhbShpbnZhbGlkVmVydCwgZXNzbDNfc2hhZGVyczo6ZnM6OlJlZCgpKTsKKyAgICBFWFBF
Q1RfRVEoMHUsIHByb2dyYW0pOwogfQogCiAvLyBUZXN0cyBiaW5kQXR0cmliTG9jYXRpb25zIGZv
ciByZXNlcnZlZCBwcmVmaXhlcyBhbmQgbGVuZ3RoIGxpbWl0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk4YmI5MTBiOTJk
MzE0MWMwMGI1NTA1YjdlYTE4MWMxYzMzMGE3ODMuLjY4YzkyNzFkOWU5MWIwNzUyZGMyYTU1NGE0
MTJlYzY1ZGJhNDZkNTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wOC0xMCAgS2ltbW8g
S2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIENoZXJyeS1waWNrIEFO
R0xFOiBSZXZpc2UgV2ViR0wncyBzaGFkZXJTb3VyY2UgdmFsaWRhdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4OTUxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgorCisgICAgICAgIEZpeGVzIHRlc3RzOgorICAgICAg
ICB3ZWJnbC8xLjAueC9jb25mb3JtYW5jZS9taXNjL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1s
CisgICAgICAgIHdlYmdsLzEuMC54L2NvbmZvcm1hbmNlL2dsc2wvYnVncy9jaGFyYWN0ZXItc2V0
Lmh0bWwKKyAgICAgICAgd2ViZ2wvMi4wLnkvY29uZm9ybWFuY2UvbWlzYy9pbnZhbGlkLXBhc3Nl
ZC1wYXJhbXMuaHRtbAorICAgICAgICB3ZWJnbC8yLjAueS9jb25mb3JtYW5jZS9nbHNsL2J1Z3Mv
Y2hhcmFjdGVyLXNldC5odG1sCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIx
LTA4LTEwICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVd
IEdhcmRlbiBuZXcgY3NzLWNvdW50ZXIgaW1hZ2Vvbmx5IGZhaWx1cmVzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCA4NDg1NmQ4M2RhNzIzMThmNzgxZjQwYTczMTBiMjZhYjg0YzM1Y2QzLi42NjQzYzU5
MGY3Y2IwZjZlNDRjNmJkNTVkZWMwYmI1YTAxMDk2NmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTM2NDEsMTIgKzM2NDEsMjQgQEAgd2ViZ2wvMS4wLnggWyBTa2lwIF0KIAogIyBFeHBsaWNpdGx5
IGVuYWJsZSB0ZXN0cyB3aGljaCB3ZSBoYXZlIGZpeGVkIGFuZCBkbyBub3QgaGF2ZSBjb3JyZXNw
b25kaW5nIDEuMC4zIHRlc3QgZnVuY3Rpb25hbGl0eS4KIHdlYmdsLzEuMC54L2NvbmZvcm1hbmNl
L2NhbnZhcy90by1kYXRhLXVybC10ZXN0Lmh0bWwgWyBQYXNzIF0KK3dlYmdsLzEuMC54L2NvbmZv
cm1hbmNlL21pc2MvaW52YWxpZC1wYXNzZWQtcGFyYW1zLmh0bWwgWyBQYXNzIF0KK3dlYmdsLzEu
MC54L2NvbmZvcm1hbmNlL2dsc2wvYnVncy9jaGFyYWN0ZXItc2V0Lmh0bWwgWyBQYXNzIF0KIAog
IyBXZWJHTCBjb25mb3JtYW5jZSB0ZXN0IHN1aXRlIDIuMC4xIGlzIHNraXBwZWQgdW50aWwgMi4w
LjAgaXMgcmV0aXJlZC4KIHdlYmdsLzIuMC55IFsgU2tpcCBdCiAKICMgRXhwbGljaXRseSBlbmFi
bGUgdGVzdHMgd2hpY2ggd2UgaGF2ZSBmaXhlZCBhbmQgZG8gbm90IGhhdmUgY29ycmVzcG9uZGlu
ZyAyLjAueSB0ZXN0IGZ1bmN0aW9uYWxpdHkuCiB3ZWJnbC8yLjAueS9jb25mb3JtYW5jZS9jYW52
YXMvdG8tZGF0YS11cmwtdGVzdC5odG1sIFsgUGFzcyBdCit3ZWJnbC8yLjAueS9jb25mb3JtYW5j
ZS9taXNjL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1sIFsgUGFzcyBdCit3ZWJnbC8yLjAueS9j
b25mb3JtYW5jZS9nbHNsL2J1Z3MvY2hhcmFjdGVyLXNldC5odG1sIFsgUGFzcyBdCisKKyMgV2Vi
R0wgMS4wLjMgYW5kIDIuMC4wIHRlc3RzIHdoZXJlIGJlaGF2aW9yIGlzIG9ic29sZXRlIGFuZCBX
ZWJLaXQgY29udGFpbnMgaW1wbGVtZW50YXRpb24KKyMgYW5kIHRlc3RzIGZvciB0aGUgbmV3IGJl
aGF2aW9yLiBTaG91bGQgYmUgcmVtb3ZlZCBvbmNlIDEuMC4zIGFuZCAyLjAuMCBhcmUgcmV0aXJl
ZC4KK3dlYmdsLzEuMC4zL2NvbmZvcm1hbmNlL2dsc2wvbWlzYy9zaGFkZXItd2l0aC1kZWZpbmUt
bGluZS1jb250aW51YXRpb24uZnJhZy5odG1sIFsgU2tpcCBdCit3ZWJnbC8xLjAuMy9jb25mb3Jt
YW5jZS9taXNjL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1sIFsgU2tpcCBdCit3ZWJnbC8yLjAu
MC9jb25mb3JtYW5jZS9nbHNsL21pc2Mvc2hhZGVyLXdpdGgtZGVmaW5lLWxpbmUtY29udGludWF0
aW9uLmZyYWcuaHRtbCBbIFNraXAgXQord2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UvbWlzYy9pbnZh
bGlkLXBhc3NlZC1wYXJhbXMuaHRtbCBbIFNraXAgXQorZmFzdC9jYW52YXMvd2ViZ2wvaW52YWxp
ZC1wYXNzZWQtcGFyYW1zLmh0bWwgWyBTa2lwIF0KIAogIyBwcmUtd3JhcCBwcm9ncmVzc2lvbi4g
T3RoZXIgcmVuZGVyaW5nIGVuZ2luZXMgYWdyZWUgd2l0aCB0aGUgcmVzdWx0Lgogd2Via2l0Lm9y
Zy9iLzIwNjE2OCBbIERlYnVnIF0gZmFzdC9kb20vaW5zZXJ0LXNwYW4taW50by1sb25nLXRleHQt
YnVnLTI4MjQ1Lmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>