<?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>238040</bug_id>
          
          <creation_ts>2022-03-17 12:59:57 -0700</creation_ts>
          <short_desc>[WebGPU] Add a build-webgpu script</short_desc>
          <delta_ts>2022-03-21 12:24: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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>djg</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jbedard</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1852427</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-17 12:59:57 -0700</bug_when>
    <thetext>[WebGPU] Add a build-webgpu script</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852430</commentid>
    <comment_count>1</comment_count>
      <attachid>455008</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-17 13:01:17 -0700</bug_when>
    <thetext>Created attachment 455008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1852601</commentid>
    <comment_count>2</comment_count>
      <attachid>455008</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-17 19:45:46 -0700</bug_when>
    <thetext>Comment on attachment 455008
Patch

I should try to share as much code with build-jsc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853090</commentid>
    <comment_count>3</comment_count>
      <attachid>455206</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-20 15:38:20 -0700</bug_when>
    <thetext>Created attachment 455206
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853282</commentid>
    <comment_count>4</comment_count>
      <attachid>455206</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2022-03-21 12:06:43 -0700</bug_when>
    <thetext>Comment on attachment 455206
Patch

Nice. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853289</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-21 12:23:10 -0700</bug_when>
    <thetext>Committed r291575 (248675@main): &lt;https://commits.webkit.org/248675@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455206.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853291</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-21 12:24:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/90584745&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455008</attachid>
            <date>2022-03-17 13:01:17 -0700</date>
            <delta_ts>2022-03-20 15:38:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238040-20220317130116.patch</filename>
            <type>text/plain</type>
            <size>7367</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNDIyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDA4MzRmNTJhYmJmODljNTEzYTk4MzIzOTk3YjNkZDM3
MTliNzYwMi4uMzVjYzYxNjJlODNmYTNiNGJiZmUxYjE1YjY2YzQ1ZjEzOGQxY2VkZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDIyLTAzLTE3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgW1dlYkdQVV0gQWRkIGEgYnVpbGQtd2ViZ3B1IHNjcmlwdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MDQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIGEgc2NyaXB0IG1h
a2VzIGl0IGVhc2llciB0byBidWlsZCBqdXN0IFdlYkdQVS5mcmFtZXdvcmsgd2l0aG91dCB0aGUg
cmVzdCBvZiBXZWJLaXQuCisgICAgICAgIFRoaXMgc2NyaXB0IGlzIGNvcGllZCBhbmQgbW9kaWZp
ZWQgZnJvbSBidWlsZC1qc2MuCisKKyAgICAgICAgVGhlIHdheSB5b3UnZCBidWlsZCBhIERlYnVn
IGJ1aWxkIG9mIFdlYkdQVSB3b3VsZCBiZToKKyAgICAgICAgJSBzZXQtd2Via2l0LWNvbmZpZ3Vy
YXRpb24gLS1kZWJ1ZworICAgICAgICAlIGJ1aWxkLXdlYmdwdQorCisgICAgICAgICogU2NyaXB0
cy9idWlsZC13ZWJncHU6IEFkZGVkLgorICAgICAgICAob3B0aW9uKToKKyAgICAgICAgKGJ1aWxk
TXlQcm9qZWN0KToKKyAgICAgICAgKHdyaXRlQ29uZ3JhdHMpOgorCiAyMDIyLTAzLTE3ICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIE9ubHkgc2hvdyBub3RpZmljYXRpb24g
cGVybWlzc2lvbiBwcm9tcHQgb24gdXNlciBnZXN0dXJlCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL2J1aWxkLXdlYmdwdSBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2ViZ3B1Cm5ldyBmaWxlIG1v
ZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg0NWQzZjhkMThkNWRlNDE3YmY5MjAwMGVjOGQ1ZjQ2YWM2MDNmZTYKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmdwdQpAQCAtMCwwICsxLDE4OCBAQAorIyEvdXNy
L2Jpbi9lbnYgcGVybAorCisjIENvcHlyaWdodCAoQykgMjAwNS0yMDIyIEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwNyBFcmljIFNlaWRlbCA8ZXJp
Y0B3ZWJraXQub3JnPgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6Cisj
CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMgMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUg
SW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorIyAgICAgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorIyAgICAg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLiAKKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOworIyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyMgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKwordXNlIHN0cmljdDsKK3VzZSB3YXJu
aW5nczsKK3VzZSBGaW5kQmluOwordXNlIEdldG9wdDo6TG9uZyBxdyg6Y29uZmlnIHBhc3NfdGhy
b3VnaCk7Cit1c2UgbGliICRGaW5kQmluOjpCaW47Cit1c2Ugd2Via2l0ZGlyczsKK3VzZSB3ZWJr
aXRwZXJsOjpGZWF0dXJlTGlzdCBxdyhnZXRGZWF0dXJlT3B0aW9uTGlzdCk7Cit1c2UgUE9TSVg7
Cit1c2UgVGV4dDo6UGFyc2VXb3JkczsKKworc3ViIHdyaXRlQ29uZ3JhdHMoKTsKKworcHJvaGli
aXRVbmtub3duUG9ydCgpOworCitpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgcHJpbnQg
IkJ1aWxkaW5nIGZsYXRwYWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7CisgICAgbXkgQGNvbW1hbmQg
PSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAi
YnVpbGQtanNjIikpOworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7Cit9CisKKworbXkgJHNo
b3VsZFJ1blN0YXRpY0FuYWx5emVyID0gMDsKK215ICRtaW5pbWFsID0gMDsKK215ICRjb3ZlcmFn
ZVN1cHBvcnQgPSAwOworbXkgJHNob3dIZWxwID0gMDsKK215ICRtYWtlQXJncyA9ICIiOworbXkg
QGNtYWtlQXJnczsKK215ICRzdGFydFRpbWUgPSB0aW1lKCk7CitteSAkdXNlQ0NhY2hlID0gLTE7
CitteSAkZXhwb3J0Q29tcGlsZUNvbW1hbmRzID0gMDsKKworbXkgQGZlYXR1cmVzID0gZ2V0RmVh
dHVyZU9wdGlvbkxpc3QoKTsKKworIyBJbml0aWFsaXplIHZhbHVlcyBmcm9tIGRlZmF1bHRzCitm
b3JlYWNoIChAQVJHVikgeworICAgIGlmICgkXyBlcSAnLS1taW5pbWFsJykgeworICAgICAgICAk
bWluaW1hbCA9IDE7CisgICAgfQorfQorCisjIEluaXRpYWxpemUgdmFsdWVzIGZyb20gZGVmYXVs
dHMKK2ZvcmVhY2ggKEBmZWF0dXJlcykgeworICAgICR7JF8tPnt2YWx1ZX19ID0gKCRtaW5pbWFs
ID8gMCA6ICRfLT57ZGVmYXVsdH0pOworfQorCisjIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgcGFy
YW1ldGVycworcHVzaCBAQVJHViwgcGFyc2VfbGluZSgnXHMrJywgMCwgJEVOVnsnQlVJTERfV0VC
R1BVX0FSR1MnfSkgaWYgKCRFTlZ7J0JVSUxEX1dFQkdQVV9BUkdTJ30pOworCitteSAkcHJvZ3Jh
bU5hbWUgPSBiYXNlbmFtZSgkMCk7CitteSAkdXNhZ2UgPSA8PEVPRjsKK1VzYWdlOiAkcHJvZ3Jh
bU5hbWUgW29wdGlvbnNdIFtvcHRpb25zIHRvIHBhc3MgdG8gYnVpbGQgc3lzdGVtXQorICAtLWhl
bHAgICAgICAgICAgICAgICAgICAgICAgICBTaG93IHRoaXMgaGVscCBtZXNzYWdlCisgIC0tbWFr
ZWFyZ3M9PGFyZ3VtZW50cz4gICAgICAgIE9wdGlvbmFsIE1ha2VmaWxlIGZsYWdzCisgIC0tY21h
a2VhcmdzPTxhcmd1bWVudHM+ICAgICAgIE9uZSBvciBtb3JlIG9wdGlvbmFsIENNYWtlIGZsYWdz
IChlLmcuIC0tY21ha2VhcmdzPSItREZPTz1iYXIgLURDTUFLRV9QUkVGSVhfUEFUSD0vdXNyL2xv
Y2FsIikKKworICAtLVtuby1ddXNlLWNjYWNoZSAgICAgICAgICAgICBFbmFibGUgKG9yIGRpc2Fi
bGUpIENDYWNoZSwgaWYgYXZhaWxhYmxlCisgIC0tZXhwb3J0LWNvbXBpbGUtY29tbWFuZHMgICAg
IEdlbmVyYXRlIGNvbXBpbGVfY29tbWFuZHMuanNvbgorRU9GCisKK215ICVvcHRpb25zID0gKAor
ICAgICdoZWxwJyA9PiBcJHNob3dIZWxwLAorICAgICdtYWtlYXJncz1zJyA9PiBcJG1ha2VBcmdz
LAorICAgICdjbWFrZWFyZ3M9cycgPT4gXEBjbWFrZUFyZ3MsCisgICAgJ3VzZS1jY2FjaGUhJyA9
PiBcJHVzZUNDYWNoZSwKKyAgICAnZXhwb3J0LWNvbXBpbGUtY29tbWFuZHMnID0+IFwkZXhwb3J0
Q29tcGlsZUNvbW1hbmRzCispOworCitmb3JlYWNoIChAZmVhdHVyZXMpIHsKKyAgICBpZiAoJF8t
PntqYXZhc2NyaXB0fSkgeworICAgICAgICBteSAkb3B0ID0gc3ByaW50ZigiJS0zNXMiLCAiICAt
LVtuby1dJF8tPntvcHRpb259Iik7CisgICAgICAgICR1c2FnZSAuPSAiJG9wdCAkXy0+e2Rlc2N9
IChkZWZhdWx0OiAkXy0+e2RlZmF1bHR9KVxuIjsKKyAgICAgICAgJG9wdGlvbnN7IiRfLT57b3B0
aW9ufSEifSA9ICRfLT57dmFsdWV9OworICAgIH0KK30KKworR2V0T3B0aW9ucyglb3B0aW9ucyk7
CisKK2lmICgkc2hvd0hlbHApIHsKKyAgIHByaW50IFNUREVSUiAkdXNhZ2U7CisgICBleGl0IDE7
Cit9CisKK2lmICgkdXNlQ0NhY2hlID09IDEpIHsKKyAgICAkRU5WeydXS19VU0VfQ0NBQ0hFJ30g
PSAiWUVTIjsKK30gZWxzaWYgKCR1c2VDQ2FjaGUgPT0gMCkgeworICAgICRFTlZ7J1dLX1VTRV9D
Q0FDSEUnfSA9ICJOTyI7Cit9CisKKyRFTlZ7J0VYUE9SVF9DT01QSUxFX0NPTU1BTkRTJ30gPSAi
WUVTIiBpZiAkZXhwb3J0Q29tcGlsZUNvbW1hbmRzOworCitjaGVja1JlcXVpcmVkU3lzdGVtQ29u
ZmlnKCk7CitzZXRDb25maWd1cmF0aW9uKCk7CitjaGRpcldlYktpdCgpOworbXkgQG9wdGlvbnMg
PSBYY29kZU9wdGlvbnMoKTsKK215IEBhZGRpdGlvbmFsU3VwcG9ydE9wdGlvbnMgPSAoKTsKK3B1
c2ggQGFkZGl0aW9uYWxTdXBwb3J0T3B0aW9ucywgWGNvZGVDb3ZlcmFnZVN1cHBvcnRPcHRpb25z
KCkgaWYgJGNvdmVyYWdlU3VwcG9ydDsKK3B1c2ggQGFkZGl0aW9uYWxTdXBwb3J0T3B0aW9ucywg
WGNvZGVTdGF0aWNBbmFseXplck9wdGlvbigpIGlmICRzaG91bGRSdW5TdGF0aWNBbmFseXplcjsK
Kworc3ViIG9wdGlvbigkJCQpCit7CisgICAgbXkgKCRmZWF0dXJlLCAkaXNFbmFibGVkLCAkZGVm
YXVsdFZhbHVlKSA9IEBfOworICAgIHJldHVybiAiIiBpZiAkZGVmYXVsdFZhbHVlID09ICRpc0Vu
YWJsZWQ7CisgICAgcmV0dXJuICRmZWF0dXJlIC4gIj0iIC4gKCRpc0VuYWJsZWQgPyAkZmVhdHVy
ZSA6ICIiKTsKK30KKworZm9yZWFjaCAoQGZlYXR1cmVzKSB7CisgICAgaWYgKCRfLT57amF2YXNj
cmlwdH0pIHsKKyAgICAgICAgbXkgJG9wdGlvbiA9IG9wdGlvbigkXy0+e2RlZmluZX0sICR7JF8t
Pnt2YWx1ZX19LCAkXy0+e2RlZmF1bHR9KTsKKyAgICAgICAgcHVzaCBAb3B0aW9ucywgJG9wdGlv
biB1bmxlc3MgJG9wdGlvbiBlcSAiIjsKKyAgICB9Cit9CisKK3N1YiBidWlsZE15UHJvamVjdAor
eworICAgIG15ICgkcHJvamVjdERpcmVjdG9yeSwgJHByb2plY3ROYW1lKSA9IEBfOworICAgIG15
ICRyZXN1bHQ7CisgICAgY2hkaXIgJHByb2plY3REaXJlY3Rvcnkgb3IgZGllICJDYW4ndCBmaW5k
ICRwcm9qZWN0TmFtZSBkaXJlY3RvcnkgdG8gYnVpbGQgZnJvbSI7CisgICAgbXkgJGNvbXBpbGVy
RmxhZ3MgPSAnR0NDX1BSRVBST0NFU1NPUl9BRERJVElPTlM9IiInOworCisgICAgbXkgJGV4dHJh
Q29tbWFuZHMgPSAiIjsKKyAgICBmb3JlYWNoIChAQVJHVikgeworICAgICAgICAjIEVuc3VyZSB0
aGF0IGlmIHNvbWVib2R5IHBhc3NlcyBpbiBhIGZsYWcgbGlrZSBgQVJDSFM9ImkzODYgeDg2XzY0
ImAgd2UKKyAgICAgICAgIyBtYWludGFpbiB0aGUgcXVvdGVzIGFyb3VuZCAiaTM4NiB4ODZfNjQi
LgorICAgICAgICBteSAkYXJnID0gJF87CisgICAgICAgIGlmICgkYXJnID1+IG0vPS8pIHsKKyAg
ICAgICAgICAgICRhcmcgPX4gcy89Lz0iLzsKKyAgICAgICAgICAgICRhcmcgPSAkYXJnIC4gIlwi
IjsKKyAgICAgICAgfQorICAgICAgICAkZXh0cmFDb21tYW5kcyAuPSAiICIgLiAkYXJnOworICAg
IH0KKworICAgIG15ICRjb21tYW5kID0gIm1ha2UgIiAuIChsYyBjb25maWd1cmF0aW9uKCkpIC4g
IiAiIC4gJGNvbXBpbGVyRmxhZ3MgLiAiICIgLiAkZXh0cmFDb21tYW5kczsKKworICAgIHByaW50
ICJcbiI7CisgICAgcHJpbnQgImJ1aWxkaW5nICIsICRwcm9qZWN0TmFtZSwgIlxuIjsKKyAgICBw
cmludCAicnVubmluZyBidWlsZCBjb21tYW5kICciLCAkY29tbWFuZCwgIicgaW4gIiwgJHByb2pl
Y3REaXJlY3RvcnksICJcblxuIjsKKworICAgICRyZXN1bHQgPSBzeXN0ZW0gJGNvbW1hbmQ7Cisg
ICAgZXhpdCBleGl0U3RhdHVzKCRyZXN1bHQpIGlmIGV4aXRTdGF0dXMoJHJlc3VsdCk7CisgICAg
Y2hkaXJXZWJLaXQoKTsKK30KKworc3ViIHdyaXRlQ29uZ3JhdHMoKQoreworICAgIG15ICRlbmRU
aW1lID0gdGltZSgpOworICAgIG15ICRidWlsZFRpbWUgPSBmb3JtYXRCdWlsZFRpbWUoJGVuZFRp
bWUgLSAkc3RhcnRUaW1lKTsKKworICAgIHByaW50ICJcbiI7CisgICAgcHJpbnQgIj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09XG4iOworICAgIHByaW50ICIgV2ViR1BVIGlzIG5vdyBidWlsdCAoJGJ1aWxkVGltZSkuIFxu
IjsKKyAgICBwcmludCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiI7Cit9CisKK2J1aWxkTXlQcm9qZWN0KCJTb3Vy
Y2UvYm1hbGxvYyIsICJibWFsbG9jIik7CitidWlsZE15UHJvamVjdCgiU291cmNlL1dURiIsICJX
VEYiKTsKK2J1aWxkTXlQcm9qZWN0KCJTb3VyY2UvSmF2YVNjcmlwdENvcmUiLCAiSmF2YVNjcmlw
dENvcmUiKTsKK2J1aWxkTXlQcm9qZWN0KCJTb3VyY2UvV2ViR1BVIiwgIldlYkdQVSIpOword3Jp
dGVDb25ncmF0cygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455206</attachid>
            <date>2022-03-20 15:38:20 -0700</date>
            <delta_ts>2022-03-21 12:23:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238040-20220320153819.patch</filename>
            <type>text/plain</type>
            <size>21212</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTQ3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWM0OGE2NWE4YTljYzgyYzI4NTRjN2VjYjVjYjBjMzU0
YzBhMTkwMS4uYjM4ODU3NDVmMGI3NTZkMjdlODU4YThjMjkzOTdhOTYxODkwZTY2MiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDIyLTAzLTIwICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgW1dlYkdQVV0gQWRkIGEgYnVpbGQtd2ViZ3B1IHNjcmlwdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4MDQwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEg
YnVpbGQtd2ViZ3B1IHNjcmlwdCBieSBzaGFyaW5nIGNvZGUgd2l0aCB0aGUgYnVpbGQtanNjIHNj
cmlwdC4KKyAgICAgICAgSXQgbW92ZXMgYWxtb3N0IGFsbCBvZiB0aGUgY29udGVudHMgb2YgdGhl
IGJ1aWxkLWpzYyBzY3JpcHQgdG8gYSBzaGFyZWQgUGVybCBtb2R1bGUsCisgICAgICAgIHdlYmtp
dHBlcmwvQnVpbGRTdWJwcm9qZWN0LnBtLCBhbmQgdGhlbiBoYXMgYnVpbGQtanNjIGFuZCBidWls
ZC13ZWJncHUgYm90aCBjYWxsCisgICAgICAgIGludG8gaXQgdG8gYnVpbGQgdGhlIHJlbGV2YW50
IHByb2plY3RzLgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC1qc2M6CisgICAgICAgIChidWls
ZE15UHJvamVjdCk6IERlbGV0ZWQuCisgICAgICAgICh3cml0ZUNvbmdyYXRzKTogRGVsZXRlZC4K
KyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLXdlYmdwdTogQWRkZWQuCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRwZXJsL0J1aWxkU3VicHJvamVjdC5wbTogQ29waWVkIGZyb20gVG9vbHMvU2NyaXB0
cy9idWlsZC1qc2MuCisgICAgICAgIChidWlsZE15UHJvamVjdCk6CisgICAgICAgICh3cml0ZUNv
bmdyYXRzKToKKwogMjAyMi0wMy0yMCAgQWRyaWFuIFBlcmV6IGRlIENhc3RybyAgPGFwZXJlekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIEZpeCBjbGFuZyB3YXJuaW5nIGFmdGVyIHIyOTEyMjkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNjIGIvVG9vbHMvU2NyaXB0cy9idWlsZC1q
c2MKaW5kZXggMTNmMDBhNzI1N2I3MjFiZGMzODMwMzMxMjllMTdjYWQzOTIyY2RkOC4uMzU2ZDc1
OWU1YjU0NGY1ZWYyMmZmNTdlZDBjZDY2YTU0ZTNmYTczMSAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9idWlsZC1qc2MKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MKQEAgLTEsNiArMSw2
IEBACiAjIS91c3IvYmluL2VudiBwZXJsCiAKLSMgQ29weXJpZ2h0IChDKSAyMDA1LCAyMDEzIEFw
cGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwNS0yMDIy
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNyBF
cmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgogIwogIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTI3LDI0NiAr
MjcsMTQgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCiAjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLQotdXNlIHN0cmljdDsK
LXVzZSB3YXJuaW5nczsKIHVzZSBGaW5kQmluOwotdXNlIEdldG9wdDo6TG9uZyBxdyg6Y29uZmln
IHBhc3NfdGhyb3VnaCk7CiB1c2UgbGliICRGaW5kQmluOjpCaW47Ci11c2Ugd2Via2l0ZGlyczsK
IHVzZSB3ZWJraXRwZXJsOjpGZWF0dXJlTGlzdCBxdyhnZXRGZWF0dXJlT3B0aW9uTGlzdCk7Ci11
c2UgUE9TSVg7Ci11c2UgVGV4dDo6UGFyc2VXb3JkczsKLQotc3ViIHdyaXRlQ29uZ3JhdHMoKTsK
LQotcHJvaGliaXRVbmtub3duUG9ydCgpOwotCi1pZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7Ci0g
ICAgcHJpbnQgIkJ1aWxkaW5nIGZsYXRwYWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7Ci0gICAgbXkg
QGNvbW1hbmQgPSAoRmlsZTo6U3BlYy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNj
cmlwdHMiLCAiYnVpbGQtanNjIikpOwotICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7Ci19Ci0K
LQotbXkgJHNob3VsZFJ1blN0YXRpY0FuYWx5emVyID0gMDsKLW15ICRtaW5pbWFsID0gMDsKLW15
ICRjb3ZlcmFnZVN1cHBvcnQgPSAwOwotbXkgJHNob3dIZWxwID0gMDsKLW15ICRmdGxKSVQgPSBp
bnQoaXNBcHBsZUNvY29hV2ViS2l0KCkgJiYgIXdpbGxVc2VJT1NTaW11bGF0b3JTREsoKSB8fCAo
KGlzQVJNNjQoKSB8fCBpc1g4Nl82NCgpKSAmJiAoaXNHdGsoKSB8fCBpc0pTQ09ubHkoKSkpKTsK
LW15ICRmb3JjZUNMb29wID0gMDsKLW15ICRtYWtlQXJncyA9ICIiOwotbXkgQGNtYWtlQXJnczsK
LW15ICRidWlsZERpciA9ICIiOwotbXkgJHN0YXJ0VGltZSA9IHRpbWUoKTsKLW15ICR1c2VDQ2Fj
aGUgPSAtMTsKLW15ICRleHBvcnRDb21waWxlQ29tbWFuZHMgPSAwOwotCi1teSBAZmVhdHVyZXMg
PSBnZXRGZWF0dXJlT3B0aW9uTGlzdCgpOwotCi0jIEluaXRpYWxpemUgdmFsdWVzIGZyb20gZGVm
YXVsdHMKLWZvcmVhY2ggKEBBUkdWKSB7Ci0gICAgaWYgKCRfIGVxICctLW1pbmltYWwnKSB7Ci0g
ICAgICAgICRtaW5pbWFsID0gMTsKLSAgICB9Ci19Ci0KLSMgSW5pdGlhbGl6ZSB2YWx1ZXMgZnJv
bSBkZWZhdWx0cwotZm9yZWFjaCAoQGZlYXR1cmVzKSB7Ci0gICAgJHskXy0+e3ZhbHVlfX0gPSAo
JG1pbmltYWwgPyAwIDogJF8tPntkZWZhdWx0fSk7Ci19Ci0KLSMgQWRkaXRpb25hbCBlbnZpcm9u
bWVudCBwYXJhbWV0ZXJzCi1wdXNoIEBBUkdWLCBwYXJzZV9saW5lKCdccysnLCAwLCAkRU5WeydC
VUlMRF9KU0NfQVJHUyd9KSBpZiAoJEVOVnsnQlVJTERfSlNDX0FSR1MnfSk7Ci0KLW15ICRwcm9n
cmFtTmFtZSA9IGJhc2VuYW1lKCQwKTsKLW15ICR1c2FnZSA9IDw8RU9GOwotVXNhZ2U6ICRwcm9n
cmFtTmFtZSBbb3B0aW9uc10gW29wdGlvbnMgdG8gcGFzcyB0byBidWlsZCBzeXN0ZW1dCi0gIC0t
aGVscCAgICAgICAgICAgICAgICAgICAgICAgIFNob3cgdGhpcyBoZWxwIG1lc3NhZ2UKLSAgLS1b
bm8tXWFuYWx5emUgICAgICAgICAgICAgICAgVG9nZ2xlIGNvZGUgc3RhdGljIGFuYWx5c2lzIChk
ZWZhdWx0OiAkc2hvdWxkUnVuU3RhdGljQW5hbHl6ZXIpCi0gIC0tW25vLV1jb3ZlcmFnZSAgICAg
ICAgICAgICAgIFRvZ2dsZSBjb2RlIGNvdmVyYWdlIHN1cHBvcnQgKGRlZmF1bHQ6ICRjb3ZlcmFn
ZVN1cHBvcnQpCi0gIC0tW25vLV1mdGwtaml0ICAgICAgICAgICAgICAgIFRvZ2dsZSBGVEwgSklU
IHN1cHBvcnQgKGRlZmF1bHQ6ICRmdGxKSVQpCi0gIC0tY2xvb3AgICAgICAgICAgICAgICAgICAg
ICAgIFVzZSBDIExvb3AgaW50ZXJwcmV0ZXIgKGRlZmF1bHQ6ICRmb3JjZUNMb29wKQotICAtLW1h
a2VhcmdzPTxhcmd1bWVudHM+ICAgICAgICBPcHRpb25hbCBNYWtlZmlsZSBmbGFncwotICAtLWNt
YWtlYXJncz08YXJndW1lbnRzPiAgICAgICBPbmUgb3IgbW9yZSBvcHRpb25hbCBDTWFrZSBmbGFn
cyAoZS5nLiAtLWNtYWtlYXJncz0iLURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9s
b2NhbCIpCi0gIC0tYnVpbGQtZGlyPTxwYXRoPiAgICAgICAgICAgIEJ1aWxkIG91dCBvZiB0cmVl
IGluIGRpcmVjdG9yeSBhdCA8cGF0aD4KLQotICAtLVtuby1ddXNlLWNjYWNoZSAgICAgICAgICAg
ICBFbmFibGUgKG9yIGRpc2FibGUpIENDYWNoZSwgaWYgYXZhaWxhYmxlCi0gIC0tZXhwb3J0LWNv
bXBpbGUtY29tbWFuZHMgICAgIEdlbmVyYXRlIGNvbXBpbGVfY29tbWFuZHMuanNvbiAoQXBwbGUg
cGxhdGZvcm1zIG9ubHkpCi1FT0YKLQotbXkgJW9wdGlvbnMgPSAoCi0gICAgJ2FuYWx5emUhJyA9
PiBcJHNob3VsZFJ1blN0YXRpY0FuYWx5emVyLAotICAgICdjb3ZlcmFnZSEnID0+IFwkY292ZXJh
Z2VTdXBwb3J0LAotICAgICdoZWxwJyA9PiBcJHNob3dIZWxwLAotICAgICdmdGwtaml0IScgPT4g
XCRmdGxKSVQsCi0gICAgJ2Nsb29wIScgPT4gXCRmb3JjZUNMb29wLAotICAgICdtYWtlYXJncz1z
JyA9PiBcJG1ha2VBcmdzLAotICAgICdjbWFrZWFyZ3M9cycgPT4gXEBjbWFrZUFyZ3MsCi0gICAg
J2J1aWxkLWRpcj1zJyA9PiBcJGJ1aWxkRGlyLAotICAgICd1c2UtY2NhY2hlIScgPT4gXCR1c2VD
Q2FjaGUsCi0gICAgJ2V4cG9ydC1jb21waWxlLWNvbW1hbmRzJyA9PiBcJGV4cG9ydENvbXBpbGVD
b21tYW5kcwotKTsKLQotZm9yZWFjaCAoQGZlYXR1cmVzKSB7Ci0gICAgaWYgKCRfLT57amF2YXNj
cmlwdH0pIHsKLSAgICAgICAgbXkgJG9wdCA9IHNwcmludGYoIiUtMzVzIiwgIiAgLS1bbm8tXSRf
LT57b3B0aW9ufSIpOwotICAgICAgICAkdXNhZ2UgLj0gIiRvcHQgJF8tPntkZXNjfSAoZGVmYXVs
dDogJF8tPntkZWZhdWx0fSlcbiI7Ci0gICAgICAgICRvcHRpb25zeyIkXy0+e29wdGlvbn0hIn0g
PSAkXy0+e3ZhbHVlfTsKLSAgICB9Ci19Ci0KLUdldE9wdGlvbnMoJW9wdGlvbnMpOwotCi1pZiAo
JHNob3dIZWxwKSB7Ci0gICBwcmludCBTVERFUlIgJHVzYWdlOwotICAgZXhpdCAxOwotfQotCi1p
ZiAoaXNBbnlXaW5kb3dzKCkpIHsKLSAgICAkZnRsSklUID0gMDsKLX0KLQotaWYgKCRidWlsZERp
ciAmJiAhaXNDTWFrZUJ1aWxkKCkpIHsKLSAgICBwcmludCBTVERFUlIgIi0tYnVpbGQtZGlyIGlz
IGN1cnJlbnRseSBvbmx5IHN1cHBvcnRlZCBmb3IgY21ha2UgYnVpbGRzIjsKLSAgICBleGl0IDE7
Ci19Ci0KLWlmIChpc1dpbkNhaXJvKCkgfHwgKGlzSlNDT25seSgpICYmIGlzV2luZG93cygpKSkg
ewotICAgIChzeXN0ZW0oInB5dGhvbiBUb29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtd2luY2Fp
cm8tbGlicy5weSIpID09IDApIG9yIGRpZTsKLX0KLQotaWYgKCR1c2VDQ2FjaGUgPT0gMSkgewot
ICAgICRFTlZ7J1dLX1VTRV9DQ0FDSEUnfSA9ICJZRVMiOwotfSBlbHNpZiAoJHVzZUNDYWNoZSA9
PSAwKSB7Ci0gICAgJEVOVnsnV0tfVVNFX0NDQUNIRSd9ID0gIk5PIjsKLX0KLQotJEVOVnsnRVhQ
T1JUX0NPTVBJTEVfQ09NTUFORFMnfSA9ICJZRVMiIGlmICRleHBvcnRDb21waWxlQ29tbWFuZHM7
Ci0KLWNoZWNrUmVxdWlyZWRTeXN0ZW1Db25maWcoKTsKLXNldENvbmZpZ3VyYXRpb24oKTsKLWNo
ZGlyV2ViS2l0KCk7Ci1teSBAb3B0aW9ucyA9IFhjb2RlT3B0aW9ucygpOwotbXkgQGFkZGl0aW9u
YWxTdXBwb3J0T3B0aW9ucyA9ICgpOwotcHVzaCBAYWRkaXRpb25hbFN1cHBvcnRPcHRpb25zLCBY
Y29kZUNvdmVyYWdlU3VwcG9ydE9wdGlvbnMoKSBpZiAkY292ZXJhZ2VTdXBwb3J0OwotcHVzaCBA
YWRkaXRpb25hbFN1cHBvcnRPcHRpb25zLCBYY29kZVN0YXRpY0FuYWx5emVyT3B0aW9uKCkgaWYg
JHNob3VsZFJ1blN0YXRpY0FuYWx5emVyOwotCi1pZiAoJGZvcmNlQ0xvb3ApIHsKLSAgICAkZnRs
SklUID0gMDsKLX0KLQotaWYgKGlzQ01ha2VCdWlsZCgpKSB7Ci0gICAgaWYgKHNjYWxhcihAQVJH
VikgPiAwKSB7Ci0gICAgICAgIGZvcmVhY2ggKEBBUkdWKSB7Ci0gICAgICAgICAgICBteSAkYXJn
ID0gJF87Ci0gICAgICAgICAgICBpZiAoJGFyZyA9fiAvXi0uKi8pIHsKLSAgICAgICAgICAgICAg
ICBwcmludCBTVERFUlIgIlVucmVjb2duaXplZCBvcHRpb24gYCRhcmcnXG4iOwotICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBwcmludCBTVERFUlIgIlN0cmF5IGFub255bW91
cyBhcmd1bWVudCBgJGFyZydcbiI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAg
ZXhpdCAyOwotICAgIH0KLSAgICBpZiAoJGZvcmNlQ0xvb3ApIHsKLSAgICAgICAgcHVzaCBAY21h
a2VBcmdzLCAiIC1ERU5BQkxFX0pJVD1PRkYiOwotICAgICAgICBwdXNoIEBjbWFrZUFyZ3MsICIg
LURFTkFCTEVfQ19MT09QPU9OIjsKLSAgICB9Ci0gICAgcHVzaCBAY21ha2VBcmdzLCAkZnRsSklU
ID8gIiAtREVOQUJMRV9GVExfSklUPU9OIiA6ICIgLURFTkFCTEVfRlRMX0pJVD1PRkYiOwotICAg
IGlmICgkYnVpbGREaXIpIHsKLSAgICAgICAgcHVzaCBAY21ha2VBcmdzLCAiICIgLiBzb3VyY2VE
aXIoKTsKLSAgICAgICAgc2V0QmFzZVByb2R1Y3REaXIoJGJ1aWxkRGlyKTsKLSAgICB9Ci0KLSAg
ICBteSBAZmVhdHVyZUFyZ3MgPSBjbWFrZUFyZ3NGcm9tRmVhdHVyZXMoQGZlYXR1cmVzKTsKLQot
ICAgIG15ICRidWlsZFRhcmdldCA9ICIiOwotICAgIHVubGVzcyAoaXNBbnlXaW5kb3dzKCkpIHsK
LSAgICAgICAgIyBCeSBkZWZhdWx0IHdlIGJ1aWxkIHVzaW5nIGFsbCBvZiB0aGUgYXZhaWxhYmxl
IENQVXMKLSAgICAgICAgJG1ha2VBcmdzIC49ICgkbWFrZUFyZ3MgPyAiICIgOiAiIikgLiAiLWoi
IC4gbnVtYmVyT2ZDUFVzKCkgaWYgJG1ha2VBcmdzICF+IC8talxzKlxkKy87Ci0gICAgICAgICRi
dWlsZFRhcmdldCA9ICJqc2MgdGVzdGIzIHRlc3RhaXIgdGVzdGFwaSB0ZXN0bWFzbSB0ZXN0ZGZn
ICRtYWtlQXJncyI7Ci0gICAgfSBlbHNpZiAoY2FuVXNlTmluamEoKSkgewotICAgICAgICAkYnVp
bGRUYXJnZXQgLj0gImpzYyB0ZXN0YXBpIHRlc3RtYXNtIjsKLSAgICB9Ci0KLSAgICAjIFRoaXMg
Y2FsbCBvbmx5IHJldHVybnMgaWYgbm90aGluZyB3cm9uZyBoYXBwZW5lZAotICAgIGJ1aWxkQ01h
a2VQcm9qZWN0T3JFeGl0KDAsIHVuZGVmLCAkYnVpbGRUYXJnZXQsIEBmZWF0dXJlQXJncywgQGNt
YWtlQXJncyk7Ci0gICAgd3JpdGVDb25ncmF0cygpOwotICAgIGV4aXQgZXhpdFN0YXR1cygwKTsK
LX0KLQotaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7Ci0gICAgcHVzaCBAb3B0aW9ucywgKCRm
b3JjZUNMb29wID8gIkVOQUJMRV9KSVQ9RU5BQkxFX0pJVD0wIiA6ICJFTkFCTEVfSklUPUVOQUJM
RV9KSVQiKTsKLSAgICBwdXNoIEBvcHRpb25zLCAoJGZvcmNlQ0xvb3AgPyAiRU5BQkxFX0NfTE9P
UD1FTkFCTEVfQ19MT09QIiA6ICJFTkFCTEVfQ19MT09QPUVOQUJMRV9DX0xPT1A9MCIpOwotICAg
IHB1c2ggQG9wdGlvbnMsICgkZnRsSklUID8gIkVOQUJMRV9GVExfSklUPUVOQUJMRV9GVExfSklU
IiA6ICJFTkFCTEVfRlRMX0pJVD1FTkFCTEVfRlRMX0pJVD0wIik7Ci0KLSAgICBzdWIgb3B0aW9u
KCQkJCkKLSAgICB7Ci0gICAgICAgIG15ICgkZmVhdHVyZSwgJGlzRW5hYmxlZCwgJGRlZmF1bHRW
YWx1ZSkgPSBAXzsKLSAgICAgICAgcmV0dXJuICIiIGlmICRkZWZhdWx0VmFsdWUgPT0gJGlzRW5h
YmxlZDsKLSAgICAgICAgcmV0dXJuICRmZWF0dXJlIC4gIj0iIC4gKCRpc0VuYWJsZWQgPyAkZmVh
dHVyZSA6ICIiKTsKLSAgICB9Ci0KLSAgICBmb3JlYWNoIChAZmVhdHVyZXMpIHsKLSAgICAgICAg
aWYgKCRfLT57amF2YXNjcmlwdH0pIHsKLSAgICAgICAgICAgIG15ICRvcHRpb24gPSBvcHRpb24o
JF8tPntkZWZpbmV9LCAkeyRfLT57dmFsdWV9fSwgJF8tPntkZWZhdWx0fSk7Ci0gICAgICAgICAg
ICBwdXNoIEBvcHRpb25zLCAkb3B0aW9uIHVubGVzcyAkb3B0aW9uIGVxICIiOwotICAgICAgICB9
Ci0gICAgfQotfQotCi1zdWIgYnVpbGRNeVByb2plY3QKLXsKLSAgICBteSAoJHByb2plY3REaXJl
Y3RvcnksICRwcm9qZWN0TmFtZSkgPSBAXzsKLSAgICBteSAkcmVzdWx0OwotICAgIGNoZGlyICRw
cm9qZWN0RGlyZWN0b3J5IG9yIGRpZSAiQ2FuJ3QgZmluZCAkcHJvamVjdE5hbWUgZGlyZWN0b3J5
IHRvIGJ1aWxkIGZyb20iOwotICAgIGlmIChpc0FwcGxlQ29jb2FXZWJLaXQoKSkgewotICAgICAg
ICBteSAkY29tcGlsZXJGbGFncyA9ICdHQ0NfUFJFUFJPQ0VTU09SX0FERElUSU9OUz0iJzsKLSAg
ICAgICAgaWYgKCRmb3JjZUNMb29wKSB7Ci0gICAgICAgICAgICAkY29tcGlsZXJGbGFncyAuPSAi
RU5BQkxFX0pJVD0wIEVOQUJMRV9DX0xPT1A9MSI7Ci0gICAgICAgIH0KLSAgICAgICAgJGNvbXBp
bGVyRmxhZ3MgLj0gJyInOwotCi0gICAgICAgIG15ICRleHRyYUNvbW1hbmRzID0gIiI7Ci0gICAg
ICAgIGZvcmVhY2ggKEBBUkdWKSB7Ci0gICAgICAgICAgICAjIEVuc3VyZSB0aGF0IGlmIHNvbWVi
b2R5IHBhc3NlcyBpbiBhIGZsYWcgbGlrZSBgQVJDSFM9ImkzODYgeDg2XzY0ImAgd2UKLSAgICAg
ICAgICAgICMgbWFpbnRhaW4gdGhlIHF1b3RlcyBhcm91bmQgImkzODYgeDg2XzY0Ii4KLSAgICAg
ICAgICAgIG15ICRhcmcgPSAkXzsKLSAgICAgICAgICAgIGlmICgkYXJnID1+IG0vPS8pIHsKLSAg
ICAgICAgICAgICAgICAkYXJnID1+IHMvPS89Ii87Ci0gICAgICAgICAgICAgICAgJGFyZyA9ICRh
cmcgLiAiXCIiOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgJGV4dHJhQ29tbWFuZHMgLj0g
IiAiIC4gJGFyZzsKLSAgICAgICAgfQotCi0gICAgICAgIG15ICRjb21tYW5kID0gIm1ha2UgIiAu
IChsYyBjb25maWd1cmF0aW9uKCkpIC4gIiAiIC4gJGNvbXBpbGVyRmxhZ3MgLiAiICIgLiAkZXh0
cmFDb21tYW5kczsKLQotICAgICAgICBwcmludCAiXG4iOwotICAgICAgICBwcmludCAiYnVpbGRp
bmcgIiwgJHByb2plY3ROYW1lLCAiXG4iOwotICAgICAgICBwcmludCAicnVubmluZyBidWlsZCBj
b21tYW5kICciLCAkY29tbWFuZCwgIicgaW4gIiwgJHByb2plY3REaXJlY3RvcnksICJcblxuIjsK
LQotICAgICAgICAkcmVzdWx0ID0gc3lzdGVtICRjb21tYW5kOwotICAgIH0gZWxzZSB7Ci0gICAg
ICAgIGRpZSAiQnVpbGRpbmcgbm90IGRlZmluZWQgZm9yIHRoaXMgcGxhdGZvcm0hXG4iOwotICAg
IH0KLSAgICBleGl0IGV4aXRTdGF0dXMoJHJlc3VsdCkgaWYgZXhpdFN0YXR1cygkcmVzdWx0KTsK
LSAgICBjaGRpcldlYktpdCgpOwotfQotCi1zdWIgd3JpdGVDb25ncmF0cygpCi17Ci0gICAgbXkg
JGVuZFRpbWUgPSB0aW1lKCk7Ci0gICAgbXkgJGJ1aWxkVGltZSA9IGZvcm1hdEJ1aWxkVGltZSgk
ZW5kVGltZSAtICRzdGFydFRpbWUpOwotCi0gICAgcHJpbnQgIlxuIjsKLSAgICBwcmludCAiPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT1cbiI7Ci0gICAgcHJpbnQgIiBKYXZhU2NyaXB0Q29yZSBpcyBub3cgYnVpbHQgKCRi
dWlsZFRpbWUpLiBcbiI7Ci0gICAgcHJpbnQgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iOwotfQordXNlIHdlYmtp
dHBlcmw6OkJ1aWxkU3VicHJvamVjdDsKIAogYnVpbGRNeVByb2plY3QoIlNvdXJjZS9ibWFsbG9j
IiwgImJtYWxsb2MiKTsKIGJ1aWxkTXlQcm9qZWN0KCJTb3VyY2UvV1RGIiwgIldURiIpOwogYnVp
bGRNeVByb2plY3QoIlNvdXJjZS9KYXZhU2NyaXB0Q29yZSIsICJKYXZhU2NyaXB0Q29yZSIpOwog
aWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7Ci0gICAgd3JpdGVDb25ncmF0cygpOworICAgIHdy
aXRlQ29uZ3JhdHMoIkphdmFTY3JpcHRDb3JlIik7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL2J1aWxkLXdlYmdwdSBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2ViZ3B1Cm5ldyBmaWxlIG1v
ZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc0ODIwNGE0ZDZjOGM1YmZlYTZlZDBmMmNmMTJjNzY0ZThmZDBiMzUKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmdwdQpAQCAtMCwwICsxLDM5IEBACisjIS91c3Iv
YmluL2VudiBwZXJsCisKKyMgQ29weXJpZ2h0IChDKSAyMDA1LTIwMjIgQXBwbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA3IEVyaWMgU2VpZGVsIDxlcmlj
QHdlYmtpdC5vcmc+CisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMK
KyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uIAorIyAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBJ
bmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisjICAgICBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisjICAgICBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uIAorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisjIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorIyBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
IyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKKyMgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwordXNlIEZpbmRCaW47Cit1c2UgbGliICRG
aW5kQmluOjpCaW47Cit1c2Ugd2Via2l0cGVybDo6RmVhdHVyZUxpc3QgcXcoZ2V0RmVhdHVyZU9w
dGlvbkxpc3QpOwordXNlIHdlYmtpdHBlcmw6OkJ1aWxkU3VicHJvamVjdDsKKworYnVpbGRNeVBy
b2plY3QoIlNvdXJjZS9ibWFsbG9jIiwgImJtYWxsb2MiKTsKK2J1aWxkTXlQcm9qZWN0KCJTb3Vy
Y2UvV1RGIiwgIldURiIpOworYnVpbGRNeVByb2plY3QoIlNvdXJjZS9KYXZhU2NyaXB0Q29yZSIs
ICJKYXZhU2NyaXB0Q29yZSIpOworYnVpbGRNeVByb2plY3QoIlNvdXJjZS9XZWJHUFUiLCAiV2Vi
R1BVIik7Cit3cml0ZUNvbmdyYXRzKCJXZWJHUFUiKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cGVybC9CdWlsZFN1YnByb2plY3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBl
cmwvQnVpbGRTdWJwcm9qZWN0LnBtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3YjJjMzYxNWNmMTk4YzAyYzMzYWQ5
NjNlZmIwZjMxZGJjZmM0ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvQnVpbGRTdWJwcm9qZWN0LnBtCkBAIC0wLDAgKzEsMjY3IEBACisjIS91c3IvYmluL2Vu
diBwZXJsCisKKyMgQ29weXJpZ2h0IChDKSAyMDA1LTIwMjIgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDA3IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtp
dC5vcmc+CisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMKKyMgMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyMgMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgSW5jLiAoIkFw
cGxlIikgbm9yIHRoZSBuYW1lcyBvZgorIyAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorIyAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIwor
IyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisjIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorIyBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyMgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsKK3VzZSBG
aW5kQmluOwordXNlIEdldG9wdDo6TG9uZyBxdyg6Y29uZmlnIHBhc3NfdGhyb3VnaCk7Cit1c2Ug
bGliICRGaW5kQmluOjpCaW47Cit1c2Ugd2Via2l0ZGlyczsKK3VzZSB3ZWJraXRwZXJsOjpGZWF0
dXJlTGlzdCBxdyhnZXRGZWF0dXJlT3B0aW9uTGlzdCk7Cit1c2UgUE9TSVg7Cit1c2UgVGV4dDo6
UGFyc2VXb3JkczsKKworc3ViIHdyaXRlQ29uZ3JhdHMoKTsKKworcHJvaGliaXRVbmtub3duUG9y
dCgpOworCitpZiAoc2hvdWxkVXNlRmxhdHBhaygpKSB7CisgICAgcHJpbnQgIkJ1aWxkaW5nIGZs
YXRwYWsgYmFzZWQgZW52aXJvbm1lbnRcbiI7CisgICAgbXkgQGNvbW1hbmQgPSAoRmlsZTo6U3Bl
Yy0+Y2F0ZmlsZShzb3VyY2VEaXIoKSwgIlRvb2xzIiwgIlNjcmlwdHMiLCAiYnVpbGQtanNjIikp
OworICAgIHJ1bkluRmxhdHBhayhAY29tbWFuZCk7Cit9CisKKworbXkgJHNob3VsZFJ1blN0YXRp
Y0FuYWx5emVyID0gMDsKK215ICRtaW5pbWFsID0gMDsKK215ICRjb3ZlcmFnZVN1cHBvcnQgPSAw
OworbXkgJHNob3dIZWxwID0gMDsKK215ICRmdGxKSVQgPSBpbnQoaXNBcHBsZUNvY29hV2ViS2l0
KCkgJiYgIXdpbGxVc2VJT1NTaW11bGF0b3JTREsoKSB8fCAoKGlzQVJNNjQoKSB8fCBpc1g4Nl82
NCgpKSAmJiAoaXNHdGsoKSB8fCBpc0pTQ09ubHkoKSkpKTsKK215ICRmb3JjZUNMb29wID0gMDsK
K215ICRtYWtlQXJncyA9ICIiOworbXkgQGNtYWtlQXJnczsKK215ICRidWlsZERpciA9ICIiOwor
bXkgJHN0YXJ0VGltZSA9IHRpbWUoKTsKK215ICR1c2VDQ2FjaGUgPSAtMTsKK215ICRleHBvcnRD
b21waWxlQ29tbWFuZHMgPSAwOworCitteSBAZmVhdHVyZXMgPSBnZXRGZWF0dXJlT3B0aW9uTGlz
dCgpOworCisjIEluaXRpYWxpemUgdmFsdWVzIGZyb20gZGVmYXVsdHMKK2ZvcmVhY2ggKEBBUkdW
KSB7CisgICAgaWYgKCRfIGVxICctLW1pbmltYWwnKSB7CisgICAgICAgICRtaW5pbWFsID0gMTsK
KyAgICB9Cit9CisKKyMgSW5pdGlhbGl6ZSB2YWx1ZXMgZnJvbSBkZWZhdWx0cworZm9yZWFjaCAo
QGZlYXR1cmVzKSB7CisgICAgJHskXy0+e3ZhbHVlfX0gPSAoJG1pbmltYWwgPyAwIDogJF8tPntk
ZWZhdWx0fSk7Cit9CisKKyMgQWRkaXRpb25hbCBlbnZpcm9ubWVudCBwYXJhbWV0ZXJzCitwdXNo
IEBBUkdWLCBwYXJzZV9saW5lKCdccysnLCAwLCAkRU5WeydCVUlMRF9KU0NfQVJHUyd9KSBpZiAo
JEVOVnsnQlVJTERfSlNDX0FSR1MnfSk7CisKK215ICRwcm9ncmFtTmFtZSA9IGJhc2VuYW1lKCQw
KTsKK215ICR1c2FnZSA9IDw8RU9GOworVXNhZ2U6ICRwcm9ncmFtTmFtZSBbb3B0aW9uc10gW29w
dGlvbnMgdG8gcGFzcyB0byBidWlsZCBzeXN0ZW1dCisgIC0taGVscCAgICAgICAgICAgICAgICAg
ICAgICAgIFNob3cgdGhpcyBoZWxwIG1lc3NhZ2UKKyAgLS1bbm8tXWFuYWx5emUgICAgICAgICAg
ICAgICAgVG9nZ2xlIGNvZGUgc3RhdGljIGFuYWx5c2lzIChkZWZhdWx0OiAkc2hvdWxkUnVuU3Rh
dGljQW5hbHl6ZXIpCisgIC0tW25vLV1jb3ZlcmFnZSAgICAgICAgICAgICAgIFRvZ2dsZSBjb2Rl
IGNvdmVyYWdlIHN1cHBvcnQgKGRlZmF1bHQ6ICRjb3ZlcmFnZVN1cHBvcnQpCisgIC0tW25vLV1m
dGwtaml0ICAgICAgICAgICAgICAgIFRvZ2dsZSBGVEwgSklUIHN1cHBvcnQgKGRlZmF1bHQ6ICRm
dGxKSVQpCisgIC0tY2xvb3AgICAgICAgICAgICAgICAgICAgICAgIFVzZSBDIExvb3AgaW50ZXJw
cmV0ZXIgKGRlZmF1bHQ6ICRmb3JjZUNMb29wKQorICAtLW1ha2VhcmdzPTxhcmd1bWVudHM+ICAg
ICAgICBPcHRpb25hbCBNYWtlZmlsZSBmbGFncworICAtLWNtYWtlYXJncz08YXJndW1lbnRzPiAg
ICAgICBPbmUgb3IgbW9yZSBvcHRpb25hbCBDTWFrZSBmbGFncyAoZS5nLiAtLWNtYWtlYXJncz0i
LURGT089YmFyIC1EQ01BS0VfUFJFRklYX1BBVEg9L3Vzci9sb2NhbCIpCisgIC0tYnVpbGQtZGly
PTxwYXRoPiAgICAgICAgICAgIEJ1aWxkIG91dCBvZiB0cmVlIGluIGRpcmVjdG9yeSBhdCA8cGF0
aD4KKworICAtLVtuby1ddXNlLWNjYWNoZSAgICAgICAgICAgICBFbmFibGUgKG9yIGRpc2FibGUp
IENDYWNoZSwgaWYgYXZhaWxhYmxlCisgIC0tZXhwb3J0LWNvbXBpbGUtY29tbWFuZHMgICAgIEdl
bmVyYXRlIGNvbXBpbGVfY29tbWFuZHMuanNvbiAoQXBwbGUgcGxhdGZvcm1zIG9ubHkpCitFT0YK
KworbXkgJW9wdGlvbnMgPSAoCisgICAgJ2FuYWx5emUhJyA9PiBcJHNob3VsZFJ1blN0YXRpY0Fu
YWx5emVyLAorICAgICdjb3ZlcmFnZSEnID0+IFwkY292ZXJhZ2VTdXBwb3J0LAorICAgICdoZWxw
JyA9PiBcJHNob3dIZWxwLAorICAgICdmdGwtaml0IScgPT4gXCRmdGxKSVQsCisgICAgJ2Nsb29w
IScgPT4gXCRmb3JjZUNMb29wLAorICAgICdtYWtlYXJncz1zJyA9PiBcJG1ha2VBcmdzLAorICAg
ICdjbWFrZWFyZ3M9cycgPT4gXEBjbWFrZUFyZ3MsCisgICAgJ2J1aWxkLWRpcj1zJyA9PiBcJGJ1
aWxkRGlyLAorICAgICd1c2UtY2NhY2hlIScgPT4gXCR1c2VDQ2FjaGUsCisgICAgJ2V4cG9ydC1j
b21waWxlLWNvbW1hbmRzJyA9PiBcJGV4cG9ydENvbXBpbGVDb21tYW5kcworKTsKKworZm9yZWFj
aCAoQGZlYXR1cmVzKSB7CisgICAgaWYgKCRfLT57amF2YXNjcmlwdH0pIHsKKyAgICAgICAgbXkg
JG9wdCA9IHNwcmludGYoIiUtMzVzIiwgIiAgLS1bbm8tXSRfLT57b3B0aW9ufSIpOworICAgICAg
ICAkdXNhZ2UgLj0gIiRvcHQgJF8tPntkZXNjfSAoZGVmYXVsdDogJF8tPntkZWZhdWx0fSlcbiI7
CisgICAgICAgICRvcHRpb25zeyIkXy0+e29wdGlvbn0hIn0gPSAkXy0+e3ZhbHVlfTsKKyAgICB9
Cit9CisKK0dldE9wdGlvbnMoJW9wdGlvbnMpOworCitpZiAoJHNob3dIZWxwKSB7CisgICBwcmlu
dCBTVERFUlIgJHVzYWdlOworICAgZXhpdCAxOworfQorCitpZiAoaXNBbnlXaW5kb3dzKCkpIHsK
KyAgICAkZnRsSklUID0gMDsKK30KKworaWYgKCRidWlsZERpciAmJiAhaXNDTWFrZUJ1aWxkKCkp
IHsKKyAgICBwcmludCBTVERFUlIgIi0tYnVpbGQtZGlyIGlzIGN1cnJlbnRseSBvbmx5IHN1cHBv
cnRlZCBmb3IgY21ha2UgYnVpbGRzIjsKKyAgICBleGl0IDE7Cit9CisKK2lmIChpc1dpbkNhaXJv
KCkgfHwgKGlzSlNDT25seSgpICYmIGlzV2luZG93cygpKSkgeworICAgIChzeXN0ZW0oInB5dGhv
biBUb29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtd2luY2Fpcm8tbGlicy5weSIpID09IDApIG9y
IGRpZTsKK30KKworaWYgKCR1c2VDQ2FjaGUgPT0gMSkgeworICAgICRFTlZ7J1dLX1VTRV9DQ0FD
SEUnfSA9ICJZRVMiOworfSBlbHNpZiAoJHVzZUNDYWNoZSA9PSAwKSB7CisgICAgJEVOVnsnV0tf
VVNFX0NDQUNIRSd9ID0gIk5PIjsKK30KKworJEVOVnsnRVhQT1JUX0NPTVBJTEVfQ09NTUFORFMn
fSA9ICJZRVMiIGlmICRleHBvcnRDb21waWxlQ29tbWFuZHM7CisKK2NoZWNrUmVxdWlyZWRTeXN0
ZW1Db25maWcoKTsKK3NldENvbmZpZ3VyYXRpb24oKTsKK2NoZGlyV2ViS2l0KCk7CitteSBAb3B0
aW9ucyA9IFhjb2RlT3B0aW9ucygpOworbXkgQGFkZGl0aW9uYWxTdXBwb3J0T3B0aW9ucyA9ICgp
OworcHVzaCBAYWRkaXRpb25hbFN1cHBvcnRPcHRpb25zLCBYY29kZUNvdmVyYWdlU3VwcG9ydE9w
dGlvbnMoKSBpZiAkY292ZXJhZ2VTdXBwb3J0OworcHVzaCBAYWRkaXRpb25hbFN1cHBvcnRPcHRp
b25zLCBYY29kZVN0YXRpY0FuYWx5emVyT3B0aW9uKCkgaWYgJHNob3VsZFJ1blN0YXRpY0FuYWx5
emVyOworCitpZiAoJGZvcmNlQ0xvb3ApIHsKKyAgICAkZnRsSklUID0gMDsKK30KKworaWYgKGlz
Q01ha2VCdWlsZCgpKSB7CisgICAgaWYgKHNjYWxhcihAQVJHVikgPiAwKSB7CisgICAgICAgIGZv
cmVhY2ggKEBBUkdWKSB7CisgICAgICAgICAgICBteSAkYXJnID0gJF87CisgICAgICAgICAgICBp
ZiAoJGFyZyA9fiAvXi0uKi8pIHsKKyAgICAgICAgICAgICAgICBwcmludCBTVERFUlIgIlVucmVj
b2duaXplZCBvcHRpb24gYCRhcmcnXG4iOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBwcmludCBTVERFUlIgIlN0cmF5IGFub255bW91cyBhcmd1bWVudCBgJGFyZydcbiI7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZXhpdCAyOworICAgIH0KKyAgICBp
ZiAoJGZvcmNlQ0xvb3ApIHsKKyAgICAgICAgcHVzaCBAY21ha2VBcmdzLCAiIC1ERU5BQkxFX0pJ
VD1PRkYiOworICAgICAgICBwdXNoIEBjbWFrZUFyZ3MsICIgLURFTkFCTEVfQ19MT09QPU9OIjsK
KyAgICB9CisgICAgcHVzaCBAY21ha2VBcmdzLCAkZnRsSklUID8gIiAtREVOQUJMRV9GVExfSklU
PU9OIiA6ICIgLURFTkFCTEVfRlRMX0pJVD1PRkYiOworICAgIGlmICgkYnVpbGREaXIpIHsKKyAg
ICAgICAgcHVzaCBAY21ha2VBcmdzLCAiICIgLiBzb3VyY2VEaXIoKTsKKyAgICAgICAgc2V0QmFz
ZVByb2R1Y3REaXIoJGJ1aWxkRGlyKTsKKyAgICB9CisKKyAgICBteSBAZmVhdHVyZUFyZ3MgPSBj
bWFrZUFyZ3NGcm9tRmVhdHVyZXMoQGZlYXR1cmVzKTsKKworICAgIG15ICRidWlsZFRhcmdldCA9
ICIiOworICAgIHVubGVzcyAoaXNBbnlXaW5kb3dzKCkpIHsKKyAgICAgICAgIyBCeSBkZWZhdWx0
IHdlIGJ1aWxkIHVzaW5nIGFsbCBvZiB0aGUgYXZhaWxhYmxlIENQVXMKKyAgICAgICAgJG1ha2VB
cmdzIC49ICgkbWFrZUFyZ3MgPyAiICIgOiAiIikgLiAiLWoiIC4gbnVtYmVyT2ZDUFVzKCkgaWYg
JG1ha2VBcmdzICF+IC8talxzKlxkKy87CisgICAgICAgICRidWlsZFRhcmdldCA9ICJqc2MgdGVz
dGIzIHRlc3RhaXIgdGVzdGFwaSB0ZXN0bWFzbSB0ZXN0ZGZnICRtYWtlQXJncyI7CisgICAgfSBl
bHNpZiAoY2FuVXNlTmluamEoKSkgeworICAgICAgICAkYnVpbGRUYXJnZXQgLj0gImpzYyB0ZXN0
YXBpIHRlc3RtYXNtIjsKKyAgICB9CisKKyAgICAjIFRoaXMgY2FsbCBvbmx5IHJldHVybnMgaWYg
bm90aGluZyB3cm9uZyBoYXBwZW5lZAorICAgIGJ1aWxkQ01ha2VQcm9qZWN0T3JFeGl0KDAsIHVu
ZGVmLCAkYnVpbGRUYXJnZXQsIEBmZWF0dXJlQXJncywgQGNtYWtlQXJncyk7CisgICAgd3JpdGVD
b25ncmF0cygpOworICAgIGV4aXQgZXhpdFN0YXR1cygwKTsKK30KKworaWYgKGlzQXBwbGVDb2Nv
YVdlYktpdCgpKSB7CisgICAgcHVzaCBAb3B0aW9ucywgKCRmb3JjZUNMb29wID8gIkVOQUJMRV9K
SVQ9RU5BQkxFX0pJVD0wIiA6ICJFTkFCTEVfSklUPUVOQUJMRV9KSVQiKTsKKyAgICBwdXNoIEBv
cHRpb25zLCAoJGZvcmNlQ0xvb3AgPyAiRU5BQkxFX0NfTE9PUD1FTkFCTEVfQ19MT09QIiA6ICJF
TkFCTEVfQ19MT09QPUVOQUJMRV9DX0xPT1A9MCIpOworICAgIHB1c2ggQG9wdGlvbnMsICgkZnRs
SklUID8gIkVOQUJMRV9GVExfSklUPUVOQUJMRV9GVExfSklUIiA6ICJFTkFCTEVfRlRMX0pJVD1F
TkFCTEVfRlRMX0pJVD0wIik7CisKKyAgICBzdWIgb3B0aW9uKCQkJCkKKyAgICB7CisgICAgICAg
IG15ICgkZmVhdHVyZSwgJGlzRW5hYmxlZCwgJGRlZmF1bHRWYWx1ZSkgPSBAXzsKKyAgICAgICAg
cmV0dXJuICIiIGlmICRkZWZhdWx0VmFsdWUgPT0gJGlzRW5hYmxlZDsKKyAgICAgICAgcmV0dXJu
ICRmZWF0dXJlIC4gIj0iIC4gKCRpc0VuYWJsZWQgPyAkZmVhdHVyZSA6ICIiKTsKKyAgICB9CisK
KyAgICBmb3JlYWNoIChAZmVhdHVyZXMpIHsKKyAgICAgICAgaWYgKCRfLT57amF2YXNjcmlwdH0p
IHsKKyAgICAgICAgICAgIG15ICRvcHRpb24gPSBvcHRpb24oJF8tPntkZWZpbmV9LCAkeyRfLT57
dmFsdWV9fSwgJF8tPntkZWZhdWx0fSk7CisgICAgICAgICAgICBwdXNoIEBvcHRpb25zLCAkb3B0
aW9uIHVubGVzcyAkb3B0aW9uIGVxICIiOworICAgICAgICB9CisgICAgfQorfQorCitzdWIgYnVp
bGRNeVByb2plY3QKK3sKKyAgICBteSAoJHByb2plY3REaXJlY3RvcnksICRwcm9qZWN0TmFtZSkg
PSBAXzsKKyAgICBteSAkcmVzdWx0OworICAgIGNoZGlyICRwcm9qZWN0RGlyZWN0b3J5IG9yIGRp
ZSAiQ2FuJ3QgZmluZCAkcHJvamVjdE5hbWUgZGlyZWN0b3J5IHRvIGJ1aWxkIGZyb20iOworICAg
IGlmIChpc0FwcGxlQ29jb2FXZWJLaXQoKSkgeworICAgICAgICBteSAkY29tcGlsZXJGbGFncyA9
ICdHQ0NfUFJFUFJPQ0VTU09SX0FERElUSU9OUz0iJzsKKyAgICAgICAgaWYgKCRmb3JjZUNMb29w
KSB7CisgICAgICAgICAgICAkY29tcGlsZXJGbGFncyAuPSAiRU5BQkxFX0pJVD0wIEVOQUJMRV9D
X0xPT1A9MSI7CisgICAgICAgIH0KKyAgICAgICAgJGNvbXBpbGVyRmxhZ3MgLj0gJyInOworCisg
ICAgICAgIG15ICRleHRyYUNvbW1hbmRzID0gIiI7CisgICAgICAgIGZvcmVhY2ggKEBBUkdWKSB7
CisgICAgICAgICAgICAjIEVuc3VyZSB0aGF0IGlmIHNvbWVib2R5IHBhc3NlcyBpbiBhIGZsYWcg
bGlrZSBgQVJDSFM9ImkzODYgeDg2XzY0ImAgd2UKKyAgICAgICAgICAgICMgbWFpbnRhaW4gdGhl
IHF1b3RlcyBhcm91bmQgImkzODYgeDg2XzY0Ii4KKyAgICAgICAgICAgIG15ICRhcmcgPSAkXzsK
KyAgICAgICAgICAgIGlmICgkYXJnID1+IG0vPS8pIHsKKyAgICAgICAgICAgICAgICAkYXJnID1+
IHMvPS89Ii87CisgICAgICAgICAgICAgICAgJGFyZyA9ICRhcmcgLiAiXCIiOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgJGV4dHJhQ29tbWFuZHMgLj0gIiAiIC4gJGFyZzsKKyAgICAgICAg
fQorCisgICAgICAgIG15ICRjb21tYW5kID0gIm1ha2UgIiAuIChsYyBjb25maWd1cmF0aW9uKCkp
IC4gIiAiIC4gJGNvbXBpbGVyRmxhZ3MgLiAiICIgLiAkZXh0cmFDb21tYW5kczsKKworICAgICAg
ICBwcmludCAiXG4iOworICAgICAgICBwcmludCAiYnVpbGRpbmcgIiwgJHByb2plY3ROYW1lLCAi
XG4iOworICAgICAgICBwcmludCAicnVubmluZyBidWlsZCBjb21tYW5kICciLCAkY29tbWFuZCwg
IicgaW4gIiwgJHByb2plY3REaXJlY3RvcnksICJcblxuIjsKKworICAgICAgICAkcmVzdWx0ID0g
c3lzdGVtICRjb21tYW5kOworICAgIH0gZWxzZSB7CisgICAgICAgIGRpZSAiQnVpbGRpbmcgbm90
IGRlZmluZWQgZm9yIHRoaXMgcGxhdGZvcm0hXG4iOworICAgIH0KKyAgICBleGl0IGV4aXRTdGF0
dXMoJHJlc3VsdCkgaWYgZXhpdFN0YXR1cygkcmVzdWx0KTsKKyAgICBjaGRpcldlYktpdCgpOwor
fQorCitzdWIgd3JpdGVDb25ncmF0cworeworICAgIG15ICgkcHJvamVjdE5hbWUpID0gQF87Cisg
ICAgbXkgJGVuZFRpbWUgPSB0aW1lKCk7CisgICAgbXkgJGJ1aWxkVGltZSA9IGZvcm1hdEJ1aWxk
VGltZSgkZW5kVGltZSAtICRzdGFydFRpbWUpOworCisgICAgcHJpbnQgIlxuIjsKKyAgICBwcmlu
dCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT1cbiI7CisgICAgcHJpbnQgIiAiIC4gJHByb2plY3ROYW1lIC4gIiBpcyBu
b3cgYnVpbHQgKCRidWlsZFRpbWUpLiBcbiI7CisgICAgcHJpbnQgIj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iOwor
fQorCisxOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>