<?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>223049</bug_id>
          
          <creation_ts>2021-03-10 14:56:37 -0800</creation_ts>
          <short_desc>Introduce WorkQueue::dispatchSync()</short_desc>
          <delta_ts>2021-03-11 10:01:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</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>
          <dependson>223030</dependson>
          <blocked>223073</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gustavo</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1738254</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-10 14:56:37 -0800</bug_when>
    <thetext>Introduce WorkQueue::dispatchSync(), which relies on GCD&apos;s dispatch_sync() internally on Cocoa ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738257</commentid>
    <comment_count>1</comment_count>
      <attachid>422875</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-10 15:00:04 -0800</bug_when>
    <thetext>Created attachment 422875
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738258</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-03-10 15:01:03 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738324</commentid>
    <comment_count>3</comment_count>
      <attachid>422888</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-10 17:34:30 -0800</bug_when>
    <thetext>Created attachment 422888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738444</commentid>
    <comment_count>4</comment_count>
      <attachid>422888</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-11 07:44:57 -0800</bug_when>
    <thetext>Comment on attachment 422888
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=422888&amp;action=review

&gt; Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:50
&gt; +    dispatch_sync(m_dispatchQueue.get(), makeBlockPtr([protectedThis = makeRef(*this), function = WTFMove(function)] {

Do we need to protect this, since we won&apos;t return until the dispatch_sync returns?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738451</commentid>
    <comment_count>5</comment_count>
      <attachid>422932</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-11 08:15:10 -0800</bug_when>
    <thetext>Created attachment 422932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738460</commentid>
    <comment_count>6</comment_count>
      <attachid>422932</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-11 08:39:10 -0800</bug_when>
    <thetext>Comment on attachment 422932
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=422932&amp;action=review

&gt; Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:50
&gt; +    dispatch_sync(m_dispatchQueue.get(), makeBlockPtr([function = WTFMove(function)] {

I don&apos;t think we need to make a lambda to wrap this function.
makeBlockPtr(WTFMove(function))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738461</commentid>
    <comment_count>7</comment_count>
      <attachid>422936</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-03-11 08:40:44 -0800</bug_when>
    <thetext>Created attachment 422936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738505</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-11 10:00:36 -0800</bug_when>
    <thetext>Committed r274286: &lt;https://commits.webkit.org/r274286&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422936.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1738507</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-11 10:01:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/75320966&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422875</attachid>
            <date>2021-03-10 15:00:04 -0800</date>
            <delta_ts>2021-03-10 17:35:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223049-20210310150003.patch</filename>
            <type>text/plain</type>
            <size>17100</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDRiNjYwY2UxODY1NjVlY2ViMGMwNDRh
OWMwZDgwNzlhZGM3YzlmNzYuLjc2ZjhhMDBlNTRjMTBmZWFlN2MzMWUwNDcxODUwZjc1MTY0NDcx
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDMtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDQ5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9k
dWNlIFdvcmtRdWV1ZTo6ZGlzcGF0Y2hTeW5jKCksIHdoaWNoIHJlbGllcyBvbiBHQ0QncyBkaXNw
YXRjaF9zeW5jKCkgaW50ZXJuYWxseSBvbiBDb2NvYQorICAgICAgICBwb3J0cy4gRm9yIG90aGVy
IHBvcnRzLCBpdCByZWxpZXMgb24gYSBCaW5hcnlTZW1hcGhvcmUgZm9yIHN5bmNocm9uaXphdGlv
bi4KKworICAgICAgICAqIHd0Zi9Xb3JrUXVldWUuY3BwOgorICAgICAgICAoV1RGOjpXb3JrUXVl
dWU6OmRpc3BhdGNoU3luYyk6CisgICAgICAgICogd3RmL1dvcmtRdWV1ZS5oOgorICAgICAgICAq
IHd0Zi9jb2NvYS9Xb3JrUXVldWVDb2NvYS5jcHA6CisgICAgICAgIChXVEY6OldvcmtRdWV1ZTo6
ZGlzcGF0Y2hTeW5jKToKKwogMjAyMS0wMy0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVzZSBSZXRhaW5QdHI8PiAvIE9TT2JqZWN0UHRyPD4gbW9yZSBpbiBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA0MjQ2NzhjM2YxOWViYzljZDY3MWQ2OTBkYmNjYzNiZmE3OTQ3
ZmY2Li43ODljNGNhMzA0MDJmNWNmNTUyMDNkNzY2Y2Q1NDZlNTE4MDgzOTYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDMtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMoKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDQ5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRvcHQgV29ya1F1
ZXVlOjpkaXNwYXRjaFN5bmMoKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dsaWIvRmlsZU1vbml0
b3JHTGliLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVNb25pdG9yOjpGaWxlTW9uaXRvcik6
CisgICAgICAgIChXZWJDb3JlOjpGaWxlTW9uaXRvcjo6fkZpbGVNb25pdG9yKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyOjp+TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpOgorCiAyMDIxLTAzLTEwICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFJldGFpblB0cjw+
IC8gT1NPYmplY3RQdHI8PiBtb3JlIGluIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjNjhkZGQ5MTQ5MDI3
YjhmODRlYjEyMGUwODM3ZjExOWVhZDE1N2JlLi5hY2M3YzI1YjYxZGZmYmY4ZGVlMGUwYzUxYWE0
NTYzZmRjYzliYWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAzLTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFdvcmtRdWV1
ZTo6ZGlzcGF0Y2hTeW5jKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMzA0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkb3B0IFdvcmtRdWV1ZTo6ZGlzcGF0Y2hTeW5jKCkuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6U3RvcmFnZU1hbmFnZXJTZXQ6OndhaXRVbnRpbFRhc2tzRmluaXNoZWQpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlclNldDo6d2FpdFVudGlsU3luY2luZ0xvY2FsU3Rv
cmFnZUZpbmlzaGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SWNvbkRhdGFiYXNlOjpJY29uRGF0YWJhc2UpOgorICAg
ICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6On5JY29uRGF0YWJhc2UpOgorCiAyMDIxLTAzLTEw
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFJldGFpblB0
cjw+IC8gT1NPYmplY3RQdHI8PiBtb3JlIGluIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvV29ya1F1ZXVlLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5jcHAKaW5kZXgg
ZjE5MTA1MTk3YWJkYThhMDJjOWJjZWIyMjBiNWVhYTVmMWE3YjY5Ny4uZDVkZWI5ZmMxMjYyZmQz
ZTE5MTJhMDA5M2I3NWMzNjFlYjI5MTUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvV29y
a1F1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuY3BwCkBAIC0zNiw2ICsz
Niw3IEBACiAjaW5jbHVkZSA8d3RmL051bWJlck9mQ29yZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgorI2luY2x1ZGUgPHd0Zi90aHJlYWRzL0Jp
bmFyeVNlbWFwaG9yZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtNTUsNiArNTYsMTYgQEAg
V29ya1F1ZXVlOjp+V29ya1F1ZXVlKCkKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKK3ZvaWQg
V29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMoRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQorewor
ICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7CisgICAgZGlzcGF0Y2goWyZzZW1hcGhvcmUs
IGZ1bmN0aW9uID0gV1RGTW92ZShmdW5jdGlvbildKCkgbXV0YWJsZSB7CisgICAgICAgIGZ1bmN0
aW9uKCk7CisgICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKKyAgICB9KTsKKyAgICBzZW1hcGhv
cmUud2FpdCgpOworfQorCiB2b2lkIFdvcmtRdWV1ZTo6Y29uY3VycmVudEFwcGx5KHNpemVfdCBp
dGVyYXRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKHNpemVfdCBpbmRleCk+JiYgZnVuY3Rpb24p
CiB7CiAgICAgaWYgKCFpdGVyYXRpb25zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV29y
a1F1ZXVlLmggYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaAppbmRleCA0YTNiN2RhZmFlNzhm
MWE2ZDljNDYzYjJjYzZhMDNkYTk0YTQxMzI2Li4yMzY1NDMyMGM5ZGZjYzAzNzZlMWU1OGJkMGM2
M2ZjOWQwYzcxMzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaApAQCAtNTUsNiArNTUsNyBAQCBwdWJsaWM6CiAK
ICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBkaXNwYXRjaChGdW5jdGlvbjx2b2lkKCk+JiYp
IGZpbmFsOwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGRpc3BhdGNoQWZ0ZXIoU2Vjb25k
cywgRnVuY3Rpb248dm9pZCgpPiYmKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBkaXNw
YXRjaFN5bmMoRnVuY3Rpb248dm9pZCgpPiYmKTsKIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSBz
dGF0aWMgdm9pZCBjb25jdXJyZW50QXBwbHkoc2l6ZV90IGl0ZXJhdGlvbnMsIFdURjo6RnVuY3Rp
b248dm9pZChzaXplX3QgaW5kZXgpPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
Y29jb2EvV29ya1F1ZXVlQ29jb2EuY3BwIGIvU291cmNlL1dURi93dGYvY29jb2EvV29ya1F1ZXVl
Q29jb2EuY3BwCmluZGV4IDQ5Y2RiYjU4ODBiYjE2NmI1Zjc1ZTU2ZGRjNzljMWNmYTFhNTQwNDYu
LjAyZDdiNzc5NzBlNjk2YTU4NTRiZDc0NTIwMjdmOWUwYTBlZjg4ZGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9jb2NvYS9Xb3JrUXVldWVDb2NvYS5jcHAKQEAgLTQ1LDYgKzQ1LDEzIEBAIHZvaWQgV29ya1F1
ZXVlOjpkaXNwYXRjaEFmdGVyKFNlY29uZHMgZHVyYXRpb24sIEZ1bmN0aW9uPHZvaWQoKT4mJiBm
dW5jdGlvbikKICAgICB9KS5nZXQoKSk7CiB9CiAKK3ZvaWQgV29ya1F1ZXVlOjpkaXNwYXRjaFN5
bmMoRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQoreworICAgIGRpc3BhdGNoX3N5bmMobV9k
aXNwYXRjaFF1ZXVlLmdldCgpLCBtYWtlQmxvY2tQdHIoW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKSwgZnVuY3Rpb24gPSBXVEZNb3ZlKGZ1bmN0aW9uKV0geworICAgICAgICBmdW5jdGlv
bigpOworICAgIH0pLmdldCgpKTsKK30KKwogdm9pZCBXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlh
bGl6ZShjb25zdCBjaGFyKiBuYW1lLCBUeXBlIHR5cGUsIFFPUyBxb3MpCiB7CiAgICAgZGlzcGF0
Y2hfcXVldWVfYXR0cl90IGF0dHIgPSB0eXBlID09IFR5cGU6OkNvbmN1cnJlbnQgPyBESVNQQVRD
SF9RVUVVRV9DT05DVVJSRU5UIDogRElTUEFUQ0hfUVVFVUVfU0VSSUFMOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9GaWxlTW9uaXRvckdMaWIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9GaWxlTW9uaXRvckdMaWIuY3BwCmluZGV4IGNjZjgxNzY0
MWE2NjMxNTI2NWI0ODRlOWIzYjJkODgyYjI3Y2NkMTAuLjAxZTBhZDRmYTBkOTM0OWY1MDJjMjg2
MzNmN2Q4ODFmNmM1YjFlODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ds
aWIvRmlsZU1vbml0b3JHTGliLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGli
L0ZpbGVNb25pdG9yR0xpYi5jcHAKQEAgLTU1LDEyICs1NSw5IEBAIEZpbGVNb25pdG9yOjpGaWxl
TW9uaXRvcihjb25zdCBTdHJpbmcmIHBhdGgsIFJlZjxXb3JrUXVldWU+JiYgaGFuZGxlclF1ZXVl
LCBXVEY6CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBCaW5hcnlTZW1hcGhvcmUgc2Vt
YXBob3JlOwotICAgIG1faGFuZGxlclF1ZXVlLT5kaXNwYXRjaChbY3JlYXRlUGxhdGZvcm1Nb25p
dG9yID0gV1RGTW92ZShjcmVhdGVQbGF0Zm9ybU1vbml0b3IpLCAmc2VtYXBob3JlXSB7CisgICAg
bV9oYW5kbGVyUXVldWUtPmRpc3BhdGNoU3luYyhbY3JlYXRlUGxhdGZvcm1Nb25pdG9yID0gV1RG
TW92ZShjcmVhdGVQbGF0Zm9ybU1vbml0b3IpXSB7CiAgICAgICAgIGNyZWF0ZVBsYXRmb3JtTW9u
aXRvcigpOwotICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgfSk7Ci0gICAgc2VtYXBo
b3JlLndhaXQoKTsKIH0KIAogRmlsZU1vbml0b3I6On5GaWxlTW9uaXRvcigpCkBAIC03MSwxMiAr
NjgsOSBAQCBGaWxlTW9uaXRvcjo6fkZpbGVNb25pdG9yKCkKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0gICAgbV9oYW5kbGVyUXVldWUt
PmRpc3BhdGNoKFsmXSB7CisgICAgbV9oYW5kbGVyUXVldWUtPmRpc3BhdGNoU3luYyhbdGhpc10g
ewogICAgICAgICBjYW5jZWwoKTsKLSAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwogICAgIH0p
OwotICAgIHNlbWFwaG9yZS53YWl0KCk7CiB9CiAKIHZvaWQgRmlsZU1vbml0b3I6OmZpbGVDaGFu
Z2VkQ2FsbGJhY2soR0ZpbGVNb25pdG9yKiwgR0ZpbGUqLCBHRmlsZSosIEdGaWxlTW9uaXRvckV2
ZW50IGV2ZW50LCBGaWxlTW9uaXRvciogbW9uaXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KaW5kZXggNWU0MDMw
OTYxMTc4MDU4YjA3ZDE2NWFjNmNhOThmMzRhNzA0MWJhYy4uNDk3MTAwMzI1MTRhYTUzM2Y2MzUz
NTJkNTAzN2FjMDMzMWQzYTRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KQEAgLTE4NywxMSArMTg3LDcgQEAg
dm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6aW5pdGlhbGl6ZShib29sIGhpZGVS
b290TGF5ZXIsIEludFNpemUgc2l6ZSwKIAogTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6
On5Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcigpCiB7Ci0gICAgQmluYXJ5U2VtYXBob3Jl
IHNlbWFwaG9yZTsKLSAgICBtX3Byb2Nlc3NpbmdRdWV1ZS0+ZGlzcGF0Y2goWyZzZW1hcGhvcmVd
IHsKLSAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwotICAgIH0pOwotICAgIHNlbWFwaG9yZS53
YWl0KCk7CisgICAgbV9wcm9jZXNzaW5nUXVldWUtPmRpc3BhdGNoU3luYyhbXSB7IH0pOwogCiAg
ICAgbV9wcm9jZXNzaW5nUXVldWUgPSBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmNw
cAppbmRleCBhMDI5MGIxOTU4MWM3OWQ1ODJjOTIzMTg4NzM3NWZmNzU2ZDU5NmVhLi4xMjQ3MDE1
ZjNmOGNmMzVkY2YwMzc0MjdlYWNkYmY0OTRiYzQzYmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNl
dC5jcHAKQEAgLTEyNywzNCArMTI3LDI2IEBAIHZvaWQgU3RvcmFnZU1hbmFnZXJTZXQ6OndhaXRV
bnRpbFRhc2tzRmluaXNoZWQoKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAK
LSAgICBCaW5hcnlTZW1hcGhvcmUgc2VtYXBob3JlOwotICAgIG1fcXVldWUtPmRpc3BhdGNoKFt0
aGlzLCAmc2VtYXBob3JlXSB7CisgICAgbV9xdWV1ZS0+ZGlzcGF0Y2hTeW5jKFt0aGlzXSB7CiAg
ICAgICAgIGZvciAoYXV0byYgc3RvcmFnZU1hbmFnZXIgOiBtX3N0b3JhZ2VNYW5hZ2Vycy52YWx1
ZXMoKSkKICAgICAgICAgICAgIHN0b3JhZ2VNYW5hZ2VyLT5jbGVhclN0b3JhZ2VOYW1lc3BhY2Vz
KCk7CiAKICAgICAgICAgbV9zdG9yYWdlTWFuYWdlcnMuY2xlYXIoKTsKICAgICAgICAgbV9zdG9y
YWdlQXJlYXMuY2xlYXIoKTsKLQotICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgfSk7
Ci0gICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAogdm9pZCBTdG9yYWdlTWFuYWdlclNldDo6d2Fp
dFVudGlsU3luY2luZ0xvY2FsU3RvcmFnZUZpbmlzaGVkKCkKIHsKICAgICBBU1NFUlQoUnVuTG9v
cDo6aXNNYWluKCkpOwogCi0gICAgQmluYXJ5U2VtYXBob3JlIHNlbWFwaG9yZTsKLSAgICBtX3F1
ZXVlLT5kaXNwYXRjaChbdGhpcywgJnNlbWFwaG9yZV0geworICAgIG1fcXVldWUtPmRpc3BhdGNo
U3luYyhbdGhpc10gewogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHN0b3JhZ2VBcmVhIDogbV9z
dG9yYWdlQXJlYXMudmFsdWVzKCkpIHsKICAgICAgICAgICAgIEFTU0VSVChzdG9yYWdlQXJlYSk7
CiAgICAgICAgICAgICBpZiAoc3RvcmFnZUFyZWEpCiAgICAgICAgICAgICAgICAgc3RvcmFnZUFy
ZWEtPnN5bmNUb0RhdGFiYXNlKCk7CiAgICAgICAgIH0KLQotICAgICAgICBzZW1hcGhvcmUuc2ln
bmFsKCk7CiAgICAgfSk7Ci0gICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAogdm9pZCBTdG9yYWdl
TWFuYWdlclNldDo6c3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9J
Y29uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNvbkRh
dGFiYXNlLmNwcAppbmRleCA5MWZmYjIzM2JlODg2MWQyYTc3ODlkNjhmNzQ3MDkzODIxMzM0NmRm
Li40NzZlYzZiZjZlNDI3YmNiYWYyMjc5YWU0NWVkZDkyMmMwNjc3OTFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5jcHAKQEAgLTU2LDE4
ICs1NiwxNCBAQCBJY29uRGF0YWJhc2U6Okljb25EYXRhYmFzZShjb25zdCBTdHJpbmcmIHBhdGgs
IEFsbG93RGF0YWJhc2VXcml0ZSBhbGxvd0RhdGFiYXNlVwogCiAgICAgLy8gV2UgaW5pdGlhbGl6
ZSB0aGUgZGF0YWJhc2Ugc3luY2hyb25vdXNseSwgaXQncyBob3BlZnVsbHkgZmFzdCBlbm91Z2gg
YmVjYXVzZSBpdCBtYWtlcwogICAgIC8vIHRoZSBpbXBsZW1lbnRhdGlvbiBhIGxvdCBzaW1wbGVy
LgotICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0gICAgbV93b3JrUXVldWUtPmRpc3Bh
dGNoKFsmXSB7Ci0gICAgICAgIGlmIChhbGxvd0RhdGFiYXNlV3JpdGUgPT0gQWxsb3dEYXRhYmFz
ZVdyaXRlOjpObyAmJiAhRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhwYXRoKSkgewotICAgICAgICAg
ICAgc2VtYXBob3JlLnNpZ25hbCgpOworICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaFN5bmMoWyZd
IHsKKyAgICAgICAgaWYgKGFsbG93RGF0YWJhc2VXcml0ZSA9PSBBbGxvd0RhdGFiYXNlV3JpdGU6
Ok5vICYmICFGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHBhdGgpKQogICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB9CiAKICAgICAgICAgYXV0byBkYXRhYmFzZURpcmVjdG9yeSA9IEZpbGVTeXN0
ZW06OmRpcmVjdG9yeU5hbWUocGF0aCk7CiAgICAgICAgIEZpbGVTeXN0ZW06Om1ha2VBbGxEaXJl
Y3RvcmllcyhkYXRhYmFzZURpcmVjdG9yeSk7CiAgICAgICAgIGlmICghbV9kYi5vcGVuKHBhdGgp
KSB7CiAgICAgICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBvcGVuIGZhdmljb24gZGF0YWJh
c2UgYXQgcGF0aCAlcyAtICVzIiwgcGF0aC51dGY4KCkuZGF0YSgpLCBtX2RiLmxhc3RFcnJvck1z
ZygpKTsKLSAgICAgICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogCkBAIC03NiwxNCArNzIsMTIgQEAgSWNvbkRhdGFiYXNlOjpJY29uRGF0
YWJhc2UoY29uc3QgU3RyaW5nJiBwYXRoLCBBbGxvd0RhdGFiYXNlV3JpdGUgYWxsb3dEYXRhYmFz
ZVcKICAgICAgICAgICAgIExPRyhJY29uRGF0YWJhc2UsICJEYXRhYmFzZSB2ZXJzaW9uIG51bWJl
ciAlZCBpcyBncmVhdGVyIHRoYW4gb3VyIGN1cnJlbnQgdmVyc2lvbiBudW1iZXIgJWQgLSBjbG9z
aW5nIHRoZSBkYXRhYmFzZSB0byBwcmV2ZW50IG92ZXJ3cml0aW5nIG5ld2VyIHZlcnNpb25zIiwK
ICAgICAgICAgICAgICAgICBkYXRhYmFzZVZlcnNpb25OdW1iZXIsIGN1cnJlbnREYXRhYmFzZVZl
cnNpb24pOwogICAgICAgICAgICAgbV9kYi5jbG9zZSgpOwotICAgICAgICAgICAgc2VtYXBob3Jl
LnNpZ25hbCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgaWYg
KGRhdGFiYXNlVmVyc2lvbk51bWJlciA8IGN1cnJlbnREYXRhYmFzZVZlcnNpb24pIHsKICAgICAg
ICAgICAgIGlmIChtX2FsbG93RGF0YWJhc2VXcml0ZSA9PSBBbGxvd0RhdGFiYXNlV3JpdGU6Ok5v
KSB7CiAgICAgICAgICAgICAgICAgbV9kYi5jbG9zZSgpOwotICAgICAgICAgICAgICAgIHNlbWFw
aG9yZS5zaWduYWwoKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAK
QEAgLTEwMCwyNiArOTQsMjAgQEAgSWNvbkRhdGFiYXNlOjpJY29uRGF0YWJhc2UoY29uc3QgU3Ry
aW5nJiBwYXRoLCBBbGxvd0RhdGFiYXNlV3JpdGUgYWxsb3dEYXRhYmFzZVcKIAogICAgICAgICBp
ZiAoIWNyZWF0ZVRhYmxlc0lmTmVlZGVkKCkpCiAgICAgICAgICAgICBwb3B1bGF0ZVBhZ2VVUkxU
b0ljb25VUkxNYXAoKTsKLQotICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgfSk7Ci0g
ICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAogSWNvbkRhdGFiYXNlOjp+SWNvbkRhdGFiYXNlKCkK
IHsKICAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKIAotICAgIEJpbmFyeVNlbWFwaG9yZSBz
ZW1hcGhvcmU7Ci0gICAgbV93b3JrUXVldWUtPmRpc3BhdGNoKFsmXSB7CisgICAgbV93b3JrUXVl
dWUtPmRpc3BhdGNoU3luYyhbJl0gewogICAgICAgICBpZiAobV9kYi5pc09wZW4oKSkgewogICAg
ICAgICAgICAgbV9wcnVuZVRpbWVyID0gbnVsbHB0cjsKICAgICAgICAgICAgIGNsZWFyU3RhdGVt
ZW50cygpOwogICAgICAgICAgICAgbV9kYi5jbG9zZSgpOwogICAgICAgICB9Ci0gICAgICAgIHNl
bWFwaG9yZS5zaWduYWwoKTsKICAgICB9KTsKLSAgICBzZW1hcGhvcmUud2FpdCgpOwogfQogCiBi
b29sIEljb25EYXRhYmFzZTo6Y3JlYXRlVGFibGVzSWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDAwMGQ2OTQ2ZDVjN2ExYWQ0MjQ2
NjRiZDJlMjIzNDk1Y2FiM2I4MTQuLmZmYTgwMjlhNWJmOTVhYWU4ZDdjZWRhNDMxMTgxZjEyNmMx
MDFhYzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAyMS0wMy0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCisgICAgICAgIEludHJvZHVjZSBXb3JrUXVldWU6OmRpc3BhdGNoU3luYygpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMwNDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3Qg
Y292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9X
b3JrUXVldWUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvV2ViS2l0VGVzdFNlcnZlci5jcHA6CisgICAg
ICAgIChXZWJLaXRUZXN0U2VydmVyOjpydW4pOgorCiAyMDIxLTAzLTEwICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFJldGFpblB0cjw+IC8gT1NPYmplY3RQ
dHI8PiBtb3JlIGluIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5NTczNThhYzk4
MDRiOTg1OWI3MmViMjRkODZmYzVjYTlhMWMyOTQ4Li45MzA3NjU1MzY0NzYzMzcxNTJjYzZkYjZk
OWU2N2E2YmE3MmFkZWM4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjY4LDYgKzI2OCw3
IEBACiAJCTQ2QTQ2QTFBMjU3NTY0NTYwMEExQjExOCAvKiBTZXNzaW9uU3RvcmFnZS5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QTQ2QTE5MjU3NTY0
NTYwMEExQjExOCAvKiBTZXNzaW9uU3RvcmFnZS5tbSAqLzsgfTsKIAkJNDZBOTExNTkyMTA4RTY3
ODAwNzhENDBEIC8qIEN1c3RvbVVzZXJBZ2VudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QTkxMTU4MjEwOEU2NkIwMDc4RDQwRCAvKiBDdXN0b21V
c2VyQWdlbnQubW0gKi87IH07CiAJCTQ2QUU1QTM3MjBGOTA2NkQwMEUwODczRSAvKiBTaW1wbGVT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1NkE3NTcyMEY5MDU0RjAwMDJFMjFG
IC8qIFNpbXBsZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQuc3FsaXRlMyAqLzsgfTsKKwkJ
NDZCQkVBMUIyNUY5ODM1NzAwRDQ5ODdBIC8qIFdvcmtRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUE2QTE1MTFBQUMwQjMxMDAyQjJFRDMg
LyogV29ya1F1ZXVlLmNwcCAqLzsgfTsKIAkJNDZDMUVBOTgyNTc1ODgyMDAwNUU0MDlFIC8qIGFs
ZXJ0Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDZDMUVBOTcyNTc1ODgwNTAwNUU0MDlFIC8qIGFsZXJ0Lmh0bWwgKi87IH07CiAJCTQ2
QzNBRUIzMjNEMEU1MjkwMDFCMDY4MCAvKiBiZWZvcmV1bmxvYWQuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkMzQUVCMjIzRDBFNTBG
MDAxQjA2ODAgLyogYmVmb3JldW5sb2FkLmh0bWwgKi87IH07CiAJCTQ2QzUxOURBMUQzNTVBQjIw
MERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzUxOUQ4MUQzNTVBNzMwMERBQTUxQSAvKiBM
b2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSAqLzsgfTsKQEAgLTUwNzcsNiArNTA3OCw3IEBACiAJ
CQkJN0M4M0RFRjYxRDBBNTkwQzAwRkVCQ0YzIC8qIE1ldGFBbGxvY2F0b3IuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQ0U3ODcwNUYyMTA3QUI5ODAwNTNBQzY3IC8qIE1vdmVPbmx5TGlmZWN5Y2xl
TG9nZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNERUZFMUQwQTU5MEMwMEZFQkNGMyAv
KiBOYWtlZFB0ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0NkJCRUExQjI1Rjk4MzU3MDBENDk4
N0EgLyogV29ya1F1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1N0Q1NEYzMUYzMzhDMzYw
MEE5N0FBNyAvKiBOZXZlckRlc3Ryb3llZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDQ4QTg3
MzI0QzhBNjZGMDBGNTgwMEMgLyogT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4
M0RGMDExRDBBNTkwQzAwRkVCQ0YzIC8qIE9wdGlvbmFsLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVlLmNwcCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHAKaW5kZXggNWNmMTY3MTA3
ZjZjMTRhY2JkMGM2YzllMjVmNjZjM2YwOTI5OTI1MS4uNTZlMGEwNjJiM2QwYzhiYWRhYTEyZWQw
NDk3YzE1ZDg4MTZjZWU1ZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvV29ya1F1ZXVlLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Xb3Jr
UXVldWUuY3BwCkBAIC04NCw3ICs4NCw3IEBAIFRFU1QoV1RGX1dvcmtRdWV1ZSwgU2ltcGxlKQog
ICAgICAgICBtX3Rlc3RDb21wbGV0ZWQubm90aWZ5T25lKCk7CiAgICAgfSk7CiAKLSAgICBFWFBF
Q1RfR1QocXVldWUtPnJlZkNvdW50KCksIDEpOworICAgIEVYUEVDVF9HVChxdWV1ZS0+cmVmQ291
bnQoKSwgMVUpOwogCiAgICAgbV90ZXN0Q29tcGxldGVkLndhaXQobV9sb2NrKTsKIApAQCAtMTEx
LDggKzExMSw4IEBAIFRFU1QoV1RGX1dvcmtRdWV1ZSwgVHdvUXVldWVzKQogICAgIGF1dG8gcXVl
dWUxID0gV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuVGVzdC50d29RdWV1ZXMx
Iik7CiAgICAgYXV0byBxdWV1ZTIgPSBXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxlLldlYktp
dC5UZXN0LnR3b1F1ZXVlczIiKTsKIAotICAgIEVYUEVDVF9FUSgxLCBxdWV1ZTEtPnJlZkNvdW50
KCkpOwotICAgIEVYUEVDVF9FUSgxLCBxdWV1ZTItPnJlZkNvdW50KCkpOworICAgIEVYUEVDVF9F
USgxVSwgcXVldWUxLT5yZWZDb3VudCgpKTsKKyAgICBFWFBFQ1RfRVEoMVUsIHF1ZXVlMi0+cmVm
Q291bnQoKSk7CiAKICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2xvY2spOwogICAgIApAQCAtMjM1
LDQgKzIzNSw0MyBAQCBURVNUKFdURl9Xb3JrUXVldWUsIERlc3Ryb3lPblNlbGYpCiAgICAgfQog
fQogCitURVNUKFdURl9Xb3JrUXVldWUsIERpc3BhdGNoU3luYykKK3sKKyAgICBhdXRvIHF1ZXVl
ID0gV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuVGVzdC5kaXNwYXRjaFN5bmMi
KTsKKyAgICBzdGQ6OmF0b21pYzxib29sPiBmaXJzdEFzeW5jVGFza1JhbiA9IGZhbHNlOworICAg
IHN0ZDo6YXRvbWljPGJvb2w+IHNlY29uZEFzeW5jVGFza1JhbiA9IGZhbHNlOworICAgIHN0ZDo6
YXRvbWljPGJvb2w+IGZpcnN0U3luY1Rhc2tUYXNrUmFuID0gZmFsc2U7CisgICAgc3RkOjphdG9t
aWM8Ym9vbD4gc2Vjb25kU3luY1Rhc2tUYXNrUmFuID0gZmFsc2U7CisgICAgcXVldWUtPmRpc3Bh
dGNoKFsmXSB7CisgICAgICAgIEVYUEVDVF9GQUxTRShmaXJzdEFzeW5jVGFza1Jhbik7CisgICAg
ICAgIEVYUEVDVF9GQUxTRShmaXJzdFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAgIEVYUEVDVF9G
QUxTRShzZWNvbmRBc3luY1Rhc2tSYW4pOworICAgICAgICBFWFBFQ1RfRkFMU0Uoc2Vjb25kU3lu
Y1Rhc2tUYXNrUmFuKTsKKyAgICAgICAgZmlyc3RBc3luY1Rhc2tSYW4gPSB0cnVlOworICAgIH0p
OworICAgIHF1ZXVlLT5kaXNwYXRjaFN5bmMoWyZdIHsKKyAgICAgICAgRVhQRUNUX1RSVUUoZmly
c3RBc3luY1Rhc2tSYW4pOworICAgICAgICBFWFBFQ1RfRkFMU0UoZmlyc3RTeW5jVGFza1Rhc2tS
YW4pOworICAgICAgICBFWFBFQ1RfRkFMU0Uoc2Vjb25kQXN5bmNUYXNrUmFuKTsKKyAgICAgICAg
RVhQRUNUX0ZBTFNFKHNlY29uZFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAgIGZpcnN0U3luY1Rh
c2tUYXNrUmFuID0gdHJ1ZTsKKyAgICB9KTsKKyAgICBFWFBFQ1RfVFJVRShmaXJzdFN5bmNUYXNr
VGFza1Jhbik7CisgICAgcXVldWUtPmRpc3BhdGNoKFsmXSB7CisgICAgICAgIEVYUEVDVF9UUlVF
KGZpcnN0QXN5bmNUYXNrUmFuKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoZmlyc3RTeW5jVGFza1Rh
c2tSYW4pOworICAgICAgICBFWFBFQ1RfRkFMU0Uoc2Vjb25kQXN5bmNUYXNrUmFuKTsKKyAgICAg
ICAgRVhQRUNUX0ZBTFNFKHNlY29uZFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAgIHNlY29uZEFz
eW5jVGFza1JhbiA9IHRydWU7CisgICAgfSk7CisgICAgcXVldWUtPmRpc3BhdGNoU3luYyhbJl0g
eworICAgICAgICBFWFBFQ1RfVFJVRShmaXJzdEFzeW5jVGFza1Jhbik7CisgICAgICAgIEVYUEVD
VF9UUlVFKGZpcnN0U3luY1Rhc2tUYXNrUmFuKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoc2Vjb25k
QXN5bmNUYXNrUmFuKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHNlY29uZFN5bmNUYXNrVGFza1Jh
bik7CisgICAgICAgIHNlY29uZFN5bmNUYXNrVGFza1JhbiA9IHRydWU7CisgICAgfSk7CisgICAg
RVhQRUNUX1RSVUUoc2Vjb25kU3luY1Rhc2tUYXNrUmFuKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
VGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1dlYktp
dEdMaWIvV2ViS2l0VGVzdFNlcnZlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2Vi
S2l0R0xpYi9XZWJLaXRUZXN0U2VydmVyLmNwcAppbmRleCBlZDg1NWVlZmM5ZWQ3ZjE2ODI1YjZm
ZDllOWRkNGZkMWFkM2JjNDA4Li5mZjA0M2RiNjNkZjZhNWJhOWFkYjc4YTA2OWU2NmIwYTcwZTkz
OTQ0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJL
aXRUZXN0U2VydmVyLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xp
Yi9XZWJLaXRUZXN0U2VydmVyLmNwcApAQCAtNTEsMTIgKzUxLDkgQEAgdm9pZCBXZWJLaXRUZXN0
U2VydmVyOjpydW4oU291cFNlcnZlckNhbGxiYWNrIHNlcnZlckNhbGxiYWNrKQogICAgICAgICBv
cHRpb25zIHw9IFNPVVBfU0VSVkVSX0xJU1RFTl9IVFRQUzsKIAogICAgIGlmIChtX3F1ZXVlKSB7
Ci0gICAgICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0gICAgICAgIG1fcXVldWUtPmRp
c3BhdGNoKFsmXSB7CisgICAgICAgIG1fcXVldWUtPmRpc3BhdGNoU3luYyhbJl0gewogICAgICAg
ICAgICAgZ19hc3NlcnRfdHJ1ZShzb3VwX3NlcnZlcl9saXN0ZW5fbG9jYWwobV9zb3VwU2VydmVy
LmdldCgpLCAwLCBzdGF0aWNfY2FzdDxTb3VwU2VydmVyTGlzdGVuT3B0aW9ucz4ob3B0aW9ucyks
IG51bGxwdHIpKTsKLSAgICAgICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKICAgICAgICAgfSk7
Ci0gICAgICAgIHNlbWFwaG9yZS53YWl0KCk7CiAgICAgfSBlbHNlCiAgICAgICAgIGdfYXNzZXJ0
X3RydWUoc291cF9zZXJ2ZXJfbGlzdGVuX2xvY2FsKG1fc291cFNlcnZlci5nZXQoKSwgMCwgc3Rh
dGljX2Nhc3Q8U291cFNlcnZlckxpc3Rlbk9wdGlvbnM+KG9wdGlvbnMpLCBudWxscHRyKSk7CiAK
</data>
<flag name="commit-queue"
          id="442096"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422888</attachid>
            <date>2021-03-10 17:34:30 -0800</date>
            <delta_ts>2021-03-11 08:15:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223049-20210310173429.patch</filename>
            <type>text/plain</type>
            <size>17031</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDhlNGFlMzlkZWJjOGM2N2U2NDcxYTlm
ZjY2Yzg0ZDcwMGQ2OTk0YmYuLjUxOTVjZjVlNjZmNTBhMzZkYWQyOTI0Zjg5MzM3MGJlZjE2ODY3
MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDMtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDQ5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9k
dWNlIFdvcmtRdWV1ZTo6ZGlzcGF0Y2hTeW5jKCksIHdoaWNoIHJlbGllcyBvbiBHQ0QncyBkaXNw
YXRjaF9zeW5jKCkgaW50ZXJuYWxseSBvbiBDb2NvYQorICAgICAgICBwb3J0cy4gRm9yIG90aGVy
IHBvcnRzLCBpdCByZWxpZXMgb24gYSBCaW5hcnlTZW1hcGhvcmUgZm9yIHN5bmNocm9uaXphdGlv
bi4KKworICAgICAgICAqIHd0Zi9Xb3JrUXVldWUuY3BwOgorICAgICAgICAoV1RGOjpXb3JrUXVl
dWU6OmRpc3BhdGNoU3luYyk6CisgICAgICAgICogd3RmL1dvcmtRdWV1ZS5oOgorICAgICAgICAq
IHd0Zi9jb2NvYS9Xb3JrUXVldWVDb2NvYS5jcHA6CisgICAgICAgIChXVEY6OldvcmtRdWV1ZTo6
ZGlzcGF0Y2hTeW5jKToKKwogMjAyMS0wMy0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVzZSBSZXRhaW5QdHI8PiAvIE9TT2JqZWN0UHRyPD4gbW9yZSBpbiBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA3ZDhiY2VkNGYyMDhhOTEzNmQ3OTU5ZDQ1OWNlMDdkYmFlOGMx
ZGI5Li5mNzE5Y2UwZWQ4NDM0YjlhNDFkNTRlZTFiNThhMjhmMDY0N2QyNWEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDMtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMoKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDQ5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRvcHQgV29ya1F1
ZXVlOjpkaXNwYXRjaFN5bmMoKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dsaWIvRmlsZU1vbml0
b3JHTGliLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVNb25pdG9yOjpGaWxlTW9uaXRvcik6
CisgICAgICAgIChXZWJDb3JlOjpGaWxlTW9uaXRvcjo6fkZpbGVNb25pdG9yKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyOjp+TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpOgorCiAyMDIxLTAzLTEwICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFJldGFpblB0cjw+
IC8gT1NPYmplY3RQdHI8PiBtb3JlIGluIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkNTdkNmJlZGJmN2Y3
MDQ0MWVlZjBlODk2YjBiN2FhMjAyYzNiZTIyLi45OTBjOGI0YTI2OTYyMTllNzlmYjI0MmVjMTY1
YWU5ZTE2YzUwNzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAzLTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFdvcmtRdWV1
ZTo6ZGlzcGF0Y2hTeW5jKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMzA0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkb3B0IFdvcmtRdWV1ZTo6ZGlzcGF0Y2hTeW5jKCkuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6U3RvcmFnZU1hbmFnZXJTZXQ6OndhaXRVbnRpbFRhc2tzRmluaXNoZWQpOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlclNldDo6d2FpdFVudGlsU3luY2luZ0xvY2FsU3Rv
cmFnZUZpbmlzaGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SWNvbkRhdGFiYXNlOjpJY29uRGF0YWJhc2UpOgorICAg
ICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6On5JY29uRGF0YWJhc2UpOgorCiAyMDIxLTAzLTEw
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFJldGFpblB0
cjw+IC8gT1NPYmplY3RQdHI8PiBtb3JlIGluIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvV29ya1F1ZXVlLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5jcHAKaW5kZXgg
ZjE5MTA1MTk3YWJkYThhMDJjOWJjZWIyMjBiNWVhYTVmMWE3YjY5Ny4uZDVkZWI5ZmMxMjYyZmQz
ZTE5MTJhMDA5M2I3NWMzNjFlYjI5MTUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvV29y
a1F1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuY3BwCkBAIC0zNiw2ICsz
Niw3IEBACiAjaW5jbHVkZSA8d3RmL051bWJlck9mQ29yZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgorI2luY2x1ZGUgPHd0Zi90aHJlYWRzL0Jp
bmFyeVNlbWFwaG9yZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtNTUsNiArNTYsMTYgQEAg
V29ya1F1ZXVlOjp+V29ya1F1ZXVlKCkKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKK3ZvaWQg
V29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMoRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQorewor
ICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7CisgICAgZGlzcGF0Y2goWyZzZW1hcGhvcmUs
IGZ1bmN0aW9uID0gV1RGTW92ZShmdW5jdGlvbildKCkgbXV0YWJsZSB7CisgICAgICAgIGZ1bmN0
aW9uKCk7CisgICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKKyAgICB9KTsKKyAgICBzZW1hcGhv
cmUud2FpdCgpOworfQorCiB2b2lkIFdvcmtRdWV1ZTo6Y29uY3VycmVudEFwcGx5KHNpemVfdCBp
dGVyYXRpb25zLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKHNpemVfdCBpbmRleCk+JiYgZnVuY3Rpb24p
CiB7CiAgICAgaWYgKCFpdGVyYXRpb25zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV29y
a1F1ZXVlLmggYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaAppbmRleCA0YTNiN2RhZmFlNzhm
MWE2ZDljNDYzYjJjYzZhMDNkYTk0YTQxMzI2Li4yMzY1NDMyMGM5ZGZjYzAzNzZlMWU1OGJkMGM2
M2ZjOWQwYzcxMzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaApAQCAtNTUsNiArNTUsNyBAQCBwdWJsaWM6CiAK
ICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBkaXNwYXRjaChGdW5jdGlvbjx2b2lkKCk+JiYp
IGZpbmFsOwogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGRpc3BhdGNoQWZ0ZXIoU2Vjb25k
cywgRnVuY3Rpb248dm9pZCgpPiYmKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBkaXNw
YXRjaFN5bmMoRnVuY3Rpb248dm9pZCgpPiYmKTsKIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSBz
dGF0aWMgdm9pZCBjb25jdXJyZW50QXBwbHkoc2l6ZV90IGl0ZXJhdGlvbnMsIFdURjo6RnVuY3Rp
b248dm9pZChzaXplX3QgaW5kZXgpPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
Y29jb2EvV29ya1F1ZXVlQ29jb2EuY3BwIGIvU291cmNlL1dURi93dGYvY29jb2EvV29ya1F1ZXVl
Q29jb2EuY3BwCmluZGV4IDQ5Y2RiYjU4ODBiYjE2NmI1Zjc1ZTU2ZGRjNzljMWNmYTFhNTQwNDYu
LjAyZDdiNzc5NzBlNjk2YTU4NTRiZDc0NTIwMjdmOWUwYTBlZjg4ZGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9jb2NvYS9Xb3JrUXVldWVDb2NvYS5jcHAKQEAgLTQ1LDYgKzQ1LDEzIEBAIHZvaWQgV29ya1F1
ZXVlOjpkaXNwYXRjaEFmdGVyKFNlY29uZHMgZHVyYXRpb24sIEZ1bmN0aW9uPHZvaWQoKT4mJiBm
dW5jdGlvbikKICAgICB9KS5nZXQoKSk7CiB9CiAKK3ZvaWQgV29ya1F1ZXVlOjpkaXNwYXRjaFN5
bmMoRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQoreworICAgIGRpc3BhdGNoX3N5bmMobV9k
aXNwYXRjaFF1ZXVlLmdldCgpLCBtYWtlQmxvY2tQdHIoW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKSwgZnVuY3Rpb24gPSBXVEZNb3ZlKGZ1bmN0aW9uKV0geworICAgICAgICBmdW5jdGlv
bigpOworICAgIH0pLmdldCgpKTsKK30KKwogdm9pZCBXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlh
bGl6ZShjb25zdCBjaGFyKiBuYW1lLCBUeXBlIHR5cGUsIFFPUyBxb3MpCiB7CiAgICAgZGlzcGF0
Y2hfcXVldWVfYXR0cl90IGF0dHIgPSB0eXBlID09IFR5cGU6OkNvbmN1cnJlbnQgPyBESVNQQVRD
SF9RVUVVRV9DT05DVVJSRU5UIDogRElTUEFUQ0hfUVVFVUVfU0VSSUFMOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9GaWxlTW9uaXRvckdMaWIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9GaWxlTW9uaXRvckdMaWIuY3BwCmluZGV4IGNjZjgxNzY0
MWE2NjMxNTI2NWI0ODRlOWIzYjJkODgyYjI3Y2NkMTAuLjAxZTBhZDRmYTBkOTM0OWY1MDJjMjg2
MzNmN2Q4ODFmNmM1YjFlODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ds
aWIvRmlsZU1vbml0b3JHTGliLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGli
L0ZpbGVNb25pdG9yR0xpYi5jcHAKQEAgLTU1LDEyICs1NSw5IEBAIEZpbGVNb25pdG9yOjpGaWxl
TW9uaXRvcihjb25zdCBTdHJpbmcmIHBhdGgsIFJlZjxXb3JrUXVldWU+JiYgaGFuZGxlclF1ZXVl
LCBXVEY6CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBCaW5hcnlTZW1hcGhvcmUgc2Vt
YXBob3JlOwotICAgIG1faGFuZGxlclF1ZXVlLT5kaXNwYXRjaChbY3JlYXRlUGxhdGZvcm1Nb25p
dG9yID0gV1RGTW92ZShjcmVhdGVQbGF0Zm9ybU1vbml0b3IpLCAmc2VtYXBob3JlXSB7CisgICAg
bV9oYW5kbGVyUXVldWUtPmRpc3BhdGNoU3luYyhbY3JlYXRlUGxhdGZvcm1Nb25pdG9yID0gV1RG
TW92ZShjcmVhdGVQbGF0Zm9ybU1vbml0b3IpXSB7CiAgICAgICAgIGNyZWF0ZVBsYXRmb3JtTW9u
aXRvcigpOwotICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgfSk7Ci0gICAgc2VtYXBo
b3JlLndhaXQoKTsKIH0KIAogRmlsZU1vbml0b3I6On5GaWxlTW9uaXRvcigpCkBAIC03MSwxMiAr
NjgsOSBAQCBGaWxlTW9uaXRvcjo6fkZpbGVNb25pdG9yKCkKICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0gICAgbV9oYW5kbGVyUXVldWUt
PmRpc3BhdGNoKFsmXSB7CisgICAgbV9oYW5kbGVyUXVldWUtPmRpc3BhdGNoU3luYyhbdGhpc10g
ewogICAgICAgICBjYW5jZWwoKTsKLSAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwogICAgIH0p
OwotICAgIHNlbWFwaG9yZS53YWl0KCk7CiB9CiAKIHZvaWQgRmlsZU1vbml0b3I6OmZpbGVDaGFu
Z2VkQ2FsbGJhY2soR0ZpbGVNb25pdG9yKiwgR0ZpbGUqLCBHRmlsZSosIEdGaWxlTW9uaXRvckV2
ZW50IGV2ZW50LCBGaWxlTW9uaXRvciogbW9uaXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KaW5kZXggNWU0MDMw
OTYxMTc4MDU4YjA3ZDE2NWFjNmNhOThmMzRhNzA0MWJhYy4uNDk3MTAwMzI1MTRhYTUzM2Y2MzUz
NTJkNTAzN2FjMDMzMWQzYTRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KQEAgLTE4NywxMSArMTg3LDcgQEAg
dm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6aW5pdGlhbGl6ZShib29sIGhpZGVS
b290TGF5ZXIsIEludFNpemUgc2l6ZSwKIAogTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6
On5Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcigpCiB7Ci0gICAgQmluYXJ5U2VtYXBob3Jl
IHNlbWFwaG9yZTsKLSAgICBtX3Byb2Nlc3NpbmdRdWV1ZS0+ZGlzcGF0Y2goWyZzZW1hcGhvcmVd
IHsKLSAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwotICAgIH0pOwotICAgIHNlbWFwaG9yZS53
YWl0KCk7CisgICAgbV9wcm9jZXNzaW5nUXVldWUtPmRpc3BhdGNoU3luYyhbXSB7IH0pOwogCiAg
ICAgbV9wcm9jZXNzaW5nUXVldWUgPSBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmNw
cAppbmRleCBhMDI5MGIxOTU4MWM3OWQ1ODJjOTIzMTg4NzM3NWZmNzU2ZDU5NmVhLi4xMjQ3MDE1
ZjNmOGNmMzVkY2YwMzc0MjdlYWNkYmY0OTRiYzQzYmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNl
dC5jcHAKQEAgLTEyNywzNCArMTI3LDI2IEBAIHZvaWQgU3RvcmFnZU1hbmFnZXJTZXQ6OndhaXRV
bnRpbFRhc2tzRmluaXNoZWQoKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAK
LSAgICBCaW5hcnlTZW1hcGhvcmUgc2VtYXBob3JlOwotICAgIG1fcXVldWUtPmRpc3BhdGNoKFt0
aGlzLCAmc2VtYXBob3JlXSB7CisgICAgbV9xdWV1ZS0+ZGlzcGF0Y2hTeW5jKFt0aGlzXSB7CiAg
ICAgICAgIGZvciAoYXV0byYgc3RvcmFnZU1hbmFnZXIgOiBtX3N0b3JhZ2VNYW5hZ2Vycy52YWx1
ZXMoKSkKICAgICAgICAgICAgIHN0b3JhZ2VNYW5hZ2VyLT5jbGVhclN0b3JhZ2VOYW1lc3BhY2Vz
KCk7CiAKICAgICAgICAgbV9zdG9yYWdlTWFuYWdlcnMuY2xlYXIoKTsKICAgICAgICAgbV9zdG9y
YWdlQXJlYXMuY2xlYXIoKTsKLQotICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgfSk7
Ci0gICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAogdm9pZCBTdG9yYWdlTWFuYWdlclNldDo6d2Fp
dFVudGlsU3luY2luZ0xvY2FsU3RvcmFnZUZpbmlzaGVkKCkKIHsKICAgICBBU1NFUlQoUnVuTG9v
cDo6aXNNYWluKCkpOwogCi0gICAgQmluYXJ5U2VtYXBob3JlIHNlbWFwaG9yZTsKLSAgICBtX3F1
ZXVlLT5kaXNwYXRjaChbdGhpcywgJnNlbWFwaG9yZV0geworICAgIG1fcXVldWUtPmRpc3BhdGNo
U3luYyhbdGhpc10gewogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHN0b3JhZ2VBcmVhIDogbV9z
dG9yYWdlQXJlYXMudmFsdWVzKCkpIHsKICAgICAgICAgICAgIEFTU0VSVChzdG9yYWdlQXJlYSk7
CiAgICAgICAgICAgICBpZiAoc3RvcmFnZUFyZWEpCiAgICAgICAgICAgICAgICAgc3RvcmFnZUFy
ZWEtPnN5bmNUb0RhdGFiYXNlKCk7CiAgICAgICAgIH0KLQotICAgICAgICBzZW1hcGhvcmUuc2ln
bmFsKCk7CiAgICAgfSk7Ci0gICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAogdm9pZCBTdG9yYWdl
TWFuYWdlclNldDo6c3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9J
Y29uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNvbkRh
dGFiYXNlLmNwcAppbmRleCA5MWZmYjIzM2JlODg2MWQyYTc3ODlkNjhmNzQ3MDkzODIxMzM0NmRm
Li40NzZlYzZiZjZlNDI3YmNiYWYyMjc5YWU0NWVkZDkyMmMwNjc3OTFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25EYXRhYmFzZS5jcHAKQEAgLTU2LDE4
ICs1NiwxNCBAQCBJY29uRGF0YWJhc2U6Okljb25EYXRhYmFzZShjb25zdCBTdHJpbmcmIHBhdGgs
IEFsbG93RGF0YWJhc2VXcml0ZSBhbGxvd0RhdGFiYXNlVwogCiAgICAgLy8gV2UgaW5pdGlhbGl6
ZSB0aGUgZGF0YWJhc2Ugc3luY2hyb25vdXNseSwgaXQncyBob3BlZnVsbHkgZmFzdCBlbm91Z2gg
YmVjYXVzZSBpdCBtYWtlcwogICAgIC8vIHRoZSBpbXBsZW1lbnRhdGlvbiBhIGxvdCBzaW1wbGVy
LgotICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0gICAgbV93b3JrUXVldWUtPmRpc3Bh
dGNoKFsmXSB7Ci0gICAgICAgIGlmIChhbGxvd0RhdGFiYXNlV3JpdGUgPT0gQWxsb3dEYXRhYmFz
ZVdyaXRlOjpObyAmJiAhRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhwYXRoKSkgewotICAgICAgICAg
ICAgc2VtYXBob3JlLnNpZ25hbCgpOworICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaFN5bmMoWyZd
IHsKKyAgICAgICAgaWYgKGFsbG93RGF0YWJhc2VXcml0ZSA9PSBBbGxvd0RhdGFiYXNlV3JpdGU6
Ok5vICYmICFGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHBhdGgpKQogICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICB9CiAKICAgICAgICAgYXV0byBkYXRhYmFzZURpcmVjdG9yeSA9IEZpbGVTeXN0
ZW06OmRpcmVjdG9yeU5hbWUocGF0aCk7CiAgICAgICAgIEZpbGVTeXN0ZW06Om1ha2VBbGxEaXJl
Y3RvcmllcyhkYXRhYmFzZURpcmVjdG9yeSk7CiAgICAgICAgIGlmICghbV9kYi5vcGVuKHBhdGgp
KSB7CiAgICAgICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBvcGVuIGZhdmljb24gZGF0YWJh
c2UgYXQgcGF0aCAlcyAtICVzIiwgcGF0aC51dGY4KCkuZGF0YSgpLCBtX2RiLmxhc3RFcnJvck1z
ZygpKTsKLSAgICAgICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogCkBAIC03NiwxNCArNzIsMTIgQEAgSWNvbkRhdGFiYXNlOjpJY29uRGF0
YWJhc2UoY29uc3QgU3RyaW5nJiBwYXRoLCBBbGxvd0RhdGFiYXNlV3JpdGUgYWxsb3dEYXRhYmFz
ZVcKICAgICAgICAgICAgIExPRyhJY29uRGF0YWJhc2UsICJEYXRhYmFzZSB2ZXJzaW9uIG51bWJl
ciAlZCBpcyBncmVhdGVyIHRoYW4gb3VyIGN1cnJlbnQgdmVyc2lvbiBudW1iZXIgJWQgLSBjbG9z
aW5nIHRoZSBkYXRhYmFzZSB0byBwcmV2ZW50IG92ZXJ3cml0aW5nIG5ld2VyIHZlcnNpb25zIiwK
ICAgICAgICAgICAgICAgICBkYXRhYmFzZVZlcnNpb25OdW1iZXIsIGN1cnJlbnREYXRhYmFzZVZl
cnNpb24pOwogICAgICAgICAgICAgbV9kYi5jbG9zZSgpOwotICAgICAgICAgICAgc2VtYXBob3Jl
LnNpZ25hbCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgaWYg
KGRhdGFiYXNlVmVyc2lvbk51bWJlciA8IGN1cnJlbnREYXRhYmFzZVZlcnNpb24pIHsKICAgICAg
ICAgICAgIGlmIChtX2FsbG93RGF0YWJhc2VXcml0ZSA9PSBBbGxvd0RhdGFiYXNlV3JpdGU6Ok5v
KSB7CiAgICAgICAgICAgICAgICAgbV9kYi5jbG9zZSgpOwotICAgICAgICAgICAgICAgIHNlbWFw
aG9yZS5zaWduYWwoKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAK
QEAgLTEwMCwyNiArOTQsMjAgQEAgSWNvbkRhdGFiYXNlOjpJY29uRGF0YWJhc2UoY29uc3QgU3Ry
aW5nJiBwYXRoLCBBbGxvd0RhdGFiYXNlV3JpdGUgYWxsb3dEYXRhYmFzZVcKIAogICAgICAgICBp
ZiAoIWNyZWF0ZVRhYmxlc0lmTmVlZGVkKCkpCiAgICAgICAgICAgICBwb3B1bGF0ZVBhZ2VVUkxU
b0ljb25VUkxNYXAoKTsKLQotICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgfSk7Ci0g
ICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAogSWNvbkRhdGFiYXNlOjp+SWNvbkRhdGFiYXNlKCkK
IHsKICAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKIAotICAgIEJpbmFyeVNlbWFwaG9yZSBz
ZW1hcGhvcmU7Ci0gICAgbV93b3JrUXVldWUtPmRpc3BhdGNoKFsmXSB7CisgICAgbV93b3JrUXVl
dWUtPmRpc3BhdGNoU3luYyhbJl0gewogICAgICAgICBpZiAobV9kYi5pc09wZW4oKSkgewogICAg
ICAgICAgICAgbV9wcnVuZVRpbWVyID0gbnVsbHB0cjsKICAgICAgICAgICAgIGNsZWFyU3RhdGVt
ZW50cygpOwogICAgICAgICAgICAgbV9kYi5jbG9zZSgpOwogICAgICAgICB9Ci0gICAgICAgIHNl
bWFwaG9yZS5zaWduYWwoKTsKICAgICB9KTsKLSAgICBzZW1hcGhvcmUud2FpdCgpOwogfQogCiBi
b29sIEljb25EYXRhYmFzZTo6Y3JlYXRlVGFibGVzSWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDJjYWI4OGE5MjNkYzdmNWU5YTc1
MjgxM2M5ZDQwNGIxYWFiODUwODIuLjcwY2NhN2QxNDY5ZmFhNTI0MDgxNmFiNmQxZWZkZWQ3NGM4
ZGI2ZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAyMS0wMy0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCisgICAgICAgIEludHJvZHVjZSBXb3JrUXVldWU6OmRpc3BhdGNoU3luYygpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMwNDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3Qg
Y292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9X
b3JrUXVldWUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvV2ViS2l0VGVzdFNlcnZlci5jcHA6CisgICAg
ICAgIChXZWJLaXRUZXN0U2VydmVyOjpydW4pOgorCiAyMDIxLTAzLTEwICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFJldGFpblB0cjw+IC8gT1NPYmplY3RQ
dHI8PiBtb3JlIGluIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5NTczNThhYzk4
MDRiOTg1OWI3MmViMjRkODZmYzVjYTlhMWMyOTQ4Li4zOGMwMmY5OWQ2OGQ1YmQ3Y2ZiNjE0MjAx
ZjBhNGU2MDg1ZDdjYmMxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjY4LDYgKzI2OCw3
IEBACiAJCTQ2QTQ2QTFBMjU3NTY0NTYwMEExQjExOCAvKiBTZXNzaW9uU3RvcmFnZS5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QTQ2QTE5MjU3NTY0
NTYwMEExQjExOCAvKiBTZXNzaW9uU3RvcmFnZS5tbSAqLzsgfTsKIAkJNDZBOTExNTkyMTA4RTY3
ODAwNzhENDBEIC8qIEN1c3RvbVVzZXJBZ2VudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QTkxMTU4MjEwOEU2NkIwMDc4RDQwRCAvKiBDdXN0b21V
c2VyQWdlbnQubW0gKi87IH07CiAJCTQ2QUU1QTM3MjBGOTA2NkQwMEUwODczRSAvKiBTaW1wbGVT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1NkE3NTcyMEY5MDU0RjAwMDJFMjFG
IC8qIFNpbXBsZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQuc3FsaXRlMyAqLzsgfTsKKwkJ
NDZCQkVBMUIyNUY5ODM1NzAwRDQ5ODdBIC8qIFdvcmtRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUE2QTE1MTFBQUMwQjMxMDAyQjJFRDMg
LyogV29ya1F1ZXVlLmNwcCAqLzsgfTsKIAkJNDZDMUVBOTgyNTc1ODgyMDAwNUU0MDlFIC8qIGFs
ZXJ0Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDZDMUVBOTcyNTc1ODgwNTAwNUU0MDlFIC8qIGFsZXJ0Lmh0bWwgKi87IH07CiAJCTQ2
QzNBRUIzMjNEMEU1MjkwMDFCMDY4MCAvKiBiZWZvcmV1bmxvYWQuaHRtbCBpbiBDb3B5IFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkMzQUVCMjIzRDBFNTBG
MDAxQjA2ODAgLyogYmVmb3JldW5sb2FkLmh0bWwgKi87IH07CiAJCTQ2QzUxOURBMUQzNTVBQjIw
MERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzUxOUQ4MUQzNTVBNzMwMERBQTUxQSAvKiBM
b2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSAqLzsgfTsKQEAgLTUxMjUsNiArNTEyNiw3IEBACiAJ
CQkJN0M4M0RGNEMxRDBBNTkwQzAwRkVCQ0YzIC8qIFZlY3Rvci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzN0M3Q0MyRDFFQTQxNDZCMDA3QkQ5NTYgLyogV2Vha0xpbmtpbmcuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTdDM0ZBNjYxRjdDMjQ4RjAwOUQ0QjgwIC8qIFdlYWtQdHIuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNDZCQkVBMUIyNUY5ODM1NzAwRDQ5ODdBIC8qIFdvcmtRdWV1ZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk3QzgzREY2MzFEMEE1OTBDMDBGRUJDRjMgLyogV1RGU3RyaW5n
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQkQ1QTIzMjJERTQyQTYwMDRBOUUzMiAvKiBXVEZT
dHJpbmdVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHAKaW5kZXggNWNmMTY3MTA3ZjZjMTRhY2JkMGM2
YzllMjVmNjZjM2YwOTI5OTI1MS4uNTZlMGEwNjJiM2QwYzhiYWRhYTEyZWQwNDk3YzE1ZDg4MTZj
ZWU1ZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVl
LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Xb3JrUXVldWUuY3BwCkBA
IC04NCw3ICs4NCw3IEBAIFRFU1QoV1RGX1dvcmtRdWV1ZSwgU2ltcGxlKQogICAgICAgICBtX3Rl
c3RDb21wbGV0ZWQubm90aWZ5T25lKCk7CiAgICAgfSk7CiAKLSAgICBFWFBFQ1RfR1QocXVldWUt
PnJlZkNvdW50KCksIDEpOworICAgIEVYUEVDVF9HVChxdWV1ZS0+cmVmQ291bnQoKSwgMVUpOwog
CiAgICAgbV90ZXN0Q29tcGxldGVkLndhaXQobV9sb2NrKTsKIApAQCAtMTExLDggKzExMSw4IEBA
IFRFU1QoV1RGX1dvcmtRdWV1ZSwgVHdvUXVldWVzKQogICAgIGF1dG8gcXVldWUxID0gV29ya1F1
ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuVGVzdC50d29RdWV1ZXMxIik7CiAgICAgYXV0
byBxdWV1ZTIgPSBXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxlLldlYktpdC5UZXN0LnR3b1F1
ZXVlczIiKTsKIAotICAgIEVYUEVDVF9FUSgxLCBxdWV1ZTEtPnJlZkNvdW50KCkpOwotICAgIEVY
UEVDVF9FUSgxLCBxdWV1ZTItPnJlZkNvdW50KCkpOworICAgIEVYUEVDVF9FUSgxVSwgcXVldWUx
LT5yZWZDb3VudCgpKTsKKyAgICBFWFBFQ1RfRVEoMVUsIHF1ZXVlMi0+cmVmQ291bnQoKSk7CiAK
ICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2xvY2spOwogICAgIApAQCAtMjM1LDQgKzIzNSw0MyBA
QCBURVNUKFdURl9Xb3JrUXVldWUsIERlc3Ryb3lPblNlbGYpCiAgICAgfQogfQogCitURVNUKFdU
Rl9Xb3JrUXVldWUsIERpc3BhdGNoU3luYykKK3sKKyAgICBhdXRvIHF1ZXVlID0gV29ya1F1ZXVl
OjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuVGVzdC5kaXNwYXRjaFN5bmMiKTsKKyAgICBzdGQ6
OmF0b21pYzxib29sPiBmaXJzdEFzeW5jVGFza1JhbiA9IGZhbHNlOworICAgIHN0ZDo6YXRvbWlj
PGJvb2w+IHNlY29uZEFzeW5jVGFza1JhbiA9IGZhbHNlOworICAgIHN0ZDo6YXRvbWljPGJvb2w+
IGZpcnN0U3luY1Rhc2tUYXNrUmFuID0gZmFsc2U7CisgICAgc3RkOjphdG9taWM8Ym9vbD4gc2Vj
b25kU3luY1Rhc2tUYXNrUmFuID0gZmFsc2U7CisgICAgcXVldWUtPmRpc3BhdGNoKFsmXSB7Cisg
ICAgICAgIEVYUEVDVF9GQUxTRShmaXJzdEFzeW5jVGFza1Jhbik7CisgICAgICAgIEVYUEVDVF9G
QUxTRShmaXJzdFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAgIEVYUEVDVF9GQUxTRShzZWNvbmRB
c3luY1Rhc2tSYW4pOworICAgICAgICBFWFBFQ1RfRkFMU0Uoc2Vjb25kU3luY1Rhc2tUYXNrUmFu
KTsKKyAgICAgICAgZmlyc3RBc3luY1Rhc2tSYW4gPSB0cnVlOworICAgIH0pOworICAgIHF1ZXVl
LT5kaXNwYXRjaFN5bmMoWyZdIHsKKyAgICAgICAgRVhQRUNUX1RSVUUoZmlyc3RBc3luY1Rhc2tS
YW4pOworICAgICAgICBFWFBFQ1RfRkFMU0UoZmlyc3RTeW5jVGFza1Rhc2tSYW4pOworICAgICAg
ICBFWFBFQ1RfRkFMU0Uoc2Vjb25kQXN5bmNUYXNrUmFuKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNF
KHNlY29uZFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAgIGZpcnN0U3luY1Rhc2tUYXNrUmFuID0g
dHJ1ZTsKKyAgICB9KTsKKyAgICBFWFBFQ1RfVFJVRShmaXJzdFN5bmNUYXNrVGFza1Jhbik7Cisg
ICAgcXVldWUtPmRpc3BhdGNoKFsmXSB7CisgICAgICAgIEVYUEVDVF9UUlVFKGZpcnN0QXN5bmNU
YXNrUmFuKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoZmlyc3RTeW5jVGFza1Rhc2tSYW4pOworICAg
ICAgICBFWFBFQ1RfRkFMU0Uoc2Vjb25kQXN5bmNUYXNrUmFuKTsKKyAgICAgICAgRVhQRUNUX0ZB
TFNFKHNlY29uZFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAgIHNlY29uZEFzeW5jVGFza1JhbiA9
IHRydWU7CisgICAgfSk7CisgICAgcXVldWUtPmRpc3BhdGNoU3luYyhbJl0geworICAgICAgICBF
WFBFQ1RfVFJVRShmaXJzdEFzeW5jVGFza1Jhbik7CisgICAgICAgIEVYUEVDVF9UUlVFKGZpcnN0
U3luY1Rhc2tUYXNrUmFuKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoc2Vjb25kQXN5bmNUYXNrUmFu
KTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHNlY29uZFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAg
IHNlY29uZFN5bmNUYXNrVGFza1JhbiA9IHRydWU7CisgICAgfSk7CisgICAgRVhQRUNUX1RSVUUo
c2Vjb25kU3luY1Rhc2tUYXNrUmFuKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvV2ViS2l0
VGVzdFNlcnZlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJL
aXRUZXN0U2VydmVyLmNwcAppbmRleCBlZDg1NWVlZmM5ZWQ3ZjE2ODI1YjZmZDllOWRkNGZkMWFk
M2JjNDA4Li5mZjA0M2RiNjNkZjZhNWJhOWFkYjc4YTA2OWU2NmIwYTcwZTkzOTQ0IDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJLaXRUZXN0U2VydmVy
LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJLaXRUZXN0
U2VydmVyLmNwcApAQCAtNTEsMTIgKzUxLDkgQEAgdm9pZCBXZWJLaXRUZXN0U2VydmVyOjpydW4o
U291cFNlcnZlckNhbGxiYWNrIHNlcnZlckNhbGxiYWNrKQogICAgICAgICBvcHRpb25zIHw9IFNP
VVBfU0VSVkVSX0xJU1RFTl9IVFRQUzsKIAogICAgIGlmIChtX3F1ZXVlKSB7Ci0gICAgICAgIEJp
bmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0gICAgICAgIG1fcXVldWUtPmRpc3BhdGNoKFsmXSB7
CisgICAgICAgIG1fcXVldWUtPmRpc3BhdGNoU3luYyhbJl0gewogICAgICAgICAgICAgZ19hc3Nl
cnRfdHJ1ZShzb3VwX3NlcnZlcl9saXN0ZW5fbG9jYWwobV9zb3VwU2VydmVyLmdldCgpLCAwLCBz
dGF0aWNfY2FzdDxTb3VwU2VydmVyTGlzdGVuT3B0aW9ucz4ob3B0aW9ucyksIG51bGxwdHIpKTsK
LSAgICAgICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKICAgICAgICAgfSk7Ci0gICAgICAgIHNl
bWFwaG9yZS53YWl0KCk7CiAgICAgfSBlbHNlCiAgICAgICAgIGdfYXNzZXJ0X3RydWUoc291cF9z
ZXJ2ZXJfbGlzdGVuX2xvY2FsKG1fc291cFNlcnZlci5nZXQoKSwgMCwgc3RhdGljX2Nhc3Q8U291
cFNlcnZlckxpc3Rlbk9wdGlvbnM+KG9wdGlvbnMpLCBudWxscHRyKSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422932</attachid>
            <date>2021-03-11 08:15:10 -0800</date>
            <delta_ts>2021-03-11 08:40:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223049-20210311081509.patch</filename>
            <type>text/plain</type>
            <size>17163</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0Mjc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU2ZTZhNGQyYTYyODI5YzViYWQ2ZGQ3
NTAwOTNiZTkzM2EzNWJkMzEuLjRjODBhN2RlMTExZWQ1YjViN2RkYmQzMDFhMTVjYzRlMmRmYTk3
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDMtMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDQ5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBJbnRy
b2R1Y2UgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMoKSwgd2hpY2ggcmVsaWVzIG9uIEdDRCdzIGRp
c3BhdGNoX3N5bmMoKSBpbnRlcm5hbGx5IG9uIENvY29hCisgICAgICAgIHBvcnRzLiBGb3Igb3Ro
ZXIgcG9ydHMsIGl0IHJlbGllcyBvbiBhIEJpbmFyeVNlbWFwaG9yZSBmb3Igc3luY2hyb25pemF0
aW9uLgorCisgICAgICAgICogd3RmL1dvcmtRdWV1ZS5jcHA6CisgICAgICAgIChXVEY6OldvcmtR
dWV1ZTo6ZGlzcGF0Y2hTeW5jKToKKyAgICAgICAgKiB3dGYvV29ya1F1ZXVlLmg6CisgICAgICAg
ICogd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcDoKKyAgICAgICAgKFdURjo6V29ya1F1ZXVl
OjpkaXNwYXRjaFN5bmMpOgorCiAyMDIxLTAzLTExICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBbR1RLXVtXUEVdIEJ1bXAg
bGlic291cDMgdmVyc2lvbiB0byAyLjk5LjMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZmI0NjI1Mjg3ZGNkZGFi
OWY2MWI2Nzg4MmJiOWQ2MDRkMzAyODEyLi42MjdlMDc3NTA1Njc5MmVkZTYwNjQ1ZjI1N2MzZDM5
ZTA1YWVkODFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDMtMTEgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgV29ya1F1ZXVl
OjpkaXNwYXRjaFN5bmMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzMDQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4K
KworICAgICAgICBBZG9wdCBXb3JrUXVldWU6OmRpc3BhdGNoU3luYygpLgorCisgICAgICAgICog
cGxhdGZvcm0vZ2xpYi9GaWxlTW9uaXRvckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rmls
ZU1vbml0b3I6OkZpbGVNb25pdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVNb25pdG9yOjp+
RmlsZU1vbml0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6
TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6On5Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllcik6CisKIDIwMjEtMDMtMTEgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBDbGVhbnVwIHJlZmVyZW5jZXMgdG8gZmxvYXQgYW5kIG91dC1vZi1mbG93IHJlbmRl
cmVycyBiZWZvcmUgZGVzdHJveWluZyB0aGVtLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiZDNjYjI4ZjliNjI0ZGI1
ZDNjMjBlZDZiMjM5MDBhMjYxNDBlMDcyLi4zNmJlYmI3ZWFiYzVlMWFkZWI1YTUwODU0NDVlOGY1
YzJmM2M1YzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAzLTExICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFdvcmtRdWV1ZTo6
ZGlzcGF0Y2hTeW5jKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMzA0OQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisK
KyAgICAgICAgQWRvcHQgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMoKS4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpTdG9yYWdlTWFuYWdlclNldDo6d2FpdFVudGlsVGFza3NGaW5pc2hlZCk6CisgICAg
ICAgIChXZWJLaXQ6OlN0b3JhZ2VNYW5hZ2VyU2V0Ojp3YWl0VW50aWxTeW5jaW5nTG9jYWxTdG9y
YWdlRmluaXNoZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6Okljb25EYXRhYmFzZSk6CisgICAg
ICAgIChXZWJLaXQ6Okljb25EYXRhYmFzZTo6fkljb25EYXRhYmFzZSk6CisKIDIwMjEtMDMtMTEg
IE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgUkVH
UkVTU0lPTihyMjcyNDY5KTogW1dQRV1bR1RLXSBFcGlwaGFueSBVSSBwcm9jZXNzIGNyYXNoZXMg
d2hlbiBkb3dubG9hZGluZyBQREZzLCBXZWJLaXRTZWN1cml0eU9yaWdpbiBzaG91bGQgdXNlIFNl
Y3VyaXR5T3JpZ2luRGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5jcHAKaW5kZXggZjE5MTA1MTk3YWJkYThhMDJj
OWJjZWIyMjBiNWVhYTVmMWE3YjY5Ny4uZDVkZWI5ZmMxMjYyZmQzZTE5MTJhMDA5M2I3NWMzNjFl
YjI5MTUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmNwcAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8
d3RmL051bWJlck9mQ29yZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZy5oPgorI2luY2x1ZGUgPHd0Zi90aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtNTUsNiArNTYsMTYgQEAgV29ya1F1ZXVlOjp+V29ya1F1
ZXVlKCkKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKK3ZvaWQgV29ya1F1ZXVlOjpkaXNwYXRj
aFN5bmMoRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQoreworICAgIEJpbmFyeVNlbWFwaG9y
ZSBzZW1hcGhvcmU7CisgICAgZGlzcGF0Y2goWyZzZW1hcGhvcmUsIGZ1bmN0aW9uID0gV1RGTW92
ZShmdW5jdGlvbildKCkgbXV0YWJsZSB7CisgICAgICAgIGZ1bmN0aW9uKCk7CisgICAgICAgIHNl
bWFwaG9yZS5zaWduYWwoKTsKKyAgICB9KTsKKyAgICBzZW1hcGhvcmUud2FpdCgpOworfQorCiB2
b2lkIFdvcmtRdWV1ZTo6Y29uY3VycmVudEFwcGx5KHNpemVfdCBpdGVyYXRpb25zLCBXVEY6OkZ1
bmN0aW9uPHZvaWQgKHNpemVfdCBpbmRleCk+JiYgZnVuY3Rpb24pCiB7CiAgICAgaWYgKCFpdGVy
YXRpb25zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9Xb3JrUXVldWUuaAppbmRleCA0YTNiN2RhZmFlNzhmMWE2ZDljNDYzYjJjYzZhMDNk
YTk0YTQxMzI2Li4yMzY1NDMyMGM5ZGZjYzAzNzZlMWU1OGJkMGM2M2ZjOWQwYzcxMzQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9X
b3JrUXVldWUuaApAQCAtNTUsNiArNTUsNyBAQCBwdWJsaWM6CiAKICAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgdm9pZCBkaXNwYXRjaChGdW5jdGlvbjx2b2lkKCk+JiYpIGZpbmFsOwogICAgIFdURl9F
WFBPUlRfUFJJVkFURSB2b2lkIGRpc3BhdGNoQWZ0ZXIoU2Vjb25kcywgRnVuY3Rpb248dm9pZCgp
PiYmKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBkaXNwYXRjaFN5bmMoRnVuY3Rpb248
dm9pZCgpPiYmKTsKIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCBjb25jdXJy
ZW50QXBwbHkoc2l6ZV90IGl0ZXJhdGlvbnMsIFdURjo6RnVuY3Rpb248dm9pZChzaXplX3QgaW5k
ZXgpPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvV29ya1F1ZXVlQ29j
b2EuY3BwIGIvU291cmNlL1dURi93dGYvY29jb2EvV29ya1F1ZXVlQ29jb2EuY3BwCmluZGV4IDQ5
Y2RiYjU4ODBiYjE2NmI1Zjc1ZTU2ZGRjNzljMWNmYTFhNTQwNDYuLjYwMDNiYWM1ZWZkYThmNTM1
ZTIyODE3M2IwYWFjMTY4OTgwOTkxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29h
L1dvcmtRdWV1ZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Xb3JrUXVldWVD
b2NvYS5jcHAKQEAgLTQ1LDYgKzQ1LDEzIEBAIHZvaWQgV29ya1F1ZXVlOjpkaXNwYXRjaEFmdGVy
KFNlY29uZHMgZHVyYXRpb24sIEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICB9KS5n
ZXQoKSk7CiB9CiAKK3ZvaWQgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMoRnVuY3Rpb248dm9pZCgp
PiYmIGZ1bmN0aW9uKQoreworICAgIGRpc3BhdGNoX3N5bmMobV9kaXNwYXRjaFF1ZXVlLmdldCgp
LCBtYWtlQmxvY2tQdHIoW2Z1bmN0aW9uID0gV1RGTW92ZShmdW5jdGlvbildIHsKKyAgICAgICAg
ZnVuY3Rpb24oKTsKKyAgICB9KS5nZXQoKSk7Cit9CisKIHZvaWQgV29ya1F1ZXVlOjpwbGF0Zm9y
bUluaXRpYWxpemUoY29uc3QgY2hhciogbmFtZSwgVHlwZSB0eXBlLCBRT1MgcW9zKQogewogICAg
IGRpc3BhdGNoX3F1ZXVlX2F0dHJfdCBhdHRyID0gdHlwZSA9PSBUeXBlOjpDb25jdXJyZW50ID8g
RElTUEFUQ0hfUVVFVUVfQ09OQ1VSUkVOVCA6IERJU1BBVENIX1FVRVVFX1NFUklBTDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvRmlsZU1vbml0b3JHTGliLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvRmlsZU1vbml0b3JHTGliLmNwcAppbmRleCBj
Y2Y4MTc2NDFhNjYzMTUyNjViNDg0ZTliM2IyZDg4MmIyN2NjZDEwLi4wMWUwYWQ0ZmEwZDkzNDlm
NTAyYzI4NjMzZjdkODgxZjZjNWIxZTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9nbGliL0ZpbGVNb25pdG9yR0xpYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ2xpYi9GaWxlTW9uaXRvckdMaWIuY3BwCkBAIC01NSwxMiArNTUsOSBAQCBGaWxlTW9uaXRv
cjo6RmlsZU1vbml0b3IoY29uc3QgU3RyaW5nJiBwYXRoLCBSZWY8V29ya1F1ZXVlPiYmIGhhbmRs
ZXJRdWV1ZSwgV1RGOgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgQmluYXJ5U2VtYXBo
b3JlIHNlbWFwaG9yZTsKLSAgICBtX2hhbmRsZXJRdWV1ZS0+ZGlzcGF0Y2goW2NyZWF0ZVBsYXRm
b3JtTW9uaXRvciA9IFdURk1vdmUoY3JlYXRlUGxhdGZvcm1Nb25pdG9yKSwgJnNlbWFwaG9yZV0g
eworICAgIG1faGFuZGxlclF1ZXVlLT5kaXNwYXRjaFN5bmMoW2NyZWF0ZVBsYXRmb3JtTW9uaXRv
ciA9IFdURk1vdmUoY3JlYXRlUGxhdGZvcm1Nb25pdG9yKV0gewogICAgICAgICBjcmVhdGVQbGF0
Zm9ybU1vbml0b3IoKTsKLSAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwogICAgIH0pOwotICAg
IHNlbWFwaG9yZS53YWl0KCk7CiB9CiAKIEZpbGVNb25pdG9yOjp+RmlsZU1vbml0b3IoKQpAQCAt
NzEsMTIgKzY4LDkgQEAgRmlsZU1vbml0b3I6On5GaWxlTW9uaXRvcigpCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBCaW5hcnlTZW1hcGhvcmUgc2VtYXBob3JlOwotICAgIG1faGFuZGxl
clF1ZXVlLT5kaXNwYXRjaChbJl0geworICAgIG1faGFuZGxlclF1ZXVlLT5kaXNwYXRjaFN5bmMo
W3RoaXNdIHsKICAgICAgICAgY2FuY2VsKCk7Ci0gICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsK
ICAgICB9KTsKLSAgICBzZW1hcGhvcmUud2FpdCgpOwogfQogCiB2b2lkIEZpbGVNb25pdG9yOjpm
aWxlQ2hhbmdlZENhbGxiYWNrKEdGaWxlTW9uaXRvciosIEdGaWxlKiwgR0ZpbGUqLCBHRmlsZU1v
bml0b3JFdmVudCBldmVudCwgRmlsZU1vbml0b3IqIG1vbml0b3IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Mb2NhbFNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tCmluZGV4
IDVlNDAzMDk2MTE3ODA1OGIwN2QxNjVhYzZjYTk4ZjM0YTcwNDFiYWMuLjQ5NzEwMDMyNTE0YWE1
MzNmNjM1MzUyZDUwMzdhYzAzMzFkM2E0Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tCkBAIC0xODcsMTEgKzE4
Nyw3IEBAIHZvaWQgTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6OmluaXRpYWxpemUoYm9v
bCBoaWRlUm9vdExheWVyLCBJbnRTaXplIHNpemUsCiAKIExvY2FsU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyOjp+TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIoKQogewotICAgIEJpbmFyeVNl
bWFwaG9yZSBzZW1hcGhvcmU7Ci0gICAgbV9wcm9jZXNzaW5nUXVldWUtPmRpc3BhdGNoKFsmc2Vt
YXBob3JlXSB7Ci0gICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKLSAgICB9KTsKLSAgICBzZW1h
cGhvcmUud2FpdCgpOworICAgIG1fcHJvY2Vzc2luZ1F1ZXVlLT5kaXNwYXRjaFN5bmMoW10geyB9
KTsKIAogICAgIG1fcHJvY2Vzc2luZ1F1ZXVlID0gbnVsbHB0cjsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdl
clNldC5jcHAKaW5kZXggYTAyOTBiMTk1ODFjNzlkNTgyYzkyMzE4ODczNzVmZjc1NmQ1OTZlYS4u
MTI0NzAxNWYzZjhjZjM1ZGNmMDM3NDI3ZWFjZGJmNDk0YmM0M2JmNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1h
bmFnZXJTZXQuY3BwCkBAIC0xMjcsMzQgKzEyNywyNiBAQCB2b2lkIFN0b3JhZ2VNYW5hZ2VyU2V0
Ojp3YWl0VW50aWxUYXNrc0ZpbmlzaGVkKCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWlu
KCkpOwogCi0gICAgQmluYXJ5U2VtYXBob3JlIHNlbWFwaG9yZTsKLSAgICBtX3F1ZXVlLT5kaXNw
YXRjaChbdGhpcywgJnNlbWFwaG9yZV0geworICAgIG1fcXVldWUtPmRpc3BhdGNoU3luYyhbdGhp
c10gewogICAgICAgICBmb3IgKGF1dG8mIHN0b3JhZ2VNYW5hZ2VyIDogbV9zdG9yYWdlTWFuYWdl
cnMudmFsdWVzKCkpCiAgICAgICAgICAgICBzdG9yYWdlTWFuYWdlci0+Y2xlYXJTdG9yYWdlTmFt
ZXNwYWNlcygpOwogCiAgICAgICAgIG1fc3RvcmFnZU1hbmFnZXJzLmNsZWFyKCk7CiAgICAgICAg
IG1fc3RvcmFnZUFyZWFzLmNsZWFyKCk7Ci0KLSAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwog
ICAgIH0pOwotICAgIHNlbWFwaG9yZS53YWl0KCk7CiB9CiAKIHZvaWQgU3RvcmFnZU1hbmFnZXJT
ZXQ6OndhaXRVbnRpbFN5bmNpbmdMb2NhbFN0b3JhZ2VGaW5pc2hlZCgpCiB7CiAgICAgQVNTRVJU
KFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0g
ICAgbV9xdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsICZzZW1hcGhvcmVdIHsKKyAgICBtX3F1ZXVlLT5k
aXNwYXRjaFN5bmMoW3RoaXNdIHsKICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBzdG9yYWdlQXJl
YSA6IG1fc3RvcmFnZUFyZWFzLnZhbHVlcygpKSB7CiAgICAgICAgICAgICBBU1NFUlQoc3RvcmFn
ZUFyZWEpOwogICAgICAgICAgICAgaWYgKHN0b3JhZ2VBcmVhKQogICAgICAgICAgICAgICAgIHN0
b3JhZ2VBcmVhLT5zeW5jVG9EYXRhYmFzZSgpOwogICAgICAgICB9Ci0KLSAgICAgICAgc2VtYXBo
b3JlLnNpZ25hbCgpOwogICAgIH0pOwotICAgIHNlbWFwaG9yZS53YWl0KCk7CiB9CiAKIHZvaWQg
U3RvcmFnZU1hbmFnZXJTZXQ6OnN1c3BlbmQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvSWNvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGli
L0ljb25EYXRhYmFzZS5jcHAKaW5kZXggOTFmZmIyMzNiZTg4NjFkMmE3Nzg5ZDY4Zjc0NzA5Mzgy
MTMzNDZkZi4uNDc2ZWM2YmY2ZTQyN2JjYmFmMjI3OWFlNDVlZGQ5MjJjMDY3NzkxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuY3BwCkBA
IC01NiwxOCArNTYsMTQgQEAgSWNvbkRhdGFiYXNlOjpJY29uRGF0YWJhc2UoY29uc3QgU3RyaW5n
JiBwYXRoLCBBbGxvd0RhdGFiYXNlV3JpdGUgYWxsb3dEYXRhYmFzZVcKIAogICAgIC8vIFdlIGlu
aXRpYWxpemUgdGhlIGRhdGFiYXNlIHN5bmNocm9ub3VzbHksIGl0J3MgaG9wZWZ1bGx5IGZhc3Qg
ZW5vdWdoIGJlY2F1c2UgaXQgbWFrZXMKICAgICAvLyB0aGUgaW1wbGVtZW50YXRpb24gYSBsb3Qg
c2ltcGxlci4KLSAgICBCaW5hcnlTZW1hcGhvcmUgc2VtYXBob3JlOwotICAgIG1fd29ya1F1ZXVl
LT5kaXNwYXRjaChbJl0gewotICAgICAgICBpZiAoYWxsb3dEYXRhYmFzZVdyaXRlID09IEFsbG93
RGF0YWJhc2VXcml0ZTo6Tm8gJiYgIUZpbGVTeXN0ZW06OmZpbGVFeGlzdHMocGF0aCkpIHsKLSAg
ICAgICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKKyAgICBtX3dvcmtRdWV1ZS0+ZGlzcGF0Y2hT
eW5jKFsmXSB7CisgICAgICAgIGlmIChhbGxvd0RhdGFiYXNlV3JpdGUgPT0gQWxsb3dEYXRhYmFz
ZVdyaXRlOjpObyAmJiAhRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhwYXRoKSkKICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgfQogCiAgICAgICAgIGF1dG8gZGF0YWJhc2VEaXJlY3RvcnkgPSBG
aWxlU3lzdGVtOjpkaXJlY3RvcnlOYW1lKHBhdGgpOwogICAgICAgICBGaWxlU3lzdGVtOjptYWtl
QWxsRGlyZWN0b3JpZXMoZGF0YWJhc2VEaXJlY3RvcnkpOwogICAgICAgICBpZiAoIW1fZGIub3Bl
bihwYXRoKSkgewogICAgICAgICAgICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gb3BlbiBmYXZpY29u
IGRhdGFiYXNlIGF0IHBhdGggJXMgLSAlcyIsIHBhdGgudXRmOCgpLmRhdGEoKSwgbV9kYi5sYXN0
RXJyb3JNc2coKSk7Ci0gICAgICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KIApAQCAtNzYsMTQgKzcyLDEyIEBAIEljb25EYXRhYmFzZTo6
SWNvbkRhdGFiYXNlKGNvbnN0IFN0cmluZyYgcGF0aCwgQWxsb3dEYXRhYmFzZVdyaXRlIGFsbG93
RGF0YWJhc2VXCiAgICAgICAgICAgICBMT0coSWNvbkRhdGFiYXNlLCAiRGF0YWJhc2UgdmVyc2lv
biBudW1iZXIgJWQgaXMgZ3JlYXRlciB0aGFuIG91ciBjdXJyZW50IHZlcnNpb24gbnVtYmVyICVk
IC0gY2xvc2luZyB0aGUgZGF0YWJhc2UgdG8gcHJldmVudCBvdmVyd3JpdGluZyBuZXdlciB2ZXJz
aW9ucyIsCiAgICAgICAgICAgICAgICAgZGF0YWJhc2VWZXJzaW9uTnVtYmVyLCBjdXJyZW50RGF0
YWJhc2VWZXJzaW9uKTsKICAgICAgICAgICAgIG1fZGIuY2xvc2UoKTsKLSAgICAgICAgICAgIHNl
bWFwaG9yZS5zaWduYWwoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAg
ICAgIGlmIChkYXRhYmFzZVZlcnNpb25OdW1iZXIgPCBjdXJyZW50RGF0YWJhc2VWZXJzaW9uKSB7
CiAgICAgICAgICAgICBpZiAobV9hbGxvd0RhdGFiYXNlV3JpdGUgPT0gQWxsb3dEYXRhYmFzZVdy
aXRlOjpObykgewogICAgICAgICAgICAgICAgIG1fZGIuY2xvc2UoKTsKLSAgICAgICAgICAgICAg
ICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgfQogCkBAIC0xMDAsMjYgKzk0LDIwIEBAIEljb25EYXRhYmFzZTo6SWNvbkRhdGFiYXNlKGNv
bnN0IFN0cmluZyYgcGF0aCwgQWxsb3dEYXRhYmFzZVdyaXRlIGFsbG93RGF0YWJhc2VXCiAKICAg
ICAgICAgaWYgKCFjcmVhdGVUYWJsZXNJZk5lZWRlZCgpKQogICAgICAgICAgICAgcG9wdWxhdGVQ
YWdlVVJMVG9JY29uVVJMTWFwKCk7Ci0KLSAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwogICAg
IH0pOwotICAgIHNlbWFwaG9yZS53YWl0KCk7CiB9CiAKIEljb25EYXRhYmFzZTo6fkljb25EYXRh
YmFzZSgpCiB7CiAgICAgQVNTRVJUKGlzTWFpblJ1bkxvb3AoKSk7CiAKLSAgICBCaW5hcnlTZW1h
cGhvcmUgc2VtYXBob3JlOwotICAgIG1fd29ya1F1ZXVlLT5kaXNwYXRjaChbJl0geworICAgIG1f
d29ya1F1ZXVlLT5kaXNwYXRjaFN5bmMoWyZdIHsKICAgICAgICAgaWYgKG1fZGIuaXNPcGVuKCkp
IHsKICAgICAgICAgICAgIG1fcHJ1bmVUaW1lciA9IG51bGxwdHI7CiAgICAgICAgICAgICBjbGVh
clN0YXRlbWVudHMoKTsKICAgICAgICAgICAgIG1fZGIuY2xvc2UoKTsKICAgICAgICAgfQotICAg
ICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgfSk7Ci0gICAgc2VtYXBob3JlLndhaXQoKTsK
IH0KIAogYm9vbCBJY29uRGF0YWJhc2U6OmNyZWF0ZVRhYmxlc0lmTmVlZGVkKCkKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2NWE1ZTUwNmM4NmZl
ODYwYmI2MDhmMjU1ODMyY2I1NDRhNjRhNTAzLi45NjA4NDNkZjAzZTIyNjhjMWE2NjUyOTFkMDc5
ODVkNGQ3YWIwMTgxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDMtMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDQ5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBBZGQg
QVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9Xb3JrUXVldWUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9nbGliL1dlYktpdEdMaWIvV2ViS2l0VGVzdFNlcnZlci5j
cHA6CisgICAgICAgIChXZWJLaXRUZXN0U2VydmVyOjpydW4pOgorCiAyMDIxLTAzLTExICBJbWFu
b2wgRmVybmFuZGV6ICA8aWZlcm5hbmRlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCBjb250
cmlidXRvcnMgZmlsZSBjYW5vbmljYWwgZm9ybWF0IGlzc3VlLgpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA5NTczNThhYzk4MDRiOTg1OWI3MmViMjRkODZmYzVjYTlhMWMyOTQ4Li4zOGMwMmY5
OWQ2OGQ1YmQ3Y2ZiNjE0MjAxZjBhNGU2MDg1ZDdjYmMxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMjY4LDYgKzI2OCw3IEBACiAJCTQ2QTQ2QTFBMjU3NTY0NTYwMEExQjExOCAvKiBTZXNz
aW9uU3RvcmFnZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ2QTQ2QTE5MjU3NTY0NTYwMEExQjExOCAvKiBTZXNzaW9uU3RvcmFnZS5tbSAqLzsgfTsK
IAkJNDZBOTExNTkyMTA4RTY3ODAwNzhENDBEIC8qIEN1c3RvbVVzZXJBZ2VudC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QTkxMTU4MjEwOEU2NkIw
MDc4RDQwRCAvKiBDdXN0b21Vc2VyQWdlbnQubW0gKi87IH07CiAJCTQ2QUU1QTM3MjBGOTA2NkQw
MEUwODczRSAvKiBTaW1wbGVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucy00LnNxbGl0ZTMgaW4g
Q29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDY1NkE3
NTcyMEY5MDU0RjAwMDJFMjFGIC8qIFNpbXBsZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zLTQu
c3FsaXRlMyAqLzsgfTsKKwkJNDZCQkVBMUIyNUY5ODM1NzAwRDQ5ODdBIC8qIFdvcmtRdWV1ZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUE2QTE1
MTFBQUMwQjMxMDAyQjJFRDMgLyogV29ya1F1ZXVlLmNwcCAqLzsgfTsKIAkJNDZDMUVBOTgyNTc1
ODgyMDAwNUU0MDlFIC8qIGFsZXJ0Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDMUVBOTcyNTc1ODgwNTAwNUU0MDlFIC8qIGFsZXJ0
Lmh0bWwgKi87IH07CiAJCTQ2QzNBRUIzMjNEMEU1MjkwMDFCMDY4MCAvKiBiZWZvcmV1bmxvYWQu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NkMzQUVCMjIzRDBFNTBGMDAxQjA2ODAgLyogYmVmb3JldW5sb2FkLmh0bWwgKi87IH07CiAJ
CTQ2QzUxOURBMUQzNTVBQjIwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzUxOUQ4MUQz
NTVBNzMwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSAqLzsgfTsKQEAgLTUx
MjUsNiArNTEyNiw3IEBACiAJCQkJN0M4M0RGNEMxRDBBNTkwQzAwRkVCQ0YzIC8qIFZlY3Rvci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkzN0M3Q0MyRDFFQTQxNDZCMDA3QkQ5NTYgLyogV2Vha0xp
bmtpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTdDM0ZBNjYxRjdDMjQ4RjAwOUQ0QjgwIC8q
IFdlYWtQdHIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDZCQkVBMUIyNUY5ODM1NzAwRDQ5ODdB
IC8qIFdvcmtRdWV1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzgzREY2MzFEMEE1OTBDMDBG
RUJDRjMgLyogV1RGU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQkQ1QTIzMjJERTQy
QTYwMDRBOUUzMiAvKiBXVEZTdHJpbmdVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVlLmNw
cCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHAKaW5kZXggNWNm
MTY3MTA3ZjZjMTRhY2JkMGM2YzllMjVmNjZjM2YwOTI5OTI1MS4uNTZlMGEwNjJiM2QwYzhiYWRh
YTEyZWQwNDk3YzE1ZDg4MTZjZWU1ZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvV29ya1F1ZXVlLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9Xb3JrUXVldWUuY3BwCkBAIC04NCw3ICs4NCw3IEBAIFRFU1QoV1RGX1dvcmtRdWV1ZSwgU2lt
cGxlKQogICAgICAgICBtX3Rlc3RDb21wbGV0ZWQubm90aWZ5T25lKCk7CiAgICAgfSk7CiAKLSAg
ICBFWFBFQ1RfR1QocXVldWUtPnJlZkNvdW50KCksIDEpOworICAgIEVYUEVDVF9HVChxdWV1ZS0+
cmVmQ291bnQoKSwgMVUpOwogCiAgICAgbV90ZXN0Q29tcGxldGVkLndhaXQobV9sb2NrKTsKIApA
QCAtMTExLDggKzExMSw4IEBAIFRFU1QoV1RGX1dvcmtRdWV1ZSwgVHdvUXVldWVzKQogICAgIGF1
dG8gcXVldWUxID0gV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuVGVzdC50d29R
dWV1ZXMxIik7CiAgICAgYXV0byBxdWV1ZTIgPSBXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxl
LldlYktpdC5UZXN0LnR3b1F1ZXVlczIiKTsKIAotICAgIEVYUEVDVF9FUSgxLCBxdWV1ZTEtPnJl
ZkNvdW50KCkpOwotICAgIEVYUEVDVF9FUSgxLCBxdWV1ZTItPnJlZkNvdW50KCkpOworICAgIEVY
UEVDVF9FUSgxVSwgcXVldWUxLT5yZWZDb3VudCgpKTsKKyAgICBFWFBFQ1RfRVEoMVUsIHF1ZXVl
Mi0+cmVmQ291bnQoKSk7CiAKICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2xvY2spOwogICAgIApA
QCAtMjM1LDQgKzIzNSw0MyBAQCBURVNUKFdURl9Xb3JrUXVldWUsIERlc3Ryb3lPblNlbGYpCiAg
ICAgfQogfQogCitURVNUKFdURl9Xb3JrUXVldWUsIERpc3BhdGNoU3luYykKK3sKKyAgICBhdXRv
IHF1ZXVlID0gV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5XZWJLaXQuVGVzdC5kaXNwYXRj
aFN5bmMiKTsKKyAgICBzdGQ6OmF0b21pYzxib29sPiBmaXJzdEFzeW5jVGFza1JhbiA9IGZhbHNl
OworICAgIHN0ZDo6YXRvbWljPGJvb2w+IHNlY29uZEFzeW5jVGFza1JhbiA9IGZhbHNlOworICAg
IHN0ZDo6YXRvbWljPGJvb2w+IGZpcnN0U3luY1Rhc2tUYXNrUmFuID0gZmFsc2U7CisgICAgc3Rk
OjphdG9taWM8Ym9vbD4gc2Vjb25kU3luY1Rhc2tUYXNrUmFuID0gZmFsc2U7CisgICAgcXVldWUt
PmRpc3BhdGNoKFsmXSB7CisgICAgICAgIEVYUEVDVF9GQUxTRShmaXJzdEFzeW5jVGFza1Jhbik7
CisgICAgICAgIEVYUEVDVF9GQUxTRShmaXJzdFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAgIEVY
UEVDVF9GQUxTRShzZWNvbmRBc3luY1Rhc2tSYW4pOworICAgICAgICBFWFBFQ1RfRkFMU0Uoc2Vj
b25kU3luY1Rhc2tUYXNrUmFuKTsKKyAgICAgICAgZmlyc3RBc3luY1Rhc2tSYW4gPSB0cnVlOwor
ICAgIH0pOworICAgIHF1ZXVlLT5kaXNwYXRjaFN5bmMoWyZdIHsKKyAgICAgICAgRVhQRUNUX1RS
VUUoZmlyc3RBc3luY1Rhc2tSYW4pOworICAgICAgICBFWFBFQ1RfRkFMU0UoZmlyc3RTeW5jVGFz
a1Rhc2tSYW4pOworICAgICAgICBFWFBFQ1RfRkFMU0Uoc2Vjb25kQXN5bmNUYXNrUmFuKTsKKyAg
ICAgICAgRVhQRUNUX0ZBTFNFKHNlY29uZFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAgIGZpcnN0
U3luY1Rhc2tUYXNrUmFuID0gdHJ1ZTsKKyAgICB9KTsKKyAgICBFWFBFQ1RfVFJVRShmaXJzdFN5
bmNUYXNrVGFza1Jhbik7CisgICAgcXVldWUtPmRpc3BhdGNoKFsmXSB7CisgICAgICAgIEVYUEVD
VF9UUlVFKGZpcnN0QXN5bmNUYXNrUmFuKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoZmlyc3RTeW5j
VGFza1Rhc2tSYW4pOworICAgICAgICBFWFBFQ1RfRkFMU0Uoc2Vjb25kQXN5bmNUYXNrUmFuKTsK
KyAgICAgICAgRVhQRUNUX0ZBTFNFKHNlY29uZFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAgIHNl
Y29uZEFzeW5jVGFza1JhbiA9IHRydWU7CisgICAgfSk7CisgICAgcXVldWUtPmRpc3BhdGNoU3lu
YyhbJl0geworICAgICAgICBFWFBFQ1RfVFJVRShmaXJzdEFzeW5jVGFza1Jhbik7CisgICAgICAg
IEVYUEVDVF9UUlVFKGZpcnN0U3luY1Rhc2tUYXNrUmFuKTsKKyAgICAgICAgRVhQRUNUX1RSVUUo
c2Vjb25kQXN5bmNUYXNrUmFuKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHNlY29uZFN5bmNUYXNr
VGFza1Jhbik7CisgICAgICAgIHNlY29uZFN5bmNUYXNrVGFza1JhbiA9IHRydWU7CisgICAgfSk7
CisgICAgRVhQRUNUX1RSVUUoc2Vjb25kU3luY1Rhc2tUYXNrUmFuKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9nbGli
L1dlYktpdEdMaWIvV2ViS2l0VGVzdFNlcnZlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2ds
aWIvV2ViS2l0R0xpYi9XZWJLaXRUZXN0U2VydmVyLmNwcAppbmRleCBlZDg1NWVlZmM5ZWQ3ZjE2
ODI1YjZmZDllOWRkNGZkMWFkM2JjNDA4Li5mZjA0M2RiNjNkZjZhNWJhOWFkYjc4YTA2OWU2NmIw
YTcwZTkzOTQ0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xp
Yi9XZWJLaXRUZXN0U2VydmVyLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2dsaWIvV2Vi
S2l0R0xpYi9XZWJLaXRUZXN0U2VydmVyLmNwcApAQCAtNTEsMTIgKzUxLDkgQEAgdm9pZCBXZWJL
aXRUZXN0U2VydmVyOjpydW4oU291cFNlcnZlckNhbGxiYWNrIHNlcnZlckNhbGxiYWNrKQogICAg
ICAgICBvcHRpb25zIHw9IFNPVVBfU0VSVkVSX0xJU1RFTl9IVFRQUzsKIAogICAgIGlmIChtX3F1
ZXVlKSB7Ci0gICAgICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0gICAgICAgIG1fcXVl
dWUtPmRpc3BhdGNoKFsmXSB7CisgICAgICAgIG1fcXVldWUtPmRpc3BhdGNoU3luYyhbJl0gewog
ICAgICAgICAgICAgZ19hc3NlcnRfdHJ1ZShzb3VwX3NlcnZlcl9saXN0ZW5fbG9jYWwobV9zb3Vw
U2VydmVyLmdldCgpLCAwLCBzdGF0aWNfY2FzdDxTb3VwU2VydmVyTGlzdGVuT3B0aW9ucz4ob3B0
aW9ucyksIG51bGxwdHIpKTsKLSAgICAgICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKICAgICAg
ICAgfSk7Ci0gICAgICAgIHNlbWFwaG9yZS53YWl0KCk7CiAgICAgfSBlbHNlCiAgICAgICAgIGdf
YXNzZXJ0X3RydWUoc291cF9zZXJ2ZXJfbGlzdGVuX2xvY2FsKG1fc291cFNlcnZlci5nZXQoKSwg
MCwgc3RhdGljX2Nhc3Q8U291cFNlcnZlckxpc3Rlbk9wdGlvbnM+KG9wdGlvbnMpLCBudWxscHRy
KSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422936</attachid>
            <date>2021-03-11 08:40:44 -0800</date>
            <delta_ts>2021-03-11 10:00:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223049-20210311084043.patch</filename>
            <type>text/plain</type>
            <size>17120</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0Mjc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU2ZTZhNGQyYTYyODI5YzViYWQ2ZGQ3
NTAwOTNiZTkzM2EzNWJkMzEuLjRjODBhN2RlMTExZWQ1YjViN2RkYmQzMDFhMTVjYzRlMmRmYTk3
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDMtMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMDQ5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBJbnRy
b2R1Y2UgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMoKSwgd2hpY2ggcmVsaWVzIG9uIEdDRCdzIGRp
c3BhdGNoX3N5bmMoKSBpbnRlcm5hbGx5IG9uIENvY29hCisgICAgICAgIHBvcnRzLiBGb3Igb3Ro
ZXIgcG9ydHMsIGl0IHJlbGllcyBvbiBhIEJpbmFyeVNlbWFwaG9yZSBmb3Igc3luY2hyb25pemF0
aW9uLgorCisgICAgICAgICogd3RmL1dvcmtRdWV1ZS5jcHA6CisgICAgICAgIChXVEY6OldvcmtR
dWV1ZTo6ZGlzcGF0Y2hTeW5jKToKKyAgICAgICAgKiB3dGYvV29ya1F1ZXVlLmg6CisgICAgICAg
ICogd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcDoKKyAgICAgICAgKFdURjo6V29ya1F1ZXVl
OjpkaXNwYXRjaFN5bmMpOgorCiAyMDIxLTAzLTExICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBbR1RLXVtXUEVdIEJ1bXAg
bGlic291cDMgdmVyc2lvbiB0byAyLjk5LjMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZmI0NjI1Mjg3ZGNkZGFi
OWY2MWI2Nzg4MmJiOWQ2MDRkMzAyODEyLi42MjdlMDc3NTA1Njc5MmVkZTYwNjQ1ZjI1N2MzZDM5
ZTA1YWVkODFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDMtMTEgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgV29ya1F1ZXVl
OjpkaXNwYXRjaFN5bmMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzMDQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4K
KworICAgICAgICBBZG9wdCBXb3JrUXVldWU6OmRpc3BhdGNoU3luYygpLgorCisgICAgICAgICog
cGxhdGZvcm0vZ2xpYi9GaWxlTW9uaXRvckdMaWIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rmls
ZU1vbml0b3I6OkZpbGVNb25pdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVNb25pdG9yOjp+
RmlsZU1vbml0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6
TG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI6On5Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlM
YXllcik6CisKIDIwMjEtMDMtMTEgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBDbGVhbnVwIHJlZmVyZW5jZXMgdG8gZmxvYXQgYW5kIG91dC1vZi1mbG93IHJlbmRl
cmVycyBiZWZvcmUgZGVzdHJveWluZyB0aGVtLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiZDNjYjI4ZjliNjI0ZGI1
ZDNjMjBlZDZiMjM5MDBhMjYxNDBlMDcyLi4zNmJlYmI3ZWFiYzVlMWFkZWI1YTUwODU0NDVlOGY1
YzJmM2M1YzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAzLTExICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIFdvcmtRdWV1ZTo6
ZGlzcGF0Y2hTeW5jKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMzA0OQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisK
KyAgICAgICAgQWRvcHQgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMoKS4KKworICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpTdG9yYWdlTWFuYWdlclNldDo6d2FpdFVudGlsVGFza3NGaW5pc2hlZCk6CisgICAg
ICAgIChXZWJLaXQ6OlN0b3JhZ2VNYW5hZ2VyU2V0Ojp3YWl0VW50aWxTeW5jaW5nTG9jYWxTdG9y
YWdlRmluaXNoZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpJY29uRGF0YWJhc2U6Okljb25EYXRhYmFzZSk6CisgICAg
ICAgIChXZWJLaXQ6Okljb25EYXRhYmFzZTo6fkljb25EYXRhYmFzZSk6CisKIDIwMjEtMDMtMTEg
IE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgUkVH
UkVTU0lPTihyMjcyNDY5KTogW1dQRV1bR1RLXSBFcGlwaGFueSBVSSBwcm9jZXNzIGNyYXNoZXMg
d2hlbiBkb3dubG9hZGluZyBQREZzLCBXZWJLaXRTZWN1cml0eU9yaWdpbiBzaG91bGQgdXNlIFNl
Y3VyaXR5T3JpZ2luRGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5jcHAKaW5kZXggZjE5MTA1MTk3YWJkYThhMDJj
OWJjZWIyMjBiNWVhYTVmMWE3YjY5Ny4uZDVkZWI5ZmMxMjYyZmQzZTE5MTJhMDA5M2I3NWMzNjFl
YjI5MTUyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmNwcAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSA8
d3RmL051bWJlck9mQ29yZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZy5oPgorI2luY2x1ZGUgPHd0Zi90aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtNTUsNiArNTYsMTYgQEAgV29ya1F1ZXVlOjp+V29ya1F1
ZXVlKCkKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkKK3ZvaWQgV29ya1F1ZXVlOjpkaXNwYXRj
aFN5bmMoRnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0aW9uKQoreworICAgIEJpbmFyeVNlbWFwaG9y
ZSBzZW1hcGhvcmU7CisgICAgZGlzcGF0Y2goWyZzZW1hcGhvcmUsIGZ1bmN0aW9uID0gV1RGTW92
ZShmdW5jdGlvbildKCkgbXV0YWJsZSB7CisgICAgICAgIGZ1bmN0aW9uKCk7CisgICAgICAgIHNl
bWFwaG9yZS5zaWduYWwoKTsKKyAgICB9KTsKKyAgICBzZW1hcGhvcmUud2FpdCgpOworfQorCiB2
b2lkIFdvcmtRdWV1ZTo6Y29uY3VycmVudEFwcGx5KHNpemVfdCBpdGVyYXRpb25zLCBXVEY6OkZ1
bmN0aW9uPHZvaWQgKHNpemVfdCBpbmRleCk+JiYgZnVuY3Rpb24pCiB7CiAgICAgaWYgKCFpdGVy
YXRpb25zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9Xb3JrUXVldWUuaAppbmRleCA0YTNiN2RhZmFlNzhmMWE2ZDljNDYzYjJjYzZhMDNk
YTk0YTQxMzI2Li4yMzY1NDMyMGM5ZGZjYzAzNzZlMWU1OGJkMGM2M2ZjOWQwYzcxMzQ0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9X
b3JrUXVldWUuaApAQCAtNTUsNiArNTUsNyBAQCBwdWJsaWM6CiAKICAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgdm9pZCBkaXNwYXRjaChGdW5jdGlvbjx2b2lkKCk+JiYpIGZpbmFsOwogICAgIFdURl9F
WFBPUlRfUFJJVkFURSB2b2lkIGRpc3BhdGNoQWZ0ZXIoU2Vjb25kcywgRnVuY3Rpb248dm9pZCgp
PiYmKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBkaXNwYXRjaFN5bmMoRnVuY3Rpb248
dm9pZCgpPiYmKTsKIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCBjb25jdXJy
ZW50QXBwbHkoc2l6ZV90IGl0ZXJhdGlvbnMsIFdURjo6RnVuY3Rpb248dm9pZChzaXplX3QgaW5k
ZXgpPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvV29ya1F1ZXVlQ29j
b2EuY3BwIGIvU291cmNlL1dURi93dGYvY29jb2EvV29ya1F1ZXVlQ29jb2EuY3BwCmluZGV4IDQ5
Y2RiYjU4ODBiYjE2NmI1Zjc1ZTU2ZGRjNzljMWNmYTFhNTQwNDYuLjU4NGZhNWNiOTQ3ZjQ3ZDUz
YzhlMDIxNjgxZjFmMDBmYTFiNWQxNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29h
L1dvcmtRdWV1ZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Xb3JrUXVldWVD
b2NvYS5jcHAKQEAgLTQ1LDYgKzQ1LDExIEBAIHZvaWQgV29ya1F1ZXVlOjpkaXNwYXRjaEFmdGVy
KFNlY29uZHMgZHVyYXRpb24sIEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICB9KS5n
ZXQoKSk7CiB9CiAKK3ZvaWQgV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMoRnVuY3Rpb248dm9pZCgp
PiYmIGZ1bmN0aW9uKQoreworICAgIGRpc3BhdGNoX3N5bmMobV9kaXNwYXRjaFF1ZXVlLmdldCgp
LCBtYWtlQmxvY2tQdHIoV1RGTW92ZShmdW5jdGlvbikpLmdldCgpKTsKK30KKwogdm9pZCBXb3Jr
UXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjb25zdCBjaGFyKiBuYW1lLCBUeXBlIHR5cGUsIFFP
UyBxb3MpCiB7CiAgICAgZGlzcGF0Y2hfcXVldWVfYXR0cl90IGF0dHIgPSB0eXBlID09IFR5cGU6
OkNvbmN1cnJlbnQgPyBESVNQQVRDSF9RVUVVRV9DT05DVVJSRU5UIDogRElTUEFUQ0hfUVVFVUVf
U0VSSUFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9GaWxlTW9u
aXRvckdMaWIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9GaWxlTW9uaXRvckdM
aWIuY3BwCmluZGV4IGNjZjgxNzY0MWE2NjMxNTI2NWI0ODRlOWIzYjJkODgyYjI3Y2NkMTAuLjAx
ZTBhZDRmYTBkOTM0OWY1MDJjMjg2MzNmN2Q4ODFmNmM1YjFlODggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvRmlsZU1vbml0b3JHTGliLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9nbGliL0ZpbGVNb25pdG9yR0xpYi5jcHAKQEAgLTU1LDEyICs1NSw5
IEBAIEZpbGVNb25pdG9yOjpGaWxlTW9uaXRvcihjb25zdCBTdHJpbmcmIHBhdGgsIFJlZjxXb3Jr
UXVldWU+JiYgaGFuZGxlclF1ZXVlLCBXVEY6CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICBCaW5hcnlTZW1hcGhvcmUgc2VtYXBob3JlOwotICAgIG1faGFuZGxlclF1ZXVlLT5kaXNwYXRj
aChbY3JlYXRlUGxhdGZvcm1Nb25pdG9yID0gV1RGTW92ZShjcmVhdGVQbGF0Zm9ybU1vbml0b3Ip
LCAmc2VtYXBob3JlXSB7CisgICAgbV9oYW5kbGVyUXVldWUtPmRpc3BhdGNoU3luYyhbY3JlYXRl
UGxhdGZvcm1Nb25pdG9yID0gV1RGTW92ZShjcmVhdGVQbGF0Zm9ybU1vbml0b3IpXSB7CiAgICAg
ICAgIGNyZWF0ZVBsYXRmb3JtTW9uaXRvcigpOwotICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7
CiAgICAgfSk7Ci0gICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAogRmlsZU1vbml0b3I6On5GaWxl
TW9uaXRvcigpCkBAIC03MSwxMiArNjgsOSBAQCBGaWxlTW9uaXRvcjo6fkZpbGVNb25pdG9yKCkK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7
Ci0gICAgbV9oYW5kbGVyUXVldWUtPmRpc3BhdGNoKFsmXSB7CisgICAgbV9oYW5kbGVyUXVldWUt
PmRpc3BhdGNoU3luYyhbdGhpc10gewogICAgICAgICBjYW5jZWwoKTsKLSAgICAgICAgc2VtYXBo
b3JlLnNpZ25hbCgpOwogICAgIH0pOwotICAgIHNlbWFwaG9yZS53YWl0KCk7CiB9CiAKIHZvaWQg
RmlsZU1vbml0b3I6OmZpbGVDaGFuZ2VkQ2FsbGJhY2soR0ZpbGVNb25pdG9yKiwgR0ZpbGUqLCBH
RmlsZSosIEdGaWxlTW9uaXRvckV2ZW50IGV2ZW50LCBGaWxlTW9uaXRvciogbW9uaXRvcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL0xvY2FsU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIubW0KaW5kZXggNWU0MDMwOTYxMTc4MDU4YjA3ZDE2NWFjNmNhOThmMzRhNzA0MWJhYy4u
NDk3MTAwMzI1MTRhYTUzM2Y2MzUzNTJkNTAzN2FjMDMzMWQzYTRjYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTG9jYWxTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIubW0K
QEAgLTE4NywxMSArMTg3LDcgQEAgdm9pZCBMb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcjo6
aW5pdGlhbGl6ZShib29sIGhpZGVSb290TGF5ZXIsIEludFNpemUgc2l6ZSwKIAogTG9jYWxTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXI6On5Mb2NhbFNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcigpCiB7
Ci0gICAgQmluYXJ5U2VtYXBob3JlIHNlbWFwaG9yZTsKLSAgICBtX3Byb2Nlc3NpbmdRdWV1ZS0+
ZGlzcGF0Y2goWyZzZW1hcGhvcmVdIHsKLSAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwotICAg
IH0pOwotICAgIHNlbWFwaG9yZS53YWl0KCk7CisgICAgbV9wcm9jZXNzaW5nUXVldWUtPmRpc3Bh
dGNoU3luYyhbXSB7IH0pOwogCiAgICAgbV9wcm9jZXNzaW5nUXVldWUgPSBudWxscHRyOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFn
ZU1hbmFnZXJTZXQuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdl
L1N0b3JhZ2VNYW5hZ2VyU2V0LmNwcAppbmRleCBhMDI5MGIxOTU4MWM3OWQ1ODJjOTIzMTg4NzM3
NWZmNzU2ZDU5NmVhLi4xMjQ3MDE1ZjNmOGNmMzVkY2YwMzc0MjdlYWNkYmY0OTRiYzQzYmY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFn
ZU1hbmFnZXJTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3Rv
cmFnZS9TdG9yYWdlTWFuYWdlclNldC5jcHAKQEAgLTEyNywzNCArMTI3LDI2IEBAIHZvaWQgU3Rv
cmFnZU1hbmFnZXJTZXQ6OndhaXRVbnRpbFRhc2tzRmluaXNoZWQoKQogewogICAgIEFTU0VSVChS
dW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBCaW5hcnlTZW1hcGhvcmUgc2VtYXBob3JlOwotICAg
IG1fcXVldWUtPmRpc3BhdGNoKFt0aGlzLCAmc2VtYXBob3JlXSB7CisgICAgbV9xdWV1ZS0+ZGlz
cGF0Y2hTeW5jKFt0aGlzXSB7CiAgICAgICAgIGZvciAoYXV0byYgc3RvcmFnZU1hbmFnZXIgOiBt
X3N0b3JhZ2VNYW5hZ2Vycy52YWx1ZXMoKSkKICAgICAgICAgICAgIHN0b3JhZ2VNYW5hZ2VyLT5j
bGVhclN0b3JhZ2VOYW1lc3BhY2VzKCk7CiAKICAgICAgICAgbV9zdG9yYWdlTWFuYWdlcnMuY2xl
YXIoKTsKICAgICAgICAgbV9zdG9yYWdlQXJlYXMuY2xlYXIoKTsKLQotICAgICAgICBzZW1hcGhv
cmUuc2lnbmFsKCk7CiAgICAgfSk7Ci0gICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAogdm9pZCBT
dG9yYWdlTWFuYWdlclNldDo6d2FpdFVudGlsU3luY2luZ0xvY2FsU3RvcmFnZUZpbmlzaGVkKCkK
IHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgQmluYXJ5U2VtYXBob3Jl
IHNlbWFwaG9yZTsKLSAgICBtX3F1ZXVlLT5kaXNwYXRjaChbdGhpcywgJnNlbWFwaG9yZV0gewor
ICAgIG1fcXVldWUtPmRpc3BhdGNoU3luYyhbdGhpc10gewogICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIHN0b3JhZ2VBcmVhIDogbV9zdG9yYWdlQXJlYXMudmFsdWVzKCkpIHsKICAgICAgICAgICAg
IEFTU0VSVChzdG9yYWdlQXJlYSk7CiAgICAgICAgICAgICBpZiAoc3RvcmFnZUFyZWEpCiAgICAg
ICAgICAgICAgICAgc3RvcmFnZUFyZWEtPnN5bmNUb0RhdGFiYXNlKCk7CiAgICAgICAgIH0KLQot
ICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgfSk7Ci0gICAgc2VtYXBob3JlLndhaXQo
KTsKIH0KIAogdm9pZCBTdG9yYWdlTWFuYWdlclNldDo6c3VzcGVuZChDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvSWNvbkRhdGFiYXNlLmNwcAppbmRleCA5MWZmYjIzM2JlODg2MWQyYTc3
ODlkNjhmNzQ3MDkzODIxMzM0NmRmLi40NzZlYzZiZjZlNDI3YmNiYWYyMjc5YWU0NWVkZDkyMmMw
Njc3OTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9JY29u
RGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL0ljb25E
YXRhYmFzZS5jcHAKQEAgLTU2LDE4ICs1NiwxNCBAQCBJY29uRGF0YWJhc2U6Okljb25EYXRhYmFz
ZShjb25zdCBTdHJpbmcmIHBhdGgsIEFsbG93RGF0YWJhc2VXcml0ZSBhbGxvd0RhdGFiYXNlVwog
CiAgICAgLy8gV2UgaW5pdGlhbGl6ZSB0aGUgZGF0YWJhc2Ugc3luY2hyb25vdXNseSwgaXQncyBo
b3BlZnVsbHkgZmFzdCBlbm91Z2ggYmVjYXVzZSBpdCBtYWtlcwogICAgIC8vIHRoZSBpbXBsZW1l
bnRhdGlvbiBhIGxvdCBzaW1wbGVyLgotICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0g
ICAgbV93b3JrUXVldWUtPmRpc3BhdGNoKFsmXSB7Ci0gICAgICAgIGlmIChhbGxvd0RhdGFiYXNl
V3JpdGUgPT0gQWxsb3dEYXRhYmFzZVdyaXRlOjpObyAmJiAhRmlsZVN5c3RlbTo6ZmlsZUV4aXN0
cyhwYXRoKSkgewotICAgICAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOworICAgIG1fd29ya1F1
ZXVlLT5kaXNwYXRjaFN5bmMoWyZdIHsKKyAgICAgICAgaWYgKGFsbG93RGF0YWJhc2VXcml0ZSA9
PSBBbGxvd0RhdGFiYXNlV3JpdGU6Ok5vICYmICFGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHBhdGgp
KQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9CiAKICAgICAgICAgYXV0byBkYXRhYmFz
ZURpcmVjdG9yeSA9IEZpbGVTeXN0ZW06OmRpcmVjdG9yeU5hbWUocGF0aCk7CiAgICAgICAgIEZp
bGVTeXN0ZW06Om1ha2VBbGxEaXJlY3RvcmllcyhkYXRhYmFzZURpcmVjdG9yeSk7CiAgICAgICAg
IGlmICghbV9kYi5vcGVuKHBhdGgpKSB7CiAgICAgICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0
byBvcGVuIGZhdmljb24gZGF0YWJhc2UgYXQgcGF0aCAlcyAtICVzIiwgcGF0aC51dGY4KCkuZGF0
YSgpLCBtX2RiLmxhc3RFcnJvck1zZygpKTsKLSAgICAgICAgICAgIHNlbWFwaG9yZS5zaWduYWwo
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCkBAIC03NiwxNCArNzIsMTIgQEAg
SWNvbkRhdGFiYXNlOjpJY29uRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBwYXRoLCBBbGxvd0RhdGFi
YXNlV3JpdGUgYWxsb3dEYXRhYmFzZVcKICAgICAgICAgICAgIExPRyhJY29uRGF0YWJhc2UsICJE
YXRhYmFzZSB2ZXJzaW9uIG51bWJlciAlZCBpcyBncmVhdGVyIHRoYW4gb3VyIGN1cnJlbnQgdmVy
c2lvbiBudW1iZXIgJWQgLSBjbG9zaW5nIHRoZSBkYXRhYmFzZSB0byBwcmV2ZW50IG92ZXJ3cml0
aW5nIG5ld2VyIHZlcnNpb25zIiwKICAgICAgICAgICAgICAgICBkYXRhYmFzZVZlcnNpb25OdW1i
ZXIsIGN1cnJlbnREYXRhYmFzZVZlcnNpb24pOwogICAgICAgICAgICAgbV9kYi5jbG9zZSgpOwot
ICAgICAgICAgICAgc2VtYXBob3JlLnNpZ25hbCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKICAgICAgICAgaWYgKGRhdGFiYXNlVmVyc2lvbk51bWJlciA8IGN1cnJlbnREYXRh
YmFzZVZlcnNpb24pIHsKICAgICAgICAgICAgIGlmIChtX2FsbG93RGF0YWJhc2VXcml0ZSA9PSBB
bGxvd0RhdGFiYXNlV3JpdGU6Ok5vKSB7CiAgICAgICAgICAgICAgICAgbV9kYi5jbG9zZSgpOwot
ICAgICAgICAgICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKICAgICAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgICAgICB9CiAKQEAgLTEwMCwyNiArOTQsMjAgQEAgSWNvbkRhdGFiYXNlOjpJ
Y29uRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBwYXRoLCBBbGxvd0RhdGFiYXNlV3JpdGUgYWxsb3dE
YXRhYmFzZVcKIAogICAgICAgICBpZiAoIWNyZWF0ZVRhYmxlc0lmTmVlZGVkKCkpCiAgICAgICAg
ICAgICBwb3B1bGF0ZVBhZ2VVUkxUb0ljb25VUkxNYXAoKTsKLQotICAgICAgICBzZW1hcGhvcmUu
c2lnbmFsKCk7CiAgICAgfSk7Ci0gICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAogSWNvbkRhdGFi
YXNlOjp+SWNvbkRhdGFiYXNlKCkKIHsKICAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKIAot
ICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0gICAgbV93b3JrUXVldWUtPmRpc3BhdGNo
KFsmXSB7CisgICAgbV93b3JrUXVldWUtPmRpc3BhdGNoU3luYyhbJl0gewogICAgICAgICBpZiAo
bV9kYi5pc09wZW4oKSkgewogICAgICAgICAgICAgbV9wcnVuZVRpbWVyID0gbnVsbHB0cjsKICAg
ICAgICAgICAgIGNsZWFyU3RhdGVtZW50cygpOwogICAgICAgICAgICAgbV9kYi5jbG9zZSgpOwog
ICAgICAgICB9Ci0gICAgICAgIHNlbWFwaG9yZS5zaWduYWwoKTsKICAgICB9KTsKLSAgICBzZW1h
cGhvcmUud2FpdCgpOwogfQogCiBib29sIEljb25EYXRhYmFzZTo6Y3JlYXRlVGFibGVzSWZOZWVk
ZWQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IDY1YTVlNTA2Yzg2ZmU4NjBiYjYwOGYyNTU4MzJjYjU0NGE2NGE1MDMuLjk2MDg0M2RmMDNlMjI2
OGMxYTY2NTI5MWQwNzk4NWQ0ZDdhYjAxODEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wMy0xMSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEludHJvZHVjZSBXb3JrUXVldWU6
OmRpc3BhdGNoU3luYygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjMwNDkKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgor
CisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJL
aXRUZXN0U2VydmVyLmNwcDoKKyAgICAgICAgKFdlYktpdFRlc3RTZXJ2ZXI6OnJ1bik6CisKIDIw
MjEtMDMtMTEgIEltYW5vbCBGZXJuYW5kZXogIDxpZmVybmFuZGV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgRml4IGNvbnRyaWJ1dG9ycyBmaWxlIGNhbm9uaWNhbCBmb3JtYXQgaXNzdWUuCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDk1NzM1OGFjOTgwNGI5ODU5YjcyZWIyNGQ4NmZjNWNhOWEx
YzI5NDguLjM4YzAyZjk5ZDY4ZDViZDdjZmI2MTQyMDFmMGE0ZTYwODVkN2NiYzEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0yNjgsNiArMjY4LDcgQEAKIAkJNDZBNDZBMUEyNTc1NjQ1NjAw
QTFCMTE4IC8qIFNlc3Npb25TdG9yYWdlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDZBNDZBMTkyNTc1NjQ1NjAwQTFCMTE4IC8qIFNlc3Npb25TdG9y
YWdlLm1tICovOyB9OwogCQk0NkE5MTE1OTIxMDhFNjc4MDA3OEQ0MEQgLyogQ3VzdG9tVXNlckFn
ZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZB
OTExNTgyMTA4RTY2QjAwNzhENDBEIC8qIEN1c3RvbVVzZXJBZ2VudC5tbSAqLzsgfTsKIAkJNDZB
RTVBMzcyMEY5MDY2RDAwRTA4NzNFIC8qIFNpbXBsZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25z
LTQuc3FsaXRlMyBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjU2QTc1NzIwRjkwNTRGMDAwMkUyMUYgLyogU2ltcGxlU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbnMtNC5zcWxpdGUzICovOyB9OworCQk0NkJCRUExQjI1Rjk4MzU3MDBENDk4N0Eg
LyogV29ya1F1ZXVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdBQTZBMTUxMUFBQzBCMzEwMDJCMkVEMyAvKiBXb3JrUXVldWUuY3BwICovOyB9Owog
CQk0NkMxRUE5ODI1NzU4ODIwMDA1RTQwOUUgLyogYWxlcnQuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkMxRUE5NzI1NzU4ODA1MDA1
RTQwOUUgLyogYWxlcnQuaHRtbCAqLzsgfTsKIAkJNDZDM0FFQjMyM0QwRTUyOTAwMUIwNjgwIC8q
IGJlZm9yZXVubG9hZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ2QzNBRUIyMjNEMEU1MEYwMDFCMDY4MCAvKiBiZWZvcmV1bmxvYWQu
aHRtbCAqLzsgfTsKIAkJNDZDNTE5REExRDM1NUFCMjAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51
bGxFbnRyaWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDZDNTE5RDgxRDM1NUE3MzAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLm1t
ICovOyB9OwpAQCAtNTEyNSw2ICs1MTI2LDcgQEAKIAkJCQk3QzgzREY0QzFEMEE1OTBDMDBGRUJD
RjMgLyogVmVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3QzdDQzJEMUVBNDE0NkIwMDdC
RDk1NiAvKiBXZWFrTGlua2luZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1N0MzRkE2NjFGN0My
NDhGMDA5RDRCODAgLyogV2Vha1B0ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0NkJCRUExQjI1
Rjk4MzU3MDBENDk4N0EgLyogV29ya1F1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNE
RjYzMUQwQTU5MEMwMEZFQkNGMyAvKiBXVEZTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0NCRDVBMjMyMkRFNDJBNjAwNEE5RTMyIC8qIFdURlN0cmluZ1V0aWxpdGllcy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCSk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9Xb3JrUXVldWUuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV29ya1F1ZXVl
LmNwcAppbmRleCA1Y2YxNjcxMDdmNmMxNGFjYmQwYzZjOWUyNWY2NmMzZjA5Mjk5MjUxLi41NmUw
YTA2MmIzZDBjOGJhZGFhMTJlZDA0OTdjMTVkODgxNmNlZTVlIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9Xb3JrUXVldWUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1dvcmtRdWV1ZS5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgVEVTVChXVEZf
V29ya1F1ZXVlLCBTaW1wbGUpCiAgICAgICAgIG1fdGVzdENvbXBsZXRlZC5ub3RpZnlPbmUoKTsK
ICAgICB9KTsKIAotICAgIEVYUEVDVF9HVChxdWV1ZS0+cmVmQ291bnQoKSwgMSk7CisgICAgRVhQ
RUNUX0dUKHF1ZXVlLT5yZWZDb3VudCgpLCAxVSk7CiAKICAgICBtX3Rlc3RDb21wbGV0ZWQud2Fp
dChtX2xvY2spOwogCkBAIC0xMTEsOCArMTExLDggQEAgVEVTVChXVEZfV29ya1F1ZXVlLCBUd29R
dWV1ZXMpCiAgICAgYXV0byBxdWV1ZTEgPSBXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxlLldl
YktpdC5UZXN0LnR3b1F1ZXVlczEiKTsKICAgICBhdXRvIHF1ZXVlMiA9IFdvcmtRdWV1ZTo6Y3Jl
YXRlKCJjb20uYXBwbGUuV2ViS2l0LlRlc3QudHdvUXVldWVzMiIpOwogCi0gICAgRVhQRUNUX0VR
KDEsIHF1ZXVlMS0+cmVmQ291bnQoKSk7Ci0gICAgRVhQRUNUX0VRKDEsIHF1ZXVlMi0+cmVmQ291
bnQoKSk7CisgICAgRVhQRUNUX0VRKDFVLCBxdWV1ZTEtPnJlZkNvdW50KCkpOworICAgIEVYUEVD
VF9FUSgxVSwgcXVldWUyLT5yZWZDb3VudCgpKTsKIAogICAgIExvY2tIb2xkZXIgbG9ja2VyKG1f
bG9jayk7CiAgICAgCkBAIC0yMzUsNCArMjM1LDQzIEBAIFRFU1QoV1RGX1dvcmtRdWV1ZSwgRGVz
dHJveU9uU2VsZikKICAgICB9CiB9CiAKK1RFU1QoV1RGX1dvcmtRdWV1ZSwgRGlzcGF0Y2hTeW5j
KQoreworICAgIGF1dG8gcXVldWUgPSBXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxlLldlYktp
dC5UZXN0LmRpc3BhdGNoU3luYyIpOworICAgIHN0ZDo6YXRvbWljPGJvb2w+IGZpcnN0QXN5bmNU
YXNrUmFuID0gZmFsc2U7CisgICAgc3RkOjphdG9taWM8Ym9vbD4gc2Vjb25kQXN5bmNUYXNrUmFu
ID0gZmFsc2U7CisgICAgc3RkOjphdG9taWM8Ym9vbD4gZmlyc3RTeW5jVGFza1Rhc2tSYW4gPSBm
YWxzZTsKKyAgICBzdGQ6OmF0b21pYzxib29sPiBzZWNvbmRTeW5jVGFza1Rhc2tSYW4gPSBmYWxz
ZTsKKyAgICBxdWV1ZS0+ZGlzcGF0Y2goWyZdIHsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKGZpcnN0
QXN5bmNUYXNrUmFuKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKGZpcnN0U3luY1Rhc2tUYXNrUmFu
KTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHNlY29uZEFzeW5jVGFza1Jhbik7CisgICAgICAgIEVY
UEVDVF9GQUxTRShzZWNvbmRTeW5jVGFza1Rhc2tSYW4pOworICAgICAgICBmaXJzdEFzeW5jVGFz
a1JhbiA9IHRydWU7CisgICAgfSk7CisgICAgcXVldWUtPmRpc3BhdGNoU3luYyhbJl0geworICAg
ICAgICBFWFBFQ1RfVFJVRShmaXJzdEFzeW5jVGFza1Jhbik7CisgICAgICAgIEVYUEVDVF9GQUxT
RShmaXJzdFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAgIEVYUEVDVF9GQUxTRShzZWNvbmRBc3lu
Y1Rhc2tSYW4pOworICAgICAgICBFWFBFQ1RfRkFMU0Uoc2Vjb25kU3luY1Rhc2tUYXNrUmFuKTsK
KyAgICAgICAgZmlyc3RTeW5jVGFza1Rhc2tSYW4gPSB0cnVlOworICAgIH0pOworICAgIEVYUEVD
VF9UUlVFKGZpcnN0U3luY1Rhc2tUYXNrUmFuKTsKKyAgICBxdWV1ZS0+ZGlzcGF0Y2goWyZdIHsK
KyAgICAgICAgRVhQRUNUX1RSVUUoZmlyc3RBc3luY1Rhc2tSYW4pOworICAgICAgICBFWFBFQ1Rf
VFJVRShmaXJzdFN5bmNUYXNrVGFza1Jhbik7CisgICAgICAgIEVYUEVDVF9GQUxTRShzZWNvbmRB
c3luY1Rhc2tSYW4pOworICAgICAgICBFWFBFQ1RfRkFMU0Uoc2Vjb25kU3luY1Rhc2tUYXNrUmFu
KTsKKyAgICAgICAgc2Vjb25kQXN5bmNUYXNrUmFuID0gdHJ1ZTsKKyAgICB9KTsKKyAgICBxdWV1
ZS0+ZGlzcGF0Y2hTeW5jKFsmXSB7CisgICAgICAgIEVYUEVDVF9UUlVFKGZpcnN0QXN5bmNUYXNr
UmFuKTsKKyAgICAgICAgRVhQRUNUX1RSVUUoZmlyc3RTeW5jVGFza1Rhc2tSYW4pOworICAgICAg
ICBFWFBFQ1RfVFJVRShzZWNvbmRBc3luY1Rhc2tSYW4pOworICAgICAgICBFWFBFQ1RfRkFMU0Uo
c2Vjb25kU3luY1Rhc2tUYXNrUmFuKTsKKyAgICAgICAgc2Vjb25kU3luY1Rhc2tUYXNrUmFuID0g
dHJ1ZTsKKyAgICB9KTsKKyAgICBFWFBFQ1RfVFJVRShzZWNvbmRTeW5jVGFza1Rhc2tSYW4pOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL2dsaWIvV2ViS2l0R0xpYi9XZWJLaXRUZXN0U2VydmVyLmNwcCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYktpdFRlc3RTZXJ2ZXIuY3BwCmluZGV4IGVk
ODU1ZWVmYzllZDdmMTY4MjViNmZkOWU5ZGQ0ZmQxYWQzYmM0MDguLmZmMDQzZGI2M2RmNmE1YmE5
YWRiNzhhMDY5ZTY2YjBhNzBlOTM5NDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Z2xpYi9XZWJLaXRHTGliL1dlYktpdFRlc3RTZXJ2ZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvZ2xpYi9XZWJLaXRHTGliL1dlYktpdFRlc3RTZXJ2ZXIuY3BwCkBAIC01MSwxMiArNTEs
OSBAQCB2b2lkIFdlYktpdFRlc3RTZXJ2ZXI6OnJ1bihTb3VwU2VydmVyQ2FsbGJhY2sgc2VydmVy
Q2FsbGJhY2spCiAgICAgICAgIG9wdGlvbnMgfD0gU09VUF9TRVJWRVJfTElTVEVOX0hUVFBTOwog
CiAgICAgaWYgKG1fcXVldWUpIHsKLSAgICAgICAgQmluYXJ5U2VtYXBob3JlIHNlbWFwaG9yZTsK
LSAgICAgICAgbV9xdWV1ZS0+ZGlzcGF0Y2goWyZdIHsKKyAgICAgICAgbV9xdWV1ZS0+ZGlzcGF0
Y2hTeW5jKFsmXSB7CiAgICAgICAgICAgICBnX2Fzc2VydF90cnVlKHNvdXBfc2VydmVyX2xpc3Rl
bl9sb2NhbChtX3NvdXBTZXJ2ZXIuZ2V0KCksIDAsIHN0YXRpY19jYXN0PFNvdXBTZXJ2ZXJMaXN0
ZW5PcHRpb25zPihvcHRpb25zKSwgbnVsbHB0cikpOwotICAgICAgICAgICAgc2VtYXBob3JlLnNp
Z25hbCgpOwogICAgICAgICB9KTsKLSAgICAgICAgc2VtYXBob3JlLndhaXQoKTsKICAgICB9IGVs
c2UKICAgICAgICAgZ19hc3NlcnRfdHJ1ZShzb3VwX3NlcnZlcl9saXN0ZW5fbG9jYWwobV9zb3Vw
U2VydmVyLmdldCgpLCAwLCBzdGF0aWNfY2FzdDxTb3VwU2VydmVyTGlzdGVuT3B0aW9ucz4ob3B0
aW9ucyksIG51bGxwdHIpKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>