<?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>207993</bug_id>
          
          <creation_ts>2020-02-19 21:15:18 -0800</creation_ts>
          <short_desc>[Web Animations] Repeated animations on pseudo elements will fail to run after a while</short_desc>
          <delta_ts>2020-06-24 09:44:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tyls.alexandr</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1621065</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-19 21:15:18 -0800</bug_when>
    <thetext>[Web Animations] Repeating animations on pseudo elements will fail to run after a while</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621067</commentid>
    <comment_count>1</comment_count>
      <attachid>391255</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-19 21:17:57 -0800</bug_when>
    <thetext>Created attachment 391255
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621068</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-19 21:17:59 -0800</bug_when>
    <thetext>&lt;rdar://problem/59428472&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621069</commentid>
    <comment_count>3</comment_count>
      <attachid>391255</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-19 21:18:31 -0800</bug_when>
    <thetext>Comment on attachment 391255
Patch

Needs a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621110</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-19 22:28:37 -0800</bug_when>
    <thetext>The assertions appear to be incorrect because there&apos;s a call to timeline-&gt;elementWasRemoved() from RenderTreeUpdater::tearDownRenderers() which is not about Element destruction.

Which means I don&apos;t know when it&apos;s OK to call m_elementToCSSAnimationsCreatedByMarkupMap.remove().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621125</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-02-20 00:03:09 -0800</bug_when>
    <thetext>Yeah, that doesn&apos;t make logical sense though may work in practice. I guess the idea is to do a full cleanup.

It is only called when renderTreeBeingDestroyed() and that is only set during document destruction and when entering b/f cache. The latter case is suspicious but might be fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621487</commentid>
    <comment_count>6</comment_count>
      <attachid>391357</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-20 16:38:20 -0800</bug_when>
    <thetext>Created attachment 391357
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621543</commentid>
    <comment_count>7</comment_count>
      <attachid>391357</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-02-20 19:38:04 -0800</bug_when>
    <thetext>Comment on attachment 391357
Patch

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

&gt; Source/WebCore/animation/AnimationTimeline.cpp:227
&gt; +void AnimationTimeline::willDestoryRendererForElement(Element&amp; element)

destroy typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621553</commentid>
    <comment_count>8</comment_count>
      <attachid>391379</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-20 21:15:06 -0800</bug_when>
    <thetext>Created attachment 391379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621554</commentid>
    <comment_count>9</comment_count>
      <attachid>391380</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-20 21:18:10 -0800</bug_when>
    <thetext>Created attachment 391380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621557</commentid>
    <comment_count>10</comment_count>
      <attachid>391381</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-20 21:29:11 -0800</bug_when>
    <thetext>Created attachment 391381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621647</commentid>
    <comment_count>11</comment_count>
      <attachid>391398</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-02-21 08:09:26 -0800</bug_when>
    <thetext>Created attachment 391398
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1621673</commentid>
    <comment_count>12</comment_count>
      <attachid>391398</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-21 09:21:51 -0800</bug_when>
    <thetext>Comment on attachment 391398
Patch

Clearing flags on attachment: 391398

Committed r257138: &lt;https://trac.webkit.org/changeset/257138&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665773</commentid>
    <comment_count>13</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-06-24 09:44:07 -0700</bug_when>
    <thetext>*** Bug 213547 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391255</attachid>
            <date>2020-02-19 21:17:57 -0800</date>
            <delta_ts>2020-02-20 16:38:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207993-20200219211756.patch</filename>
            <type>text/plain</type>
            <size>3446</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2ODUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwZjNmYTZlN2YwYjhj
MWIxYzNlMTQzZTZlZjcwNzZmOWYwY2QzMi4uYmVjMjE4MTEyOTRiMDhiOTFlZDY2MWJlYmY3ZTA0
NGFiMzUyNDhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTAyLTE5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5pbWF0
aW9uc10gQW5pbWF0aW9ucyBvbiBwc2V1ZG8gZWxlbWVudHMgd2lsbCBmYWlsIHRvIHJ1biBhZnRl
ciBhIHdoaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDc5OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5NDI4NDcyPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFuaW1hdGlvblRpbWVsaW5lOjpl
bGVtZW50V2FzUmVtb3ZlZCgpIG5lZWRzIHRvIGJlIGNhbGxlZCBmb3IgUHNldWRvRWxlbWVudHMs
CisgICAgICAgIG90aGVyd2lzZSBtX2VsZW1lbnRUb0NTU0FuaW1hdGlvbnNDcmVhdGVkQnlNYXJr
dXBNYXAgYWNjdW11bGF0ZXMgZW50cmllcyB3aXRoCisgICAgICAgIGtleXMgcmVmZXJyaW5nIHRv
IGRlbGV0ZWQgZWxlbWVudHMsIGFuZCBpZiBhZGRyZXNzZXMgc3RhcnQgdG8gZ2V0IHJlY3ljbGVk
LAorICAgICAgICBuZXcgYW5pbWF0aW9ucyBkb24ndCB3b3JrLgorCisgICAgICAgIEFuaW1hdGlv
blRpbWVsaW5lOjplbGVtZW50V2FzUmVtb3ZlZCgpIGFsc28gbmVlZHMgdG8gcmVtb3ZlIGVudHJp
ZXMgZnJvbQorICAgICAgICBtX2VsZW1lbnRUb0NTU0FuaW1hdGlvbnNDcmVhdGVkQnlNYXJrdXBN
YXAucmVtb3ZlLCBhbmQgYXNzZXJ0IHRoYXQgbm9uZSBvZiB0aGUgbWFwcworICAgICAgICByZWZl
cnMgdG8gdGhlIEVsZW1lbnQgYW55IG1vcmUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BT
ISkuCisKKyAgICAgICAgKiBhbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6QW5pbWF0aW9uVGltZWxpbmU6OmVsZW1lbnRXYXNSZW1vdmVkKToKKyAgICAg
ICAgKiBkb20vUHNldWRvRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQc2V1ZG9FbGVt
ZW50OjpjbGVhckhvc3RFbGVtZW50KToKKwogMjAyMC0wMi0xOCAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFBsYXRmb3JtTWVkaWFTZXNzaW9uQ2xp
ZW50IGRlcGVuZGVuY3kgb24gRG9jdW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
QW5pbWF0aW9uVGltZWxpbmUuY3BwCmluZGV4IDFkYmMyZTRlYThiMGM2NzJlZjZmZjVmMzZhODIy
NzMwYmJmZDEyMjUuLjgxN2NmMzdmNjk1ZDc4ZDhmZTk0NjY1ZjZiYTFhNjNiMTcwYWQ3Y2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmNwcApAQCAt
MjI4LDExICsyMjgsMjAgQEAgdm9pZCBBbmltYXRpb25UaW1lbGluZTo6ZWxlbWVudFdhc1JlbW92
ZWQoRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBmb3IgKGF1dG8mIGNzc1RyYW5zaXRpb24gOiBt
X2VsZW1lbnRUb0NTU1RyYW5zaXRpb25zTWFwLmdldCgmZWxlbWVudCkpCiAgICAgICAgIGNzc1Ry
YW5zaXRpb24tPmNhbmNlbChXZWJBbmltYXRpb246OlNpbGVudGx5OjpZZXMpOworCiAgICAgZm9y
IChhdXRvJiBjc3NBbmltYXRpb24gOiBtX2VsZW1lbnRUb0NTU0FuaW1hdGlvbnNNYXAuZ2V0KCZl
bGVtZW50KSkgewogICAgICAgICBpZiAoaXM8Q1NTQW5pbWF0aW9uPihjc3NBbmltYXRpb24pKQog
ICAgICAgICAgICAgcmVtb3ZlQ1NTQW5pbWF0aW9uQ3JlYXRlZEJ5TWFya3VwKGVsZW1lbnQsIGRv
d25jYXN0PENTU0FuaW1hdGlvbj4oKmNzc0FuaW1hdGlvbikpOwogICAgICAgICBjc3NBbmltYXRp
b24tPmNhbmNlbChXZWJBbmltYXRpb246OlNpbGVudGx5OjpZZXMpOwogICAgIH0KKyAgICAKKyAg
ICBtX2VsZW1lbnRUb0NTU0FuaW1hdGlvbnNDcmVhdGVkQnlNYXJrdXBNYXAucmVtb3ZlKCZlbGVt
ZW50KTsKKworICAgIEFTU0VSVCghbV9lbGVtZW50VG9BbmltYXRpb25zTWFwLmNvbnRhaW5zKCZl
bGVtZW50KSk7CisgICAgQVNTRVJUKCFtX2VsZW1lbnRUb0NTU0FuaW1hdGlvbnNNYXAuY29udGFp
bnMoJmVsZW1lbnQpKTsKKyAgICBBU1NFUlQoIW1fZWxlbWVudFRvQ1NTVHJhbnNpdGlvbnNNYXAu
Y29udGFpbnMoJmVsZW1lbnQpKTsKKyAgICBBU1NFUlQoIW1fZWxlbWVudFRvQ1NTQW5pbWF0aW9u
c0NyZWF0ZWRCeU1hcmt1cE1hcC5jb250YWlucygmZWxlbWVudCkpOworICAgIEFTU0VSVCghbV9l
bGVtZW50VG9SdW5uaW5nQ1NTVHJhbnNpdGlvbkJ5Q1NTUHJvcGVydHlJRC5jb250YWlucygmZWxl
bWVudCkpOwogfQogCiB2b2lkIEFuaW1hdGlvblRpbWVsaW5lOjpyZW1vdmVBbmltYXRpb25zRm9y
RWxlbWVudChFbGVtZW50JiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1BzZXVkb0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3Bw
CmluZGV4IGRkYjBiYzJlNGNkYmIzMDIyOWUwN2NiZjIwMDNhYTAwNTE0NjUwOGEuLmY0ODlkM2My
M2ZkN2QyMmMzNGM0NGY3YWI1NGNkOTMyMjM1ODhhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5jcHAKQEAgLTg5LDggKzg5LDExIEBAIHZvaWQgUHNldWRvRWxlbWVudDo6Y2xlYXJI
b3N0RWxlbWVudCgpCiB7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpwc2V1ZG9FbGVt
ZW50RGVzdHJveWVkKGRvY3VtZW50KCkucGFnZSgpLCAqdGhpcyk7CiAKLSAgICBpZiAoYXV0byog
dGltZWxpbmUgPSBkb2N1bWVudCgpLmV4aXN0aW5nVGltZWxpbmUoKSkKKyAgICBpZiAoYXV0byog
dGltZWxpbmUgPSBkb2N1bWVudCgpLmV4aXN0aW5nVGltZWxpbmUoKSkgewogICAgICAgICB0aW1l
bGluZS0+cmVtb3ZlQW5pbWF0aW9uc0ZvckVsZW1lbnQoKnRoaXMpOworICAgICAgICB0aW1lbGlu
ZS0+ZWxlbWVudFdhc1JlbW92ZWQoKnRoaXMpOworICAgIH0KKyAgICAKICAgICBpZiAoYXV0byog
ZnJhbWUgPSBkb2N1bWVudCgpLmZyYW1lKCkpCiAgICAgICAgIGZyYW1lLT5hbmltYXRpb24oKS5j
YW5jZWxBbmltYXRpb25zKCp0aGlzKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391357</attachid>
            <date>2020-02-20 16:38:20 -0800</date>
            <delta_ts>2020-02-20 16:47:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207993-20200220163819.patch</filename>
            <type>text/plain</type>
            <size>11484</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2ODUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwZjNmYTZlN2YwYjhj
MWIxYzNlMTQzZTZlZjcwNzZmOWYwY2QzMi4uOTMyYTRjYzI2NzllMTk5MGJhNGE4MzAwYzQxMzIz
ZGVlNzM0NzgzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTAyLTIwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5pbWF0
aW9uc10gUmVwZWF0ZWQgYW5pbWF0aW9ucyBvbiBwc2V1ZG8gZWxlbWVudHMgd2lsbCBmYWlsIHRv
IHJ1biBhZnRlciBhIHdoaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDc5OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5NDI4NDcyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgV2Ug
ZmFpbGVkIHRvIGNsZWFyIFBzZXVkb0VsZW1lbnQqIGZyb20gQW5pbWF0aW9uVGltZWxpbmUncyB2
YXJpb3VzIEhhc2hNYXBzIG9uIGRlc3RydWN0aW9uLAorICAgICAgICBjYXVzaW5nIGFuaW1hdGlv
bnMgdG8gZmFpbCB0byBydW4gd2hlbiB0aG9zZSBwb2ludGVyIGFkZHJlc3NlcyB3ZXJlIHJldXNl
ZC4KKworICAgICAgICBUZXN0OiBhbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMuaHRt
bAorCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFuaW1hdGlvblRpbWVsaW5lOjp3aWxsRGVzdG9yeVJlbmRlcmVyRm9yRWxlbWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25UaW1lbGluZTo6ZWxlbWVudFdhc1JlbW92
ZWQpOiBXZSBoYXZlIHRvIHJlbW92ZSB0aGUgRWxlbWVudCogZnJvbSBhbGwKKyAgICAgICAgaGFz
aG1hcHM7IGV4aXN0aW5nIGNvZGUgcGF0aHMgZG9uJ3QgZ3VhcmFudGVlIHRoYXQuCisgICAgICAg
ICogYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmg6CisgICAgICAgICogZG9tL0VsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3Rvcik6Cisg
ICAgICAgICogZG9tL1BzZXVkb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHNldWRv
RWxlbWVudDo6Y2xlYXJIb3N0RWxlbWVudCk6IENhbGwgZWxlbWVudFdhc1JlbW92ZWQoKSBhcyB3
ZSBkbyBmb3IKKyAgICAgICAgbm9ybWFsIGVsZW1lbnRzLgorICAgICAgICAqIHJlbmRlcmluZy91
cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
cmVlVXBkYXRlcjo6dGVhckRvd25SZW5kZXJlcnMpOiBDYWxsIHdpbGxEZXN0b3J5UmVuZGVyZXJG
b3JFbGVtZW50KCkgd2hpY2gKKyAgICAgICAgY2xlYXJzIGFuaW1hdGlvbnMsIGJ1dCBkb2Vucyd0
IHJlbW92ZSB0aGUgRWxlbWVudCBmcm9tIHRoZSBIYXNoTWFwcy4KKwogMjAyMC0wMi0xOCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uQ2xpZW50IGRlcGVuZGVuY3kgb24gRG9jdW1lbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuY3BwCmluZGV4IDFkYmMyZTRlYThiMGM2
NzJlZjZmZjVmMzZhODIyNzMwYmJmZDEyMjUuLmEyMmQ1MjE5MjZiN2U5MWU3YTUyNTJmZDBjMjli
ODY0ZjNlNDRkZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRp
b25UaW1lbGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRp
bWVsaW5lLmNwcApAQCAtMjI0LDEwICsyMjQsMTEgQEAgdm9pZCBBbmltYXRpb25UaW1lbGluZTo6
cmVtb3ZlQ1NTQW5pbWF0aW9uQ3JlYXRlZEJ5TWFya3VwKEVsZW1lbnQmIGVsZW1lbnQsIENTU0EK
ICAgICB9CiB9CiAKLXZvaWQgQW5pbWF0aW9uVGltZWxpbmU6OmVsZW1lbnRXYXNSZW1vdmVkKEVs
ZW1lbnQmIGVsZW1lbnQpCit2b2lkIEFuaW1hdGlvblRpbWVsaW5lOjp3aWxsRGVzdG9yeVJlbmRl
cmVyRm9yRWxlbWVudChFbGVtZW50JiBlbGVtZW50KQogewogICAgIGZvciAoYXV0byYgY3NzVHJh
bnNpdGlvbiA6IG1fZWxlbWVudFRvQ1NTVHJhbnNpdGlvbnNNYXAuZ2V0KCZlbGVtZW50KSkKICAg
ICAgICAgY3NzVHJhbnNpdGlvbi0+Y2FuY2VsKFdlYkFuaW1hdGlvbjo6U2lsZW50bHk6Olllcyk7
CisKICAgICBmb3IgKGF1dG8mIGNzc0FuaW1hdGlvbiA6IG1fZWxlbWVudFRvQ1NTQW5pbWF0aW9u
c01hcC5nZXQoJmVsZW1lbnQpKSB7CiAgICAgICAgIGlmIChpczxDU1NBbmltYXRpb24+KGNzc0Fu
aW1hdGlvbikpCiAgICAgICAgICAgICByZW1vdmVDU1NBbmltYXRpb25DcmVhdGVkQnlNYXJrdXAo
ZWxlbWVudCwgZG93bmNhc3Q8Q1NTQW5pbWF0aW9uPigqY3NzQW5pbWF0aW9uKSk7CkBAIC0yMzUs
NiArMjM2LDE3IEBAIHZvaWQgQW5pbWF0aW9uVGltZWxpbmU6OmVsZW1lbnRXYXNSZW1vdmVkKEVs
ZW1lbnQmIGVsZW1lbnQpCiAgICAgfQogfQogCit2b2lkIEFuaW1hdGlvblRpbWVsaW5lOjplbGVt
ZW50V2FzUmVtb3ZlZChFbGVtZW50JiBlbGVtZW50KQoreworICAgIHdpbGxEZXN0b3J5UmVuZGVy
ZXJGb3JFbGVtZW50KGVsZW1lbnQpOworCisgICAgbV9lbGVtZW50VG9BbmltYXRpb25zTWFwLnJl
bW92ZSgmZWxlbWVudCk7CisgICAgbV9lbGVtZW50VG9DU1NBbmltYXRpb25zTWFwLnJlbW92ZSgm
ZWxlbWVudCk7CisgICAgbV9lbGVtZW50VG9DU1NUcmFuc2l0aW9uc01hcC5yZW1vdmUoJmVsZW1l
bnQpOworICAgIG1fZWxlbWVudFRvUnVubmluZ0NTU1RyYW5zaXRpb25CeUNTU1Byb3BlcnR5SUQu
cmVtb3ZlKCZlbGVtZW50KTsKKyAgICBtX2VsZW1lbnRUb0NTU0FuaW1hdGlvbnNDcmVhdGVkQnlN
YXJrdXBNYXAucmVtb3ZlKCZlbGVtZW50KTsKK30KKwogdm9pZCBBbmltYXRpb25UaW1lbGluZTo6
cmVtb3ZlQW5pbWF0aW9uc0ZvckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBmb3Ig
KGF1dG8mIGFuaW1hdGlvbiA6IGFuaW1hdGlvbnNGb3JFbGVtZW50KGVsZW1lbnQpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuaAppbmRleCBlYjIxYWM4YjI3
YmM4NWRiYTVmYmQzNGU5ODJiZWU4NmM3OTMxNzc3Li5lYzcyMjFkZDJjYjhjZGRmNTMzYzA1ODQx
YjlmNGVkNWYyNTQzYjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5p
bWF0aW9uVGltZWxpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9u
VGltZWxpbmUuaApAQCAtNTksMTIgKzU5LDE3IEBAIHB1YmxpYzoKIAogICAgIGVudW0gY2xhc3Mg
T3JkZXJpbmcgOiB1aW50OF90IHsgU29ydGVkLCBVbnNvcnRlZCB9OwogICAgIFZlY3RvcjxSZWZQ
dHI8V2ViQW5pbWF0aW9uPj4gYW5pbWF0aW9uc0ZvckVsZW1lbnQoRWxlbWVudCYsIE9yZGVyaW5n
IG9yZGVyaW5nID0gT3JkZXJpbmc6OlVuc29ydGVkKSBjb25zdDsKKwogICAgIHZvaWQgZWxlbWVu
dFdhc1JlbW92ZWQoRWxlbWVudCYpOwogICAgIHZvaWQgcmVtb3ZlQW5pbWF0aW9uc0ZvckVsZW1l
bnQoRWxlbWVudCYpOworCiAgICAgdm9pZCB3aWxsQ2hhbmdlUmVuZGVyZXJGb3JFbGVtZW50KEVs
ZW1lbnQmKTsKKyAgICB2b2lkIHdpbGxEZXN0b3J5UmVuZGVyZXJGb3JFbGVtZW50KEVsZW1lbnQm
KTsKICAgICB2b2lkIGNhbmNlbERlY2xhcmF0aXZlQW5pbWF0aW9uc0ZvckVsZW1lbnQoRWxlbWVu
dCYpOworCiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbldhc0FkZGVkVG9FbGVtZW50KFdlYkFu
aW1hdGlvbiYsIEVsZW1lbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uV2FzUmVtb3Zl
ZEZyb21FbGVtZW50KFdlYkFuaW1hdGlvbiYsIEVsZW1lbnQmKTsKKwogICAgIHZvaWQgcmVtb3Zl
RGVjbGFyYXRpdmVBbmltYXRpb25Gcm9tTGlzdHNGb3JPd25pbmdFbGVtZW50KFdlYkFuaW1hdGlv
biYsIEVsZW1lbnQmKTsKIAogICAgIHZvaWQgdXBkYXRlQ1NTQW5pbWF0aW9uc0ZvckVsZW1lbnQo
RWxlbWVudCYsIGNvbnN0IFJlbmRlclN0eWxlKiBjdXJyZW50U3R5bGUsIGNvbnN0IFJlbmRlclN0
eWxlJiBhZnRlckNoYW5nZVN0eWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA4NzE4ZTZk
ODZhZDdmZTUwOGIxMzg3MDZhNjVkMjk1YWRkNDM5YzUyLi42MmE5ZmI4MDk1MzNmNmI1NGYxNmQ5
YTFmNWYzMjY5ZDNkMzMzNTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0yMjcyLDYgKzIy
NzIsNyBAQCB2b2lkIEVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUgcmVt
b3ZhbFR5cGUsIENvbnRhaW5lck5vZGUmIG9sZFBhcgogICAgIFJlZlB0cjxGcmFtZT4gZnJhbWUg
PSBkb2N1bWVudCgpLmZyYW1lKCk7CiAgICAgaWYgKGF1dG8qIHRpbWVsaW5lID0gZG9jdW1lbnQo
KS5leGlzdGluZ1RpbWVsaW5lKCkpCiAgICAgICAgIHRpbWVsaW5lLT5lbGVtZW50V2FzUmVtb3Zl
ZCgqdGhpcyk7CisKICAgICBpZiAoZnJhbWUpCiAgICAgICAgIGZyYW1lLT5hbmltYXRpb24oKS5j
YW5jZWxBbmltYXRpb25zKCp0aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1BzZXVkb0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3Bw
CmluZGV4IGRkYjBiYzJlNGNkYmIzMDIyOWUwN2NiZjIwMDNhYTAwNTE0NjUwOGEuLjMyYWU4MzI4
OWY4ZjhmN2NjZjMwNzk1NWMyOWU4YjE1ZTQxYmQxNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5jcHAKQEAgLTkwLDcgKzkwLDggQEAgdm9pZCBQc2V1ZG9FbGVtZW50OjpjbGVhckhv
c3RFbGVtZW50KCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnBzZXVkb0VsZW1lbnRE
ZXN0cm95ZWQoZG9jdW1lbnQoKS5wYWdlKCksICp0aGlzKTsKIAogICAgIGlmIChhdXRvKiB0aW1l
bGluZSA9IGRvY3VtZW50KCkuZXhpc3RpbmdUaW1lbGluZSgpKQotICAgICAgICB0aW1lbGluZS0+
cmVtb3ZlQW5pbWF0aW9uc0ZvckVsZW1lbnQoKnRoaXMpOworICAgICAgICB0aW1lbGluZS0+ZWxl
bWVudFdhc1JlbW92ZWQoKnRoaXMpOworICAgIAogICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3Vt
ZW50KCkuZnJhbWUoKSkKICAgICAgICAgZnJhbWUtPmFuaW1hdGlvbigpLmNhbmNlbEFuaW1hdGlv
bnMoKnRoaXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRp
bmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0
aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcAppbmRleCBkMmE4Y2I4YTgxMDU3ODJkOTY1MGY2ZTk4
MjEyOGRkZTg5ODM5MWQxLi4zMjQ0ZWIyZTc2OWI5NTQ4NDExZmRiOTUxYzJjYzgzYzhlNjYyZDFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJl
ZVVwZGF0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlci5jcHAKQEAgLTU3MCw3ICs1NzAsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRh
dGVyOjp0ZWFyRG93blJlbmRlcmVycyhFbGVtZW50JiByb290LCBUZWFyZG93blR5cGUgdGVhcmRv
d25UeQogICAgICAgICAgICAgY2FzZSBUZWFyZG93blR5cGU6OlJlbmRlcmVyVXBkYXRlQ2FuY2Vs
aW5nQW5pbWF0aW9uczoKICAgICAgICAgICAgICAgICBpZiAodGltZWxpbmUpIHsKICAgICAgICAg
ICAgICAgICAgICAgaWYgKGRvY3VtZW50LnJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKQotICAg
ICAgICAgICAgICAgICAgICAgICAgdGltZWxpbmUtPmVsZW1lbnRXYXNSZW1vdmVkKGVsZW1lbnQp
OworICAgICAgICAgICAgICAgICAgICAgICAgdGltZWxpbmUtPndpbGxEZXN0b3J5UmVuZGVyZXJG
b3JFbGVtZW50KGVsZW1lbnQpOwogICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0ZWFyZG93
blR5cGUgPT0gVGVhcmRvd25UeXBlOjpSZW5kZXJlclVwZGF0ZUNhbmNlbGluZ0FuaW1hdGlvbnMp
CiAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lbGluZS0+Y2FuY2VsRGVjbGFyYXRpdmVBbmlt
YXRpb25zRm9yRWxlbWVudChlbGVtZW50KTsKICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGFj
MDAxNTRiMzM4N2ZhNWQxZTNiYWE4ODJiNTgzMGQ3NTg1MTBkMS4uOGNiZTNhNjJhODI5MDYwMThi
ZDlkMzI5YmFkYTg4YjRmZmI0Mzg4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAyLTIw
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIg
QW5pbWF0aW9uc10gUmVwZWF0ZWQgYW5pbWF0aW9ucyBvbiBwc2V1ZG8gZWxlbWVudHMgd2lsbCBm
YWlsIHRvIHJ1biBhZnRlciBhIHdoaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDc5OTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGFuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0
aW9ucy5odG1sOiBBZGRlZC4KKwogMjAyMC0wMi0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXSzFdIEZsYWt5IFRlc3Q6IGh0dHAvdGVzdHMvY29va2llcy9k
b2N1bWVudC1jb29raWUtZHVyaW5nLWlmcmFtZS1wYXJzaW5nLmh0bWwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2FuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY2NTU5M2IzNzRmOTBjMjVkMjA4OTY0NGZjYzQyM2I2ZDc4ZDczMmEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21hbnktcHNldWRvLWFu
aW1hdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK1Rlc3RzIHRoYXQgYW5pbWF0
aW9ucyBvbiBwc2V1ZG8tZWxlbWVudHMgZG8gbm90IGV2ZW50dWFsbHkgc3RvcCB3b3JraW5nLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRo
aXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBp
cyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVt
ZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFT
UyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRp
b25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRl
ZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFt
ZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1F
bGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cwor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy5odG1s
IGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9tYW55LXBzZXVkby1hbmltYXRpb25zLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTliMzAxMzc2MWIxZTAxY2I2MDcwNjJlNGVhZTJlYjFjNjk5YWY5ZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9u
cy5odG1sCkBAIC0wLDAgKzEsMTAyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisgICAgPHN0eWxlPgorICAgICAgICAuYm94IHsKKyAgICAgICAgICAgIHdpZHRoOiAyMHB4Owor
ICAgICAgICAgICAgaGVpZ2h0OiAyMHB4OworICAgICAgICAgICAgbWFyZ2luOiAzcHg7CisgICAg
ICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiBzaWx2ZXI7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGJvZHkuY2hhbmdlZCAu
Ym94OjpiZWZvcmUgeworICAgICAgICAgICAgY29udGVudDogJyc7CisgICAgICAgICAgICBkaXNw
bGF5OiBibG9jazsKKyAgICAgICAgICAgIHdpZHRoOiAxMHB4OworICAgICAgICAgICAgaGVpZ2h0
OiAxMHB4OworICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlIDAuMXM7CisgICAgICAgIH0KKyAg
ICAgICAgCisgICAgICAgIEBrZXlmcmFtZXMgZmFkZSB7CisgICAgICAgICAgICBmcm9tIHsgYmFj
a2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICB0byAgIHsgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47IH0KKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAKKyAgICAgICAgY29uc3Qg
bnVtRWxlbWVudHMgPSAxMDsKKyAgICAgICAgbGV0IGFuaW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1l
ID0gMDsKKworICAgICAgICBmdW5jdGlvbiBtYWtlRWxlbWVudChjb250YWluZXIpCisgICAgICAg
IHsKKyAgICAgICAgICAgIGxldCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
KyAgICAgICAgICAgIGRpdi5jbGFzc05hbWUgPSAnYm94JzsKKyAgICAgICAgICAgIGNvbnRhaW5l
ci5hcHBlbmRDaGlsZChkaXYpOworICAgICAgICAgICAgCisgICAgICAgICAgICBkaXYuYWRkRXZl
bnRMaXN0ZW5lcignYW5pbWF0aW9uc3RhcnQnLCAoZSkgPT4geworICAgICAgICAgICAgICAgICsr
YW5pbWF0aW9uc1N0YXJ0ZWRUaGlzRnJhbWU7CisgICAgICAgICAgICB9LCBmYWxzZSk7CisKKyAg
ICAgICAgICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCAoZSkgPT4gewor
ICAgICAgICAgICAgICAgIHN0YXJ0TmV4dEl0ZXJhdGlvblNvb24oKTsKKyAgICAgICAgICAgIH0s
IGZhbHNlKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGFy
dGVkQW5pbWF0aW9uc0NvdW50KCkKKyAgICAgICAgeworICAgICAgICAgICAgc2hvdWxkQmUoJ2Fu
aW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1lJywgJ251bUVsZW1lbnRzJyk7CisgICAgICAgIH0KKyAg
ICAgICAgCisgICAgICAgIGxldCBuZXh0SXRlcmF0aW9uU3RhcnRlZCA9IGZhbHNlOworICAgICAg
ICBmdW5jdGlvbiBzdGFydEFuaW1hdGlvblNldCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5l
eHRJdGVyYXRpb25TdGFydGVkID0gZmFsc2U7CisgICAgICAgICAgICBhbmltYXRpb25zU3RhcnRl
ZFRoaXNGcmFtZSA9IDA7CisKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFk
ZCgnY2hhbmdlZCcpOworICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNoZWNrU3Rh
cnRlZEFuaW1hdGlvbnNDb3VudCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGNvbnN0
IG51bVRyaWFscyA9IDEwOworICAgICAgICBsZXQgdHJpYWxDb3VudCA9IDA7CisKKyAgICAgICAg
ZnVuY3Rpb24gc3RhcnROZXh0SXRlcmF0aW9uU29vbigpCisgICAgICAgIHsKKyAgICAgICAgICAg
IGlmIChuZXh0SXRlcmF0aW9uU3RhcnRlZCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgICAgIG5leHRJdGVyYXRpb25TdGFydGVkID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYg
KHRyaWFsQ291bnQrKyA9PSBudW1UcmlhbHMpIHsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnY2hhbmdlZCcpOworICAgICAgICAg
ICAgZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDsgLy8gSGFjay4KKyAgICAgICAgICAgIHJlcXVl
c3RBbmltYXRpb25GcmFtZShzdGFydEFuaW1hdGlvblNldCk7CisgICAgICAgIH0KKyAgICAgICAg
CisgICAgICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2Ny
aXB0aW9uKCdUZXN0cyB0aGF0IGFuaW1hdGlvbnMgb24gcHNldWRvLWVsZW1lbnRzIGRvIG5vdCBl
dmVudHVhbGx5IHN0b3Agd29ya2luZy4nKTsKKworICAgICAgICAgICAgbGV0IGNvbnRhaW5lciA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKKyAgICAgICAgICAgIGZvciAo
bGV0IGkgPSAwOyBpIDwgbnVtRWxlbWVudHM7ICsraSkKKyAgICAgICAgICAgICAgICBtYWtlRWxl
bWVudChjb250YWluZXIpOworCisgICAgICAgICAgICBzdGFydE5leHRJdGVyYXRpb25Tb29uKCk7
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgZG9UZXN0LCBmYWxzZSk7CisgICAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iY29udGFp
bmVyIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="406915"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391379</attachid>
            <date>2020-02-20 21:15:06 -0800</date>
            <delta_ts>2020-02-20 21:18:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207993-20200220211505.patch</filename>
            <type>text/plain</type>
            <size>14097</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2ODUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwZjNmYTZlN2YwYjhj
MWIxYzNlMTQzZTZlZjcwNzZmOWYwY2QzMi4uMzNhYTJhNGQ1NTI3ZjYzOGY5NTg4M2M4ZTA0MGFm
NjM0YmMyYTA4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAyLTIwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5pbWF0
aW9uc10gUmVwZWF0ZWQgYW5pbWF0aW9ucyBvbiBwc2V1ZG8gZWxlbWVudHMgd2lsbCBmYWlsIHRv
IHJ1biBhZnRlciBhIHdoaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDc5OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5NDI4NDcyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKworICAgICAgICBXZSBmYWlsZWQgdG8g
Y2xlYXIgUHNldWRvRWxlbWVudCogZnJvbSBBbmltYXRpb25UaW1lbGluZSdzIHZhcmlvdXMgSGFz
aE1hcHMgb24gZGVzdHJ1Y3Rpb24sCisgICAgICAgIGNhdXNpbmcgYW5pbWF0aW9ucyB0byBmYWls
IHRvIHJ1biB3aGVuIHRob3NlIHBvaW50ZXIgYWRkcmVzc2VzIHdlcmUgcmV1c2VkLgorCisgICAg
ICAgIE1ha2UgRGVjbGFyYXRpdmVBbmltYXRpb246Om93bmluZ0VsZW1lbnQoKSBiZSBhIFdlYWtQ
dHI8Pi4KKworICAgICAgICBUZXN0OiBhbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMu
aHRtbAorCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFuaW1hdGlvblRpbWVsaW5lOjp3aWxsRGVzdG9yeVJlbmRlcmVyRm9yRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25UaW1lbGluZTo6ZWxlbWVudFdhc1Jl
bW92ZWQpOgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oOgorICAgICAg
ICAqIGFuaW1hdGlvbi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEZWNsYXJhdGl2ZUFuaW1hdGlvbjo6RGVjbGFyYXRpdmVBbmltYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6RGVjbGFyYXRpdmVBbmltYXRpb246OmVucXVldWVET01FdmVudCk6CisgICAgICAg
ICogYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpE
ZWNsYXJhdGl2ZUFuaW1hdGlvbjo6b3duaW5nRWxlbWVudCBjb25zdCk6CisgICAgICAgICogZG9t
L0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVtb3ZlZEZyb21BbmNl
c3Rvcik6CisgICAgICAgICogZG9tL1BzZXVkb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UHNldWRvRWxlbWVudDo6Y2xlYXJIb3N0RWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRyZWVVcGRhdGVyOjp0ZWFyRG93blJlbmRlcmVycyk6CisKIDIwMjAtMDItMTggIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbkNsaWVudCBkZXBlbmRlbmN5IG9uIERvY3VtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmNwcAppbmRleCAxZGJjMmU0ZWE4YjBjNjcyZWY2
ZmY1ZjM2YTgyMjczMGJiZmQxMjI1Li5hMjJkNTIxOTI2YjdlOTFlN2E1MjUyZmQwYzI5Yjg2NGYz
ZTQ0ZGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGlt
ZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGlu
ZS5jcHAKQEAgLTIyNCwxMCArMjI0LDExIEBAIHZvaWQgQW5pbWF0aW9uVGltZWxpbmU6OnJlbW92
ZUNTU0FuaW1hdGlvbkNyZWF0ZWRCeU1hcmt1cChFbGVtZW50JiBlbGVtZW50LCBDU1NBCiAgICAg
fQogfQogCi12b2lkIEFuaW1hdGlvblRpbWVsaW5lOjplbGVtZW50V2FzUmVtb3ZlZChFbGVtZW50
JiBlbGVtZW50KQordm9pZCBBbmltYXRpb25UaW1lbGluZTo6d2lsbERlc3RvcnlSZW5kZXJlckZv
ckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBmb3IgKGF1dG8mIGNzc1RyYW5zaXRp
b24gOiBtX2VsZW1lbnRUb0NTU1RyYW5zaXRpb25zTWFwLmdldCgmZWxlbWVudCkpCiAgICAgICAg
IGNzc1RyYW5zaXRpb24tPmNhbmNlbChXZWJBbmltYXRpb246OlNpbGVudGx5OjpZZXMpOworCiAg
ICAgZm9yIChhdXRvJiBjc3NBbmltYXRpb24gOiBtX2VsZW1lbnRUb0NTU0FuaW1hdGlvbnNNYXAu
Z2V0KCZlbGVtZW50KSkgewogICAgICAgICBpZiAoaXM8Q1NTQW5pbWF0aW9uPihjc3NBbmltYXRp
b24pKQogICAgICAgICAgICAgcmVtb3ZlQ1NTQW5pbWF0aW9uQ3JlYXRlZEJ5TWFya3VwKGVsZW1l
bnQsIGRvd25jYXN0PENTU0FuaW1hdGlvbj4oKmNzc0FuaW1hdGlvbikpOwpAQCAtMjM1LDYgKzIz
NiwxNyBAQCB2b2lkIEFuaW1hdGlvblRpbWVsaW5lOjplbGVtZW50V2FzUmVtb3ZlZChFbGVtZW50
JiBlbGVtZW50KQogICAgIH0KIH0KIAordm9pZCBBbmltYXRpb25UaW1lbGluZTo6ZWxlbWVudFdh
c1JlbW92ZWQoRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICB3aWxsRGVzdG9yeVJlbmRlcmVyRm9y
RWxlbWVudChlbGVtZW50KTsKKworICAgIG1fZWxlbWVudFRvQW5pbWF0aW9uc01hcC5yZW1vdmUo
JmVsZW1lbnQpOworICAgIG1fZWxlbWVudFRvQ1NTQW5pbWF0aW9uc01hcC5yZW1vdmUoJmVsZW1l
bnQpOworICAgIG1fZWxlbWVudFRvQ1NTVHJhbnNpdGlvbnNNYXAucmVtb3ZlKCZlbGVtZW50KTsK
KyAgICBtX2VsZW1lbnRUb1J1bm5pbmdDU1NUcmFuc2l0aW9uQnlDU1NQcm9wZXJ0eUlELnJlbW92
ZSgmZWxlbWVudCk7CisgICAgbV9lbGVtZW50VG9DU1NBbmltYXRpb25zQ3JlYXRlZEJ5TWFya3Vw
TWFwLnJlbW92ZSgmZWxlbWVudCk7Cit9CisKIHZvaWQgQW5pbWF0aW9uVGltZWxpbmU6OnJlbW92
ZUFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgZm9yIChhdXRv
JiBhbmltYXRpb24gOiBhbmltYXRpb25zRm9yRWxlbWVudChlbGVtZW50KSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oIGIvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmgKaW5kZXggZWIyMWFjOGIyN2JjODVk
YmE1ZmJkMzRlOTgyYmVlODZjNzkzMTc3Ny4uZWM3MjIxZGQyY2I4Y2RkZjUzM2MwNTg0MWI5ZjRl
ZDVmMjU0M2I4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlv
blRpbWVsaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVs
aW5lLmgKQEAgLTU5LDEyICs1OSwxNyBAQCBwdWJsaWM6CiAKICAgICBlbnVtIGNsYXNzIE9yZGVy
aW5nIDogdWludDhfdCB7IFNvcnRlZCwgVW5zb3J0ZWQgfTsKICAgICBWZWN0b3I8UmVmUHRyPFdl
YkFuaW1hdGlvbj4+IGFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmLCBPcmRlcmluZyBvcmRl
cmluZyA9IE9yZGVyaW5nOjpVbnNvcnRlZCkgY29uc3Q7CisKICAgICB2b2lkIGVsZW1lbnRXYXNS
ZW1vdmVkKEVsZW1lbnQmKTsKICAgICB2b2lkIHJlbW92ZUFuaW1hdGlvbnNGb3JFbGVtZW50KEVs
ZW1lbnQmKTsKKwogICAgIHZvaWQgd2lsbENoYW5nZVJlbmRlcmVyRm9yRWxlbWVudChFbGVtZW50
Jik7CisgICAgdm9pZCB3aWxsRGVzdG9yeVJlbmRlcmVyRm9yRWxlbWVudChFbGVtZW50Jik7CiAg
ICAgdm9pZCBjYW5jZWxEZWNsYXJhdGl2ZUFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmKTsK
KwogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25XYXNBZGRlZFRvRWxlbWVudChXZWJBbmltYXRp
b24mLCBFbGVtZW50Jik7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbldhc1JlbW92ZWRGcm9t
RWxlbWVudChXZWJBbmltYXRpb24mLCBFbGVtZW50Jik7CisKICAgICB2b2lkIHJlbW92ZURlY2xh
cmF0aXZlQW5pbWF0aW9uRnJvbUxpc3RzRm9yT3duaW5nRWxlbWVudChXZWJBbmltYXRpb24mLCBF
bGVtZW50Jik7CiAKICAgICB2b2lkIHVwZGF0ZUNTU0FuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1l
bnQmLCBjb25zdCBSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSYg
YWZ0ZXJDaGFuZ2VTdHlsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
RGVjbGFyYXRpdmVBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xh
cmF0aXZlQW5pbWF0aW9uLmNwcAppbmRleCA0ZTcxNzg0ZmMzOGY4MWEyYjJiODkzODM2YWRjZDU5
OTcxY2I2YjdhLi4wNjVlNzRmODY0YTRkYTc2ODAwZDIyOTVlZmYwNmVlODNjNGM4NjIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRGVjbGFyYXRpdmVBbmltYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5jcHAK
QEAgLTQzLDcgKzQzLDcgQEAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKERlY2xhcmF0aXZl
QW5pbWF0aW9uKTsKIAogRGVjbGFyYXRpdmVBbmltYXRpb246OkRlY2xhcmF0aXZlQW5pbWF0aW9u
KEVsZW1lbnQmIG93bmluZ0VsZW1lbnQsIGNvbnN0IEFuaW1hdGlvbiYgYmFja2luZ0FuaW1hdGlv
bikKICAgICA6IFdlYkFuaW1hdGlvbihvd25pbmdFbGVtZW50LmRvY3VtZW50KCkpCi0gICAgLCBt
X293bmluZ0VsZW1lbnQoJm93bmluZ0VsZW1lbnQpCisgICAgLCBtX293bmluZ0VsZW1lbnQobWFr
ZVdlYWtQdHIob3duaW5nRWxlbWVudCkpCiAgICAgLCBtX2JhY2tpbmdBbmltYXRpb24oY29uc3Rf
Y2FzdDxBbmltYXRpb24mPihiYWNraW5nQW5pbWF0aW9uKSkKIHsKIH0KQEAgLTMzNCwxMiArMzM0
LDE0IEBAIHZvaWQgRGVjbGFyYXRpdmVBbmltYXRpb246OmludmFsaWRhdGVET01FdmVudHMoU2Vj
b25kcyBlbGFwc2VkVGltZSkKIAogdm9pZCBEZWNsYXJhdGl2ZUFuaW1hdGlvbjo6ZW5xdWV1ZURP
TUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgU2Vjb25kcyBlbGFwc2VkVGltZSkK
IHsKLSAgICBBU1NFUlQobV9vd25pbmdFbGVtZW50KTsKKyAgICBpZiAoIW1fb3duaW5nRWxlbWVu
dCkKKyAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byB0aW1lID0gc2Vjb25kc1RvV2ViQW5pbWF0
aW9uc0FQSVRpbWUoZWxhcHNlZFRpbWUpIC8gMTAwMDsKICAgICBjb25zdCBhdXRvJiBwc2V1ZG9J
ZCA9IFBzZXVkb0VsZW1lbnQ6OnBzZXVkb0VsZW1lbnROYW1lRm9yRXZlbnRzKG1fb3duaW5nRWxl
bWVudC0+cHNldWRvSWQoKSk7CiAgICAgYXV0byB0aW1lbGluZVRpbWUgPSB0aW1lbGluZSgpID8g
dGltZWxpbmUoKS0+Y3VycmVudFRpbWUoKSA6IFdURjo6bnVsbG9wdDsKICAgICBhdXRvIGV2ZW50
ID0gY3JlYXRlRXZlbnQoZXZlbnRUeXBlLCB0aW1lLCBwc2V1ZG9JZCwgdGltZWxpbmVUaW1lKTsK
LSAgICBldmVudC0+c2V0VGFyZ2V0KG1fb3duaW5nRWxlbWVudCk7CisgICAgZXZlbnQtPnNldFRh
cmdldChtX293bmluZ0VsZW1lbnQuZ2V0KCkpOwogICAgIGVucXVldWVBbmltYXRpb25FdmVudChX
VEZNb3ZlKGV2ZW50KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xh
cmF0aXZlQW5pbWF0aW9uLmgKaW5kZXggMDNlODRhMzZjOTAxMWFiYjA0ZWU0NTJjZDAyNDE5YjRl
YjFlN2M1Ny4uOWI3YThiMTBiMDM3OTAxZjNhNjFlMmJjN2VjMTI5MzcwMmYzZGY1MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmgKQEAgLTI5
LDYgKzI5LDcgQEAKICNpbmNsdWRlICJBbmltYXRpb25FZmZlY3RQaGFzZS5oIgogI2luY2x1ZGUg
IldlYkFuaW1hdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvV2Vh
a1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0LDcgKzQ1LDcgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBpc0RlY2xhcmF0aXZlQW5pbWF0aW9uKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gdHJ1ZTsgfQogCi0gICAgRWxlbWVudCogb3duaW5nRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJu
IG1fb3duaW5nRWxlbWVudDsgfQorICAgIEVsZW1lbnQqIG93bmluZ0VsZW1lbnQoKSBjb25zdCB7
IHJldHVybiBtX293bmluZ0VsZW1lbnQuZ2V0KCk7IH0KICAgICBjb25zdCBBbmltYXRpb24mIGJh
Y2tpbmdBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2JhY2tpbmdBbmltYXRpb247IH0KICAg
ICB2b2lkIHNldEJhY2tpbmdBbmltYXRpb24oY29uc3QgQW5pbWF0aW9uJik7CiAgICAgdm9pZCBj
YW5jZWxGcm9tU3R5bGUoKTsKQEAgLTg3LDcgKzg4LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
d2FzUGVuZGluZyB7IGZhbHNlIH07CiAgICAgQW5pbWF0aW9uRWZmZWN0UGhhc2UgbV9wcmV2aW91
c1BoYXNlIHsgQW5pbWF0aW9uRWZmZWN0UGhhc2U6OklkbGUgfTsKIAotICAgIEVsZW1lbnQqIG1f
b3duaW5nRWxlbWVudDsKKyAgICBXZWFrUHRyPEVsZW1lbnQ+IG1fb3duaW5nRWxlbWVudDsKICAg
ICBSZWY8QW5pbWF0aW9uPiBtX2JhY2tpbmdBbmltYXRpb247CiAgICAgZG91YmxlIG1fcHJldmlv
dXNJdGVyYXRpb247CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDg3MThlNmQ4NmFkN2Zl
NTA4YjEzODcwNmE2NWQyOTVhZGQ0MzljNTIuLjYyYTlmYjgwOTUzM2Y2YjU0ZjE2ZDlhMWY1ZjMy
NjlkM2QzMzM1MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTIyNzIsNiArMjI3Miw3IEBA
IHZvaWQgRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSByZW1vdmFsVHlw
ZSwgQ29udGFpbmVyTm9kZSYgb2xkUGFyCiAgICAgUmVmUHRyPEZyYW1lPiBmcmFtZSA9IGRvY3Vt
ZW50KCkuZnJhbWUoKTsKICAgICBpZiAoYXV0byogdGltZWxpbmUgPSBkb2N1bWVudCgpLmV4aXN0
aW5nVGltZWxpbmUoKSkKICAgICAgICAgdGltZWxpbmUtPmVsZW1lbnRXYXNSZW1vdmVkKCp0aGlz
KTsKKwogICAgIGlmIChmcmFtZSkKICAgICAgICAgZnJhbWUtPmFuaW1hdGlvbigpLmNhbmNlbEFu
aW1hdGlvbnMoKnRoaXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5jcHAKaW5kZXgg
ZGRiMGJjMmU0Y2RiYjMwMjI5ZTA3Y2JmMjAwM2FhMDA1MTQ2NTA4YS4uMzJhZTgzMjg5ZjhmOGY3
Y2NmMzA3OTU1YzI5ZThiMTVlNDFiZDE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1BzZXVkb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50
LmNwcApAQCAtOTAsNyArOTAsOCBAQCB2b2lkIFBzZXVkb0VsZW1lbnQ6OmNsZWFySG9zdEVsZW1l
bnQoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cHNldWRvRWxlbWVudERlc3Ryb3ll
ZChkb2N1bWVudCgpLnBhZ2UoKSwgKnRoaXMpOwogCiAgICAgaWYgKGF1dG8qIHRpbWVsaW5lID0g
ZG9jdW1lbnQoKS5leGlzdGluZ1RpbWVsaW5lKCkpCi0gICAgICAgIHRpbWVsaW5lLT5yZW1vdmVB
bmltYXRpb25zRm9yRWxlbWVudCgqdGhpcyk7CisgICAgICAgIHRpbWVsaW5lLT5lbGVtZW50V2Fz
UmVtb3ZlZCgqdGhpcyk7CisgICAgCiAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQoKS5m
cmFtZSgpKQogICAgICAgICBmcmFtZS0+YW5pbWF0aW9uKCkuY2FuY2VsQW5pbWF0aW9ucygqdGhp
cyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IGQyYThjYjhhODEwNTc4MmQ5NjUwZjZlOTgyMTI4ZGRl
ODk4MzkxZDEuLjMyNDRlYjJlNzY5Yjk1NDg0MTFmZGI5NTFjMmNjODNjOGU2NjJkMWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVV
cGRhdGVyLmNwcApAQCAtNTcwLDcgKzU3MCw3IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnRl
YXJEb3duUmVuZGVyZXJzKEVsZW1lbnQmIHJvb3QsIFRlYXJkb3duVHlwZSB0ZWFyZG93blR5CiAg
ICAgICAgICAgICBjYXNlIFRlYXJkb3duVHlwZTo6UmVuZGVyZXJVcGRhdGVDYW5jZWxpbmdBbmlt
YXRpb25zOgogICAgICAgICAgICAgICAgIGlmICh0aW1lbGluZSkgewogICAgICAgICAgICAgICAg
ICAgICBpZiAoZG9jdW1lbnQucmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpCi0gICAgICAgICAg
ICAgICAgICAgICAgICB0aW1lbGluZS0+ZWxlbWVudFdhc1JlbW92ZWQoZWxlbWVudCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICB0aW1lbGluZS0+d2lsbERlc3RvcnlSZW5kZXJlckZvckVsZW1l
bnQoZWxlbWVudCk7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRlYXJkb3duVHlwZSA9
PSBUZWFyZG93blR5cGU6OlJlbmRlcmVyVXBkYXRlQ2FuY2VsaW5nQW5pbWF0aW9ucykKICAgICAg
ICAgICAgICAgICAgICAgICAgIHRpbWVsaW5lLT5jYW5jZWxEZWNsYXJhdGl2ZUFuaW1hdGlvbnNG
b3JFbGVtZW50KGVsZW1lbnQpOwogICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0YWMwMDE1NGIz
Mzg3ZmE1ZDFlM2JhYTg4MmI1ODMwZDc1ODUxMGQxLi4zNzNhOTk3N2ZiOGE1YjNjY2IxODJkMzE1
ZWVmY2FjMDI1M2U3YWM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDItMjAgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRp
b25zXSBSZXBlYXRlZCBhbmltYXRpb25zIG9uIHBzZXVkbyBlbGVtZW50cyB3aWxsIGZhaWwgdG8g
cnVuIGFmdGVyIGEgd2hpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwNzk5MworCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKwor
ICAgICAgICAqIGFuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGFuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy5odG1s
OiBBZGRlZC4KKwogMjAyMC0wMi0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFtXSzFdIEZsYWt5IFRlc3Q6IGh0dHAvdGVzdHMvY29va2llcy9kb2N1bWVudC1j
b29raWUtZHVyaW5nLWlmcmFtZS1wYXJzaW5nLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9hbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY2NTU5M2IzNzRmOTBjMjVkMjA4OTY0NGZjYzQyM2I2ZDc4ZDczMmEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK1Rlc3RzIHRoYXQgYW5pbWF0aW9ucyBvbiBw
c2V1ZG8tZWxlbWVudHMgZG8gbm90IGV2ZW50dWFsbHkgc3RvcCB3b3JraW5nLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBp
cyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVt
ZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFT
UyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRp
b25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRl
ZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFt
ZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1F
bGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cwor
UEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2FuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy5odG1sIGIvTGF5b3V0
VGVzdHMvYW5pbWF0aW9ucy9tYW55LXBzZXVkby1hbmltYXRpb25zLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTliMzAxMzc2MWIxZTAxY2I2MDcwNjJlNGVhZTJlYjFjNjk5YWY5ZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy5odG1sCkBA
IC0wLDAgKzEsMTAyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0
eWxlPgorICAgICAgICAuYm94IHsKKyAgICAgICAgICAgIHdpZHRoOiAyMHB4OworICAgICAgICAg
ICAgaGVpZ2h0OiAyMHB4OworICAgICAgICAgICAgbWFyZ2luOiAzcHg7CisgICAgICAgICAgICBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2
ZXI7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGJvZHkuY2hhbmdlZCAuYm94OjpiZWZv
cmUgeworICAgICAgICAgICAgY29udGVudDogJyc7CisgICAgICAgICAgICBkaXNwbGF5OiBibG9j
azsKKyAgICAgICAgICAgIHdpZHRoOiAxMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAxMHB4Owor
ICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlIDAuMXM7CisgICAgICAgIH0KKyAgICAgICAgCisg
ICAgICAgIEBrZXlmcmFtZXMgZmFkZSB7CisgICAgICAgICAgICBmcm9tIHsgYmFja2dyb3VuZC1j
b2xvcjogcmVkOyB9CisgICAgICAgICAgICB0byAgIHsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47
IH0KKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAKKyAgICAgICAgY29uc3QgbnVtRWxlbWVu
dHMgPSAxMDsKKyAgICAgICAgbGV0IGFuaW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1lID0gMDsKKwor
ICAgICAgICBmdW5jdGlvbiBtYWtlRWxlbWVudChjb250YWluZXIpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGxldCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAg
ICAgIGRpdi5jbGFzc05hbWUgPSAnYm94JzsKKyAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRD
aGlsZChkaXYpOworICAgICAgICAgICAgCisgICAgICAgICAgICBkaXYuYWRkRXZlbnRMaXN0ZW5l
cignYW5pbWF0aW9uc3RhcnQnLCAoZSkgPT4geworICAgICAgICAgICAgICAgICsrYW5pbWF0aW9u
c1N0YXJ0ZWRUaGlzRnJhbWU7CisgICAgICAgICAgICB9LCBmYWxzZSk7CisKKyAgICAgICAgICAg
IGRpdi5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCAoZSkgPT4geworICAgICAgICAg
ICAgICAgIHN0YXJ0TmV4dEl0ZXJhdGlvblNvb24oKTsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsK
KyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGFydGVkQW5pbWF0
aW9uc0NvdW50KCkKKyAgICAgICAgeworICAgICAgICAgICAgc2hvdWxkQmUoJ2FuaW1hdGlvbnNT
dGFydGVkVGhpc0ZyYW1lJywgJ251bUVsZW1lbnRzJyk7CisgICAgICAgIH0KKyAgICAgICAgCisg
ICAgICAgIGxldCBuZXh0SXRlcmF0aW9uU3RhcnRlZCA9IGZhbHNlOworICAgICAgICBmdW5jdGlv
biBzdGFydEFuaW1hdGlvblNldCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5leHRJdGVyYXRp
b25TdGFydGVkID0gZmFsc2U7CisgICAgICAgICAgICBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFt
ZSA9IDA7CisKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnY2hhbmdl
ZCcpOworICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNoZWNrU3RhcnRlZEFuaW1h
dGlvbnNDb3VudCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGNvbnN0IG51bVRyaWFs
cyA9IDEwOworICAgICAgICBsZXQgdHJpYWxDb3VudCA9IDA7CisKKyAgICAgICAgZnVuY3Rpb24g
c3RhcnROZXh0SXRlcmF0aW9uU29vbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChuZXh0
SXRlcmF0aW9uU3RhcnRlZCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAg
IG5leHRJdGVyYXRpb25TdGFydGVkID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKHRyaWFsQ291
bnQrKyA9PSBudW1UcmlhbHMpIHsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnY2hhbmdlZCcpOworICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5vZmZzZXRXaWR0aDsgLy8gSGFjay4KKyAgICAgICAgICAgIHJlcXVlc3RBbmltYXRp
b25GcmFtZShzdGFydEFuaW1hdGlvblNldCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAg
IGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdU
ZXN0cyB0aGF0IGFuaW1hdGlvbnMgb24gcHNldWRvLWVsZW1lbnRzIGRvIG5vdCBldmVudHVhbGx5
IHN0b3Agd29ya2luZy4nKTsKKworICAgICAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKKyAgICAgICAgICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgbnVtRWxlbWVudHM7ICsraSkKKyAgICAgICAgICAgICAgICBtYWtlRWxlbWVudChjb250
YWluZXIpOworCisgICAgICAgICAgICBzdGFydE5leHRJdGVyYXRpb25Tb29uKCk7CisgICAgICAg
IH0KKyAgICAgICAgCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9U
ZXN0LCBmYWxzZSk7CisgICAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAg
IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iY29udGFpbmVyIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391380</attachid>
            <date>2020-02-20 21:18:10 -0800</date>
            <delta_ts>2020-02-20 21:29:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207993-20200220211809.patch</filename>
            <type>text/plain</type>
            <size>14097</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2ODUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwZjNmYTZlN2YwYjhj
MWIxYzNlMTQzZTZlZjcwNzZmOWYwY2QzMi4uMzNhYTJhNGQ1NTI3ZjYzOGY5NTg4M2M4ZTA0MGFm
NjM0YmMyYTA4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAyLTIwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5pbWF0
aW9uc10gUmVwZWF0ZWQgYW5pbWF0aW9ucyBvbiBwc2V1ZG8gZWxlbWVudHMgd2lsbCBmYWlsIHRv
IHJ1biBhZnRlciBhIHdoaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDc5OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5NDI4NDcyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKworICAgICAgICBXZSBmYWlsZWQgdG8g
Y2xlYXIgUHNldWRvRWxlbWVudCogZnJvbSBBbmltYXRpb25UaW1lbGluZSdzIHZhcmlvdXMgSGFz
aE1hcHMgb24gZGVzdHJ1Y3Rpb24sCisgICAgICAgIGNhdXNpbmcgYW5pbWF0aW9ucyB0byBmYWls
IHRvIHJ1biB3aGVuIHRob3NlIHBvaW50ZXIgYWRkcmVzc2VzIHdlcmUgcmV1c2VkLgorCisgICAg
ICAgIE1ha2UgRGVjbGFyYXRpdmVBbmltYXRpb246Om93bmluZ0VsZW1lbnQoKSBiZSBhIFdlYWtQ
dHI8Pi4KKworICAgICAgICBUZXN0OiBhbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMu
aHRtbAorCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFuaW1hdGlvblRpbWVsaW5lOjp3aWxsRGVzdG9yeVJlbmRlcmVyRm9yRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25UaW1lbGluZTo6ZWxlbWVudFdhc1Jl
bW92ZWQpOgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oOgorICAgICAg
ICAqIGFuaW1hdGlvbi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEZWNsYXJhdGl2ZUFuaW1hdGlvbjo6RGVjbGFyYXRpdmVBbmltYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6RGVjbGFyYXRpdmVBbmltYXRpb246OmVucXVldWVET01FdmVudCk6CisgICAgICAg
ICogYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpE
ZWNsYXJhdGl2ZUFuaW1hdGlvbjo6b3duaW5nRWxlbWVudCBjb25zdCk6CisgICAgICAgICogZG9t
L0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVtb3ZlZEZyb21BbmNl
c3Rvcik6CisgICAgICAgICogZG9tL1BzZXVkb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UHNldWRvRWxlbWVudDo6Y2xlYXJIb3N0RWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRyZWVVcGRhdGVyOjp0ZWFyRG93blJlbmRlcmVycyk6CisKIDIwMjAtMDItMTggIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbkNsaWVudCBkZXBlbmRlbmN5IG9uIERvY3VtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmNwcAppbmRleCAxZGJjMmU0ZWE4YjBjNjcyZWY2
ZmY1ZjM2YTgyMjczMGJiZmQxMjI1Li41MjZhNWY3ZmU2NTUyZjcyODU5Mjk2MzdhNDkzMTJlNjU3
MWZhM2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGlt
ZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGlu
ZS5jcHAKQEAgLTIyNCwxMCArMjI0LDExIEBAIHZvaWQgQW5pbWF0aW9uVGltZWxpbmU6OnJlbW92
ZUNTU0FuaW1hdGlvbkNyZWF0ZWRCeU1hcmt1cChFbGVtZW50JiBlbGVtZW50LCBDU1NBCiAgICAg
fQogfQogCi12b2lkIEFuaW1hdGlvblRpbWVsaW5lOjplbGVtZW50V2FzUmVtb3ZlZChFbGVtZW50
JiBlbGVtZW50KQordm9pZCBBbmltYXRpb25UaW1lbGluZTo6d2lsbERlc3Ryb3lSZW5kZXJlckZv
ckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBmb3IgKGF1dG8mIGNzc1RyYW5zaXRp
b24gOiBtX2VsZW1lbnRUb0NTU1RyYW5zaXRpb25zTWFwLmdldCgmZWxlbWVudCkpCiAgICAgICAg
IGNzc1RyYW5zaXRpb24tPmNhbmNlbChXZWJBbmltYXRpb246OlNpbGVudGx5OjpZZXMpOworCiAg
ICAgZm9yIChhdXRvJiBjc3NBbmltYXRpb24gOiBtX2VsZW1lbnRUb0NTU0FuaW1hdGlvbnNNYXAu
Z2V0KCZlbGVtZW50KSkgewogICAgICAgICBpZiAoaXM8Q1NTQW5pbWF0aW9uPihjc3NBbmltYXRp
b24pKQogICAgICAgICAgICAgcmVtb3ZlQ1NTQW5pbWF0aW9uQ3JlYXRlZEJ5TWFya3VwKGVsZW1l
bnQsIGRvd25jYXN0PENTU0FuaW1hdGlvbj4oKmNzc0FuaW1hdGlvbikpOwpAQCAtMjM1LDYgKzIz
NiwxNyBAQCB2b2lkIEFuaW1hdGlvblRpbWVsaW5lOjplbGVtZW50V2FzUmVtb3ZlZChFbGVtZW50
JiBlbGVtZW50KQogICAgIH0KIH0KIAordm9pZCBBbmltYXRpb25UaW1lbGluZTo6ZWxlbWVudFdh
c1JlbW92ZWQoRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICB3aWxsRGVzdHJveVJlbmRlcmVyRm9y
RWxlbWVudChlbGVtZW50KTsKKworICAgIG1fZWxlbWVudFRvQW5pbWF0aW9uc01hcC5yZW1vdmUo
JmVsZW1lbnQpOworICAgIG1fZWxlbWVudFRvQ1NTQW5pbWF0aW9uc01hcC5yZW1vdmUoJmVsZW1l
bnQpOworICAgIG1fZWxlbWVudFRvQ1NTVHJhbnNpdGlvbnNNYXAucmVtb3ZlKCZlbGVtZW50KTsK
KyAgICBtX2VsZW1lbnRUb1J1bm5pbmdDU1NUcmFuc2l0aW9uQnlDU1NQcm9wZXJ0eUlELnJlbW92
ZSgmZWxlbWVudCk7CisgICAgbV9lbGVtZW50VG9DU1NBbmltYXRpb25zQ3JlYXRlZEJ5TWFya3Vw
TWFwLnJlbW92ZSgmZWxlbWVudCk7Cit9CisKIHZvaWQgQW5pbWF0aW9uVGltZWxpbmU6OnJlbW92
ZUFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgZm9yIChhdXRv
JiBhbmltYXRpb24gOiBhbmltYXRpb25zRm9yRWxlbWVudChlbGVtZW50KSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oIGIvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmgKaW5kZXggZWIyMWFjOGIyN2JjODVk
YmE1ZmJkMzRlOTgyYmVlODZjNzkzMTc3Ny4uYzNhZmQ2YmZlYWVhNmMzY2I2Mjk0MzJlMTY2NDBh
MmFhMWFhMTI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlv
blRpbWVsaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVs
aW5lLmgKQEAgLTU5LDEyICs1OSwxNyBAQCBwdWJsaWM6CiAKICAgICBlbnVtIGNsYXNzIE9yZGVy
aW5nIDogdWludDhfdCB7IFNvcnRlZCwgVW5zb3J0ZWQgfTsKICAgICBWZWN0b3I8UmVmUHRyPFdl
YkFuaW1hdGlvbj4+IGFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmLCBPcmRlcmluZyBvcmRl
cmluZyA9IE9yZGVyaW5nOjpVbnNvcnRlZCkgY29uc3Q7CisKICAgICB2b2lkIGVsZW1lbnRXYXNS
ZW1vdmVkKEVsZW1lbnQmKTsKICAgICB2b2lkIHJlbW92ZUFuaW1hdGlvbnNGb3JFbGVtZW50KEVs
ZW1lbnQmKTsKKwogICAgIHZvaWQgd2lsbENoYW5nZVJlbmRlcmVyRm9yRWxlbWVudChFbGVtZW50
Jik7CisgICAgdm9pZCB3aWxsRGVzdHJveVJlbmRlcmVyRm9yRWxlbWVudChFbGVtZW50Jik7CiAg
ICAgdm9pZCBjYW5jZWxEZWNsYXJhdGl2ZUFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmKTsK
KwogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25XYXNBZGRlZFRvRWxlbWVudChXZWJBbmltYXRp
b24mLCBFbGVtZW50Jik7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbldhc1JlbW92ZWRGcm9t
RWxlbWVudChXZWJBbmltYXRpb24mLCBFbGVtZW50Jik7CisKICAgICB2b2lkIHJlbW92ZURlY2xh
cmF0aXZlQW5pbWF0aW9uRnJvbUxpc3RzRm9yT3duaW5nRWxlbWVudChXZWJBbmltYXRpb24mLCBF
bGVtZW50Jik7CiAKICAgICB2b2lkIHVwZGF0ZUNTU0FuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1l
bnQmLCBjb25zdCBSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSYg
YWZ0ZXJDaGFuZ2VTdHlsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
RGVjbGFyYXRpdmVBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xh
cmF0aXZlQW5pbWF0aW9uLmNwcAppbmRleCA0ZTcxNzg0ZmMzOGY4MWEyYjJiODkzODM2YWRjZDU5
OTcxY2I2YjdhLi4wNjVlNzRmODY0YTRkYTc2ODAwZDIyOTVlZmYwNmVlODNjNGM4NjIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRGVjbGFyYXRpdmVBbmltYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5jcHAK
QEAgLTQzLDcgKzQzLDcgQEAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKERlY2xhcmF0aXZl
QW5pbWF0aW9uKTsKIAogRGVjbGFyYXRpdmVBbmltYXRpb246OkRlY2xhcmF0aXZlQW5pbWF0aW9u
KEVsZW1lbnQmIG93bmluZ0VsZW1lbnQsIGNvbnN0IEFuaW1hdGlvbiYgYmFja2luZ0FuaW1hdGlv
bikKICAgICA6IFdlYkFuaW1hdGlvbihvd25pbmdFbGVtZW50LmRvY3VtZW50KCkpCi0gICAgLCBt
X293bmluZ0VsZW1lbnQoJm93bmluZ0VsZW1lbnQpCisgICAgLCBtX293bmluZ0VsZW1lbnQobWFr
ZVdlYWtQdHIob3duaW5nRWxlbWVudCkpCiAgICAgLCBtX2JhY2tpbmdBbmltYXRpb24oY29uc3Rf
Y2FzdDxBbmltYXRpb24mPihiYWNraW5nQW5pbWF0aW9uKSkKIHsKIH0KQEAgLTMzNCwxMiArMzM0
LDE0IEBAIHZvaWQgRGVjbGFyYXRpdmVBbmltYXRpb246OmludmFsaWRhdGVET01FdmVudHMoU2Vj
b25kcyBlbGFwc2VkVGltZSkKIAogdm9pZCBEZWNsYXJhdGl2ZUFuaW1hdGlvbjo6ZW5xdWV1ZURP
TUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgU2Vjb25kcyBlbGFwc2VkVGltZSkK
IHsKLSAgICBBU1NFUlQobV9vd25pbmdFbGVtZW50KTsKKyAgICBpZiAoIW1fb3duaW5nRWxlbWVu
dCkKKyAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byB0aW1lID0gc2Vjb25kc1RvV2ViQW5pbWF0
aW9uc0FQSVRpbWUoZWxhcHNlZFRpbWUpIC8gMTAwMDsKICAgICBjb25zdCBhdXRvJiBwc2V1ZG9J
ZCA9IFBzZXVkb0VsZW1lbnQ6OnBzZXVkb0VsZW1lbnROYW1lRm9yRXZlbnRzKG1fb3duaW5nRWxl
bWVudC0+cHNldWRvSWQoKSk7CiAgICAgYXV0byB0aW1lbGluZVRpbWUgPSB0aW1lbGluZSgpID8g
dGltZWxpbmUoKS0+Y3VycmVudFRpbWUoKSA6IFdURjo6bnVsbG9wdDsKICAgICBhdXRvIGV2ZW50
ID0gY3JlYXRlRXZlbnQoZXZlbnRUeXBlLCB0aW1lLCBwc2V1ZG9JZCwgdGltZWxpbmVUaW1lKTsK
LSAgICBldmVudC0+c2V0VGFyZ2V0KG1fb3duaW5nRWxlbWVudCk7CisgICAgZXZlbnQtPnNldFRh
cmdldChtX293bmluZ0VsZW1lbnQuZ2V0KCkpOwogICAgIGVucXVldWVBbmltYXRpb25FdmVudChX
VEZNb3ZlKGV2ZW50KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xh
cmF0aXZlQW5pbWF0aW9uLmgKaW5kZXggMDNlODRhMzZjOTAxMWFiYjA0ZWU0NTJjZDAyNDE5YjRl
YjFlN2M1Ny4uOWI3YThiMTBiMDM3OTAxZjNhNjFlMmJjN2VjMTI5MzcwMmYzZGY1MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmgKQEAgLTI5
LDYgKzI5LDcgQEAKICNpbmNsdWRlICJBbmltYXRpb25FZmZlY3RQaGFzZS5oIgogI2luY2x1ZGUg
IldlYkFuaW1hdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvV2Vh
a1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0LDcgKzQ1LDcgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBpc0RlY2xhcmF0aXZlQW5pbWF0aW9uKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gdHJ1ZTsgfQogCi0gICAgRWxlbWVudCogb3duaW5nRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJu
IG1fb3duaW5nRWxlbWVudDsgfQorICAgIEVsZW1lbnQqIG93bmluZ0VsZW1lbnQoKSBjb25zdCB7
IHJldHVybiBtX293bmluZ0VsZW1lbnQuZ2V0KCk7IH0KICAgICBjb25zdCBBbmltYXRpb24mIGJh
Y2tpbmdBbmltYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2JhY2tpbmdBbmltYXRpb247IH0KICAg
ICB2b2lkIHNldEJhY2tpbmdBbmltYXRpb24oY29uc3QgQW5pbWF0aW9uJik7CiAgICAgdm9pZCBj
YW5jZWxGcm9tU3R5bGUoKTsKQEAgLTg3LDcgKzg4LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
d2FzUGVuZGluZyB7IGZhbHNlIH07CiAgICAgQW5pbWF0aW9uRWZmZWN0UGhhc2UgbV9wcmV2aW91
c1BoYXNlIHsgQW5pbWF0aW9uRWZmZWN0UGhhc2U6OklkbGUgfTsKIAotICAgIEVsZW1lbnQqIG1f
b3duaW5nRWxlbWVudDsKKyAgICBXZWFrUHRyPEVsZW1lbnQ+IG1fb3duaW5nRWxlbWVudDsKICAg
ICBSZWY8QW5pbWF0aW9uPiBtX2JhY2tpbmdBbmltYXRpb247CiAgICAgZG91YmxlIG1fcHJldmlv
dXNJdGVyYXRpb247CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDg3MThlNmQ4NmFkN2Zl
NTA4YjEzODcwNmE2NWQyOTVhZGQ0MzljNTIuLjYyYTlmYjgwOTUzM2Y2YjU0ZjE2ZDlhMWY1ZjMy
NjlkM2QzMzM1MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTIyNzIsNiArMjI3Miw3IEBA
IHZvaWQgRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSByZW1vdmFsVHlw
ZSwgQ29udGFpbmVyTm9kZSYgb2xkUGFyCiAgICAgUmVmUHRyPEZyYW1lPiBmcmFtZSA9IGRvY3Vt
ZW50KCkuZnJhbWUoKTsKICAgICBpZiAoYXV0byogdGltZWxpbmUgPSBkb2N1bWVudCgpLmV4aXN0
aW5nVGltZWxpbmUoKSkKICAgICAgICAgdGltZWxpbmUtPmVsZW1lbnRXYXNSZW1vdmVkKCp0aGlz
KTsKKwogICAgIGlmIChmcmFtZSkKICAgICAgICAgZnJhbWUtPmFuaW1hdGlvbigpLmNhbmNlbEFu
aW1hdGlvbnMoKnRoaXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5jcHAKaW5kZXgg
ZGRiMGJjMmU0Y2RiYjMwMjI5ZTA3Y2JmMjAwM2FhMDA1MTQ2NTA4YS4uMzJhZTgzMjg5ZjhmOGY3
Y2NmMzA3OTU1YzI5ZThiMTVlNDFiZDE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1BzZXVkb0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50
LmNwcApAQCAtOTAsNyArOTAsOCBAQCB2b2lkIFBzZXVkb0VsZW1lbnQ6OmNsZWFySG9zdEVsZW1l
bnQoKQogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cHNldWRvRWxlbWVudERlc3Ryb3ll
ZChkb2N1bWVudCgpLnBhZ2UoKSwgKnRoaXMpOwogCiAgICAgaWYgKGF1dG8qIHRpbWVsaW5lID0g
ZG9jdW1lbnQoKS5leGlzdGluZ1RpbWVsaW5lKCkpCi0gICAgICAgIHRpbWVsaW5lLT5yZW1vdmVB
bmltYXRpb25zRm9yRWxlbWVudCgqdGhpcyk7CisgICAgICAgIHRpbWVsaW5lLT5lbGVtZW50V2Fz
UmVtb3ZlZCgqdGhpcyk7CisgICAgCiAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQoKS5m
cmFtZSgpKQogICAgICAgICBmcmFtZS0+YW5pbWF0aW9uKCkuY2FuY2VsQW5pbWF0aW9ucygqdGhp
cyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5k
ZXJUcmVlVXBkYXRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZVVwZGF0ZXIuY3BwCmluZGV4IGQyYThjYjhhODEwNTc4MmQ5NjUwZjZlOTgyMTI4ZGRl
ODk4MzkxZDEuLjM2ZGIwM2M2MWNkMjc4NzExY2RmNjA3MTU5N2JlOTk1NzkxYWFkYmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVV
cGRhdGVyLmNwcApAQCAtNTcwLDcgKzU3MCw3IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnRl
YXJEb3duUmVuZGVyZXJzKEVsZW1lbnQmIHJvb3QsIFRlYXJkb3duVHlwZSB0ZWFyZG93blR5CiAg
ICAgICAgICAgICBjYXNlIFRlYXJkb3duVHlwZTo6UmVuZGVyZXJVcGRhdGVDYW5jZWxpbmdBbmlt
YXRpb25zOgogICAgICAgICAgICAgICAgIGlmICh0aW1lbGluZSkgewogICAgICAgICAgICAgICAg
ICAgICBpZiAoZG9jdW1lbnQucmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpCi0gICAgICAgICAg
ICAgICAgICAgICAgICB0aW1lbGluZS0+ZWxlbWVudFdhc1JlbW92ZWQoZWxlbWVudCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICB0aW1lbGluZS0+d2lsbERlc3Ryb3lSZW5kZXJlckZvckVsZW1l
bnQoZWxlbWVudCk7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRlYXJkb3duVHlwZSA9
PSBUZWFyZG93blR5cGU6OlJlbmRlcmVyVXBkYXRlQ2FuY2VsaW5nQW5pbWF0aW9ucykKICAgICAg
ICAgICAgICAgICAgICAgICAgIHRpbWVsaW5lLT5jYW5jZWxEZWNsYXJhdGl2ZUFuaW1hdGlvbnNG
b3JFbGVtZW50KGVsZW1lbnQpOwogICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0YWMwMDE1NGIz
Mzg3ZmE1ZDFlM2JhYTg4MmI1ODMwZDc1ODUxMGQxLi4zNzNhOTk3N2ZiOGE1YjNjY2IxODJkMzE1
ZWVmY2FjMDI1M2U3YWM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDItMjAgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRp
b25zXSBSZXBlYXRlZCBhbmltYXRpb25zIG9uIHBzZXVkbyBlbGVtZW50cyB3aWxsIGZhaWwgdG8g
cnVuIGFmdGVyIGEgd2hpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwNzk5MworCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKwor
ICAgICAgICAqIGFuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGFuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy5odG1s
OiBBZGRlZC4KKwogMjAyMC0wMi0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFtXSzFdIEZsYWt5IFRlc3Q6IGh0dHAvdGVzdHMvY29va2llcy9kb2N1bWVudC1j
b29raWUtZHVyaW5nLWlmcmFtZS1wYXJzaW5nLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9hbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY2NTU5M2IzNzRmOTBjMjVkMjA4OTY0NGZjYzQyM2I2ZDc4ZDczMmEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK1Rlc3RzIHRoYXQgYW5pbWF0aW9ucyBvbiBw
c2V1ZG8tZWxlbWVudHMgZG8gbm90IGV2ZW50dWFsbHkgc3RvcCB3b3JraW5nLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBp
cyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVt
ZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFT
UyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRp
b25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRl
ZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFt
ZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1F
bGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cwor
UEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2FuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy5odG1sIGIvTGF5b3V0
VGVzdHMvYW5pbWF0aW9ucy9tYW55LXBzZXVkby1hbmltYXRpb25zLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTliMzAxMzc2MWIxZTAxY2I2MDcwNjJlNGVhZTJlYjFjNjk5YWY5ZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy5odG1sCkBA
IC0wLDAgKzEsMTAyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0
eWxlPgorICAgICAgICAuYm94IHsKKyAgICAgICAgICAgIHdpZHRoOiAyMHB4OworICAgICAgICAg
ICAgaGVpZ2h0OiAyMHB4OworICAgICAgICAgICAgbWFyZ2luOiAzcHg7CisgICAgICAgICAgICBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2
ZXI7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGJvZHkuY2hhbmdlZCAuYm94OjpiZWZv
cmUgeworICAgICAgICAgICAgY29udGVudDogJyc7CisgICAgICAgICAgICBkaXNwbGF5OiBibG9j
azsKKyAgICAgICAgICAgIHdpZHRoOiAxMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAxMHB4Owor
ICAgICAgICAgICAgYW5pbWF0aW9uOiBmYWRlIDAuMXM7CisgICAgICAgIH0KKyAgICAgICAgCisg
ICAgICAgIEBrZXlmcmFtZXMgZmFkZSB7CisgICAgICAgICAgICBmcm9tIHsgYmFja2dyb3VuZC1j
b2xvcjogcmVkOyB9CisgICAgICAgICAgICB0byAgIHsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47
IH0KKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICAKKyAgICAgICAgY29uc3QgbnVtRWxlbWVu
dHMgPSAxMDsKKyAgICAgICAgbGV0IGFuaW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1lID0gMDsKKwor
ICAgICAgICBmdW5jdGlvbiBtYWtlRWxlbWVudChjb250YWluZXIpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGxldCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAg
ICAgIGRpdi5jbGFzc05hbWUgPSAnYm94JzsKKyAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRD
aGlsZChkaXYpOworICAgICAgICAgICAgCisgICAgICAgICAgICBkaXYuYWRkRXZlbnRMaXN0ZW5l
cignYW5pbWF0aW9uc3RhcnQnLCAoZSkgPT4geworICAgICAgICAgICAgICAgICsrYW5pbWF0aW9u
c1N0YXJ0ZWRUaGlzRnJhbWU7CisgICAgICAgICAgICB9LCBmYWxzZSk7CisKKyAgICAgICAgICAg
IGRpdi5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCAoZSkgPT4geworICAgICAgICAg
ICAgICAgIHN0YXJ0TmV4dEl0ZXJhdGlvblNvb24oKTsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsK
KyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGFydGVkQW5pbWF0
aW9uc0NvdW50KCkKKyAgICAgICAgeworICAgICAgICAgICAgc2hvdWxkQmUoJ2FuaW1hdGlvbnNT
dGFydGVkVGhpc0ZyYW1lJywgJ251bUVsZW1lbnRzJyk7CisgICAgICAgIH0KKyAgICAgICAgCisg
ICAgICAgIGxldCBuZXh0SXRlcmF0aW9uU3RhcnRlZCA9IGZhbHNlOworICAgICAgICBmdW5jdGlv
biBzdGFydEFuaW1hdGlvblNldCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5leHRJdGVyYXRp
b25TdGFydGVkID0gZmFsc2U7CisgICAgICAgICAgICBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFt
ZSA9IDA7CisKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnY2hhbmdl
ZCcpOworICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNoZWNrU3RhcnRlZEFuaW1h
dGlvbnNDb3VudCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGNvbnN0IG51bVRyaWFs
cyA9IDEwOworICAgICAgICBsZXQgdHJpYWxDb3VudCA9IDA7CisKKyAgICAgICAgZnVuY3Rpb24g
c3RhcnROZXh0SXRlcmF0aW9uU29vbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChuZXh0
SXRlcmF0aW9uU3RhcnRlZCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAg
IG5leHRJdGVyYXRpb25TdGFydGVkID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKHRyaWFsQ291
bnQrKyA9PSBudW1UcmlhbHMpIHsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnY2hhbmdlZCcpOworICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5vZmZzZXRXaWR0aDsgLy8gSGFjay4KKyAgICAgICAgICAgIHJlcXVlc3RBbmltYXRp
b25GcmFtZShzdGFydEFuaW1hdGlvblNldCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAg
IGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdU
ZXN0cyB0aGF0IGFuaW1hdGlvbnMgb24gcHNldWRvLWVsZW1lbnRzIGRvIG5vdCBldmVudHVhbGx5
IHN0b3Agd29ya2luZy4nKTsKKworICAgICAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdjb250YWluZXInKTsKKyAgICAgICAgICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgbnVtRWxlbWVudHM7ICsraSkKKyAgICAgICAgICAgICAgICBtYWtlRWxlbWVudChjb250
YWluZXIpOworCisgICAgICAgICAgICBzdGFydE5leHRJdGVyYXRpb25Tb29uKCk7CisgICAgICAg
IH0KKyAgICAgICAgCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9U
ZXN0LCBmYWxzZSk7CisgICAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAg
IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iY29udGFpbmVyIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391381</attachid>
            <date>2020-02-20 21:29:11 -0800</date>
            <delta_ts>2020-02-20 21:29:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207993-20200220212910.patch</filename>
            <type>text/plain</type>
            <size>14310</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2ODUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwZjNmYTZlN2YwYjhj
MWIxYzNlMTQzZTZlZjcwNzZmOWYwY2QzMi4uMzNhYTJhNGQ1NTI3ZjYzOGY5NTg4M2M4ZTA0MGFm
NjM0YmMyYTA4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAyLTIwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5pbWF0
aW9uc10gUmVwZWF0ZWQgYW5pbWF0aW9ucyBvbiBwc2V1ZG8gZWxlbWVudHMgd2lsbCBmYWlsIHRv
IHJ1biBhZnRlciBhIHdoaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDc5OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5NDI4NDcyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKworICAgICAgICBXZSBmYWlsZWQgdG8g
Y2xlYXIgUHNldWRvRWxlbWVudCogZnJvbSBBbmltYXRpb25UaW1lbGluZSdzIHZhcmlvdXMgSGFz
aE1hcHMgb24gZGVzdHJ1Y3Rpb24sCisgICAgICAgIGNhdXNpbmcgYW5pbWF0aW9ucyB0byBmYWls
IHRvIHJ1biB3aGVuIHRob3NlIHBvaW50ZXIgYWRkcmVzc2VzIHdlcmUgcmV1c2VkLgorCisgICAg
ICAgIE1ha2UgRGVjbGFyYXRpdmVBbmltYXRpb246Om93bmluZ0VsZW1lbnQoKSBiZSBhIFdlYWtQ
dHI8Pi4KKworICAgICAgICBUZXN0OiBhbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMu
aHRtbAorCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFuaW1hdGlvblRpbWVsaW5lOjp3aWxsRGVzdG9yeVJlbmRlcmVyRm9yRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25UaW1lbGluZTo6ZWxlbWVudFdhc1Jl
bW92ZWQpOgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oOgorICAgICAg
ICAqIGFuaW1hdGlvbi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEZWNsYXJhdGl2ZUFuaW1hdGlvbjo6RGVjbGFyYXRpdmVBbmltYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6RGVjbGFyYXRpdmVBbmltYXRpb246OmVucXVldWVET01FdmVudCk6CisgICAgICAg
ICogYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpE
ZWNsYXJhdGl2ZUFuaW1hdGlvbjo6b3duaW5nRWxlbWVudCBjb25zdCk6CisgICAgICAgICogZG9t
L0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVtb3ZlZEZyb21BbmNl
c3Rvcik6CisgICAgICAgICogZG9tL1BzZXVkb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UHNldWRvRWxlbWVudDo6Y2xlYXJIb3N0RWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRyZWVVcGRhdGVyOjp0ZWFyRG93blJlbmRlcmVycyk6CisKIDIwMjAtMDItMTggIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbkNsaWVudCBkZXBlbmRlbmN5IG9uIERvY3VtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmNwcAppbmRleCAxZGJjMmU0ZWE4YjBjNjcyZWY2
ZmY1ZjM2YTgyMjczMGJiZmQxMjI1Li41MjZhNWY3ZmU2NTUyZjcyODU5Mjk2MzdhNDkzMTJlNjU3
MWZhM2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGlt
ZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGlu
ZS5jcHAKQEAgLTIyNCwxMCArMjI0LDExIEBAIHZvaWQgQW5pbWF0aW9uVGltZWxpbmU6OnJlbW92
ZUNTU0FuaW1hdGlvbkNyZWF0ZWRCeU1hcmt1cChFbGVtZW50JiBlbGVtZW50LCBDU1NBCiAgICAg
fQogfQogCi12b2lkIEFuaW1hdGlvblRpbWVsaW5lOjplbGVtZW50V2FzUmVtb3ZlZChFbGVtZW50
JiBlbGVtZW50KQordm9pZCBBbmltYXRpb25UaW1lbGluZTo6d2lsbERlc3Ryb3lSZW5kZXJlckZv
ckVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBmb3IgKGF1dG8mIGNzc1RyYW5zaXRp
b24gOiBtX2VsZW1lbnRUb0NTU1RyYW5zaXRpb25zTWFwLmdldCgmZWxlbWVudCkpCiAgICAgICAg
IGNzc1RyYW5zaXRpb24tPmNhbmNlbChXZWJBbmltYXRpb246OlNpbGVudGx5OjpZZXMpOworCiAg
ICAgZm9yIChhdXRvJiBjc3NBbmltYXRpb24gOiBtX2VsZW1lbnRUb0NTU0FuaW1hdGlvbnNNYXAu
Z2V0KCZlbGVtZW50KSkgewogICAgICAgICBpZiAoaXM8Q1NTQW5pbWF0aW9uPihjc3NBbmltYXRp
b24pKQogICAgICAgICAgICAgcmVtb3ZlQ1NTQW5pbWF0aW9uQ3JlYXRlZEJ5TWFya3VwKGVsZW1l
bnQsIGRvd25jYXN0PENTU0FuaW1hdGlvbj4oKmNzc0FuaW1hdGlvbikpOwpAQCAtMjM1LDYgKzIz
NiwxNyBAQCB2b2lkIEFuaW1hdGlvblRpbWVsaW5lOjplbGVtZW50V2FzUmVtb3ZlZChFbGVtZW50
JiBlbGVtZW50KQogICAgIH0KIH0KIAordm9pZCBBbmltYXRpb25UaW1lbGluZTo6ZWxlbWVudFdh
c1JlbW92ZWQoRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICB3aWxsRGVzdHJveVJlbmRlcmVyRm9y
RWxlbWVudChlbGVtZW50KTsKKworICAgIG1fZWxlbWVudFRvQW5pbWF0aW9uc01hcC5yZW1vdmUo
JmVsZW1lbnQpOworICAgIG1fZWxlbWVudFRvQ1NTQW5pbWF0aW9uc01hcC5yZW1vdmUoJmVsZW1l
bnQpOworICAgIG1fZWxlbWVudFRvQ1NTVHJhbnNpdGlvbnNNYXAucmVtb3ZlKCZlbGVtZW50KTsK
KyAgICBtX2VsZW1lbnRUb1J1bm5pbmdDU1NUcmFuc2l0aW9uQnlDU1NQcm9wZXJ0eUlELnJlbW92
ZSgmZWxlbWVudCk7CisgICAgbV9lbGVtZW50VG9DU1NBbmltYXRpb25zQ3JlYXRlZEJ5TWFya3Vw
TWFwLnJlbW92ZSgmZWxlbWVudCk7Cit9CisKIHZvaWQgQW5pbWF0aW9uVGltZWxpbmU6OnJlbW92
ZUFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgZm9yIChhdXRv
JiBhbmltYXRpb24gOiBhbmltYXRpb25zRm9yRWxlbWVudChlbGVtZW50KSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oIGIvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmgKaW5kZXggZWIyMWFjOGIyN2JjODVk
YmE1ZmJkMzRlOTgyYmVlODZjNzkzMTc3Ny4uYzNhZmQ2YmZlYWVhNmMzY2I2Mjk0MzJlMTY2NDBh
MmFhMWFhMTI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlv
blRpbWVsaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVs
aW5lLmgKQEAgLTU5LDEyICs1OSwxNyBAQCBwdWJsaWM6CiAKICAgICBlbnVtIGNsYXNzIE9yZGVy
aW5nIDogdWludDhfdCB7IFNvcnRlZCwgVW5zb3J0ZWQgfTsKICAgICBWZWN0b3I8UmVmUHRyPFdl
YkFuaW1hdGlvbj4+IGFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmLCBPcmRlcmluZyBvcmRl
cmluZyA9IE9yZGVyaW5nOjpVbnNvcnRlZCkgY29uc3Q7CisKICAgICB2b2lkIGVsZW1lbnRXYXNS
ZW1vdmVkKEVsZW1lbnQmKTsKICAgICB2b2lkIHJlbW92ZUFuaW1hdGlvbnNGb3JFbGVtZW50KEVs
ZW1lbnQmKTsKKwogICAgIHZvaWQgd2lsbENoYW5nZVJlbmRlcmVyRm9yRWxlbWVudChFbGVtZW50
Jik7CisgICAgdm9pZCB3aWxsRGVzdHJveVJlbmRlcmVyRm9yRWxlbWVudChFbGVtZW50Jik7CiAg
ICAgdm9pZCBjYW5jZWxEZWNsYXJhdGl2ZUFuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1lbnQmKTsK
KwogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25XYXNBZGRlZFRvRWxlbWVudChXZWJBbmltYXRp
b24mLCBFbGVtZW50Jik7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbldhc1JlbW92ZWRGcm9t
RWxlbWVudChXZWJBbmltYXRpb24mLCBFbGVtZW50Jik7CisKICAgICB2b2lkIHJlbW92ZURlY2xh
cmF0aXZlQW5pbWF0aW9uRnJvbUxpc3RzRm9yT3duaW5nRWxlbWVudChXZWJBbmltYXRpb24mLCBF
bGVtZW50Jik7CiAKICAgICB2b2lkIHVwZGF0ZUNTU0FuaW1hdGlvbnNGb3JFbGVtZW50KEVsZW1l
bnQmLCBjb25zdCBSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSYg
YWZ0ZXJDaGFuZ2VTdHlsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
RGVjbGFyYXRpdmVBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xh
cmF0aXZlQW5pbWF0aW9uLmNwcAppbmRleCA0ZTcxNzg0ZmMzOGY4MWEyYjJiODkzODM2YWRjZDU5
OTcxY2I2YjdhLi43MmM2Y2YyNmY5MGQ1MGQwMGM0ZmI4MTI2ZjBmOTg4YzBjZDY1NTg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRGVjbGFyYXRpdmVBbmltYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5jcHAK
QEAgLTQzLDcgKzQzLDcgQEAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKERlY2xhcmF0aXZl
QW5pbWF0aW9uKTsKIAogRGVjbGFyYXRpdmVBbmltYXRpb246OkRlY2xhcmF0aXZlQW5pbWF0aW9u
KEVsZW1lbnQmIG93bmluZ0VsZW1lbnQsIGNvbnN0IEFuaW1hdGlvbiYgYmFja2luZ0FuaW1hdGlv
bikKICAgICA6IFdlYkFuaW1hdGlvbihvd25pbmdFbGVtZW50LmRvY3VtZW50KCkpCi0gICAgLCBt
X293bmluZ0VsZW1lbnQoJm93bmluZ0VsZW1lbnQpCisgICAgLCBtX293bmluZ0VsZW1lbnQobWFr
ZVdlYWtQdHIob3duaW5nRWxlbWVudCkpCiAgICAgLCBtX2JhY2tpbmdBbmltYXRpb24oY29uc3Rf
Y2FzdDxBbmltYXRpb24mPihiYWNraW5nQW5pbWF0aW9uKSkKIHsKIH0KQEAgLTUyLDYgKzUyLDEx
IEBAIERlY2xhcmF0aXZlQW5pbWF0aW9uOjp+RGVjbGFyYXRpdmVBbmltYXRpb24oKQogewogfQog
CitFbGVtZW50KiBEZWNsYXJhdGl2ZUFuaW1hdGlvbjo6b3duaW5nRWxlbWVudCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fb3duaW5nRWxlbWVudC5nZXQoKTsKK30KKwogdm9pZCBEZWNsYXJhdGl2
ZUFuaW1hdGlvbjo6dGljaygpCiB7CiAgICAgYm9vbCB3YXNSZWxldmFudCA9IGlzUmVsZXZhbnQo
KTsKQEAgLTMzNCwxMiArMzM5LDE0IEBAIHZvaWQgRGVjbGFyYXRpdmVBbmltYXRpb246OmludmFs
aWRhdGVET01FdmVudHMoU2Vjb25kcyBlbGFwc2VkVGltZSkKIAogdm9pZCBEZWNsYXJhdGl2ZUFu
aW1hdGlvbjo6ZW5xdWV1ZURPTUV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgU2Vj
b25kcyBlbGFwc2VkVGltZSkKIHsKLSAgICBBU1NFUlQobV9vd25pbmdFbGVtZW50KTsKKyAgICBp
ZiAoIW1fb3duaW5nRWxlbWVudCkKKyAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byB0aW1lID0g
c2Vjb25kc1RvV2ViQW5pbWF0aW9uc0FQSVRpbWUoZWxhcHNlZFRpbWUpIC8gMTAwMDsKICAgICBj
b25zdCBhdXRvJiBwc2V1ZG9JZCA9IFBzZXVkb0VsZW1lbnQ6OnBzZXVkb0VsZW1lbnROYW1lRm9y
RXZlbnRzKG1fb3duaW5nRWxlbWVudC0+cHNldWRvSWQoKSk7CiAgICAgYXV0byB0aW1lbGluZVRp
bWUgPSB0aW1lbGluZSgpID8gdGltZWxpbmUoKS0+Y3VycmVudFRpbWUoKSA6IFdURjo6bnVsbG9w
dDsKICAgICBhdXRvIGV2ZW50ID0gY3JlYXRlRXZlbnQoZXZlbnRUeXBlLCB0aW1lLCBwc2V1ZG9J
ZCwgdGltZWxpbmVUaW1lKTsKLSAgICBldmVudC0+c2V0VGFyZ2V0KG1fb3duaW5nRWxlbWVudCk7
CisgICAgZXZlbnQtPnNldFRhcmdldChtX293bmluZ0VsZW1lbnQuZ2V0KCkpOwogICAgIGVucXVl
dWVBbmltYXRpb25FdmVudChXVEZNb3ZlKGV2ZW50KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmgKaW5kZXggMDNlODRhMzZjOTAxMWFi
YjA0ZWU0NTJjZDAyNDE5YjRlYjFlN2M1Ny4uYmFhZjkyNTUxOWU3YmZjZWVkNmY0Y2ZiNmVjOTY5
OWEzY2Q5ZDE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xhcmF0
aXZlQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xhcmF0aXZl
QW5pbWF0aW9uLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJBbmltYXRpb25FZmZlY3RQ
aGFzZS5oIgogI2luY2x1ZGUgIldlYkFuaW1hdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4K
KyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ0
LDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0RlY2xhcmF0aXZlQW5pbWF0aW9uKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgRWxlbWVudCogb3duaW5nRWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fb3duaW5nRWxlbWVudDsgfQorICAgIEVsZW1lbnQqIG93bmlu
Z0VsZW1lbnQoKSBjb25zdDsKICAgICBjb25zdCBBbmltYXRpb24mIGJhY2tpbmdBbmltYXRpb24o
KSBjb25zdCB7IHJldHVybiBtX2JhY2tpbmdBbmltYXRpb247IH0KICAgICB2b2lkIHNldEJhY2tp
bmdBbmltYXRpb24oY29uc3QgQW5pbWF0aW9uJik7CiAgICAgdm9pZCBjYW5jZWxGcm9tU3R5bGUo
KTsKQEAgLTg3LDcgKzg4LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fd2FzUGVuZGluZyB7IGZh
bHNlIH07CiAgICAgQW5pbWF0aW9uRWZmZWN0UGhhc2UgbV9wcmV2aW91c1BoYXNlIHsgQW5pbWF0
aW9uRWZmZWN0UGhhc2U6OklkbGUgfTsKIAotICAgIEVsZW1lbnQqIG1fb3duaW5nRWxlbWVudDsK
KyAgICBXZWFrUHRyPEVsZW1lbnQ+IG1fb3duaW5nRWxlbWVudDsKICAgICBSZWY8QW5pbWF0aW9u
PiBtX2JhY2tpbmdBbmltYXRpb247CiAgICAgZG91YmxlIG1fcHJldmlvdXNJdGVyYXRpb247CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDg3MThlNmQ4NmFkN2ZlNTA4YjEzODcwNmE2NWQy
OTVhZGQ0MzljNTIuLjYyYTlmYjgwOTUzM2Y2YjU0ZjE2ZDlhMWY1ZjMyNjlkM2QzMzM1MDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTIyNzIsNiArMjI3Miw3IEBAIHZvaWQgRWxlbWVudDo6
cmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSByZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9k
ZSYgb2xkUGFyCiAgICAgUmVmUHRyPEZyYW1lPiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUoKTsK
ICAgICBpZiAoYXV0byogdGltZWxpbmUgPSBkb2N1bWVudCgpLmV4aXN0aW5nVGltZWxpbmUoKSkK
ICAgICAgICAgdGltZWxpbmUtPmVsZW1lbnRXYXNSZW1vdmVkKCp0aGlzKTsKKwogICAgIGlmIChm
cmFtZSkKICAgICAgICAgZnJhbWUtPmFuaW1hdGlvbigpLmNhbmNlbEFuaW1hdGlvbnMoKnRoaXMp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5jcHAKaW5kZXggZGRiMGJjMmU0Y2RiYjMw
MjI5ZTA3Y2JmMjAwM2FhMDA1MTQ2NTA4YS4uMzJhZTgzMjg5ZjhmOGY3Y2NmMzA3OTU1YzI5ZThi
MTVlNDFiZDE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcApAQCAtOTAsNyAr
OTAsOCBAQCB2b2lkIFBzZXVkb0VsZW1lbnQ6OmNsZWFySG9zdEVsZW1lbnQoKQogICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6cHNldWRvRWxlbWVudERlc3Ryb3llZChkb2N1bWVudCgpLnBh
Z2UoKSwgKnRoaXMpOwogCiAgICAgaWYgKGF1dG8qIHRpbWVsaW5lID0gZG9jdW1lbnQoKS5leGlz
dGluZ1RpbWVsaW5lKCkpCi0gICAgICAgIHRpbWVsaW5lLT5yZW1vdmVBbmltYXRpb25zRm9yRWxl
bWVudCgqdGhpcyk7CisgICAgICAgIHRpbWVsaW5lLT5lbGVtZW50V2FzUmVtb3ZlZCgqdGhpcyk7
CisgICAgCiAgICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpKQogICAgICAg
ICBmcmFtZS0+YW5pbWF0aW9uKCkuY2FuY2VsQW5pbWF0aW9ucygqdGhpcyk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIu
Y3BwCmluZGV4IGQyYThjYjhhODEwNTc4MmQ5NjUwZjZlOTgyMTI4ZGRlODk4MzkxZDEuLjM2ZGIw
M2M2MWNkMjc4NzExY2RmNjA3MTU5N2JlOTk1NzkxYWFkYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcApAQCAt
NTcwLDcgKzU3MCw3IEBAIHZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnRlYXJEb3duUmVuZGVyZXJz
KEVsZW1lbnQmIHJvb3QsIFRlYXJkb3duVHlwZSB0ZWFyZG93blR5CiAgICAgICAgICAgICBjYXNl
IFRlYXJkb3duVHlwZTo6UmVuZGVyZXJVcGRhdGVDYW5jZWxpbmdBbmltYXRpb25zOgogICAgICAg
ICAgICAgICAgIGlmICh0aW1lbGluZSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoZG9jdW1l
bnQucmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICB0
aW1lbGluZS0+ZWxlbWVudFdhc1JlbW92ZWQoZWxlbWVudCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB0aW1lbGluZS0+d2lsbERlc3Ryb3lSZW5kZXJlckZvckVsZW1lbnQoZWxlbWVudCk7CiAg
ICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRlYXJkb3duVHlwZSA9PSBUZWFyZG93blR5cGU6
OlJlbmRlcmVyVXBkYXRlQ2FuY2VsaW5nQW5pbWF0aW9ucykKICAgICAgICAgICAgICAgICAgICAg
ICAgIHRpbWVsaW5lLT5jYW5jZWxEZWNsYXJhdGl2ZUFuaW1hdGlvbnNGb3JFbGVtZW50KGVsZW1l
bnQpOwogICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0YWMwMDE1NGIzMzg3ZmE1ZDFlM2JhYTg4
MmI1ODMwZDc1ODUxMGQxLi4zNzNhOTk3N2ZiOGE1YjNjY2IxODJkMzE1ZWVmY2FjMDI1M2U3YWM5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDItMjAgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25zXSBSZXBlYXRlZCBh
bmltYXRpb25zIG9uIHBzZXVkbyBlbGVtZW50cyB3aWxsIGZhaWwgdG8gcnVuIGFmdGVyIGEgd2hp
bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk5
MworCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKworICAgICAgICAqIGFuaW1h
dGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGFuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy5odG1sOiBBZGRlZC4KKwogMjAy
MC0wMi0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSzFd
IEZsYWt5IFRlc3Q6IGh0dHAvdGVzdHMvY29va2llcy9kb2N1bWVudC1jb29raWUtZHVyaW5nLWlm
cmFtZS1wYXJzaW5nLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvbWFu
eS1wc2V1ZG8tYW5pbWF0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25z
L21hbnktcHNldWRvLWFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2NTU5M2Iz
NzRmOTBjMjVkMjA4OTY0NGZjYzQyM2I2ZDc4ZDczMmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9hbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTkgQEAKK1Rlc3RzIHRoYXQgYW5pbWF0aW9ucyBvbiBwc2V1ZG8tZWxlbWVudHMg
ZG8gbm90IGV2ZW50dWFsbHkgc3RvcCB3b3JraW5nLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cwor
UEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmlt
YXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3Rh
cnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNG
cmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBu
dW1FbGVtZW50cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50
cworUEFTUyBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBh
bmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBhbmltYXRpb25z
U3RhcnRlZFRoaXNGcmFtZSBpcyBudW1FbGVtZW50cworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1h
dGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9u
cy9tYW55LXBzZXVkby1hbmltYXRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTliMzAxMzc2MWIxZTAx
Y2I2MDcwNjJlNGVhZTJlYjFjNjk5YWY5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2FuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy5odG1sCkBAIC0wLDAgKzEsMTAyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICAu
Ym94IHsKKyAgICAgICAgICAgIHdpZHRoOiAyMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAyMHB4
OworICAgICAgICAgICAgbWFyZ2luOiAzcHg7CisgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaWx2ZXI7CisgICAgICAgIH0K
KyAgICAgICAgCisgICAgICAgIGJvZHkuY2hhbmdlZCAuYm94OjpiZWZvcmUgeworICAgICAgICAg
ICAgY29udGVudDogJyc7CisgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgICAg
IHdpZHRoOiAxMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAxMHB4OworICAgICAgICAgICAgYW5p
bWF0aW9uOiBmYWRlIDAuMXM7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIEBrZXlmcmFt
ZXMgZmFkZSB7CisgICAgICAgICAgICBmcm9tIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9Cisg
ICAgICAgICAgICB0byAgIHsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgfQor
ICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOworICAgICAgICAKKyAgICAgICAgY29uc3QgbnVtRWxlbWVudHMgPSAxMDsKKyAgICAg
ICAgbGV0IGFuaW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1lID0gMDsKKworICAgICAgICBmdW5jdGlv
biBtYWtlRWxlbWVudChjb250YWluZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxldCBkaXYg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgICAgIGRpdi5jbGFzc05h
bWUgPSAnYm94JzsKKyAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChkaXYpOworICAg
ICAgICAgICAgCisgICAgICAgICAgICBkaXYuYWRkRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uc3Rh
cnQnLCAoZSkgPT4geworICAgICAgICAgICAgICAgICsrYW5pbWF0aW9uc1N0YXJ0ZWRUaGlzRnJh
bWU7CisgICAgICAgICAgICB9LCBmYWxzZSk7CisKKyAgICAgICAgICAgIGRpdi5hZGRFdmVudExp
c3RlbmVyKCdhbmltYXRpb25lbmQnLCAoZSkgPT4geworICAgICAgICAgICAgICAgIHN0YXJ0TmV4
dEl0ZXJhdGlvblNvb24oKTsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICAgICAgZnVuY3Rpb24gY2hlY2tTdGFydGVkQW5pbWF0aW9uc0NvdW50KCkKKyAg
ICAgICAgeworICAgICAgICAgICAgc2hvdWxkQmUoJ2FuaW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1l
JywgJ251bUVsZW1lbnRzJyk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGxldCBuZXh0
SXRlcmF0aW9uU3RhcnRlZCA9IGZhbHNlOworICAgICAgICBmdW5jdGlvbiBzdGFydEFuaW1hdGlv
blNldCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIG5leHRJdGVyYXRpb25TdGFydGVkID0gZmFs
c2U7CisgICAgICAgICAgICBhbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZSA9IDA7CisKKyAgICAg
ICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnY2hhbmdlZCcpOworICAgICAgICAg
ICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNoZWNrU3RhcnRlZEFuaW1hdGlvbnNDb3VudCk7Cisg
ICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGNvbnN0IG51bVRyaWFscyA9IDEwOworICAgICAg
ICBsZXQgdHJpYWxDb3VudCA9IDA7CisKKyAgICAgICAgZnVuY3Rpb24gc3RhcnROZXh0SXRlcmF0
aW9uU29vbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChuZXh0SXRlcmF0aW9uU3RhcnRl
ZCkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIG5leHRJdGVyYXRpb25T
dGFydGVkID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKHRyaWFsQ291bnQrKyA9PSBudW1Ucmlh
bHMpIHsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NM
aXN0LnJlbW92ZSgnY2hhbmdlZCcpOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRX
aWR0aDsgLy8gSGFjay4KKyAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGFydEFu
aW1hdGlvblNldCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIGRvVGVz
dCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGFuaW1h
dGlvbnMgb24gcHNldWRvLWVsZW1lbnRzIGRvIG5vdCBldmVudHVhbGx5IHN0b3Agd29ya2luZy4n
KTsKKworICAgICAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdjb250YWluZXInKTsKKyAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtRWxlbWVu
dHM7ICsraSkKKyAgICAgICAgICAgICAgICBtYWtlRWxlbWVudChjb250YWluZXIpOworCisgICAg
ICAgICAgICBzdGFydE5leHRJdGVyYXRpb25Tb29uKCk7CisgICAgICAgIH0KKyAgICAgICAgCisg
ICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7Cisg
ICAgICAgIHZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgIDwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>391398</attachid>
            <date>2020-02-21 08:09:26 -0800</date>
            <delta_ts>2020-02-21 09:21:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207993-20200221080925.patch</filename>
            <type>text/plain</type>
            <size>14324</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3MDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODdlNGE5N2M1YTRhYTMy
MjIwODNhMWQ3NjdhZGFhNTZkMWVkYmE5OC4uZTU5ZGY3YjgzOGM3NjYzMDkwMDAzZGM1N2FhZTBk
MWIxYzMxMjE2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTAyLTIxICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5pbWF0
aW9uc10gUmVwZWF0ZWQgYW5pbWF0aW9ucyBvbiBwc2V1ZG8gZWxlbWVudHMgd2lsbCBmYWlsIHRv
IHJ1biBhZnRlciBhIHdoaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDc5OTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5NDI4NDcyPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4KKworICAgICAgICBXZSBmYWlsZWQgdG8g
Y2xlYXIgUHNldWRvRWxlbWVudCogZnJvbSBBbmltYXRpb25UaW1lbGluZSdzIHZhcmlvdXMgSGFz
aE1hcHMgb24gZGVzdHJ1Y3Rpb24sCisgICAgICAgIGNhdXNpbmcgYW5pbWF0aW9ucyB0byBmYWls
IHRvIHJ1biB3aGVuIHRob3NlIHBvaW50ZXIgYWRkcmVzc2VzIHdlcmUgcmV1c2VkLgorCisgICAg
ICAgIE1ha2UgRGVjbGFyYXRpdmVBbmltYXRpb246Om93bmluZ0VsZW1lbnQoKSBiZSBhIFdlYWtQ
dHI8Pi4KKworICAgICAgICBUZXN0OiBhbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMu
aHRtbAorCisgICAgICAgICogYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFuaW1hdGlvblRpbWVsaW5lOjp3aWxsRGVzdG9yeVJlbmRlcmVyRm9yRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25UaW1lbGluZTo6ZWxlbWVudFdhc1Jl
bW92ZWQpOgorICAgICAgICAqIGFuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oOgorICAgICAg
ICAqIGFuaW1hdGlvbi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEZWNsYXJhdGl2ZUFuaW1hdGlvbjo6RGVjbGFyYXRpdmVBbmltYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6RGVjbGFyYXRpdmVBbmltYXRpb246OmVucXVldWVET01FdmVudCk6CisgICAgICAg
ICogYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpE
ZWNsYXJhdGl2ZUFuaW1hdGlvbjo6b3duaW5nRWxlbWVudCBjb25zdCk6CisgICAgICAgICogZG9t
L0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVtb3ZlZEZyb21BbmNl
c3Rvcik6CisgICAgICAgICogZG9tL1BzZXVkb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UHNldWRvRWxlbWVudDo6Y2xlYXJIb3N0RWxlbWVudCk6CisgICAgICAgICogcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVVcGRhdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRyZWVVcGRhdGVyOjp0ZWFyRG93blJlbmRlcmVycyk6CisKIDIwMjAtMDItMTkgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBBdWRp
b1Nlc3Npb24gaGFuZGxpbmcgaW4gR1BVUHJvY2VzcyBmb3IgY2FwdHVyZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1hdGlvblRpbWVsaW5lLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5jcHAKaW5kZXggMWRiYzJlNGVhOGIw
YzY3MmVmNmZmNWYzNmE4MjI3MzBiYmZkMTIyNS4uNTI2YTVmN2ZlNjU1MmY3Mjg1OTI5NjM3YTQ5
MzEyZTY1NzFmYTNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0FuaW1h
dGlvblRpbWVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9u
VGltZWxpbmUuY3BwCkBAIC0yMjQsMTAgKzIyNCwxMSBAQCB2b2lkIEFuaW1hdGlvblRpbWVsaW5l
OjpyZW1vdmVDU1NBbmltYXRpb25DcmVhdGVkQnlNYXJrdXAoRWxlbWVudCYgZWxlbWVudCwgQ1NT
QQogICAgIH0KIH0KIAotdm9pZCBBbmltYXRpb25UaW1lbGluZTo6ZWxlbWVudFdhc1JlbW92ZWQo
RWxlbWVudCYgZWxlbWVudCkKK3ZvaWQgQW5pbWF0aW9uVGltZWxpbmU6OndpbGxEZXN0cm95UmVu
ZGVyZXJGb3JFbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgZm9yIChhdXRvJiBjc3NU
cmFuc2l0aW9uIDogbV9lbGVtZW50VG9DU1NUcmFuc2l0aW9uc01hcC5nZXQoJmVsZW1lbnQpKQog
ICAgICAgICBjc3NUcmFuc2l0aW9uLT5jYW5jZWwoV2ViQW5pbWF0aW9uOjpTaWxlbnRseTo6WWVz
KTsKKwogICAgIGZvciAoYXV0byYgY3NzQW5pbWF0aW9uIDogbV9lbGVtZW50VG9DU1NBbmltYXRp
b25zTWFwLmdldCgmZWxlbWVudCkpIHsKICAgICAgICAgaWYgKGlzPENTU0FuaW1hdGlvbj4oY3Nz
QW5pbWF0aW9uKSkKICAgICAgICAgICAgIHJlbW92ZUNTU0FuaW1hdGlvbkNyZWF0ZWRCeU1hcmt1
cChlbGVtZW50LCBkb3duY2FzdDxDU1NBbmltYXRpb24+KCpjc3NBbmltYXRpb24pKTsKQEAgLTIz
NSw2ICsyMzYsMTcgQEAgdm9pZCBBbmltYXRpb25UaW1lbGluZTo6ZWxlbWVudFdhc1JlbW92ZWQo
RWxlbWVudCYgZWxlbWVudCkKICAgICB9CiB9CiAKK3ZvaWQgQW5pbWF0aW9uVGltZWxpbmU6OmVs
ZW1lbnRXYXNSZW1vdmVkKEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgd2lsbERlc3Ryb3lSZW5k
ZXJlckZvckVsZW1lbnQoZWxlbWVudCk7CisKKyAgICBtX2VsZW1lbnRUb0FuaW1hdGlvbnNNYXAu
cmVtb3ZlKCZlbGVtZW50KTsKKyAgICBtX2VsZW1lbnRUb0NTU0FuaW1hdGlvbnNNYXAucmVtb3Zl
KCZlbGVtZW50KTsKKyAgICBtX2VsZW1lbnRUb0NTU1RyYW5zaXRpb25zTWFwLnJlbW92ZSgmZWxl
bWVudCk7CisgICAgbV9lbGVtZW50VG9SdW5uaW5nQ1NTVHJhbnNpdGlvbkJ5Q1NTUHJvcGVydHlJ
RC5yZW1vdmUoJmVsZW1lbnQpOworICAgIG1fZWxlbWVudFRvQ1NTQW5pbWF0aW9uc0NyZWF0ZWRC
eU1hcmt1cE1hcC5yZW1vdmUoJmVsZW1lbnQpOworfQorCiB2b2lkIEFuaW1hdGlvblRpbWVsaW5l
OjpyZW1vdmVBbmltYXRpb25zRm9yRWxlbWVudChFbGVtZW50JiBlbGVtZW50KQogewogICAgIGZv
ciAoYXV0byYgYW5pbWF0aW9uIDogYW5pbWF0aW9uc0ZvckVsZW1lbnQoZWxlbWVudCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQW5pbWF0aW9uVGltZWxpbmUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRpb25UaW1lbGluZS5oCmluZGV4IGViMjFhYzhi
MjdiYzg1ZGJhNWZiZDM0ZTk4MmJlZTg2Yzc5MzE3NzcuLmMzYWZkNmJmZWFlYTZjM2NiNjI5NDMy
ZTE2NjQwYTJhYTFhYTEyOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9B
bmltYXRpb25UaW1lbGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9BbmltYXRp
b25UaW1lbGluZS5oCkBAIC01OSwxMiArNTksMTcgQEAgcHVibGljOgogCiAgICAgZW51bSBjbGFz
cyBPcmRlcmluZyA6IHVpbnQ4X3QgeyBTb3J0ZWQsIFVuc29ydGVkIH07CiAgICAgVmVjdG9yPFJl
ZlB0cjxXZWJBbmltYXRpb24+PiBhbmltYXRpb25zRm9yRWxlbWVudChFbGVtZW50JiwgT3JkZXJp
bmcgb3JkZXJpbmcgPSBPcmRlcmluZzo6VW5zb3J0ZWQpIGNvbnN0OworCiAgICAgdm9pZCBlbGVt
ZW50V2FzUmVtb3ZlZChFbGVtZW50Jik7CiAgICAgdm9pZCByZW1vdmVBbmltYXRpb25zRm9yRWxl
bWVudChFbGVtZW50Jik7CisKICAgICB2b2lkIHdpbGxDaGFuZ2VSZW5kZXJlckZvckVsZW1lbnQo
RWxlbWVudCYpOworICAgIHZvaWQgd2lsbERlc3Ryb3lSZW5kZXJlckZvckVsZW1lbnQoRWxlbWVu
dCYpOwogICAgIHZvaWQgY2FuY2VsRGVjbGFyYXRpdmVBbmltYXRpb25zRm9yRWxlbWVudChFbGVt
ZW50Jik7CisKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uV2FzQWRkZWRUb0VsZW1lbnQoV2Vi
QW5pbWF0aW9uJiwgRWxlbWVudCYpOwogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRpb25XYXNSZW1v
dmVkRnJvbUVsZW1lbnQoV2ViQW5pbWF0aW9uJiwgRWxlbWVudCYpOworCiAgICAgdm9pZCByZW1v
dmVEZWNsYXJhdGl2ZUFuaW1hdGlvbkZyb21MaXN0c0Zvck93bmluZ0VsZW1lbnQoV2ViQW5pbWF0
aW9uJiwgRWxlbWVudCYpOwogCiAgICAgdm9pZCB1cGRhdGVDU1NBbmltYXRpb25zRm9yRWxlbWVu
dChFbGVtZW50JiwgY29uc3QgUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgY29uc3QgUmVuZGVy
U3R5bGUmIGFmdGVyQ2hhbmdlU3R5bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5jcHAKaW5kZXggNGU3MTc4NGZjMzhmODFhMmIyYjg5Mzgz
NmFkY2Q1OTk3MWNiNmI3YS4uNzJjNmNmMjZmOTBkNTBkMDBjNGZiODEyNmYwZjk4OGMwY2Q2NTU4
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0RlY2xhcmF0aXZlQW5pbWF0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRGVjbGFyYXRpdmVBbmltYXRp
b24uY3BwCkBAIC00Myw3ICs0Myw3IEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChEZWNs
YXJhdGl2ZUFuaW1hdGlvbik7CiAKIERlY2xhcmF0aXZlQW5pbWF0aW9uOjpEZWNsYXJhdGl2ZUFu
aW1hdGlvbihFbGVtZW50JiBvd25pbmdFbGVtZW50LCBjb25zdCBBbmltYXRpb24mIGJhY2tpbmdB
bmltYXRpb24pCiAgICAgOiBXZWJBbmltYXRpb24ob3duaW5nRWxlbWVudC5kb2N1bWVudCgpKQot
ICAgICwgbV9vd25pbmdFbGVtZW50KCZvd25pbmdFbGVtZW50KQorICAgICwgbV9vd25pbmdFbGVt
ZW50KG1ha2VXZWFrUHRyKG93bmluZ0VsZW1lbnQpKQogICAgICwgbV9iYWNraW5nQW5pbWF0aW9u
KGNvbnN0X2Nhc3Q8QW5pbWF0aW9uJj4oYmFja2luZ0FuaW1hdGlvbikpCiB7CiB9CkBAIC01Miw2
ICs1MiwxMSBAQCBEZWNsYXJhdGl2ZUFuaW1hdGlvbjo6fkRlY2xhcmF0aXZlQW5pbWF0aW9uKCkK
IHsKIH0KIAorRWxlbWVudCogRGVjbGFyYXRpdmVBbmltYXRpb246Om93bmluZ0VsZW1lbnQoKSBj
b25zdAoreworICAgIHJldHVybiBtX293bmluZ0VsZW1lbnQuZ2V0KCk7Cit9CisKIHZvaWQgRGVj
bGFyYXRpdmVBbmltYXRpb246OnRpY2soKQogewogICAgIGJvb2wgd2FzUmVsZXZhbnQgPSBpc1Jl
bGV2YW50KCk7CkBAIC0zMzQsMTIgKzMzOSwxNCBAQCB2b2lkIERlY2xhcmF0aXZlQW5pbWF0aW9u
OjppbnZhbGlkYXRlRE9NRXZlbnRzKFNlY29uZHMgZWxhcHNlZFRpbWUpCiAKIHZvaWQgRGVjbGFy
YXRpdmVBbmltYXRpb246OmVucXVldWVET01FdmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIFNlY29uZHMgZWxhcHNlZFRpbWUpCiB7Ci0gICAgQVNTRVJUKG1fb3duaW5nRWxlbWVudCk7
CisgICAgaWYgKCFtX293bmluZ0VsZW1lbnQpCisgICAgICAgIHJldHVybjsKKwogICAgIGF1dG8g
dGltZSA9IHNlY29uZHNUb1dlYkFuaW1hdGlvbnNBUElUaW1lKGVsYXBzZWRUaW1lKSAvIDEwMDA7
CiAgICAgY29uc3QgYXV0byYgcHNldWRvSWQgPSBQc2V1ZG9FbGVtZW50Ojpwc2V1ZG9FbGVtZW50
TmFtZUZvckV2ZW50cyhtX293bmluZ0VsZW1lbnQtPnBzZXVkb0lkKCkpOwogICAgIGF1dG8gdGlt
ZWxpbmVUaW1lID0gdGltZWxpbmUoKSA/IHRpbWVsaW5lKCktPmN1cnJlbnRUaW1lKCkgOiBXVEY6
Om51bGxvcHQ7CiAgICAgYXV0byBldmVudCA9IGNyZWF0ZUV2ZW50KGV2ZW50VHlwZSwgdGltZSwg
cHNldWRvSWQsIHRpbWVsaW5lVGltZSk7Ci0gICAgZXZlbnQtPnNldFRhcmdldChtX293bmluZ0Vs
ZW1lbnQpOworICAgIGV2ZW50LT5zZXRUYXJnZXQobV9vd25pbmdFbGVtZW50LmdldCgpKTsKICAg
ICBlbnF1ZXVlQW5pbWF0aW9uRXZlbnQoV1RGTW92ZShldmVudCkpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vRGVjbGFyYXRpdmVBbmltYXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9EZWNsYXJhdGl2ZUFuaW1hdGlvbi5oCmluZGV4IDAzZTg0YTM2
YzkwMTFhYmIwNGVlNDUyY2QwMjQxOWI0ZWIxZTdjNTcuLmJhYWY5MjU1MTllN2JmY2VlZDZmNGNm
YjZlYzk2OTlhM2NkOWQxNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9E
ZWNsYXJhdGl2ZUFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9EZWNs
YXJhdGl2ZUFuaW1hdGlvbi5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQW5pbWF0aW9u
RWZmZWN0UGhhc2UuaCIKICNpbmNsdWRlICJXZWJBbmltYXRpb24uaCIKICNpbmNsdWRlIDx3dGYv
UmVmLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC00NCw3ICs0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNEZWNsYXJhdGl2ZUFuaW1h
dGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIEVsZW1lbnQqIG93bmlu
Z0VsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX293bmluZ0VsZW1lbnQ7IH0KKyAgICBFbGVtZW50
KiBvd25pbmdFbGVtZW50KCkgY29uc3Q7CiAgICAgY29uc3QgQW5pbWF0aW9uJiBiYWNraW5nQW5p
bWF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9iYWNraW5nQW5pbWF0aW9uOyB9CiAgICAgdm9pZCBz
ZXRCYWNraW5nQW5pbWF0aW9uKGNvbnN0IEFuaW1hdGlvbiYpOwogICAgIHZvaWQgY2FuY2VsRnJv
bVN0eWxlKCk7CkBAIC04Nyw3ICs4OCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dhc1BlbmRp
bmcgeyBmYWxzZSB9OwogICAgIEFuaW1hdGlvbkVmZmVjdFBoYXNlIG1fcHJldmlvdXNQaGFzZSB7
IEFuaW1hdGlvbkVmZmVjdFBoYXNlOjpJZGxlIH07CiAKLSAgICBFbGVtZW50KiBtX293bmluZ0Vs
ZW1lbnQ7CisgICAgV2Vha1B0cjxFbGVtZW50PiBtX293bmluZ0VsZW1lbnQ7CiAgICAgUmVmPEFu
aW1hdGlvbj4gbV9iYWNraW5nQW5pbWF0aW9uOwogICAgIGRvdWJsZSBtX3ByZXZpb3VzSXRlcmF0
aW9uOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA4NzE4ZTZkODZhZDdmZTUwOGIxMzg3
MDZhNjVkMjk1YWRkNDM5YzUyLi42MmE5ZmI4MDk1MzNmNmI1NGYxNmQ5YTFmNWYzMjY5ZDNkMzMz
NTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0yMjcyLDYgKzIyNzIsNyBAQCB2b2lkIEVs
ZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IoUmVtb3ZhbFR5cGUgcmVtb3ZhbFR5cGUsIENvbnRh
aW5lck5vZGUmIG9sZFBhcgogICAgIFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBkb2N1bWVudCgpLmZy
YW1lKCk7CiAgICAgaWYgKGF1dG8qIHRpbWVsaW5lID0gZG9jdW1lbnQoKS5leGlzdGluZ1RpbWVs
aW5lKCkpCiAgICAgICAgIHRpbWVsaW5lLT5lbGVtZW50V2FzUmVtb3ZlZCgqdGhpcyk7CisKICAg
ICBpZiAoZnJhbWUpCiAgICAgICAgIGZyYW1lLT5hbmltYXRpb24oKS5jYW5jZWxBbmltYXRpb25z
KCp0aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3BwCmluZGV4IGRkYjBiYzJl
NGNkYmIzMDIyOWUwN2NiZjIwMDNhYTAwNTE0NjUwOGEuLjMyYWU4MzI4OWY4ZjhmN2NjZjMwNzk1
NWMyOWU4YjE1ZTQxYmQxNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9F
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5jcHAKQEAg
LTkwLDcgKzkwLDggQEAgdm9pZCBQc2V1ZG9FbGVtZW50OjpjbGVhckhvc3RFbGVtZW50KCkKICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnBzZXVkb0VsZW1lbnREZXN0cm95ZWQoZG9jdW1l
bnQoKS5wYWdlKCksICp0aGlzKTsKIAogICAgIGlmIChhdXRvKiB0aW1lbGluZSA9IGRvY3VtZW50
KCkuZXhpc3RpbmdUaW1lbGluZSgpKQotICAgICAgICB0aW1lbGluZS0+cmVtb3ZlQW5pbWF0aW9u
c0ZvckVsZW1lbnQoKnRoaXMpOworICAgICAgICB0aW1lbGluZS0+ZWxlbWVudFdhc1JlbW92ZWQo
KnRoaXMpOworICAgIAogICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUoKSkK
ICAgICAgICAgZnJhbWUtPmFuaW1hdGlvbigpLmNhbmNlbEFuaW1hdGlvbnMoKnRoaXMpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVw
ZGF0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVV
cGRhdGVyLmNwcAppbmRleCBkMmE4Y2I4YTgxMDU3ODJkOTY1MGY2ZTk4MjEyOGRkZTg5ODM5MWQx
Li4zNmRiMDNjNjFjZDI3ODcxMWNkZjYwNzE1OTdiZTk5NTc5MWFhZGJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZVVwZGF0ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlVXBkYXRlci5j
cHAKQEAgLTU3MCw3ICs1NzAsNyBAQCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp0ZWFyRG93blJl
bmRlcmVycyhFbGVtZW50JiByb290LCBUZWFyZG93blR5cGUgdGVhcmRvd25UeQogICAgICAgICAg
ICAgY2FzZSBUZWFyZG93blR5cGU6OlJlbmRlcmVyVXBkYXRlQ2FuY2VsaW5nQW5pbWF0aW9uczoK
ICAgICAgICAgICAgICAgICBpZiAodGltZWxpbmUpIHsKICAgICAgICAgICAgICAgICAgICAgaWYg
KGRvY3VtZW50LnJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKQotICAgICAgICAgICAgICAgICAg
ICAgICAgdGltZWxpbmUtPmVsZW1lbnRXYXNSZW1vdmVkKGVsZW1lbnQpOworICAgICAgICAgICAg
ICAgICAgICAgICAgdGltZWxpbmUtPndpbGxEZXN0cm95UmVuZGVyZXJGb3JFbGVtZW50KGVsZW1l
bnQpOwogICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0ZWFyZG93blR5cGUgPT0gVGVhcmRv
d25UeXBlOjpSZW5kZXJlclVwZGF0ZUNhbmNlbGluZ0FuaW1hdGlvbnMpCiAgICAgICAgICAgICAg
ICAgICAgICAgICB0aW1lbGluZS0+Y2FuY2VsRGVjbGFyYXRpdmVBbmltYXRpb25zRm9yRWxlbWVu
dChlbGVtZW50KTsKICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTkxNzgyNjBmZGY2NThjZjdk
MmVhMDI1OWU4Njg2NGQ0MjdhNzUwYy4uZjA0ZTFjMTFjZjcxZDMyMWU0NTM3ZDdlYTU3NDExZDgw
YmNkMzE4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTAyLTIxICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gUmVw
ZWF0ZWQgYW5pbWF0aW9ucyBvbiBwc2V1ZG8gZWxlbWVudHMgd2lsbCBmYWlsIHRvIHJ1biBhZnRl
ciBhIHdoaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDc5OTMKKworICAgICAgICBSZXZpZXdlZCBieSBaYWxhbiBCdWp0YXMuCisKKyAgICAgICAg
KiBhbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBhbmltYXRpb25zL21hbnktcHNldWRvLWFuaW1hdGlvbnMuaHRtbDogQWRkZWQu
CisKIDIwMjAtMDItMTkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBBdWRpb1Nlc3Npb24gaGFuZGxpbmcgaW4gR1BVUHJvY2VzcyBm
b3IgY2FwdHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9tYW55LXBzZXVk
by1hbmltYXRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvbWFueS1w
c2V1ZG8tYW5pbWF0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjY1NTkzYjM3NGY5MGMy
NWQyMDg5NjQ0ZmNjNDIzYjZkNzhkNzMyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2FuaW1hdGlvbnMvbWFueS1wc2V1ZG8tYW5pbWF0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxOSBAQAorVGVzdHMgdGhhdCBhbmltYXRpb25zIG9uIHBzZXVkby1lbGVtZW50cyBkbyBub3Qg
ZXZlbnR1YWxseSBzdG9wIHdvcmtpbmcuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGFuaW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1lIGlzIG51bUVsZW1lbnRzCitQQVNTIGFu
aW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1lIGlzIG51bUVsZW1lbnRzCitQQVNTIGFuaW1hdGlvbnNT
dGFydGVkVGhpc0ZyYW1lIGlzIG51bUVsZW1lbnRzCitQQVNTIGFuaW1hdGlvbnNTdGFydGVkVGhp
c0ZyYW1lIGlzIG51bUVsZW1lbnRzCitQQVNTIGFuaW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1lIGlz
IG51bUVsZW1lbnRzCitQQVNTIGFuaW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1lIGlzIG51bUVsZW1l
bnRzCitQQVNTIGFuaW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1lIGlzIG51bUVsZW1lbnRzCitQQVNT
IGFuaW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1lIGlzIG51bUVsZW1lbnRzCitQQVNTIGFuaW1hdGlv
bnNTdGFydGVkVGhpc0ZyYW1lIGlzIG51bUVsZW1lbnRzCitQQVNTIGFuaW1hdGlvbnNTdGFydGVk
VGhpc0ZyYW1lIGlzIG51bUVsZW1lbnRzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9t
YW55LXBzZXVkby1hbmltYXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL21hbnkt
cHNldWRvLWFuaW1hdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNDEwN2RhNmYxMzQ0OGIzMGNkZjcx
Yjg1YzRkMGIxN2Q4YmZjMzI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYW5pbWF0
aW9ucy9tYW55LXBzZXVkby1hbmltYXRpb25zLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIC5ib3ggewor
ICAgICAgICAgICAgd2lkdGg6IDIwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7CisgICAg
ICAgICAgICBtYXJnaW46IDNweDsKKyAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsK
KyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNpbHZlcjsKKyAgICAgICAgfQorICAgICAg
ICAKKyAgICAgICAgYm9keS5jaGFuZ2VkIC5ib3g6OmJlZm9yZSB7CisgICAgICAgICAgICBjb250
ZW50OiAnJzsKKyAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgICAgICAgd2lkdGg6
IDEwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7CisgICAgICAgICAgICBhbmltYXRpb246
IGZhZGUgMC4xczsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgQGtleWZyYW1lcyBmYWRl
IHsKKyAgICAgICAgICAgIGZyb20geyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKyAgICAgICAg
ICAgIHRvICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICB9CisgICAgPC9z
dHlsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7
CisgICAgICAgIAorICAgICAgICBjb25zdCBudW1FbGVtZW50cyA9IDEwOworICAgICAgICBsZXQg
YW5pbWF0aW9uc1N0YXJ0ZWRUaGlzRnJhbWUgPSAwOworCisgICAgICAgIGZ1bmN0aW9uIG1ha2VF
bGVtZW50KGNvbnRhaW5lcikKKyAgICAgICAgeworICAgICAgICAgICAgbGV0IGRpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgZGl2LmNsYXNzTmFtZSA9ICdi
b3gnOworICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRpdik7CisgICAgICAgICAg
ICAKKyAgICAgICAgICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25zdGFydCcsIChl
KSA9PiB7CisgICAgICAgICAgICAgICAgKythbmltYXRpb25zU3RhcnRlZFRoaXNGcmFtZTsKKyAg
ICAgICAgICAgIH0sIGZhbHNlKTsKKworICAgICAgICAgICAgZGl2LmFkZEV2ZW50TGlzdGVuZXIo
J2FuaW1hdGlvbmVuZCcsIChlKSA9PiB7CisgICAgICAgICAgICAgICAgc3RhcnROZXh0SXRlcmF0
aW9uU29vbigpOworICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICB9CisgICAgICAgIAor
ICAgICAgICBmdW5jdGlvbiBjaGVja1N0YXJ0ZWRBbmltYXRpb25zQ291bnQoKQorICAgICAgICB7
CisgICAgICAgICAgICBzaG91bGRCZSgnYW5pbWF0aW9uc1N0YXJ0ZWRUaGlzRnJhbWUnLCAnbnVt
RWxlbWVudHMnKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgbGV0IG5leHRJdGVyYXRp
b25TdGFydGVkID0gZmFsc2U7CisgICAgICAgIGZ1bmN0aW9uIHN0YXJ0QW5pbWF0aW9uU2V0KCkK
KyAgICAgICAgeworICAgICAgICAgICAgbmV4dEl0ZXJhdGlvblN0YXJ0ZWQgPSBmYWxzZTsKKyAg
ICAgICAgICAgIGFuaW1hdGlvbnNTdGFydGVkVGhpc0ZyYW1lID0gMDsKKworICAgICAgICAgICAg
ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdjaGFuZ2VkJyk7CisgICAgICAgICAgICByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoY2hlY2tTdGFydGVkQW5pbWF0aW9uc0NvdW50KTsKKyAgICAgICAg
fQorICAgICAgICAKKyAgICAgICAgY29uc3QgbnVtVHJpYWxzID0gMTA7CisgICAgICAgIGxldCB0
cmlhbENvdW50ID0gMDsKKworICAgICAgICBmdW5jdGlvbiBzdGFydE5leHRJdGVyYXRpb25Tb29u
KCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKG5leHRJdGVyYXRpb25TdGFydGVkKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgbmV4dEl0ZXJhdGlvblN0YXJ0ZWQg
PSB0cnVlOworCisgICAgICAgICAgICBpZiAodHJpYWxDb3VudCsrID09IG51bVRyaWFscykgewor
ICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVt
b3ZlKCdjaGFuZ2VkJyk7CisgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoOyAv
LyBIYWNrLgorICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHN0YXJ0QW5pbWF0aW9u
U2V0KTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gZG9UZXN0KCkKKyAg
ICAgICAgeworICAgICAgICAgICAgZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYW5pbWF0aW9ucyBv
biBwc2V1ZG8tZWxlbWVudHMgZG8gbm90IGV2ZW50dWFsbHkgc3RvcCB3b3JraW5nLicpOworCisg
ICAgICAgICAgICBsZXQgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRh
aW5lcicpOworICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1FbGVtZW50czsgKytp
KQorICAgICAgICAgICAgICAgIG1ha2VFbGVtZW50KGNvbnRhaW5lcik7CisKKyAgICAgICAgICAg
IHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGFydE5leHRJdGVyYXRpb25Tb29uKTsKKyAgICAgICAg
fQorICAgICAgICAKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rl
c3QsIGZhbHNlKTsKKyAgICAgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAg
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>