<?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>203087</bug_id>
          
          <creation_ts>2019-10-17 09:40:25 -0700</creation_ts>
          <short_desc>ApplePaySession should never prevent entering the back/forward cache</short_desc>
          <delta_ts>2019-11-05 09:13:10 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>202293</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1580995</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 09:40:25 -0700</bug_when>
    <thetext>ApplePaySession should never prevent entering the back/forward cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1585360</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-30 08:20:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/56744401&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587305</commentid>
    <comment_count>2</comment_count>
      <attachid>382805</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-11-04 20:40:21 -0800</bug_when>
    <thetext>Created attachment 382805
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587306</commentid>
    <comment_count>3</comment_count>
      <attachid>382805</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-11-04 20:52:28 -0800</bug_when>
    <thetext>Comment on attachment 382805
Patch

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

&gt; Source/WebCore/Modules/applepay/ApplePaySession.cpp:831
&gt; +bool ApplePaySession::canSuspendWhileActive() const

I find the naming very confusing. How about something like &quot;needsAbortingOnSuspension&quot; ?

&gt; Source/WebCore/Modules/applepay/ApplePaySession.cpp:838
&gt; +    case State::SuspendedWhileActive:

Do we really need a new state? Why not go directly to canceled?

&gt; Source/WebCore/Modules/applepay/ApplePaySession.cpp:860
&gt; +    // FIXME: Is TaskSource::UserInteraction correct here?

I know but it is not the same spec but UserInteraction is what&apos;s used in this spec at least: https://w3c.github.io/payment-request/

&gt; Source/WebCore/Modules/applepay/ApplePaySession.cpp:861
&gt; +    context.eventLoop().queueTask(TaskSource::UserInteraction, context, [this, pendingActivity = makePendingActivity(*this)] {

Why not queue the task in the suspend()? Since you&apos;re using the event loop, it would fire until you resume anyway. This way, you don&apos;t need a resume() method.

Also, you should consider using ActiveDOMObject::queueTaskKeepingObjectAlive() instead to queue the task.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587308</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-11-04 20:53:28 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; Comment on attachment 382805 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=382805&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/applepay/ApplePaySession.cpp:831
&gt; &gt; +bool ApplePaySession::canSuspendWhileActive() const
&gt; 
&gt; I find the naming very confusing. How about something like
&gt; &quot;needsAbortingOnSuspension&quot; ?
&gt; 
&gt; &gt; Source/WebCore/Modules/applepay/ApplePaySession.cpp:838
&gt; &gt; +    case State::SuspendedWhileActive:
&gt; 
&gt; Do we really need a new state? Why not go directly to canceled?
&gt; 
&gt; &gt; Source/WebCore/Modules/applepay/ApplePaySession.cpp:860
&gt; &gt; +    // FIXME: Is TaskSource::UserInteraction correct here?
&gt; 
&gt; I know but it is not the same spec but UserInteraction is what&apos;s used in
&gt; this spec at least: https://w3c.github.io/payment-request/
&gt; 
&gt; &gt; Source/WebCore/Modules/applepay/ApplePaySession.cpp:861
&gt; &gt; +    context.eventLoop().queueTask(TaskSource::UserInteraction, context, [this, pendingActivity = makePendingActivity(*this)] {
&gt; 
&gt; Why not queue the task in the suspend()? Since you&apos;re using the event loop,
&gt; it would fire until you resume anyway. This way, you don&apos;t need a resume()
&gt; method.

it would *NOT* fire until you resume anyway</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587313</commentid>
    <comment_count>5</comment_count>
      <attachid>382806</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-11-04 21:51:00 -0800</bug_when>
    <thetext>Created attachment 382806
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587399</commentid>
    <comment_count>6</comment_count>
      <attachid>382806</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-11-05 08:12:51 -0800</bug_when>
    <thetext>Comment on attachment 382806
Patch

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

&gt; Source/WebCore/Modules/applepay/ApplePaySession.cpp:866
&gt; +    queueTaskToDispatchEvent(*this, TaskSource::UserInteraction, ApplePayCancelEvent::create(eventNames().cancelEvent, { }));

nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587417</commentid>
    <comment_count>7</comment_count>
      <attachid>382806</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-05 09:13:08 -0800</bug_when>
    <thetext>Comment on attachment 382806
Patch

Clearing flags on attachment: 382806

Committed r252057: &lt;https://trac.webkit.org/changeset/252057&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587418</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-05 09:13:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382805</attachid>
            <date>2019-11-04 20:40:21 -0800</date>
            <delta_ts>2019-11-04 21:50:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203087-20191104204020.patch</filename>
            <type>text/plain</type>
            <size>15033</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI0N2JkZjNmNzk0MGYx
NDE2N2Q1MWRlZmQ0MGEwOGExOTQzNmYzZi4uYjg4NzIxY2MyZThhOTJjNWFlMWViNzhiMzE3ZDE5
MDE4ZWRkNjBlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE5LTExLTA0ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBBcHBsZVBheVNlc3Npb24gc2hv
dWxkIG5ldmVyIHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMDg3CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81Njc0NDQwMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSYXRoZXIgdGhhbiBwcmV2ZW50IGVudGVyaW5nIHRoZSBiYWNr
L2ZvcndhcmQgY2FjaGUgd2hlbiB0aGVyZSBpcyBhbiBhY3RpdmUgc2Vzc2lvbiwgYWJvcnQKKyAg
ICAgICAgdGhlIHNlc3Npb24gb24gc3VzcGVuc2lvbi4gVGhlbiwgaWYgdGhlIHBhZ2UgcmVzdW1l
cywgZGlzcGF0Y2ggYSBjYW5jZWwgZXZlbnQgdG8gdGhlIGFib3J0ZWQKKyAgICAgICAgc2Vzc2lv
bidzIEFwcGxlUGF5U2Vzc2lvbiBvYmplY3QuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5L3BhZ2UtY2FjaGUtYWN0aXZlLWFwcGxlLXBheS1zZXNzaW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L3BhZ2UtY2FjaGUtaW5hY3RpdmUt
YXBwbGUtcGF5LXNlc3Npb24uaHRtbAorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpkaWRD
YW5jZWxQYXltZW50U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246
OmNhbmNlbFBheW1lbnRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lv
bjo6Y2FuU3VzcGVuZFdoaWxlQWN0aXZlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxl
UGF5U2Vzc2lvbjo6cmVzdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6
c3VzcGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmNhbkJlZ2luIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuQWJvcnQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjYW5DYW5jZWwgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVNoaXBwaW5nTWV0
aG9kU2VsZWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6
Y2FuQ29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24gY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24g
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVBh
eW1lbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjppc0ZpbmFs
U3RhdGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpzaG91bGRQ
cmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmg6CisKIDIwMTkt
MTEtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYVJl
Y29yZGVyIHNob3VsZCBub3QgcHJldmVudCBlbnRlcmluZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vz
c2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lv
bi5jcHAKaW5kZXggYjBmZGYwM2M0MzBlYTA5MTI1YjA3NDA5MzhlNjA5MWUwZDk3YTBiMC4uMDA4
ZTQ0MGU4Y2MyZGU5YmQyNGQ1MTA5YTA4YjVkOGM0Yjk3Yzk1YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAorI2luY2x1ZGUgIkFic3RyYWN0RXZl
bnRMb29wLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlDYW5jZWxFdmVudC5oIgogI2luY2x1ZGUgIkFw
cGxlUGF5TGluZUl0ZW0uaCIKICNpbmNsdWRlICJBcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9u
UmVzdWx0LmgiCkBAIC04MDcsNiArODA4LDEyIEBAIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRT
ZWxlY3RQYXltZW50TWV0aG9kKGNvbnN0IFBheW1lbnRNZXRob2QmIHBheW1lbnRNZXRob2QpCiB9
CiAKIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRDYW5jZWxQYXltZW50U2Vzc2lvbihQYXltZW50
U2Vzc2lvbkVycm9yJiYgZXJyb3IpCit7CisgICAgY2FuY2VsUGF5bWVudFNlc3Npb24oV1RGTW92
ZShlcnJvcikpOworICAgIGRpZFJlYWNoRmluYWxTdGF0ZSgpOworfQorCit2b2lkIEFwcGxlUGF5
U2Vzc2lvbjo6Y2FuY2VsUGF5bWVudFNlc3Npb24oUGF5bWVudFNlc3Npb25FcnJvciYmIGVycm9y
KQogewogICAgIEFTU0VSVChjYW5DYW5jZWwoKSk7CiAKQEAgLTgxNCw4ICs4MjEsNiBAQCB2b2lk
IEFwcGxlUGF5U2Vzc2lvbjo6ZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oUGF5bWVudFNlc3Npb25F
cnJvciYmIGVycm9yKQogCiAgICAgYXV0byBldmVudCA9IEFwcGxlUGF5Q2FuY2VsRXZlbnQ6OmNy
ZWF0ZShldmVudE5hbWVzKCkuY2FuY2VsRXZlbnQsIFdURk1vdmUoZXJyb3IpKTsKICAgICBkaXNw
YXRjaEV2ZW50KGV2ZW50LmdldCgpKTsKLQotICAgIGRpZFJlYWNoRmluYWxTdGF0ZSgpOwogfQog
CiBjb25zdCBjaGFyKiBBcHBsZVBheVNlc3Npb246OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dApAQCAtODIzLDEzICs4MjgsMTQgQEAgY29uc3QgY2hhciogQXBwbGVQYXlTZXNzaW9uOjphY3Rp
dmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIkFwcGxlUGF5U2Vzc2lvbiI7CiB9
CiAKLWJvb2wgQXBwbGVQYXlTZXNzaW9uOjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2Fy
ZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdAorYm9vbCBBcHBsZVBheVNlc3Npb246OmNhblN1c3Bl
bmRXaGlsZUFjdGl2ZSgpIGNvbnN0CiB7CiAgICAgc3dpdGNoIChtX3N0YXRlKSB7CiAgICAgY2Fz
ZSBTdGF0ZTo6SWRsZToKICAgICBjYXNlIFN0YXRlOjpBYm9ydGVkOgogICAgIGNhc2UgU3RhdGU6
OkNvbXBsZXRlZDoKICAgICBjYXNlIFN0YXRlOjpDYW5jZWxlZDoKKyAgICBjYXNlIFN0YXRlOjpT
dXNwZW5kZWRXaGlsZUFjdGl2ZToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY2FzZSBT
dGF0ZTo6QWN0aXZlOgpAQCAtODM4LDExICs4NDQsMjUgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246
OnNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0
CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0
ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVlc3Rl
ZDoKLSAgICAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIG5ldmVyIHByZXZlbnQgZW50ZXJpbmcg
dGhlIGJhY2svZm9yd2FyZCBjYWNoZS4KICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogfQog
Cit2b2lkIEFwcGxlUGF5U2Vzc2lvbjo6cmVzdW1lKCkKK3sKKyAgICBBU1NFUlQoIWNhblN1c3Bl
bmRXaGlsZUFjdGl2ZSgpKTsKKworICAgIGlmIChtX3N0YXRlICE9IFN0YXRlOjpTdXNwZW5kZWRX
aGlsZUFjdGl2ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byYgY29udGV4dCA9ICpzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCk7CisKKyAgICAvLyBGSVhNRTogSXMgVGFza1NvdXJjZTo6VXNl
ckludGVyYWN0aW9uIGNvcnJlY3QgaGVyZT8KKyAgICBjb250ZXh0LmV2ZW50TG9vcCgpLnF1ZXVl
VGFzayhUYXNrU291cmNlOjpVc2VySW50ZXJhY3Rpb24sIGNvbnRleHQsIFt0aGlzLCBwZW5kaW5n
QWN0aXZpdHkgPSBtYWtlUGVuZGluZ0FjdGl2aXR5KCp0aGlzKV0geworICAgICAgICBjYW5jZWxQ
YXltZW50U2Vzc2lvbih7IH0pOworICAgIH0pOworfQorCiB2b2lkIEFwcGxlUGF5U2Vzc2lvbjo6
c3RvcCgpCiB7CiAgICAgaWYgKCFjYW5BYm9ydCgpKQpAQCAtODU0LDYgKzg3NCwyMCBAQCB2b2lk
IEFwcGxlUGF5U2Vzc2lvbjo6c3RvcCgpCiAgICAgZGlkUmVhY2hGaW5hbFN0YXRlKCk7CiB9CiAK
K3ZvaWQgQXBwbGVQYXlTZXNzaW9uOjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24gcmVhc29u
KQoreworICAgIGlmIChyZWFzb24gIT0gUmVhc29uRm9yU3VzcGVuc2lvbjo6QmFja0ZvcndhcmRD
YWNoZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFjYW5TdXNwZW5kV2hpbGVBY3RpdmUo
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zdGF0ZSA9IFN0YXRlOjpTdXNwZW5kZWRXaGls
ZUFjdGl2ZTsKKyAgICBwYXltZW50Q29vcmRpbmF0b3IoKS5hYm9ydFBheW1lbnRTZXNzaW9uKCk7
CisKKyAgICBkaWRSZWFjaEZpbmFsU3RhdGUoKTsKK30KKwogUGF5bWVudENvb3JkaW5hdG9yJiBB
cHBsZVBheVNlc3Npb246OnBheW1lbnRDb29yZGluYXRvcigpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IGRvd25jYXN0PERvY3VtZW50Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKS5wYWdlKCktPnBh
eW1lbnRDb29yZGluYXRvcigpOwpAQCAtODc0LDYgKzkwOCw3IEBAIGJvb2wgQXBwbGVQYXlTZXNz
aW9uOjpjYW5CZWdpbigpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2Vs
ZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgogICAgIGNhc2Ug
U3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKKyAgICBjYXNlIFN0YXRlOjpTdXNwZW5kZWRXaGlsZUFj
dGl2ZToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIH0KQEAgLTg4NSw2ICs5MjAsNyBA
QCBib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuQWJvcnQoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6
OkFib3J0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6Q29tcGxldGVkOgogICAgIGNhc2UgU3RhdGU6OkNh
bmNlbGVkOgorICAgIGNhc2UgU3RhdGU6OlN1c3BlbmRlZFdoaWxlQWN0aXZlOgogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBjYXNlIFN0YXRlOjpBY3RpdmU6CkBAIC05MTIsNiArOTQ4LDcg
QEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkNhbmNlbCgpIGNvbnN0CiAgICAgY2FzZSBTdGF0
ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhv
ZFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKKyAgICBjYXNlIFN0
YXRlOjpTdXNwZW5kZWRXaGlsZUFjdGl2ZToKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQog
fQpAQCAtOTM5LDYgKzk3Niw3IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjpjYW5Db21wbGV0ZVNo
aXBwaW5nTWV0aG9kU2VsZWN0aW9uKCkgY29uc3QKICAgICBjYXNlIFN0YXRlOjpQYXltZW50TWV0
aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2VsZWN0ZWQ6CiAg
ICAgY2FzZSBTdGF0ZTo6Q2FuY2VsUmVxdWVzdGVkOgorICAgIGNhc2UgU3RhdGU6OlN1c3BlbmRl
ZFdoaWxlQWN0aXZlOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBjYXNlIFN0YXRlOjpT
aGlwcGluZ01ldGhvZFNlbGVjdGVkOgpAQCAtOTU4LDYgKzk5Niw3IEBAIGJvb2wgQXBwbGVQYXlT
ZXNzaW9uOjpjYW5Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbigpIGNvbnN0CiAgICAg
Y2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlNoaXBw
aW5nTWV0aG9kU2VsZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6Q2FuY2VsUmVxdWVzdGVkOgorICAg
IGNhc2UgU3RhdGU6OlN1c3BlbmRlZFdoaWxlQWN0aXZlOgogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKQEAgLTk3Nyw2ICsx
MDE2LDcgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkNvbXBsZXRlUGF5bWVudE1ldGhvZFNl
bGVjdGlvbigpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdNZXRob2RTZWxlY3RlZDoK
ICAgICBjYXNlIFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRl
OjpDYW5jZWxSZXF1ZXN0ZWQ6CisgICAgY2FzZSBTdGF0ZTo6U3VzcGVuZGVkV2hpbGVBY3RpdmU6
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RT
ZWxlY3RlZDoKQEAgLTk5Niw2ICsxMDM2LDcgQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhbkNv
bXBsZXRlUGF5bWVudCgpIGNvbnN0CiAgICAgY2FzZSBTdGF0ZTo6U2hpcHBpbmdDb250YWN0U2Vs
ZWN0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6UGF5bWVudE1ldGhvZFNlbGVjdGVkOgogICAgIGNhc2Ug
U3RhdGU6OkNhbmNlbFJlcXVlc3RlZDoKKyAgICBjYXNlIFN0YXRlOjpTdXNwZW5kZWRXaGlsZUFj
dGl2ZToKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgY2FzZSBTdGF0ZTo6QXV0aG9yaXpl
ZDoKQEAgLTEwMTgsNiArMTA1OSw3IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjppc0ZpbmFsU3Rh
dGUoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OkNvbXBsZXRlZDoKICAgICBjYXNlIFN0YXRlOjpB
Ym9ydGVkOgogICAgIGNhc2UgU3RhdGU6OkNhbmNlbGVkOgorICAgIGNhc2UgU3RhdGU6OlN1c3Bl
bmRlZFdoaWxlQWN0aXZlOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaAppbmRleCAx
YjhjNGVhZGNiZGJkOTQxMjY3NDJlN2MzOTM4YTE5Y2FjM2IyNWM5Li40Njc2ZjE2ZGUyYjU5MWYw
YjcxODJhN2NkODI3NDliZjIyMTlkNmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmgKQEAgLTEwMiw4ICsxMDIsOSBAQCBwcml2YXRl
OgogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0LgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9i
amVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIHNob3VsZFByZXZlbnRFbnRlcmlu
Z0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZvaWQg
cmVzdW1lKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBz
dXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIG92ZXJyaWRlOwogCiAgICAgLy8gRXZlbnRUYXJn
ZXRXaXRoSW5saW5lRGF0YS4KICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldElu
dGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFwcGxlUGF5U2Vzc2lvbkV2ZW50VGFy
Z2V0SW50ZXJmYWNlVHlwZTsgfQpAQCAtMTMwLDEwICsxMzEsMTMgQEAgcHJpdmF0ZToKICAgICBi
b29sIGNhbkNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKCkgY29uc3Q7CiAgICAgYm9v
bCBjYW5Db21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rpb24oKSBjb25zdDsKICAgICBib29sIGNh
bkNvbXBsZXRlUGF5bWVudCgpIGNvbnN0OworICAgIGJvb2wgY2FuU3VzcGVuZFdoaWxlQWN0aXZl
KCkgY29uc3Q7CiAKICAgICBib29sIGlzRmluYWxTdGF0ZSgpIGNvbnN0OwogICAgIHZvaWQgZGlk
UmVhY2hGaW5hbFN0YXRlKCk7CiAKKyAgICB2b2lkIGNhbmNlbFBheW1lbnRTZXNzaW9uKFBheW1l
bnRTZXNzaW9uRXJyb3ImJik7CisKICAgICBlbnVtIGNsYXNzIFN0YXRlIHsKICAgICAgICAgSWRs
ZSwKIApAQCAtMTQ3LDYgKzE1MSw3IEBAIHByaXZhdGU6CiAKICAgICAgICAgQWJvcnRlZCwKICAg
ICAgICAgQ2FuY2VsZWQsCisgICAgICAgIFN1c3BlbmRlZFdoaWxlQWN0aXZlLAogICAgIH0gbV9z
dGF0ZSB7IFN0YXRlOjpJZGxlIH07CiAKICAgICBlbnVtIGNsYXNzIE1lcmNoYW50VmFsaWRhdGlv
blN0YXRlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBjODg4MDJlN2RkZGMwNzFiYWRlMDBjMmMzMzA4ZmM2ODRjODJmNmE0
Li5jZTY1MWFkNTkzNWFmODkxYzlkNzczZWI3NGI1NDAyZWNmZGM4MDUwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTktMTEtMDQgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisg
ICAgICAgIEFwcGxlUGF5U2Vzc2lvbiBzaG91bGQgbmV2ZXIgcHJldmVudCBlbnRlcmluZyB0aGUg
YmFjay9mb3J3YXJkIGNhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDMwODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2NzQ0NDAxPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvcGFnZS1jYWNoZS1hY3RpdmUtYXBwbGUtcGF5LXNlc3Npb24tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9wYWdlLWNh
Y2hlLWFjdGl2ZS1hcHBsZS1wYXktc2Vzc2lvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9wYWdlLWNhY2hlLWluYWN0aXZlLWFwcGxlLXBheS1zZXNzaW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
cGFnZS1jYWNoZS1pbmFjdGl2ZS1hcHBsZS1wYXktc2Vzc2lvbi5odG1sOiBBZGRlZC4KKwogMjAx
OS0xMS0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE1lZGlh
UmVjb3JkZXIgc2hvdWxkIG5vdCBwcmV2ZW50IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2Fj
aGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L3BhZ2Ut
Y2FjaGUtYWN0aXZlLWFwcGxlLXBheS1zZXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L3BhZ2UtY2FjaGUtYWN0aXZlLWFwcGxlLXBheS1zZXNz
aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDczNzcwZGYwYmJiMjhhMmQ5YWE2OGYxNGJi
MmQ0NmRlM2ZjYTU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
c2wvYXBwbGVwYXkvcGFnZS1jYWNoZS1hY3RpdmUtYXBwbGUtcGF5LXNlc3Npb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTQgQEAKK1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYW4gYWN0aXZlIEFw
cGxlUGF5U2Vzc2lvbiBnb2VzIGludG8gdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK3BhZ2VzaG93IC0gbm90IGZyb20gY2FjaGUKK3BhZ2Vo
aWRlIC0gZW50ZXJpbmcgY2FjaGUKK3BhZ2VzaG93IC0gZnJvbSBjYWNoZQorUEFTUyBQYWdlIGRp
ZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorUEFT
UyBBcHBsZVBheVNlc3Npb24gcmVjZWl2ZWQgYSBjYW5jZWwgZXZlbnQuCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvcGFnZS1jYWNoZS1hY3RpdmUtYXBwbGUtcGF5
LXNlc3Npb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L3BhZ2Ut
Y2FjaGUtYWN0aXZlLWFwcGxlLXBheS1zZXNzaW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWQ4ZTQ4YzFl
OTU3M2Y4NzdkY2NkZGIyNmZmMDlmYWNlMTdjMjc2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L3BhZ2UtY2FjaGUtYWN0aXZlLWFwcGxlLXBh
eS1zZXNzaW9uLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBlbmFibGVCYWNrRm9yd2FyZENhY2hlPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPScvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyc+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0nL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyc+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGgg
YW4gYWN0aXZlIEFwcGxlUGF5U2Vzc2lvbiBnb2VzIGludG8gdGhlIGJhY2svZm9yd2FyZCBjYWNo
ZS4nKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKword2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ3BhZ2VzaG93JywgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1ZygncGFnZXNob3cg
LSAnICsgKGV2ZW50LnBlcnNpc3RlZCA/ICcnIDogJ25vdCAnKSArICdmcm9tIGNhY2hlJyk7CisK
KyAgICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RQYXNzZWQoJ1BhZ2UgZGlk
IGVudGVyIGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgYmFjay9mb3J3YXJkIGNhY2hlJyk7Cisg
ICAgfQorfSwgZmFsc2UpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncGFnZWhpZGUnLCBm
dW5jdGlvbihldmVudCkgeworICAgIGRlYnVnKCdwYWdlaGlkZSAtICcgKyAoZXZlbnQucGVyc2lz
dGVkID8gJycgOiAnbm90ICcpICsgJ2VudGVyaW5nIGNhY2hlJyk7CisgICAgaWYgKCFldmVudC5w
ZXJzaXN0ZWQpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgnUGFnZSBmYWlsZWQgdG8gZW50ZXIgdGhl
IGJhY2svZm9yd2FyZCBjYWNoZS4nKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQor
fSwgZmFsc2UpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkg
eworICAgIFVJSGVscGVyLndpdGhVc2VyR2VzdHVyZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2Vz
c2lvbiA9IG5ldyBBcHBsZVBheVNlc3Npb24oMSwgeworICAgICAgICAgICAgY291bnRyeUNvZGU6
ICdVUycsCisgICAgICAgICAgICBjdXJyZW5jeUNvZGU6ICdVU0QnLAorICAgICAgICAgICAgc3Vw
cG9ydGVkTmV0d29ya3M6IFsndmlzYScsICdtYXN0ZXJDYXJkJ10sCisgICAgICAgICAgICBtZXJj
aGFudENhcGFiaWxpdGllczogWydzdXBwb3J0czNEUyddLAorICAgICAgICAgICAgdG90YWw6IHsg
bGFiZWw6ICdUb3RhbCcsIGFtb3VudDogJzEuMDAnIH0sCisgICAgICAgIH0pOworICAgICAgICBz
ZXNzaW9uLmJlZ2luKCk7CisgICAgfSk7CisKKyAgICBzZXNzaW9uLmFkZEV2ZW50TGlzdGVuZXIo
J2NhbmNlbCcsIGZ1bmN0aW9uKCkgeworICAgICAgICB0ZXN0UGFzc2VkKCdBcHBsZVBheVNlc3Np
b24gcmVjZWl2ZWQgYSBjYW5jZWwgZXZlbnQuJyk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgIH0pOworCisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgd2luZG93Lmxv
Y2F0aW9uLmhyZWYgPSAnL25hdmlnYXRpb24vcmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0
bWwnOworICAgIH0sIDApOworfSwgZmFsc2UpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9wYWdlLWNh
Y2hlLWluYWN0aXZlLWFwcGxlLXBheS1zZXNzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L3BhZ2UtY2FjaGUtaW5hY3RpdmUtYXBwbGUtcGF5LXNl
c3Npb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlMWExMWUxNmMzNTA4NTdlY2VlYzI2MGFi
ZjQ0OWE0NWY3NGNiMmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NzbC9hcHBsZXBheS9wYWdlLWNhY2hlLWluYWN0aXZlLWFwcGxlLXBheS1zZXNzaW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGFuIGluYWN0
aXZlIEFwcGxlUGF5U2Vzc2lvbiBnb2VzIGludG8gdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK3BhZ2VzaG93IC0gbm90IGZyb20gY2FjaGUK
K3BhZ2VoaWRlIC0gZW50ZXJpbmcgY2FjaGUKK3BhZ2VzaG93IC0gZnJvbSBjYWNoZQorUEFTUyBQ
YWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIGJhY2svZm9yd2FyZCBjYWNo
ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L3BhZ2UtY2FjaGUt
aW5hY3RpdmUtYXBwbGUtcGF5LXNlc3Npb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5L3BhZ2UtY2FjaGUtaW5hY3RpdmUtYXBwbGUtcGF5LXNlc3Npb24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40ZDJhMmNiYzlhOTljNzVlYzU4NTNkZDk5MDdkNWU2ZWQ2Y2I1ZGY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvcGFnZS1j
YWNoZS1pbmFjdGl2ZS1hcHBsZS1wYXktc2Vzc2lvbi5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlQmFja0ZvcndhcmRDYWNoZT10cnVlIF0gLS0+
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0nL2pzLXRlc3Qt
cmVzb3VyY2VzL2pzLXRlc3QuanMnPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Jy9qcy10ZXN0LXJl
c291cmNlcy91aS1oZWxwZXIuanMnPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdU
ZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGFuIGluYWN0aXZlIEFwcGxlUGF5U2Vzc2lvbiBnb2VzIGlu
dG8gdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4nKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BhZ2VzaG93JywgZnVuY3Rpb24oZXZlbnQp
IHsKKyAgICBkZWJ1ZygncGFnZXNob3cgLSAnICsgKGV2ZW50LnBlcnNpc3RlZCA/ICcnIDogJ25v
dCAnKSArICdmcm9tIGNhY2hlJyk7CisKKyAgICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7CisgICAg
ICAgIHRlc3RQYXNzZWQoJ1BhZ2UgZGlkIGVudGVyIGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUg
YmFjay9mb3J3YXJkIGNhY2hlJyk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30s
IGZhbHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BhZ2VoaWRlJywgZnVuY3Rpb24o
ZXZlbnQpIHsKKyAgICBkZWJ1ZygncGFnZWhpZGUgLSAnICsgKGV2ZW50LnBlcnNpc3RlZCA/ICcn
IDogJ25vdCAnKSArICdlbnRlcmluZyBjYWNoZScpOworICAgIGlmICghZXZlbnQucGVyc2lzdGVk
KSB7CisgICAgICAgIHRlc3RGYWlsZWQoJ1BhZ2UgZmFpbGVkIHRvIGVudGVyIHRoZSBiYWNrL2Zv
cndhcmQgY2FjaGUuJyk7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30sIGZhbHNl
KTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKKyAgICBV
SUhlbHBlci53aXRoVXNlckdlc3R1cmUoKCkgPT4geworICAgICAgICBzZXNzaW9uID0gbmV3IEFw
cGxlUGF5U2Vzc2lvbigxLCB7CisgICAgICAgICAgICBjb3VudHJ5Q29kZTogJ1VTJywKKyAgICAg
ICAgICAgIGN1cnJlbmN5Q29kZTogJ1VTRCcsCisgICAgICAgICAgICBzdXBwb3J0ZWROZXR3b3Jr
czogWyd2aXNhJywgJ21hc3RlckNhcmQnXSwKKyAgICAgICAgICAgIG1lcmNoYW50Q2FwYWJpbGl0
aWVzOiBbJ3N1cHBvcnRzM0RTJ10sCisgICAgICAgICAgICB0b3RhbDogeyBsYWJlbDogJ1lvdXIg
TGFiZWwnLCBhbW91bnQ6ICcxMC4wMCcgfSwKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcv
bmF2aWdhdGlvbi9yZXNvdXJjZXMvcGFnZS1jYWNoZS1oZWxwZXIuaHRtbCc7CisgICAgfSwgMCk7
Cit9LCBmYWxzZSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382806</attachid>
            <date>2019-11-04 21:51:00 -0800</date>
            <delta_ts>2019-11-05 09:13:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203087-20191104215100.patch</filename>
            <type>text/plain</type>
            <size>11089</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyMDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI0N2JkZjNmNzk0MGYx
NDE2N2Q1MWRlZmQ0MGEwOGExOTQzNmYzZi4uNTk1NjU1Mzk2ZTRhZWFkZmE4N2E0Yjc4YmNhY2Jh
MjZhYWQyYTU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTExLTA0ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBBcHBsZVBheVNlc3Npb24gc2hv
dWxkIG5ldmVyIHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMDg3CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81Njc0NDQwMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSYXRoZXIgdGhhbiBwcmV2ZW50IGVudGVyaW5nIHRoZSBiYWNr
L2ZvcndhcmQgY2FjaGUgd2hlbiB0aGVyZSBpcyBhbiBhY3RpdmUgc2Vzc2lvbiwgYWJvcnQKKyAg
ICAgICAgdGhlIHNlc3Npb24gb24gc3VzcGVuc2lvbiBhbmQgcXVldWUgYSB0YXNrIHRvIHRoZSBl
dmVudCBsb29wIHRoYXQgZGlzcGF0Y2hlcyB0aGUgY2FuY2VsIGV2ZW50LgorCisgICAgICAgIFRl
c3RzOiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9wYWdlLWNhY2hlLWFjdGl2ZS1hcHBsZS1wYXkt
c2Vzc2lvbi5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9wYWdl
LWNhY2hlLWluYWN0aXZlLWFwcGxlLXBheS1zZXNzaW9uLmh0bWwKKworICAgICAgICAqIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxl
UGF5U2Vzc2lvbjo6Y2FuU3VzcGVuZFdpdGhvdXRDYW5jZWxpbmcgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpzdXNwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkFw
cGxlUGF5U2Vzc2lvbjo6c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBS
RUNBVEVEIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvbi5oOgorCiAyMDE5LTExLTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgTWVkaWFSZWNvcmRlciBzaG91bGQgbm90IHByZXZlbnQgZW50ZXJpbmcg
dGhlIGJhY2svZm9yd2FyZCBjYWNoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCmluZGV4IGIwZmRmMDNjNDMwZWEwOTEyNWIwNzQw
OTM4ZTYwOTFlMGQ5N2EwYjAuLjY0OTNmZTZiYTU5Y2M1YzFlZDUxODMyMWQzZWU2ZjE3ZDQ0ZjI4
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2Vzc2lvbi5jcHAKQEAgLTgyMywxNCArODIzLDE0IEBAIGNvbnN0IGNoYXIqIEFwcGxlUGF5U2Vz
c2lvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJBcHBsZVBheVNl
c3Npb24iOwogfQogCi1ib29sIEFwcGxlUGF5U2Vzc2lvbjo6c2hvdWxkUHJldmVudEVudGVyaW5n
QmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QKK2Jvb2wgQXBwbGVQYXlTZXNzaW9u
OjpjYW5TdXNwZW5kV2l0aG91dENhbmNlbGluZygpIGNvbnN0CiB7CiAgICAgc3dpdGNoIChtX3N0
YXRlKSB7CiAgICAgY2FzZSBTdGF0ZTo6SWRsZToKICAgICBjYXNlIFN0YXRlOjpBYm9ydGVkOgog
ICAgIGNhc2UgU3RhdGU6OkNvbXBsZXRlZDoKICAgICBjYXNlIFN0YXRlOjpDYW5jZWxlZDoKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGNhc2UgU3Rh
dGU6OkFjdGl2ZToKICAgICBjYXNlIFN0YXRlOjpBdXRob3JpemVkOgpAQCAtODM4LDggKzgzOCw3
IEBAIGJvb2wgQXBwbGVQYXlTZXNzaW9uOjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2Fy
ZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFj
dFNlbGVjdGVkOgogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKICAgICBj
YXNlIFN0YXRlOjpDYW5jZWxSZXF1ZXN0ZWQ6Ci0gICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCBuZXZlciBwcmV2ZW50IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCi0gICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogfQogCkBAIC04NTQs
NiArODUzLDIxIEBAIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpzdG9wKCkKICAgICBkaWRSZWFjaEZp
bmFsU3RhdGUoKTsKIH0KIAordm9pZCBBcHBsZVBheVNlc3Npb246OnN1c3BlbmQoUmVhc29uRm9y
U3VzcGVuc2lvbiByZWFzb24pCit7CisgICAgaWYgKHJlYXNvbiAhPSBSZWFzb25Gb3JTdXNwZW5z
aW9uOjpCYWNrRm9yd2FyZENhY2hlKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoY2FuU3Vz
cGVuZFdpdGhvdXRDYW5jZWxpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zdGF0ZSA9
IFN0YXRlOjpDYW5jZWxlZDsKKyAgICBwYXltZW50Q29vcmRpbmF0b3IoKS5hYm9ydFBheW1lbnRT
ZXNzaW9uKCk7CisgICAgcXVldWVUYXNrVG9EaXNwYXRjaEV2ZW50KCp0aGlzLCBUYXNrU291cmNl
OjpVc2VySW50ZXJhY3Rpb24sIEFwcGxlUGF5Q2FuY2VsRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkuY2FuY2VsRXZlbnQsIHsgfSkpOworCisgICAgZGlkUmVhY2hGaW5hbFN0YXRlKCk7Cit9CisK
IFBheW1lbnRDb29yZGluYXRvciYgQXBwbGVQYXlTZXNzaW9uOjpwYXltZW50Q29vcmRpbmF0b3Io
KSBjb25zdAogewogICAgIHJldHVybiBkb3duY2FzdDxEb2N1bWVudD4oKnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSkucGFnZSgpLT5wYXltZW50Q29vcmRpbmF0b3IoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5oCmluZGV4IDFiOGM0ZWFk
Y2JkYmQ5NDEyNjc0MmU3YzM5MzhhMTljYWMzYjI1YzkuLjMyY2M3NmM4N2Y2NWE3YzExMjVkNzI5
MGUzNGFkYTBlNTNmYjViZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb24uaApAQCAtMTAyLDggKzEwMiw4IEBAIHByaXZhdGU6CiAKICAg
ICAvLyBBY3RpdmVET01PYmplY3QuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFt
ZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgc2hvdWxkUHJldmVudEVudGVyaW5nQmFja0Zv
cndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdG9wKCkg
b3ZlcnJpZGU7CisgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIG92ZXJyaWRl
OwogCiAgICAgLy8gRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YS4KICAgICBFdmVudFRhcmdldElu
dGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFw
cGxlUGF5U2Vzc2lvbkV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQpAQCAtMTMwLDYgKzEzMCw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBjYW5Db21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlv
bigpIGNvbnN0OwogICAgIGJvb2wgY2FuQ29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKCkg
Y29uc3Q7CiAgICAgYm9vbCBjYW5Db21wbGV0ZVBheW1lbnQoKSBjb25zdDsKKyAgICBib29sIGNh
blN1c3BlbmRXaXRob3V0Q2FuY2VsaW5nKCkgY29uc3Q7CiAKICAgICBib29sIGlzRmluYWxTdGF0
ZSgpIGNvbnN0OwogICAgIHZvaWQgZGlkUmVhY2hGaW5hbFN0YXRlKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzg4ODAy
ZTdkZGRjMDcxYmFkZTAwYzJjMzMwOGZjNjg0YzgyZjZhNC4uY2U2NTFhZDU5MzVhZjg5MWM5ZDc3
M2ViNzRiNTQwMmVjZmRjODA1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTExLTA0ICBB
bmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBBcHBsZVBheVNlc3Npb24g
c2hvdWxkIG5ldmVyIHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMDg3CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS81Njc0NDQwMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L3BhZ2UtY2Fj
aGUtYWN0aXZlLWFwcGxlLXBheS1zZXNzaW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvcGFnZS1jYWNoZS1hY3RpdmUtYXBwbGUtcGF5LXNl
c3Npb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvcGFn
ZS1jYWNoZS1pbmFjdGl2ZS1hcHBsZS1wYXktc2Vzc2lvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L3BhZ2UtY2FjaGUtaW5hY3RpdmUtYXBw
bGUtcGF5LXNlc3Npb24uaHRtbDogQWRkZWQuCisKIDIwMTktMTEtMDQgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYVJlY29yZGVyIHNob3VsZCBub3QgcHJl
dmVudCBlbnRlcmluZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9wYWdlLWNhY2hlLWFjdGl2ZS1hcHBsZS1wYXkt
c2Vzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBh
eS9wYWdlLWNhY2hlLWFjdGl2ZS1hcHBsZS1wYXktc2Vzc2lvbi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uN2Q3Mzc3MGRmMGJiYjI4YTJkOWFhNjhmMTRiYjJkNDZkZTNmY2E1NwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L3BhZ2UtY2FjaGUt
YWN0aXZlLWFwcGxlLXBheS1zZXNzaW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitU
ZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGFuIGFjdGl2ZSBBcHBsZVBheVNlc3Npb24gZ29lcyBpbnRv
IHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitwYWdlc2hvdyAtIG5vdCBmcm9tIGNhY2hlCitwYWdlaGlkZSAtIGVudGVyaW5nIGNhY2hlCitw
YWdlc2hvdyAtIGZyb20gY2FjaGUKK1BBU1MgUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyByZXN0b3Jl
ZCBmcm9tIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUKK1BBU1MgQXBwbGVQYXlTZXNzaW9uIHJlY2Vp
dmVkIGEgY2FuY2VsIGV2ZW50LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2Fw
cGxlcGF5L3BhZ2UtY2FjaGUtYWN0aXZlLWFwcGxlLXBheS1zZXNzaW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9wYWdlLWNhY2hlLWFjdGl2ZS1hcHBsZS1wYXkt
c2Vzc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkOGU0OGMxZTk1NzNmODc3ZGNjZGRiMjZmZjA5ZmFj
ZTE3YzI3NmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9h
cHBsZXBheS9wYWdlLWNhY2hlLWFjdGl2ZS1hcHBsZS1wYXktc2Vzc2lvbi5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlQmFja0ZvcndhcmRDYWNo
ZT10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0nL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMnPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Jy9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMnPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGFuIGFjdGl2ZSBBcHBsZVBheVNlc3Np
b24gZ29lcyBpbnRvIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuJyk7Cit3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwYWdlc2hvdycsIGZ1bmN0
aW9uKGV2ZW50KSB7CisgICAgZGVidWcoJ3BhZ2VzaG93IC0gJyArIChldmVudC5wZXJzaXN0ZWQg
PyAnJyA6ICdub3QgJykgKyAnZnJvbSBjYWNoZScpOworCisgICAgaWYgKGV2ZW50LnBlcnNpc3Rl
ZCkgeworICAgICAgICB0ZXN0UGFzc2VkKCdQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVk
IGZyb20gdGhlIGJhY2svZm9yd2FyZCBjYWNoZScpOworICAgIH0KK30sIGZhbHNlKTsKKword2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BhZ2VoaWRlJywgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBk
ZWJ1ZygncGFnZWhpZGUgLSAnICsgKGV2ZW50LnBlcnNpc3RlZCA/ICcnIDogJ25vdCAnKSArICdl
bnRlcmluZyBjYWNoZScpOworICAgIGlmICghZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRl
c3RGYWlsZWQoJ1BhZ2UgZmFpbGVkIHRvIGVudGVyIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuJyk7
CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30sIGZhbHNlKTsKKword2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKKyAgICBVSUhlbHBlci53aXRoVXNl
ckdlc3R1cmUoZnVuY3Rpb24oKSB7CisgICAgICAgIHNlc3Npb24gPSBuZXcgQXBwbGVQYXlTZXNz
aW9uKDEsIHsKKyAgICAgICAgICAgIGNvdW50cnlDb2RlOiAnVVMnLAorICAgICAgICAgICAgY3Vy
cmVuY3lDb2RlOiAnVVNEJywKKyAgICAgICAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbJ3Zpc2En
LCAnbWFzdGVyQ2FyZCddLAorICAgICAgICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsnc3Vw
cG9ydHMzRFMnXSwKKyAgICAgICAgICAgIHRvdGFsOiB7IGxhYmVsOiAnVG90YWwnLCBhbW91bnQ6
ICcxLjAwJyB9LAorICAgICAgICB9KTsKKyAgICAgICAgc2Vzc2lvbi5iZWdpbigpOworICAgIH0p
OworCisgICAgc2Vzc2lvbi5hZGRFdmVudExpc3RlbmVyKCdjYW5jZWwnLCBmdW5jdGlvbigpIHsK
KyAgICAgICAgdGVzdFBhc3NlZCgnQXBwbGVQYXlTZXNzaW9uIHJlY2VpdmVkIGEgY2FuY2VsIGV2
ZW50LicpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9KTsKKworICAgIHNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy9uYXZpZ2F0
aW9uL3Jlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sJzsKKyAgICB9LCAwKTsKK30sIGZh
bHNlKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvcGFnZS1jYWNoZS1pbmFjdGl2ZS1hcHBsZS1wYXkt
c2Vzc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBh
eS9wYWdlLWNhY2hlLWluYWN0aXZlLWFwcGxlLXBheS1zZXNzaW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMzg3Mjg3ZjgxZjdiMTkxMjg0Mzc0YWY2YzMzNjg4ZWE3YWFjODYxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvcGFnZS1jYWNo
ZS1pbmFjdGl2ZS1hcHBsZS1wYXktc2Vzc2lvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBA
QAorVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhbiBpbmFjdGl2ZSBBcHBsZVBheVNlc3Npb24gZ29l
cyBpbnRvIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitwYWdlc2hvdyAtIG5vdCBmcm9tIGNhY2hlCitwYWdlaGlkZSAtIGVudGVyaW5nIGNh
Y2hlCitwYWdlc2hvdyAtIGZyb20gY2FjaGUKK1BBU1MgUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyBy
ZXN0b3JlZCBmcm9tIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUKK1BBU1MgSWRsZSBBcHBsZVBheVNl
c3Npb24gd2FzIGFibGUgdG8gYmVnaW4gYW5kIGFib3J0IGFmdGVyIHJlc3RvcmluZyBmcm9tIHRo
ZSBiYWNrL2ZvcndhcmQgY2FjaGUuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvcGFnZS1jYWNoZS1pbmFjdGl2ZS1hcHBsZS1wYXktc2Vzc2lvbi5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvcGFnZS1jYWNoZS1pbmFjdGl2ZS1hcHBs
ZS1wYXktc2Vzc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjMzExMzU4NDFkNzg0NzllZjFhZTg5YTIz
NWRjNjI5MWQ1ZWZjMjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NzbC9hcHBsZXBheS9wYWdlLWNhY2hlLWluYWN0aXZlLWFwcGxlLXBheS1zZXNzaW9uLmh0bWwK
QEAgLTAsMCArMSw1NSBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVCYWNrRm9y
d2FyZENhY2hlPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPScvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyc+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0nL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyc+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYW4gaW5hY3RpdmUgQXBw
bGVQYXlTZXNzaW9uIGdvZXMgaW50byB0aGUgYmFjay9mb3J3YXJkIGNhY2hlLicpOword2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncGFnZXNo
b3cnLCBmdW5jdGlvbihldmVudCkgeworICAgIGRlYnVnKCdwYWdlc2hvdyAtICcgKyAoZXZlbnQu
cGVyc2lzdGVkID8gJycgOiAnbm90ICcpICsgJ2Zyb20gY2FjaGUnKTsKKworICAgIGlmICghZXZl
bnQucGVyc2lzdGVkKQorICAgICAgICByZXR1cm47CisKKyAgICB0ZXN0UGFzc2VkKCdQYWdlIGRp
ZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIGJhY2svZm9yd2FyZCBjYWNoZScpOwor
CisgICAgdHJ5IHsKKyAgICAgICAgc2Vzc2lvbi5iZWdpbigpOworICAgICAgICBzZXNzaW9uLmFi
b3J0KCk7CisgICAgICAgIHRlc3RQYXNzZWQoJ0lkbGUgQXBwbGVQYXlTZXNzaW9uIHdhcyBhYmxl
IHRvIGJlZ2luIGFuZCBhYm9ydCBhZnRlciByZXN0b3JpbmcgZnJvbSB0aGUgYmFjay9mb3J3YXJk
IGNhY2hlLicpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgdGVzdEZhaWxlZCgnQXBwbGVQ
YXlTZXNzaW9uIHdhcyBub3QgaWRsZSBhZnRlciByZXN0b3JpbmcgZnJvbSB0aGUgYmFjay9mb3J3
YXJkIGNhY2hlLicpOworICAgIH0KKworICAgIGZpbmlzaEpTVGVzdCgpOworfSwgZmFsc2UpOwor
Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncGFnZWhpZGUnLCBmdW5jdGlvbihldmVudCkgewor
ICAgIGRlYnVnKCdwYWdlaGlkZSAtICcgKyAoZXZlbnQucGVyc2lzdGVkID8gJycgOiAnbm90ICcp
ICsgJ2VudGVyaW5nIGNhY2hlJyk7CisgICAgaWYgKCFldmVudC5wZXJzaXN0ZWQpIHsKKyAgICAg
ICAgdGVzdEZhaWxlZCgnUGFnZSBmYWlsZWQgdG8gZW50ZXIgdGhlIGJhY2svZm9yd2FyZCBjYWNo
ZS4nKTsKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgfQorfSwgZmFsc2UpOworCit3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgeworICAgIFVJSGVscGVyLndp
dGhVc2VyR2VzdHVyZShmdW5jdGlvbigpIHsKKyAgICAgICAgc2Vzc2lvbiA9IG5ldyBBcHBsZVBh
eVNlc3Npb24oMSwgeworICAgICAgICAgICAgY291bnRyeUNvZGU6ICdVUycsCisgICAgICAgICAg
ICBjdXJyZW5jeUNvZGU6ICdVU0QnLAorICAgICAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsn
dmlzYScsICdtYXN0ZXJDYXJkJ10sCisgICAgICAgICAgICBtZXJjaGFudENhcGFiaWxpdGllczog
WydzdXBwb3J0czNEUyddLAorICAgICAgICAgICAgdG90YWw6IHsgbGFiZWw6ICdUb3RhbCcsIGFt
b3VudDogJzEuMDAnIH0sCisgICAgICAgIH0pOworICAgIH0pOworCisgICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsKKyAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL25hdmlnYXRpb24v
cmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVscGVyLmh0bWwnOworICAgIH0sIDApOworfSwgZmFsc2Up
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>