<?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>231435</bug_id>
          
          <creation_ts>2021-10-08 08:57:44 -0700</creation_ts>
          <short_desc>Slightly better idiom for ARC debug autorelease workaround</short_desc>
          <delta_ts>2021-10-11 19:58:16 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1802095</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-08 08:57:44 -0700</bug_when>
    <thetext>Slightly better idiom for ARC debug autorelease workaround</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802096</commentid>
    <comment_count>1</comment_count>
      <attachid>440623</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-08 08:58:26 -0700</bug_when>
    <thetext>Created attachment 440623
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802097</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-08 08:58:59 -0700</bug_when>
    <thetext>Hey, Dave, I think this is slightly nicer. If you agree, let’s land it. Otherwise, I’ll close this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802101</commentid>
    <comment_count>3</comment_count>
      <attachid>440625</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-08 09:00:49 -0700</bug_when>
    <thetext>Created attachment 440625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802326</commentid>
    <comment_count>4</comment_count>
      <attachid>440625</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2021-10-08 17:32:22 -0700</bug_when>
    <thetext>Comment on attachment 440625
Patch

I think it&apos;s an improvement, but will defer to Dave.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802936</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-11 19:57:41 -0700</bug_when>
    <thetext>Committed r283964 (242811@main): &lt;https://commits.webkit.org/242811@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440625.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802937</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-11 19:58:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/84128999&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440623</attachid>
            <date>2021-10-08 08:58:26 -0700</date>
            <delta_ts>2021-10-08 09:00:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231435-20211008085826.patch</filename>
            <type>text/plain</type>
            <size>19273</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODAzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTQ1NDFkZmFhMWI4ZjE5ZDFhZjc5Y2UxOTU5NjEwYjJk
ZGFjYjk3Yi4uNWJiNGIxMjFlMTA4MzgyZGY4MDJhZjQ5MDMyN2JjZDczZDIzMzBlYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIxLTEwLTA4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAg
ICBTbGlnaHRseSBiZXR0ZXIgaWRpb20gZm9yIEFSQyBkZWJ1ZyBhdXRvcmVsZWFzZSB3b3JrYXJv
dW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE0
MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL2NvY29hL1R5cGVDYXN0c0NvY29hLm1tOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6IFVzZSBvbmUgbWFjcm8gaW5zdGVhZCBvZiB0d28sIHdpdGgK
KyAgICAgICAgdHJhZGl0aW9uYWwgaW5kZW50YXRpb24gaW5zdGVhZCBvZiBsZWZ0IGZsdXNoIHN0
eWxlLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL25zL1JldGFpblB0ci5tbToK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOiBEaXR0by4KKwogMjAyMS0xMC0wOCAgQ2Fy
bG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dlYkRy
aXZlcl0gVXBkYXRlIHczYyBhbmQgc2VsZW5pdW0gdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL2NvY29hL1R5cGVDYXN0c0NvY29hLm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvY29jb2EvVHlwZUNhc3RzQ29jb2EubW0KaW5kZXggYzI0Y2E3
NTEwZjUwN2I2YTUzYzEyYzdlNDhmOGJlOTUyNzJlZTE2My4uOGU1NGQyMWNkNjYzNGUxMGEyNWNi
YzZiMTg2YmFjMThhZDQ1YWNiOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvY29jb2EvVHlwZUNhc3RzQ29jb2EubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvY29jb2EvVHlwZUNhc3RzQ29jb2EubW0KQEAgLTM1LDExICszNSw5IEBACiAvLyBE
ZWJ1ZyBidWlsZHMgd2l0aCBBUkMgZW5hYmxlZCBjYXVzZSBvYmplY3RzIHRvIGJlIGF1dG9yZWxl
YXNlZAogLy8gd2hlbiBhc3NpZ25pbmcgYWRvcHROUygpIHJlc3VsdCB0byBhIGRpZmZlcmVudCBS
ZXRhaW5QdHI8PiB0eXBlLAogLy8gYW5kIHdoZW4gY2FsbGluZyBSZXRhaW5QdHI8Pjo6Z2V0KCku
Ci0jZGVmaW5lIEJFR0lOX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIEBhdXRvcmVsZWFz
ZXBvb2wgewotI2RlZmluZSBFTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgfQorI2Rl
ZmluZSBBVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRyBAYXV0b3JlbGVhc2Vwb29sCiAjZWxz
ZQotI2RlZmluZSBCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwotI2RlZmluZSBF
TkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyNkZWZpbmUgQVVUT1JFTEVBU0VQT09M
X0ZPUl9BUkNfREVCVUcKICNlbmRpZgogCiBAaW50ZXJmYWNlIE15T2JqZWN0U3VidHlwZSA6IE5T
T2JqZWN0CkBAIC0xMTQsOSArMTEyLDkgQEAgVEVTVChUeXBlQ2FzdHNDb2NvYSwgYnJpZGdlX2lk
X2Nhc3QpCiAKICAgICAgICAgYXV0byBvYmplY3RJRCA9IGJyaWRnZV9pZF9jYXN0KFdURk1vdmUo
b2JqZWN0Q0YpKTsKICAgICAgICAgdWludHB0cl90IG9iamVjdElEUHRyOwotQkVHSU5fQVVUT1JF
TEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0SURQdHIgPSByZWludGVycHJl
dF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0SUQuZ2V0KCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9G
T1JfQVJDX0RFQlVHCisgICAgICAgIEFVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAg
ICAgICAgICAgIG9iamVjdElEUHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVj
dElELmdldCgpKTsKKyAgICAgICAgfQogICAgICAgICBFWFBFQ1RfRVEoTlVMTCwgb2JqZWN0Q0Yu
Z2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0Q0ZQdHIsIG9iamVjdElEUHRyKTsKICAg
ICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0SURQ
dHIpKTsKQEAgLTEzMCwzNCArMTI4LDM0IEBAIFRFU1QoVHlwZUNhc3RzQ29jb2EsIGNoZWNrZWRf
b2JqY19jYXN0KQogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBSZXRhaW5QdHI8aWQ+
IG9iamVjdE5TOwogICAgICAgICB1aW50cHRyX3Qgb2JqZWN0TlNQdHI7Ci1CRUdJTl9BVVRPUkVM
RUFTRVBPT0xfRk9SX0FSQ19ERUJVRwotICAgICAgICBvYmplY3ROUyA9IGFkb3B0TlM8aWQ+KFtb
TlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10p
OwotICAgICAgICBvYmplY3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmpl
Y3ROUy5nZXQoKSk7Ci0gICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQoKSwgY2hlY2tlZF9v
YmpjX2Nhc3Q8TlNTdHJpbmc+KG9iamVjdE5TLmdldCgpKSk7Ci0gICAgICAgIEVYUEVDVF9FUShv
YmplY3ROUy5nZXQoKSwgY2hlY2tlZF9vYmpjX2Nhc3Q8TlNPYmplY3Q+KG9iamVjdE5TLmdldCgp
KSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVB
U0VQT09MX0ZPUl9BUkNfREVCVUcgeworICAgICAgICAgICAgb2JqZWN0TlMgPSBhZG9wdE5TPGlk
PihbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJp
bmddKTsKKyAgICAgICAgICAgIG9iamVjdE5TUHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KG9iamVjdE5TLmdldCgpKTsKKyAgICAgICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQo
KSwgY2hlY2tlZF9vYmpjX2Nhc3Q8TlNTdHJpbmc+KG9iamVjdE5TLmdldCgpKSk7CisgICAgICAg
ICAgICBFWFBFQ1RfRVEob2JqZWN0TlMuZ2V0KCksIGNoZWNrZWRfb2JqY19jYXN0PE5TT2JqZWN0
PihvYmplY3ROUy5nZXQoKSkpOworICAgICAgICB9CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZH
ZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdE5TUHRyKSk7CiAgICAgfQogCiAgICAgQGF1
dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIFJldGFpblB0cjxOU09iamVjdCAqPiBvYmplY3ROUzsK
ICAgICAgICAgdWludHB0cl90IG9iamVjdE5TUHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZP
Ul9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0TlMgPSBhZG9wdE5TPE5TT2JqZWN0ICo+KFtbTlNT
dHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOwot
ICAgICAgICBvYmplY3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3RO
Uy5nZXQoKSk7Ci0gICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQoKSwgY2hlY2tlZF9vYmpj
X2Nhc3Q8TlNTdHJpbmc+KG9iamVjdE5TLmdldCgpKSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09MX0ZP
Ul9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgeworICAg
ICAgICAgICAgb2JqZWN0TlMgPSBhZG9wdE5TPE5TT2JqZWN0ICo+KFtbTlNTdHJpbmcgYWxsb2Nd
IGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOworICAgICAgICAgICAg
b2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkp
OworICAgICAgICAgICAgRVhQRUNUX0VRKG9iamVjdE5TLmdldCgpLCBjaGVja2VkX29iamNfY2Fz
dDxOU1N0cmluZz4ob2JqZWN0TlMuZ2V0KCkpKTsKKyAgICAgICAgfQogICAgICAgICBFWFBFQ1Rf
RVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3ROU1B0cikpOwogICAgIH0K
IAogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IG9i
amVjdE5TOwogICAgICAgICB1aW50cHRyX3Qgb2JqZWN0TlNQdHI7Ci1CRUdJTl9BVVRPUkVMRUFT
RVBPT0xfRk9SX0FSQ19ERUJVRwotICAgICAgICBvYmplY3ROUyA9IGFkb3B0TlMoW1tOU1N0cmlu
ZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6QCIlcyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7Ci0gICAg
ICAgIG9iamVjdE5TUHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdl
dCgpKTsKLSAgICAgICAgRVhQRUNUX0VRKG9iamVjdE5TLmdldCgpLCBjaGVja2VkX29iamNfY2Fz
dDxOU09iamVjdD4ob2JqZWN0TlMuZ2V0KCkpKTsKLUVORF9BVVRPUkVMRUFTRVBPT0xfRk9SX0FS
Q19ERUJVRworICAgICAgICBBVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRyB7CisgICAgICAg
ICAgICBvYmplY3ROUyA9IGFkb3B0TlMoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6
QCIlcyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7CisgICAgICAgICAgICBvYmplY3ROU1B0ciA9IHJl
aW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3ROUy5nZXQoKSk7CisgICAgICAgICAgICBF
WFBFQ1RfRVEob2JqZWN0TlMuZ2V0KCksIGNoZWNrZWRfb2JqY19jYXN0PE5TT2JqZWN0PihvYmpl
Y3ROUy5nZXQoKSkpOworICAgICAgICB9CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRh
aW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdE5TUHRyKSk7CiAgICAgfQogfQpAQCAtMTY5LDU1ICsx
NjcsNTUgQEAgVEVTVChUeXBlQ2FzdHNDb2NvYSwgZHluYW1pY19vYmpjX2Nhc3QpCiAgICAgQGF1
dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIGF1dG8gb2JqZWN0TlMgPSBhZG9wdE5TPGlkPihbW05T
U3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsK
ICAgICAgICAgdWludHB0cl90IG9iamVjdE5TUHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZP
Ul9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4ob2JqZWN0TlMuZ2V0KCkpOwotICAgICAgICBFWFBFQ1RfRVEob2JqZWN0TlMuZ2V0KCks
IGR5bmFtaWNfb2JqY19jYXN0PE5TU3RyaW5nPihvYmplY3ROUy5nZXQoKSkpOwotICAgICAgICBF
WFBFQ1RfRVEob2JqZWN0TlMuZ2V0KCksIGR5bmFtaWNfb2JqY19jYXN0PE5TT2JqZWN0PihvYmpl
Y3ROUy5nZXQoKSkpOwotICAgICAgICBFWFBFQ1RfRVEobmlsLCBkeW5hbWljX29iamNfY2FzdDxO
U0FycmF5PihvYmplY3ROUy5nZXQoKSkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RF
QlVHCisgICAgICAgIEFVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAg
IG9iamVjdE5TUHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgp
KTsKKyAgICAgICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQoKSwgZHluYW1pY19vYmpjX2Nh
c3Q8TlNTdHJpbmc+KG9iamVjdE5TLmdldCgpKSk7CisgICAgICAgICAgICBFWFBFQ1RfRVEob2Jq
ZWN0TlMuZ2V0KCksIGR5bmFtaWNfb2JqY19jYXN0PE5TT2JqZWN0PihvYmplY3ROUy5nZXQoKSkp
OworICAgICAgICAgICAgRVhQRUNUX0VRKG5pbCwgZHluYW1pY19vYmpjX2Nhc3Q8TlNBcnJheT4o
b2JqZWN0TlMuZ2V0KCkpKTsKKyAgICAgICAgfQogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0
UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3ROU1B0cikpOwogICAgIH0KIAogICAgIEBhdXRv
cmVsZWFzZXBvb2wgewogICAgICAgICBhdXRvIG9iamVjdE5TID0gYWRvcHROUzxOU09iamVjdCAq
PihbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJp
bmddKTsKICAgICAgICAgdWludHB0cl90IG9iamVjdE5TUHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0
PHVpbnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkpOwotICAgICAgICBFWFBFQ1RfRVEob2JqZWN0TlMu
Z2V0KCksIGR5bmFtaWNfb2JqY19jYXN0PE5TU3RyaW5nPihvYmplY3ROUy5nZXQoKSkpOwotICAg
ICAgICBFWFBFQ1RfRVEobmlsLCBkeW5hbWljX29iamNfY2FzdDxOU0FycmF5PihvYmplY3ROUy5n
ZXQoKSkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIEFVVE9S
RUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVjdE5TUHRyID0gcmVp
bnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKKyAgICAgICAgICAgIEVY
UEVDVF9FUShvYmplY3ROUy5nZXQoKSwgZHluYW1pY19vYmpjX2Nhc3Q8TlNTdHJpbmc+KG9iamVj
dE5TLmdldCgpKSk7CisgICAgICAgICAgICBFWFBFQ1RfRVEobmlsLCBkeW5hbWljX29iamNfY2Fz
dDxOU0FycmF5PihvYmplY3ROUy5nZXQoKSkpOworICAgICAgICB9CiAgICAgICAgIEVYUEVDVF9F
USgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdE5TUHRyKSk7CiAgICAgfQog
CiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIGF1dG8gb2JqZWN0TlMgPSBhZG9wdE5T
KFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmlu
Z10pOwogICAgICAgICB1aW50cHRyX3Qgb2JqZWN0TlNQdHI7Ci1CRUdJTl9BVVRPUkVMRUFTRVBP
T0xfRk9SX0FSQ19ERUJVRwotICAgICAgICBvYmplY3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8
dWludHB0cl90PihvYmplY3ROUy5nZXQoKSk7Ci0gICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5n
ZXQoKSwgZHluYW1pY19vYmpjX2Nhc3Q8TlNPYmplY3Q+KG9iamVjdE5TLmdldCgpKSk7Ci0gICAg
ICAgIEVYUEVDVF9FUShuaWwsIGR5bmFtaWNfb2JqY19jYXN0PE5TQXJyYXk+KG9iamVjdE5TLmdl
dCgpKSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JF
TEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgeworICAgICAgICAgICAgb2JqZWN0TlNQdHIgPSByZWlu
dGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkpOworICAgICAgICAgICAgRVhQ
RUNUX0VRKG9iamVjdE5TLmdldCgpLCBkeW5hbWljX29iamNfY2FzdDxOU09iamVjdD4ob2JqZWN0
TlMuZ2V0KCkpKTsKKyAgICAgICAgICAgIEVYUEVDVF9FUShuaWwsIGR5bmFtaWNfb2JqY19jYXN0
PE5TQXJyYXk+KG9iamVjdE5TLmdldCgpKSk7CisgICAgICAgIH0KICAgICAgICAgRVhQRUNUX0VR
KDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0TlNQdHIpKTsKICAgICB9CiAK
ICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAgICAgICAgYXV0byBvYmplY3RJRCA9IGFkb3B0TlM8
aWQ+KFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKICAgICAgICAgdWludHB0cl90IG9iamVjdElE
UHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0
SURQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0SUQuZ2V0KCkpOwotICAg
ICAgICBFWFBFQ1RfRVEob2JqZWN0SUQuZ2V0KCksIGR5bmFtaWNfb2JqY19jYXN0PE5TT2JqZWN0
PihvYmplY3RJRC5nZXQoKSkpOwotICAgICAgICBFWFBFQ1RfRVEobmlsLCBkeW5hbWljX29iamNf
Y2FzdDxNeU9iamVjdFN1YnR5cGU+KG9iamVjdElELmdldCgpKSk7Ci1FTkRfQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcg
eworICAgICAgICAgICAgb2JqZWN0SURQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4o
b2JqZWN0SUQuZ2V0KCkpOworICAgICAgICAgICAgRVhQRUNUX0VRKG9iamVjdElELmdldCgpLCBk
eW5hbWljX29iamNfY2FzdDxOU09iamVjdD4ob2JqZWN0SUQuZ2V0KCkpKTsKKyAgICAgICAgICAg
IEVYUEVDVF9FUShuaWwsIGR5bmFtaWNfb2JqY19jYXN0PE15T2JqZWN0U3VidHlwZT4ob2JqZWN0
SUQuZ2V0KCkpKTsKKyAgICAgICAgfQogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWlu
Q291bnQoKENGVHlwZVJlZilvYmplY3RJRFB0cikpOwogICAgIH0KIAogICAgIEBhdXRvcmVsZWFz
ZXBvb2wgewogICAgICAgICBhdXRvIG9iamVjdE5TID0gYWRvcHROUyhbW05TT2JqZWN0IGFsbG9j
XSBpbml0XSk7CiAgICAgICAgIHVpbnRwdHJfdCBvYmplY3ROU1B0cjsKLUJFR0lOX0FVVE9SRUxF
QVNFUE9PTF9GT1JfQVJDX0RFQlVHCi0gICAgICAgIG9iamVjdE5TUHRyID0gcmVpbnRlcnByZXRf
Y2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKLSAgICAgICAgRVhQRUNUX0VRKG5pbCwg
ZHluYW1pY19vYmpjX2Nhc3Q8TXlPYmplY3RTdWJ0eXBlPihvYmplY3ROUy5nZXQoKSkpOwotRU5E
X0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIEFVVE9SRUxFQVNFUE9PTF9G
T1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVjdE5TUHRyID0gcmVpbnRlcnByZXRfY2Fz
dDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKKyAgICAgICAgICAgIEVYUEVDVF9FUShuaWws
IGR5bmFtaWNfb2JqY19jYXN0PE15T2JqZWN0U3VidHlwZT4ob2JqZWN0TlMuZ2V0KCkpKTsKKyAg
ICAgICAgfQogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJl
ZilvYmplY3ROU1B0cikpOwogICAgIH0KIH0KQEAgLTIzNCw0OSArMjMyLDQ5IEBAIFRFU1QoVHlw
ZUNhc3RzQ29jb2EsIGR5bmFtaWNfb2JqY19jYXN0X1JldGFpblB0cikKICAgICBAYXV0b3JlbGVh
c2Vwb29sIHsKICAgICAgICAgYXV0byBvYmplY3QgPSBhZG9wdE5TPGlkPihbW05TU3RyaW5nIGFs
bG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsKICAgICAgICAg
dWludHB0cl90IG9iamVjdFB0cjsKLUJFR0lOX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVH
Ci0gICAgICAgIG9iamVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3Qu
Z2V0KCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIEFVVE9S
RUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVjdFB0ciA9IHJlaW50
ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QuZ2V0KCkpOworICAgICAgICB9CiAgICAgICAg
IEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cikpOwog
CiAgICAgICAgIFJldGFpblB0cjxOU1N0cmluZz4gb2JqZWN0Q2FzdDsKICAgICAgICAgdWludHB0
cl90IG9iamVjdENhc3RQdHI7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwot
ICAgICAgICBvYmplY3RDYXN0ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNTdHJpbmc+KFdURk1vdmUo
b2JqZWN0KSk7Ci0gICAgICAgIG9iamVjdENhc3RQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4ob2JqZWN0Q2FzdC5nZXQoKSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVC
VUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgeworICAgICAgICAgICAg
b2JqZWN0Q2FzdCA9IGR5bmFtaWNfb2JqY19jYXN0PE5TU3RyaW5nPihXVEZNb3ZlKG9iamVjdCkp
OworICAgICAgICAgICAgb2JqZWN0Q2FzdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90
PihvYmplY3RDYXN0LmdldCgpKTsKKyAgICAgICAgfQogICAgICAgICBFWFBFQ1RfRVEobmlsLCBv
YmplY3QuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0UHRyLCBvYmplY3RDYXN0UHRy
KTsKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2Jq
ZWN0Q2FzdFB0cikpOwogCi1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwotICAg
ICAgICBvYmplY3QgPSBhZG9wdE5TPGlkPihbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1h
dDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsKLSAgICAgICAgb2JqZWN0UHRyID0gcmVpbnRl
cnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09M
X0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgewor
ICAgICAgICAgICAgb2JqZWN0ID0gYWRvcHROUzxpZD4oW1tOU1N0cmluZyBhbGxvY10gaW5pdFdp
dGhGb3JtYXQ6QCIlcyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7CisgICAgICAgICAgICBvYmplY3RQ
dHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0LmdldCgpKTsKKyAgICAgICAg
fQogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmpl
Y3RQdHIpKTsKIAogICAgICAgICBSZXRhaW5QdHI8TlNPYmplY3Q+IG9iamVjdENhc3QyOwogICAg
ICAgICB1aW50cHRyX3Qgb2JqZWN0Q2FzdFB0cjI7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9S
X0FSQ19ERUJVRwotICAgICAgICBvYmplY3RDYXN0MiA9IGR5bmFtaWNfb2JqY19jYXN0PE5TT2Jq
ZWN0PihXVEZNb3ZlKG9iamVjdCkpOwotICAgICAgICBvYmplY3RDYXN0UHRyMiA9IHJlaW50ZXJw
cmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3RDYXN0Mi5nZXQoKSk7Ci1FTkRfQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcg
eworICAgICAgICAgICAgb2JqZWN0Q2FzdDIgPSBkeW5hbWljX29iamNfY2FzdDxOU09iamVjdD4o
V1RGTW92ZShvYmplY3QpKTsKKyAgICAgICAgICAgIG9iamVjdENhc3RQdHIyID0gcmVpbnRlcnBy
ZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdENhc3QyLmdldCgpKTsKKyAgICAgICAgfQogICAgICAg
ICBFWFBFQ1RfRVEobmlsLCBvYmplY3QuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0
UHRyLCBvYmplY3RDYXN0UHRyMik7CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5D
b3VudCgoQ0ZUeXBlUmVmKW9iamVjdENhc3RQdHIyKSk7CiAKLUJFR0lOX0FVVE9SRUxFQVNFUE9P
TF9GT1JfQVJDX0RFQlVHCi0gICAgICAgIG9iamVjdCA9IGFkb3B0TlM8aWQ+KFtbTlNTdHJpbmcg
YWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOwotICAgICAg
ICBvYmplY3RQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0LmdldCgpKTsK
LUVORF9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRworICAgICAgICBBVVRPUkVMRUFTRVBP
T0xfRk9SX0FSQ19ERUJVRyB7CisgICAgICAgICAgICBvYmplY3QgPSBhZG9wdE5TPGlkPihbW05T
U3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsK
KyAgICAgICAgICAgIG9iamVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmpl
Y3QuZ2V0KCkpOworICAgICAgICB9CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5D
b3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cikpOwogCiAgICAgICAgIFJldGFpblB0cjxOU0FycmF5
PiBvYmplY3RDYXN0QmFkOwogICAgICAgICB1aW50cHRyX3Qgb2JqZWN0UHRyMjsKLUJFR0lOX0FV
VE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCi0gICAgICAgIG9iamVjdENhc3RCYWQgPSBkeW5h
bWljX29iamNfY2FzdDxOU0FycmF5PihXVEZNb3ZlKG9iamVjdCkpOwotICAgICAgICBvYmplY3RQ
dHIyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7Ci1FTkRfQVVU
T1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9B
UkNfREVCVUcgeworICAgICAgICAgICAgb2JqZWN0Q2FzdEJhZCA9IGR5bmFtaWNfb2JqY19jYXN0
PE5TQXJyYXk+KFdURk1vdmUob2JqZWN0KSk7CisgICAgICAgICAgICBvYmplY3RQdHIyID0gcmVp
bnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7CisgICAgICAgIH0KICAgICAg
ICAgRVhQRUNUX0VRKG9iamVjdFB0ciwgb2JqZWN0UHRyMik7CiAgICAgICAgIEVYUEVDVF9FUShu
aWwsIG9iamVjdENhc3RCYWQuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0
YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIyKSk7CkBAIC0yODUsMTYgKzI4MywxNiBAQCBF
TkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsK
ICAgICAgICAgYXV0byBvYmplY3QgPSBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRo
Rm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOwogICAgICAgICB1aW50cHRyX3Qgb2Jq
ZWN0UHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKLSAgICAgICAgb2Jq
ZWN0UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7Ci1FTkRf
QVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZP
Ul9BUkNfREVCVUcgeworICAgICAgICAgICAgb2JqZWN0UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1
aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7CisgICAgICAgIH0KICAgICAgICAgRVhQRUNUX0VRKDFM
LCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyKSk7CiAKICAgICAgICAgYXV0
byBvYmplY3RDYXN0ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNPYmplY3Q+KFdURk1vdmUob2JqZWN0
KSk7CiAgICAgICAgIHVpbnRwdHJfdCBvYmplY3RDYXN0UHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0Q2FzdFB0ciA9IHJlaW50ZXJwcmV0X2Nh
c3Q8dWludHB0cl90PihvYmplY3RDYXN0LmdldCgpKTsKLUVORF9BVVRPUkVMRUFTRVBPT0xfRk9S
X0FSQ19ERUJVRworICAgICAgICBBVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRyB7CisgICAg
ICAgICAgICBvYmplY3RDYXN0UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVj
dENhc3QuZ2V0KCkpOworICAgICAgICB9CiAgICAgICAgIEVYUEVDVF9FUShuaWwsIG9iamVjdC5n
ZXQoKSk7CiAgICAgICAgIEVYUEVDVF9FUShvYmplY3RQdHIsIG9iamVjdENhc3RQdHIpOwogICAg
ICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RDYXN0
UHRyKSk7CkBAIC0zMDMsMzIgKzMwMSwzMiBAQCBFTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNf
REVCVUcKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAgICAgICAgUmV0YWluUHRyPGlkPiBvYmpl
Y3Q7CiAgICAgICAgIHVpbnRwdHJfdCBvYmplY3RQdHI7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xf
Rk9SX0FSQ19ERUJVRwotICAgICAgICBvYmplY3QgPSBhZG9wdE5TPGlkPihbW05TT2JqZWN0IGFs
bG9jXSBpbml0XSk7Ci0gICAgICAgIG9iamVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90PihvYmplY3QuZ2V0KCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisg
ICAgICAgIEFVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVj
dCA9IGFkb3B0TlM8aWQ+KFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgICAgIG9i
amVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QuZ2V0KCkpOworICAg
ICAgICB9CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVm
KW9iamVjdFB0cikpOwogCiAgICAgICAgIFJldGFpblB0cjxOU09iamVjdD4gb2JqZWN0Q2FzdDsK
ICAgICAgICAgdWludHB0cl90IG9iamVjdENhc3RQdHI7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xf
Rk9SX0FSQ19ERUJVRwotICAgICAgICBvYmplY3RDYXN0ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNP
YmplY3Q+KFdURk1vdmUob2JqZWN0KSk7Ci0gICAgICAgIG9iamVjdENhc3RQdHIgPSByZWludGVy
cHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0Q2FzdC5nZXQoKSk7Ci1FTkRfQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcg
eworICAgICAgICAgICAgb2JqZWN0Q2FzdCA9IGR5bmFtaWNfb2JqY19jYXN0PE5TT2JqZWN0PihX
VEZNb3ZlKG9iamVjdCkpOworICAgICAgICAgICAgb2JqZWN0Q2FzdFB0ciA9IHJlaW50ZXJwcmV0
X2Nhc3Q8dWludHB0cl90PihvYmplY3RDYXN0LmdldCgpKTsKKyAgICAgICAgfQogICAgICAgICBF
WFBFQ1RfRVEobmlsLCBvYmplY3QuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0UHRy
LCBvYmplY3RDYXN0UHRyKTsKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50
KChDRlR5cGVSZWYpb2JqZWN0Q2FzdFB0cikpOwogCi1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9S
X0FSQ19ERUJVRwotICAgICAgICBvYmplY3QgPSBhZG9wdE5TPGlkPihbW05TT2JqZWN0IGFsbG9j
XSBpbml0XSk7Ci0gICAgICAgIG9iamVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90
PihvYmplY3QuZ2V0KCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAg
ICAgIEFVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVjdCA9
IGFkb3B0TlM8aWQ+KFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgICAgIG9iamVj
dFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QuZ2V0KCkpOworICAgICAg
ICB9CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9i
amVjdFB0cikpOwogCiAgICAgICAgIFJldGFpblB0cjxNeU9iamVjdFN1YnR5cGU+IG9iamVjdENh
c3RCYWQ7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwotICAgICAgICBvYmpl
Y3RDYXN0QmFkID0gZHluYW1pY19vYmpjX2Nhc3Q8TXlPYmplY3RTdWJ0eXBlPihXVEZNb3ZlKG9i
amVjdCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIEFVVE9S
RUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVjdENhc3RCYWQgPSBk
eW5hbWljX29iamNfY2FzdDxNeU9iamVjdFN1YnR5cGU+KFdURk1vdmUob2JqZWN0KSk7CisgICAg
ICAgIH0KICAgICAgICAgRVhQRUNUX0VRKG5pbCwgb2JqZWN0Q2FzdEJhZC5nZXQoKSk7CiAgICAg
ICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cikp
OwogICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL25zL1Jl
dGFpblB0ci5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL25zL1JldGFpblB0ci5t
bQppbmRleCAwZGUwZGM3NTQ0NzM4MzM2MGYzOTRjYmM5ZTUyM2ViNzUyMGRiMmIyLi5kMzI2MzRl
MTliZDVlMGY0MzI0YjRjYzc0MWZjYTNhYzAzN2FjNTQ0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9ucy9SZXRhaW5QdHIubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvbnMvUmV0YWluUHRyLm1tCkBAIC00NCwxMSArNDQsOSBAQAogLy8gRGVi
dWcgYnVpbGRzIHdpdGggQVJDIGVuYWJsZWQgY2F1c2Ugb2JqZWN0cyB0byBiZSBhdXRvcmVsZWFz
ZWQKIC8vIHdoZW4gYXNzaWduaW5nIGFkb3B0TlMoKSByZXN1bHQgdG8gYSBkaWZmZXJlbnQgUmV0
YWluUHRyPD4gdHlwZSwKIC8vIGFuZCB3aGVuIGNhbGxpbmcgUmV0YWluUHRyPD46OmdldCgpLgot
I2RlZmluZSBCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRyBAYXV0b3JlbGVhc2Vw
b29sIHsKLSNkZWZpbmUgRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIH0KKyNkZWZp
bmUgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgQGF1dG9yZWxlYXNlcG9vbCB7CiAjZWxz
ZQotI2RlZmluZSBCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwotI2RlZmluZSBF
TkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyNkZWZpbmUgQVVUT1JFTEVBU0VQT09M
X0ZPUl9BUkNfREVCVUcKICNlbmRpZgogCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CkBAIC01
NywyNSArNTUsMjUgQEAgVEVTVChSRVRBSU5fUFRSX1RFU1RfTkFNRSwgQWRvcHROUykKIHsKICAg
ICBSZXRhaW5QdHI8TlNPYmplY3Q+IG9iamVjdDEgPSBhZG9wdE5TKFtbTlNPYmplY3QgYWxsb2Nd
IGluaXRdKTsKICAgICB1aW50cHRyX3Qgb2JqZWN0UHRyMSA9IDA7Ci1CRUdJTl9BVVRPUkVMRUFT
RVBPT0xfRk9SX0FSQ19ERUJVRwotICAgIG9iamVjdFB0cjEgPSByZWludGVycHJldF9jYXN0PHVp
bnRwdHJfdD4ob2JqZWN0MS5nZXQoKSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVC
VUcKKyAgICBBVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRyB7CisgICAgICAgIG9iamVjdFB0
cjEgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0MS5nZXQoKSk7CisgICAgfQog
ICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cjEp
KTsKIAogICAgIFJldGFpblB0cjxOU09iamVjdCAqPiBvYmplY3QyOwogICAgIHVpbnRwdHJfdCBv
YmplY3RQdHIyID0gMDsKLUJFR0lOX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCi0gICAg
b2JqZWN0MiA9IGFkb3B0TlMoW1tOU09iamVjdCBhbGxvY10gaW5pdF0pOwotICAgIG9iamVjdFB0
cjIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0Mi5nZXQoKSk7Ci1FTkRfQVVU
T1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICBBVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19E
RUJVRyB7CisgICAgICAgIG9iamVjdDIgPSBhZG9wdE5TKFtbTlNPYmplY3QgYWxsb2NdIGluaXRd
KTsKKyAgICAgICAgb2JqZWN0UHRyMiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmpl
Y3QyLmdldCgpKTsKKyAgICB9CiAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChD
RlR5cGVSZWYpb2JqZWN0UHRyMikpOwogCiAgICAgUmV0YWluUHRyPGlkPiBvYmplY3QzOwogICAg
IHVpbnRwdHJfdCBvYmplY3RQdHIzID0gMDsKLUJFR0lOX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJD
X0RFQlVHCi0gICAgb2JqZWN0MyA9IGFkb3B0TlMoW1tOU09iamVjdCBhbGxvY10gaW5pdF0pOwot
ICAgIG9iamVjdFB0cjMgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0My5nZXQo
KSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICBBVVRPUkVMRUFTRVBP
T0xfRk9SX0FSQ19ERUJVRyB7CisgICAgICAgIG9iamVjdDMgPSBhZG9wdE5TKFtbTlNPYmplY3Qg
YWxsb2NdIGluaXRdKTsKKyAgICAgICAgb2JqZWN0UHRyMyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWlu
dHB0cl90PihvYmplY3QzLmdldCgpKTsKKyAgICB9CiAgICAgRVhQRUNUX0VRKDEsIENGR2V0UmV0
YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIzKSk7CiB9CiAKQEAgLTI5OSw5ICsyOTcsOSBA
QCBURVNUKFJFVEFJTl9QVFJfVEVTVF9OQU1FLCBSZXRhaW5QdHJOUykKICAgICAgICAgb2JqZWN0
MSA9IHJldGFpblB0cihbW05TT2JqZWN0IG5ld10gYXV0b3JlbGVhc2VdKTsKICAgICB9CiAgICAg
dWludHB0cl90IG9iamVjdFB0cjEgPSAwOwotQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNf
REVCVUcKLSAgICBvYmplY3RQdHIxID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVj
dDEuZ2V0KCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgQVVUT1JF
TEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgeworICAgICAgICBvYmplY3RQdHIxID0gcmVpbnRlcnBy
ZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdDEuZ2V0KCkpOworICAgIH0KICAgICBFWFBFQ1RfRVEo
MUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIxKSk7CiAKICAgICBSZXRh
aW5QdHI8TlNPYmplY3QgKj4gb2JqZWN0MjsKQEAgLTMwOSw5ICszMDcsOSBAQCBFTkRfQVVUT1JF
TEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICAgICAgb2JqZWN0MiA9IHJldGFpblB0cihbW05T
T2JqZWN0IG5ld10gYXV0b3JlbGVhc2VdKTsKICAgICB9CiAgICAgdWludHB0cl90IG9iamVjdFB0
cjIgPSAwOwotQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKLSAgICBvYmplY3RQ
dHIyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdDIuZ2V0KCkpOwotRU5EX0FV
VE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNf
REVCVUcgeworICAgICAgICBvYmplY3RQdHIyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+
KG9iamVjdDIuZ2V0KCkpOworICAgIH0KICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291
bnQoKENGVHlwZVJlZilvYmplY3RQdHIyKSk7CiAKICAgICBSZXRhaW5QdHI8aWQ+IG9iamVjdDM7
CkBAIC0zMTksOSArMzE3LDkgQEAgRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCiAg
ICAgICAgIG9iamVjdDMgPSByZXRhaW5QdHIoW1tOU09iamVjdCBuZXddIGF1dG9yZWxlYXNlXSk7
CiAgICAgfQogICAgIHVpbnRwdHJfdCBvYmplY3RQdHIzID0gMDsKLUJFR0lOX0FVVE9SRUxFQVNF
UE9PTF9GT1JfQVJDX0RFQlVHCi0gICAgb2JqZWN0UHRyMyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWlu
dHB0cl90PihvYmplY3QzLmdldCgpKTsKLUVORF9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJV
RworICAgIEFVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgb2JqZWN0UHRy
MyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QzLmdldCgpKTsKKyAgICB9CiAg
ICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyMykp
OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440625</attachid>
            <date>2021-10-08 09:00:49 -0700</date>
            <delta_ts>2021-10-11 19:57:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231435-20211008090048.patch</filename>
            <type>text/plain</type>
            <size>19271</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODAzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTQ1NDFkZmFhMWI4ZjE5ZDFhZjc5Y2UxOTU5NjEwYjJk
ZGFjYjk3Yi4uNWJiNGIxMjFlMTA4MzgyZGY4MDJhZjQ5MDMyN2JjZDczZDIzMzBlYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIxLTEwLTA4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAg
ICBTbGlnaHRseSBiZXR0ZXIgaWRpb20gZm9yIEFSQyBkZWJ1ZyBhdXRvcmVsZWFzZSB3b3JrYXJv
dW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE0
MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL2NvY29hL1R5cGVDYXN0c0NvY29hLm1tOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6IFVzZSBvbmUgbWFjcm8gaW5zdGVhZCBvZiB0d28sIHdpdGgK
KyAgICAgICAgdHJhZGl0aW9uYWwgaW5kZW50YXRpb24gaW5zdGVhZCBvZiBsZWZ0IGZsdXNoIHN0
eWxlLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL25zL1JldGFpblB0ci5tbToK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOiBEaXR0by4KKwogMjAyMS0xMC0wOCAgQ2Fy
bG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dlYkRy
aXZlcl0gVXBkYXRlIHczYyBhbmQgc2VsZW5pdW0gdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL2NvY29hL1R5cGVDYXN0c0NvY29hLm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvY29jb2EvVHlwZUNhc3RzQ29jb2EubW0KaW5kZXggYzI0Y2E3
NTEwZjUwN2I2YTUzYzEyYzdlNDhmOGJlOTUyNzJlZTE2My4uOGU1NGQyMWNkNjYzNGUxMGEyNWNi
YzZiMTg2YmFjMThhZDQ1YWNiOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvY29jb2EvVHlwZUNhc3RzQ29jb2EubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvY29jb2EvVHlwZUNhc3RzQ29jb2EubW0KQEAgLTM1LDExICszNSw5IEBACiAvLyBE
ZWJ1ZyBidWlsZHMgd2l0aCBBUkMgZW5hYmxlZCBjYXVzZSBvYmplY3RzIHRvIGJlIGF1dG9yZWxl
YXNlZAogLy8gd2hlbiBhc3NpZ25pbmcgYWRvcHROUygpIHJlc3VsdCB0byBhIGRpZmZlcmVudCBS
ZXRhaW5QdHI8PiB0eXBlLAogLy8gYW5kIHdoZW4gY2FsbGluZyBSZXRhaW5QdHI8Pjo6Z2V0KCku
Ci0jZGVmaW5lIEJFR0lOX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIEBhdXRvcmVsZWFz
ZXBvb2wgewotI2RlZmluZSBFTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgfQorI2Rl
ZmluZSBBVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRyBAYXV0b3JlbGVhc2Vwb29sCiAjZWxz
ZQotI2RlZmluZSBCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwotI2RlZmluZSBF
TkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyNkZWZpbmUgQVVUT1JFTEVBU0VQT09M
X0ZPUl9BUkNfREVCVUcKICNlbmRpZgogCiBAaW50ZXJmYWNlIE15T2JqZWN0U3VidHlwZSA6IE5T
T2JqZWN0CkBAIC0xMTQsOSArMTEyLDkgQEAgVEVTVChUeXBlQ2FzdHNDb2NvYSwgYnJpZGdlX2lk
X2Nhc3QpCiAKICAgICAgICAgYXV0byBvYmplY3RJRCA9IGJyaWRnZV9pZF9jYXN0KFdURk1vdmUo
b2JqZWN0Q0YpKTsKICAgICAgICAgdWludHB0cl90IG9iamVjdElEUHRyOwotQkVHSU5fQVVUT1JF
TEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0SURQdHIgPSByZWludGVycHJl
dF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0SUQuZ2V0KCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9G
T1JfQVJDX0RFQlVHCisgICAgICAgIEFVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAg
ICAgICAgICAgIG9iamVjdElEUHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVj
dElELmdldCgpKTsKKyAgICAgICAgfQogICAgICAgICBFWFBFQ1RfRVEoTlVMTCwgb2JqZWN0Q0Yu
Z2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0Q0ZQdHIsIG9iamVjdElEUHRyKTsKICAg
ICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0SURQ
dHIpKTsKQEAgLTEzMCwzNCArMTI4LDM0IEBAIFRFU1QoVHlwZUNhc3RzQ29jb2EsIGNoZWNrZWRf
b2JqY19jYXN0KQogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBSZXRhaW5QdHI8aWQ+
IG9iamVjdE5TOwogICAgICAgICB1aW50cHRyX3Qgb2JqZWN0TlNQdHI7Ci1CRUdJTl9BVVRPUkVM
RUFTRVBPT0xfRk9SX0FSQ19ERUJVRwotICAgICAgICBvYmplY3ROUyA9IGFkb3B0TlM8aWQ+KFtb
TlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10p
OwotICAgICAgICBvYmplY3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmpl
Y3ROUy5nZXQoKSk7Ci0gICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQoKSwgY2hlY2tlZF9v
YmpjX2Nhc3Q8TlNTdHJpbmc+KG9iamVjdE5TLmdldCgpKSk7Ci0gICAgICAgIEVYUEVDVF9FUShv
YmplY3ROUy5nZXQoKSwgY2hlY2tlZF9vYmpjX2Nhc3Q8TlNPYmplY3Q+KG9iamVjdE5TLmdldCgp
KSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVB
U0VQT09MX0ZPUl9BUkNfREVCVUcgeworICAgICAgICAgICAgb2JqZWN0TlMgPSBhZG9wdE5TPGlk
PihbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJp
bmddKTsKKyAgICAgICAgICAgIG9iamVjdE5TUHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KG9iamVjdE5TLmdldCgpKTsKKyAgICAgICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQo
KSwgY2hlY2tlZF9vYmpjX2Nhc3Q8TlNTdHJpbmc+KG9iamVjdE5TLmdldCgpKSk7CisgICAgICAg
ICAgICBFWFBFQ1RfRVEob2JqZWN0TlMuZ2V0KCksIGNoZWNrZWRfb2JqY19jYXN0PE5TT2JqZWN0
PihvYmplY3ROUy5nZXQoKSkpOworICAgICAgICB9CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZH
ZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdE5TUHRyKSk7CiAgICAgfQogCiAgICAgQGF1
dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIFJldGFpblB0cjxOU09iamVjdCAqPiBvYmplY3ROUzsK
ICAgICAgICAgdWludHB0cl90IG9iamVjdE5TUHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZP
Ul9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0TlMgPSBhZG9wdE5TPE5TT2JqZWN0ICo+KFtbTlNT
dHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOwot
ICAgICAgICBvYmplY3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3RO
Uy5nZXQoKSk7Ci0gICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQoKSwgY2hlY2tlZF9vYmpj
X2Nhc3Q8TlNTdHJpbmc+KG9iamVjdE5TLmdldCgpKSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09MX0ZP
Ul9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgeworICAg
ICAgICAgICAgb2JqZWN0TlMgPSBhZG9wdE5TPE5TT2JqZWN0ICo+KFtbTlNTdHJpbmcgYWxsb2Nd
IGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOworICAgICAgICAgICAg
b2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkp
OworICAgICAgICAgICAgRVhQRUNUX0VRKG9iamVjdE5TLmdldCgpLCBjaGVja2VkX29iamNfY2Fz
dDxOU1N0cmluZz4ob2JqZWN0TlMuZ2V0KCkpKTsKKyAgICAgICAgfQogICAgICAgICBFWFBFQ1Rf
RVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3ROU1B0cikpOwogICAgIH0K
IAogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IG9i
amVjdE5TOwogICAgICAgICB1aW50cHRyX3Qgb2JqZWN0TlNQdHI7Ci1CRUdJTl9BVVRPUkVMRUFT
RVBPT0xfRk9SX0FSQ19ERUJVRwotICAgICAgICBvYmplY3ROUyA9IGFkb3B0TlMoW1tOU1N0cmlu
ZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6QCIlcyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7Ci0gICAg
ICAgIG9iamVjdE5TUHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdl
dCgpKTsKLSAgICAgICAgRVhQRUNUX0VRKG9iamVjdE5TLmdldCgpLCBjaGVja2VkX29iamNfY2Fz
dDxOU09iamVjdD4ob2JqZWN0TlMuZ2V0KCkpKTsKLUVORF9BVVRPUkVMRUFTRVBPT0xfRk9SX0FS
Q19ERUJVRworICAgICAgICBBVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRyB7CisgICAgICAg
ICAgICBvYmplY3ROUyA9IGFkb3B0TlMoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6
QCIlcyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7CisgICAgICAgICAgICBvYmplY3ROU1B0ciA9IHJl
aW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3ROUy5nZXQoKSk7CisgICAgICAgICAgICBF
WFBFQ1RfRVEob2JqZWN0TlMuZ2V0KCksIGNoZWNrZWRfb2JqY19jYXN0PE5TT2JqZWN0PihvYmpl
Y3ROUy5nZXQoKSkpOworICAgICAgICB9CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRh
aW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdE5TUHRyKSk7CiAgICAgfQogfQpAQCAtMTY5LDU1ICsx
NjcsNTUgQEAgVEVTVChUeXBlQ2FzdHNDb2NvYSwgZHluYW1pY19vYmpjX2Nhc3QpCiAgICAgQGF1
dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIGF1dG8gb2JqZWN0TlMgPSBhZG9wdE5TPGlkPihbW05T
U3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsK
ICAgICAgICAgdWludHB0cl90IG9iamVjdE5TUHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZP
Ul9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4ob2JqZWN0TlMuZ2V0KCkpOwotICAgICAgICBFWFBFQ1RfRVEob2JqZWN0TlMuZ2V0KCks
IGR5bmFtaWNfb2JqY19jYXN0PE5TU3RyaW5nPihvYmplY3ROUy5nZXQoKSkpOwotICAgICAgICBF
WFBFQ1RfRVEob2JqZWN0TlMuZ2V0KCksIGR5bmFtaWNfb2JqY19jYXN0PE5TT2JqZWN0PihvYmpl
Y3ROUy5nZXQoKSkpOwotICAgICAgICBFWFBFQ1RfRVEobmlsLCBkeW5hbWljX29iamNfY2FzdDxO
U0FycmF5PihvYmplY3ROUy5nZXQoKSkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RF
QlVHCisgICAgICAgIEFVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAg
IG9iamVjdE5TUHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgp
KTsKKyAgICAgICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQoKSwgZHluYW1pY19vYmpjX2Nh
c3Q8TlNTdHJpbmc+KG9iamVjdE5TLmdldCgpKSk7CisgICAgICAgICAgICBFWFBFQ1RfRVEob2Jq
ZWN0TlMuZ2V0KCksIGR5bmFtaWNfb2JqY19jYXN0PE5TT2JqZWN0PihvYmplY3ROUy5nZXQoKSkp
OworICAgICAgICAgICAgRVhQRUNUX0VRKG5pbCwgZHluYW1pY19vYmpjX2Nhc3Q8TlNBcnJheT4o
b2JqZWN0TlMuZ2V0KCkpKTsKKyAgICAgICAgfQogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0
UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3ROU1B0cikpOwogICAgIH0KIAogICAgIEBhdXRv
cmVsZWFzZXBvb2wgewogICAgICAgICBhdXRvIG9iamVjdE5TID0gYWRvcHROUzxOU09iamVjdCAq
PihbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJp
bmddKTsKICAgICAgICAgdWludHB0cl90IG9iamVjdE5TUHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0
PHVpbnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkpOwotICAgICAgICBFWFBFQ1RfRVEob2JqZWN0TlMu
Z2V0KCksIGR5bmFtaWNfb2JqY19jYXN0PE5TU3RyaW5nPihvYmplY3ROUy5nZXQoKSkpOwotICAg
ICAgICBFWFBFQ1RfRVEobmlsLCBkeW5hbWljX29iamNfY2FzdDxOU0FycmF5PihvYmplY3ROUy5n
ZXQoKSkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIEFVVE9S
RUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVjdE5TUHRyID0gcmVp
bnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKKyAgICAgICAgICAgIEVY
UEVDVF9FUShvYmplY3ROUy5nZXQoKSwgZHluYW1pY19vYmpjX2Nhc3Q8TlNTdHJpbmc+KG9iamVj
dE5TLmdldCgpKSk7CisgICAgICAgICAgICBFWFBFQ1RfRVEobmlsLCBkeW5hbWljX29iamNfY2Fz
dDxOU0FycmF5PihvYmplY3ROUy5nZXQoKSkpOworICAgICAgICB9CiAgICAgICAgIEVYUEVDVF9F
USgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdE5TUHRyKSk7CiAgICAgfQog
CiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIGF1dG8gb2JqZWN0TlMgPSBhZG9wdE5T
KFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmlu
Z10pOwogICAgICAgICB1aW50cHRyX3Qgb2JqZWN0TlNQdHI7Ci1CRUdJTl9BVVRPUkVMRUFTRVBP
T0xfRk9SX0FSQ19ERUJVRwotICAgICAgICBvYmplY3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8
dWludHB0cl90PihvYmplY3ROUy5nZXQoKSk7Ci0gICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5n
ZXQoKSwgZHluYW1pY19vYmpjX2Nhc3Q8TlNPYmplY3Q+KG9iamVjdE5TLmdldCgpKSk7Ci0gICAg
ICAgIEVYUEVDVF9FUShuaWwsIGR5bmFtaWNfb2JqY19jYXN0PE5TQXJyYXk+KG9iamVjdE5TLmdl
dCgpKSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JF
TEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgeworICAgICAgICAgICAgb2JqZWN0TlNQdHIgPSByZWlu
dGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkpOworICAgICAgICAgICAgRVhQ
RUNUX0VRKG9iamVjdE5TLmdldCgpLCBkeW5hbWljX29iamNfY2FzdDxOU09iamVjdD4ob2JqZWN0
TlMuZ2V0KCkpKTsKKyAgICAgICAgICAgIEVYUEVDVF9FUShuaWwsIGR5bmFtaWNfb2JqY19jYXN0
PE5TQXJyYXk+KG9iamVjdE5TLmdldCgpKSk7CisgICAgICAgIH0KICAgICAgICAgRVhQRUNUX0VR
KDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0TlNQdHIpKTsKICAgICB9CiAK
ICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAgICAgICAgYXV0byBvYmplY3RJRCA9IGFkb3B0TlM8
aWQ+KFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKICAgICAgICAgdWludHB0cl90IG9iamVjdElE
UHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0
SURQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0SUQuZ2V0KCkpOwotICAg
ICAgICBFWFBFQ1RfRVEob2JqZWN0SUQuZ2V0KCksIGR5bmFtaWNfb2JqY19jYXN0PE5TT2JqZWN0
PihvYmplY3RJRC5nZXQoKSkpOwotICAgICAgICBFWFBFQ1RfRVEobmlsLCBkeW5hbWljX29iamNf
Y2FzdDxNeU9iamVjdFN1YnR5cGU+KG9iamVjdElELmdldCgpKSk7Ci1FTkRfQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcg
eworICAgICAgICAgICAgb2JqZWN0SURQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4o
b2JqZWN0SUQuZ2V0KCkpOworICAgICAgICAgICAgRVhQRUNUX0VRKG9iamVjdElELmdldCgpLCBk
eW5hbWljX29iamNfY2FzdDxOU09iamVjdD4ob2JqZWN0SUQuZ2V0KCkpKTsKKyAgICAgICAgICAg
IEVYUEVDVF9FUShuaWwsIGR5bmFtaWNfb2JqY19jYXN0PE15T2JqZWN0U3VidHlwZT4ob2JqZWN0
SUQuZ2V0KCkpKTsKKyAgICAgICAgfQogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWlu
Q291bnQoKENGVHlwZVJlZilvYmplY3RJRFB0cikpOwogICAgIH0KIAogICAgIEBhdXRvcmVsZWFz
ZXBvb2wgewogICAgICAgICBhdXRvIG9iamVjdE5TID0gYWRvcHROUyhbW05TT2JqZWN0IGFsbG9j
XSBpbml0XSk7CiAgICAgICAgIHVpbnRwdHJfdCBvYmplY3ROU1B0cjsKLUJFR0lOX0FVVE9SRUxF
QVNFUE9PTF9GT1JfQVJDX0RFQlVHCi0gICAgICAgIG9iamVjdE5TUHRyID0gcmVpbnRlcnByZXRf
Y2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKLSAgICAgICAgRVhQRUNUX0VRKG5pbCwg
ZHluYW1pY19vYmpjX2Nhc3Q8TXlPYmplY3RTdWJ0eXBlPihvYmplY3ROUy5nZXQoKSkpOwotRU5E
X0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIEFVVE9SRUxFQVNFUE9PTF9G
T1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVjdE5TUHRyID0gcmVpbnRlcnByZXRfY2Fz
dDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKKyAgICAgICAgICAgIEVYUEVDVF9FUShuaWws
IGR5bmFtaWNfb2JqY19jYXN0PE15T2JqZWN0U3VidHlwZT4ob2JqZWN0TlMuZ2V0KCkpKTsKKyAg
ICAgICAgfQogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJl
ZilvYmplY3ROU1B0cikpOwogICAgIH0KIH0KQEAgLTIzNCw0OSArMjMyLDQ5IEBAIFRFU1QoVHlw
ZUNhc3RzQ29jb2EsIGR5bmFtaWNfb2JqY19jYXN0X1JldGFpblB0cikKICAgICBAYXV0b3JlbGVh
c2Vwb29sIHsKICAgICAgICAgYXV0byBvYmplY3QgPSBhZG9wdE5TPGlkPihbW05TU3RyaW5nIGFs
bG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsKICAgICAgICAg
dWludHB0cl90IG9iamVjdFB0cjsKLUJFR0lOX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVH
Ci0gICAgICAgIG9iamVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3Qu
Z2V0KCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIEFVVE9S
RUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVjdFB0ciA9IHJlaW50
ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QuZ2V0KCkpOworICAgICAgICB9CiAgICAgICAg
IEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cikpOwog
CiAgICAgICAgIFJldGFpblB0cjxOU1N0cmluZz4gb2JqZWN0Q2FzdDsKICAgICAgICAgdWludHB0
cl90IG9iamVjdENhc3RQdHI7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwot
ICAgICAgICBvYmplY3RDYXN0ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNTdHJpbmc+KFdURk1vdmUo
b2JqZWN0KSk7Ci0gICAgICAgIG9iamVjdENhc3RQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4ob2JqZWN0Q2FzdC5nZXQoKSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVC
VUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgeworICAgICAgICAgICAg
b2JqZWN0Q2FzdCA9IGR5bmFtaWNfb2JqY19jYXN0PE5TU3RyaW5nPihXVEZNb3ZlKG9iamVjdCkp
OworICAgICAgICAgICAgb2JqZWN0Q2FzdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90
PihvYmplY3RDYXN0LmdldCgpKTsKKyAgICAgICAgfQogICAgICAgICBFWFBFQ1RfRVEobmlsLCBv
YmplY3QuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0UHRyLCBvYmplY3RDYXN0UHRy
KTsKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2Jq
ZWN0Q2FzdFB0cikpOwogCi1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwotICAg
ICAgICBvYmplY3QgPSBhZG9wdE5TPGlkPihbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1h
dDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsKLSAgICAgICAgb2JqZWN0UHRyID0gcmVpbnRl
cnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09M
X0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgewor
ICAgICAgICAgICAgb2JqZWN0ID0gYWRvcHROUzxpZD4oW1tOU1N0cmluZyBhbGxvY10gaW5pdFdp
dGhGb3JtYXQ6QCIlcyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7CisgICAgICAgICAgICBvYmplY3RQ
dHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0LmdldCgpKTsKKyAgICAgICAg
fQogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmpl
Y3RQdHIpKTsKIAogICAgICAgICBSZXRhaW5QdHI8TlNPYmplY3Q+IG9iamVjdENhc3QyOwogICAg
ICAgICB1aW50cHRyX3Qgb2JqZWN0Q2FzdFB0cjI7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9S
X0FSQ19ERUJVRwotICAgICAgICBvYmplY3RDYXN0MiA9IGR5bmFtaWNfb2JqY19jYXN0PE5TT2Jq
ZWN0PihXVEZNb3ZlKG9iamVjdCkpOwotICAgICAgICBvYmplY3RDYXN0UHRyMiA9IHJlaW50ZXJw
cmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3RDYXN0Mi5nZXQoKSk7Ci1FTkRfQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcg
eworICAgICAgICAgICAgb2JqZWN0Q2FzdDIgPSBkeW5hbWljX29iamNfY2FzdDxOU09iamVjdD4o
V1RGTW92ZShvYmplY3QpKTsKKyAgICAgICAgICAgIG9iamVjdENhc3RQdHIyID0gcmVpbnRlcnBy
ZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdENhc3QyLmdldCgpKTsKKyAgICAgICAgfQogICAgICAg
ICBFWFBFQ1RfRVEobmlsLCBvYmplY3QuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0
UHRyLCBvYmplY3RDYXN0UHRyMik7CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5D
b3VudCgoQ0ZUeXBlUmVmKW9iamVjdENhc3RQdHIyKSk7CiAKLUJFR0lOX0FVVE9SRUxFQVNFUE9P
TF9GT1JfQVJDX0RFQlVHCi0gICAgICAgIG9iamVjdCA9IGFkb3B0TlM8aWQ+KFtbTlNTdHJpbmcg
YWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOwotICAgICAg
ICBvYmplY3RQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0LmdldCgpKTsK
LUVORF9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRworICAgICAgICBBVVRPUkVMRUFTRVBP
T0xfRk9SX0FSQ19ERUJVRyB7CisgICAgICAgICAgICBvYmplY3QgPSBhZG9wdE5TPGlkPihbW05T
U3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsK
KyAgICAgICAgICAgIG9iamVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmpl
Y3QuZ2V0KCkpOworICAgICAgICB9CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5D
b3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cikpOwogCiAgICAgICAgIFJldGFpblB0cjxOU0FycmF5
PiBvYmplY3RDYXN0QmFkOwogICAgICAgICB1aW50cHRyX3Qgb2JqZWN0UHRyMjsKLUJFR0lOX0FV
VE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCi0gICAgICAgIG9iamVjdENhc3RCYWQgPSBkeW5h
bWljX29iamNfY2FzdDxOU0FycmF5PihXVEZNb3ZlKG9iamVjdCkpOwotICAgICAgICBvYmplY3RQ
dHIyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7Ci1FTkRfQVVU
T1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9B
UkNfREVCVUcgeworICAgICAgICAgICAgb2JqZWN0Q2FzdEJhZCA9IGR5bmFtaWNfb2JqY19jYXN0
PE5TQXJyYXk+KFdURk1vdmUob2JqZWN0KSk7CisgICAgICAgICAgICBvYmplY3RQdHIyID0gcmVp
bnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7CisgICAgICAgIH0KICAgICAg
ICAgRVhQRUNUX0VRKG9iamVjdFB0ciwgb2JqZWN0UHRyMik7CiAgICAgICAgIEVYUEVDVF9FUShu
aWwsIG9iamVjdENhc3RCYWQuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0
YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIyKSk7CkBAIC0yODUsMTYgKzI4MywxNiBAQCBF
TkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsK
ICAgICAgICAgYXV0byBvYmplY3QgPSBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRo
Rm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOwogICAgICAgICB1aW50cHRyX3Qgb2Jq
ZWN0UHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKLSAgICAgICAgb2Jq
ZWN0UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7Ci1FTkRf
QVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZP
Ul9BUkNfREVCVUcgeworICAgICAgICAgICAgb2JqZWN0UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1
aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7CisgICAgICAgIH0KICAgICAgICAgRVhQRUNUX0VRKDFM
LCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyKSk7CiAKICAgICAgICAgYXV0
byBvYmplY3RDYXN0ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNPYmplY3Q+KFdURk1vdmUob2JqZWN0
KSk7CiAgICAgICAgIHVpbnRwdHJfdCBvYmplY3RDYXN0UHRyOwotQkVHSU5fQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKLSAgICAgICAgb2JqZWN0Q2FzdFB0ciA9IHJlaW50ZXJwcmV0X2Nh
c3Q8dWludHB0cl90PihvYmplY3RDYXN0LmdldCgpKTsKLUVORF9BVVRPUkVMRUFTRVBPT0xfRk9S
X0FSQ19ERUJVRworICAgICAgICBBVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRyB7CisgICAg
ICAgICAgICBvYmplY3RDYXN0UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVj
dENhc3QuZ2V0KCkpOworICAgICAgICB9CiAgICAgICAgIEVYUEVDVF9FUShuaWwsIG9iamVjdC5n
ZXQoKSk7CiAgICAgICAgIEVYUEVDVF9FUShvYmplY3RQdHIsIG9iamVjdENhc3RQdHIpOwogICAg
ICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RDYXN0
UHRyKSk7CkBAIC0zMDMsMzIgKzMwMSwzMiBAQCBFTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNf
REVCVUcKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAgICAgICAgUmV0YWluUHRyPGlkPiBvYmpl
Y3Q7CiAgICAgICAgIHVpbnRwdHJfdCBvYmplY3RQdHI7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xf
Rk9SX0FSQ19ERUJVRwotICAgICAgICBvYmplY3QgPSBhZG9wdE5TPGlkPihbW05TT2JqZWN0IGFs
bG9jXSBpbml0XSk7Ci0gICAgICAgIG9iamVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90PihvYmplY3QuZ2V0KCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisg
ICAgICAgIEFVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVj
dCA9IGFkb3B0TlM8aWQ+KFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgICAgIG9i
amVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QuZ2V0KCkpOworICAg
ICAgICB9CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVm
KW9iamVjdFB0cikpOwogCiAgICAgICAgIFJldGFpblB0cjxOU09iamVjdD4gb2JqZWN0Q2FzdDsK
ICAgICAgICAgdWludHB0cl90IG9iamVjdENhc3RQdHI7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xf
Rk9SX0FSQ19ERUJVRwotICAgICAgICBvYmplY3RDYXN0ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNP
YmplY3Q+KFdURk1vdmUob2JqZWN0KSk7Ci0gICAgICAgIG9iamVjdENhc3RQdHIgPSByZWludGVy
cHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0Q2FzdC5nZXQoKSk7Ci1FTkRfQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcg
eworICAgICAgICAgICAgb2JqZWN0Q2FzdCA9IGR5bmFtaWNfb2JqY19jYXN0PE5TT2JqZWN0PihX
VEZNb3ZlKG9iamVjdCkpOworICAgICAgICAgICAgb2JqZWN0Q2FzdFB0ciA9IHJlaW50ZXJwcmV0
X2Nhc3Q8dWludHB0cl90PihvYmplY3RDYXN0LmdldCgpKTsKKyAgICAgICAgfQogICAgICAgICBF
WFBFQ1RfRVEobmlsLCBvYmplY3QuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0UHRy
LCBvYmplY3RDYXN0UHRyKTsKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50
KChDRlR5cGVSZWYpb2JqZWN0Q2FzdFB0cikpOwogCi1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9S
X0FSQ19ERUJVRwotICAgICAgICBvYmplY3QgPSBhZG9wdE5TPGlkPihbW05TT2JqZWN0IGFsbG9j
XSBpbml0XSk7Ci0gICAgICAgIG9iamVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90
PihvYmplY3QuZ2V0KCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAg
ICAgIEFVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVjdCA9
IGFkb3B0TlM8aWQ+KFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgICAgIG9iamVj
dFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QuZ2V0KCkpOworICAgICAg
ICB9CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9i
amVjdFB0cikpOwogCiAgICAgICAgIFJldGFpblB0cjxNeU9iamVjdFN1YnR5cGU+IG9iamVjdENh
c3RCYWQ7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwotICAgICAgICBvYmpl
Y3RDYXN0QmFkID0gZHluYW1pY19vYmpjX2Nhc3Q8TXlPYmplY3RTdWJ0eXBlPihXVEZNb3ZlKG9i
amVjdCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIEFVVE9S
RUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgICAgIG9iamVjdENhc3RCYWQgPSBk
eW5hbWljX29iamNfY2FzdDxNeU9iamVjdFN1YnR5cGU+KFdURk1vdmUob2JqZWN0KSk7CisgICAg
ICAgIH0KICAgICAgICAgRVhQRUNUX0VRKG5pbCwgb2JqZWN0Q2FzdEJhZC5nZXQoKSk7CiAgICAg
ICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cikp
OwogICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL25zL1Jl
dGFpblB0ci5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL25zL1JldGFpblB0ci5t
bQppbmRleCAwZGUwZGM3NTQ0NzM4MzM2MGYzOTRjYmM5ZTUyM2ViNzUyMGRiMmIyLi45ODgxYWU5
NTgwMGVhMTBiZjVkMTc3YjJkZTQzYWNlYTgxZGIxNDRkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9ucy9SZXRhaW5QdHIubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvbnMvUmV0YWluUHRyLm1tCkBAIC00NCwxMSArNDQsOSBAQAogLy8gRGVi
dWcgYnVpbGRzIHdpdGggQVJDIGVuYWJsZWQgY2F1c2Ugb2JqZWN0cyB0byBiZSBhdXRvcmVsZWFz
ZWQKIC8vIHdoZW4gYXNzaWduaW5nIGFkb3B0TlMoKSByZXN1bHQgdG8gYSBkaWZmZXJlbnQgUmV0
YWluUHRyPD4gdHlwZSwKIC8vIGFuZCB3aGVuIGNhbGxpbmcgUmV0YWluUHRyPD46OmdldCgpLgot
I2RlZmluZSBCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRyBAYXV0b3JlbGVhc2Vw
b29sIHsKLSNkZWZpbmUgRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIH0KKyNkZWZp
bmUgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgQGF1dG9yZWxlYXNlcG9vbAogI2Vsc2UK
LSNkZWZpbmUgQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKLSNkZWZpbmUgRU5E
X0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisjZGVmaW5lIEFVVE9SRUxFQVNFUE9PTF9G
T1JfQVJDX0RFQlVHCiAjZW5kaWYKIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewpAQCAtNTcs
MjUgKzU1LDI1IEBAIFRFU1QoUkVUQUlOX1BUUl9URVNUX05BTUUsIEFkb3B0TlMpCiB7CiAgICAg
UmV0YWluUHRyPE5TT2JqZWN0PiBvYmplY3QxID0gYWRvcHROUyhbW05TT2JqZWN0IGFsbG9jXSBp
bml0XSk7CiAgICAgdWludHB0cl90IG9iamVjdFB0cjEgPSAwOwotQkVHSU5fQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKLSAgICBvYmplY3RQdHIxID0gcmVpbnRlcnByZXRfY2FzdDx1aW50
cHRyX3Q+KG9iamVjdDEuZ2V0KCkpOwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVH
CisgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgeworICAgICAgICBvYmplY3RQdHIx
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdDEuZ2V0KCkpOworICAgIH0KICAg
ICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIxKSk7
CiAKICAgICBSZXRhaW5QdHI8TlNPYmplY3QgKj4gb2JqZWN0MjsKICAgICB1aW50cHRyX3Qgb2Jq
ZWN0UHRyMiA9IDA7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwotICAgIG9i
amVjdDIgPSBhZG9wdE5TKFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKLSAgICBvYmplY3RQdHIy
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdDIuZ2V0KCkpOwotRU5EX0FVVE9S
RUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVC
VUcgeworICAgICAgICBvYmplY3QyID0gYWRvcHROUyhbW05TT2JqZWN0IGFsbG9jXSBpbml0XSk7
CisgICAgICAgIG9iamVjdFB0cjIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0
Mi5nZXQoKSk7CisgICAgfQogICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZU
eXBlUmVmKW9iamVjdFB0cjIpKTsKIAogICAgIFJldGFpblB0cjxpZD4gb2JqZWN0MzsKICAgICB1
aW50cHRyX3Qgb2JqZWN0UHRyMyA9IDA7Ci1CRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19E
RUJVRwotICAgIG9iamVjdDMgPSBhZG9wdE5TKFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKLSAg
ICBvYmplY3RQdHIzID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdDMuZ2V0KCkp
OwotRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgQVVUT1JFTEVBU0VQT09M
X0ZPUl9BUkNfREVCVUcgeworICAgICAgICBvYmplY3QzID0gYWRvcHROUyhbW05TT2JqZWN0IGFs
bG9jXSBpbml0XSk7CisgICAgICAgIG9iamVjdFB0cjMgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4ob2JqZWN0My5nZXQoKSk7CisgICAgfQogICAgIEVYUEVDVF9FUSgxLCBDRkdldFJldGFp
bkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyMykpOwogfQogCkBAIC0yOTksOSArMjk3LDkgQEAg
VEVTVChSRVRBSU5fUFRSX1RFU1RfTkFNRSwgUmV0YWluUHRyTlMpCiAgICAgICAgIG9iamVjdDEg
PSByZXRhaW5QdHIoW1tOU09iamVjdCBuZXddIGF1dG9yZWxlYXNlXSk7CiAgICAgfQogICAgIHVp
bnRwdHJfdCBvYmplY3RQdHIxID0gMDsKLUJFR0lOX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RF
QlVHCi0gICAgb2JqZWN0UHRyMSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3Qx
LmdldCgpKTsKLUVORF9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRworICAgIEFVVE9SRUxF
QVNFUE9PTF9GT1JfQVJDX0RFQlVHIHsKKyAgICAgICAgb2JqZWN0UHRyMSA9IHJlaW50ZXJwcmV0
X2Nhc3Q8dWludHB0cl90PihvYmplY3QxLmdldCgpKTsKKyAgICB9CiAgICAgRVhQRUNUX0VRKDFM
LCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyMSkpOwogCiAgICAgUmV0YWlu
UHRyPE5TT2JqZWN0ICo+IG9iamVjdDI7CkBAIC0zMDksOSArMzA3LDkgQEAgRU5EX0FVVE9SRUxF
QVNFUE9PTF9GT1JfQVJDX0RFQlVHCiAgICAgICAgIG9iamVjdDIgPSByZXRhaW5QdHIoW1tOU09i
amVjdCBuZXddIGF1dG9yZWxlYXNlXSk7CiAgICAgfQogICAgIHVpbnRwdHJfdCBvYmplY3RQdHIy
ID0gMDsKLUJFR0lOX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCi0gICAgb2JqZWN0UHRy
MiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QyLmdldCgpKTsKLUVORF9BVVRP
UkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRworICAgIEFVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RF
QlVHIHsKKyAgICAgICAgb2JqZWN0UHRyMiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihv
YmplY3QyLmdldCgpKTsKKyAgICB9CiAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50
KChDRlR5cGVSZWYpb2JqZWN0UHRyMikpOwogCiAgICAgUmV0YWluUHRyPGlkPiBvYmplY3QzOwpA
QCAtMzE5LDkgKzMxNyw5IEBAIEVORF9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwogICAg
ICAgICBvYmplY3QzID0gcmV0YWluUHRyKFtbTlNPYmplY3QgbmV3XSBhdXRvcmVsZWFzZV0pOwog
ICAgIH0KICAgICB1aW50cHRyX3Qgb2JqZWN0UHRyMyA9IDA7Ci1CRUdJTl9BVVRPUkVMRUFTRVBP
T0xfRk9SX0FSQ19ERUJVRwotICAgIG9iamVjdFB0cjMgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4ob2JqZWN0My5nZXQoKSk7Ci1FTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcK
KyAgICBBVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRyB7CisgICAgICAgIG9iamVjdFB0cjMg
PSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0My5nZXQoKSk7CisgICAgfQogICAg
IEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cjMpKTsK
IH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>