<?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>202244</bug_id>
          
          <creation_ts>2019-09-25 15:14:33 -0700</creation_ts>
          <short_desc>Add very basic PageCache support for RTCPeerConnection</short_desc>
          <delta_ts>2019-09-26 15:20:29 -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>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>202293</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1574228</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-25 15:14:33 -0700</bug_when>
    <thetext>Add very basic PageCache support for RTCPeerConnection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574269</commentid>
    <comment_count>1</comment_count>
      <attachid>379588</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-25 16:19:49 -0700</bug_when>
    <thetext>Created attachment 379588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574270</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-25 16:20:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/55723524&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574297</commentid>
    <comment_count>3</comment_count>
      <attachid>379588</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-09-25 17:12:01 -0700</bug_when>
    <thetext>Comment on attachment 379588
Patch

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

&gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.h:190
&gt; +        promise.whenSettled([pendingActivity = makeRefPtr(makePendingActivity(*this).ptr())] { });

Why not just make whenSettled take a WTF::Function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574330</commentid>
    <comment_count>4</comment_count>
      <attachid>379613</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-25 19:32:00 -0700</bug_when>
    <thetext>Created attachment 379613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574346</commentid>
    <comment_count>5</comment_count>
      <attachid>379613</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-09-25 20:51:05 -0700</bug_when>
    <thetext>Comment on attachment 379613
Patch

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

r=me

&gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:502
&gt; +    // FIXME: We should do better here, it is way too easy to prevent PageCache.
&gt;  bool RTCPeerConnection::canSuspendForDocumentSuspension() const
&gt;  {
&gt;      return !hasPendingActivity();

I kinda think we should be able to remove this. Pending promised will be resolved before any navigation. And events are OK to delay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574347</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-09-25 20:55:49 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #5)
&gt; Comment on attachment 379613 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=379613&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:502
&gt; &gt; +    // FIXME: We should do better here, it is way too easy to prevent PageCache.
&gt; &gt;  bool RTCPeerConnection::canSuspendForDocumentSuspension() const
&gt; &gt;  {
&gt; &gt;      return !hasPendingActivity();
&gt; 
&gt; I kinda think we should be able to remove this. Pending promised will be
&gt; resolved before any navigation. And events are OK to delay.

Promises are guaranteed to be resolved before navigating away? What if I call a JS function that returns a promise from inside the pagehide event handler?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574349</commentid>
    <comment_count>7</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-09-25 21:00:21 -0700</bug_when>
    <thetext>&gt; Promises are guaranteed to be resolved before navigating away? What if I
&gt; call a JS function that returns a promise from inside the pagehide event
&gt; handler?

Maybe I misread this code. I guess this is a set of promises that will resolve when future events happen? Yeah, I guess we would need to implement an explicit way to delay them if so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574365</commentid>
    <comment_count>8</comment_count>
      <attachid>379613</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-25 22:32:07 -0700</bug_when>
    <thetext>Comment on attachment 379613
Patch

Clearing flags on attachment: 379613

Committed r250379: &lt;https://trac.webkit.org/changeset/250379&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1574366</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-25 22:32:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379588</attachid>
            <date>2019-09-25 16:19:49 -0700</date>
            <delta_ts>2019-09-25 19:31:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202244-20190925161949.patch</filename>
            <type>text/plain</type>
            <size>10206</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA3M2U3YTcyNzY4NzA2
MWVhNDU0YTBjNTI2YTBhMGJmZjA2MGQ1Zi4uZmE5MWExYjA0OGE5NzM5MGI5NDhkZDdmODE3ZGFk
OTc4NDBhYTIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE5LTA5LTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHZlcnkgYmFzaWMgUGFn
ZUNhY2hlIHN1cHBvcnQgZm9yIFJUQ1BlZXJDb25uZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIyNDQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSVENQZWVyQ29ubmVjdGlvbjo6Y2FuU3VzcGVu
ZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIHJldHVybnMgdHJ1ZSBpZgorICAgICAgICBSVENQZWVy
Q29ubmVjdGlvbjo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgcmV0dXJuIGZhbHNlLiBQcmV2aW91c2x5
LCBoYXNQZW5kaW5nQWN0aXZpdHkoKQorICAgICAgICB3b3VsZCByZXR1cm4gdHJ1ZSB1bmxlc3Mg
dGhlIEpTIGhhcyBjYWxsZWQgY2xvc2UoKSBvbiB0aGUgUlRDUGVlckNvbm5lY3Rpb24KKyAgICAg
ICAgb2JqZWN0LgorCisgICAgICAgIE9uIHdlYXRoZXIuY29tLCBhbiBhZCB3b3VsZCBjb25zdHJ1
Y3QgYW4gUlRDUGVlckNvbm5lY3Rpb24ganVzdCB0byBkbyBzb21lIGZlYXR1cmUKKyAgICAgICAg
Y2hlY2tpbmcgYW5kIHRoZW4gbGV0IHRoZSB2YXJpYWJsZSBnbyBvdXQgb2Ygc2NvcGUgKHdpdGhv
dXQgY2FsbGluZyBjbG9zZSgpKS4gQmVjYXVzZQorICAgICAgICBvZiB0aGUgcHJldmlvdXMgaW1w
bGVtZW50YXRpb24gb2YgUlRDUGVlckNvbm5lY3Rpb246Omhhc1BlbmRpbmdBY3Rpdml0eSgpLCB0
aGlzIHdyYXBwZXIKKyAgICAgICAgYW5kIGl0cyBpbXBsZW1lbnRhdGlvbiBvYmplY3Qgd291bGQg
c3RheSBhbGl2ZSBmb3JldmVyIEFORCBwcmV2ZW50IHRoZSBwYWdlIGZyb20KKyAgICAgICAgZW50
ZXJpbmcgUGFnZUNhY2hlIG9uIG5hdmlnYXRpb24uCisKKyAgICAgICAgVG8gaW1wcm92ZSB0aGlz
LCB0aGUgaW1wbGVtZW50YXRpb24gb2YgaGFkUGVuZGluZ0FjdGl2aXR5KCkgaGFzIGJlZW4gdXBk
YXRlZCBzbyB0aGF0CisgICAgICAgIGl0IGtlZXBzIHJldHVybmluZyBmYWxzZSBpZiBjbG9zZSgp
IGhhcyBiZWVuIGNhbGxlZCwgYnV0IHdpbGwgYWxzbyByZXR1cm4gZmFsc2UgaWYKKyAgICAgICAg
dGhlcmUgYXJlIG5vIHBlbmRpbmcgUHJvbWlzZXMgdG8gYmUgcmVzb2x2ZWQgYW5kIG5vIGV2ZW50
IGxpc3RlbmVycy4KKworICAgICAgICBUZXN0OiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLXBhZ2UtY2FjaGUuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9u
OjpSVENQZWVyQ29ubmVjdGlvbjoKKyAgICAgICAgU3RvcCB0YWtpbmcgYSBwZW5kaW5nIGFjdGl2
aXR5IGluIHRoZSBjb25zdHJ1Y3RvciwgdGhpcyB3b3VsZCBiZSBOT1Qga2VlcCB0aGUgd3JhcHBl
cgorICAgICAgICBhbGl2ZSBzaW5jZSBSVENQZWVyQ29ubmVjdGlvbjo6aGFzUGVuZGluZ0FjdGl2
aXR5KCkgd2FzIG5vdCBjaGVja2luZworICAgICAgICBBY3RpdmVET01PYmplY3Q6Omhhc1BlbmRp
bmdBY3Rpdml0eSgpLgorCisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6Y2Fu
U3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpS
VENQZWVyQ29ubmVjdGlvbjo6aGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToKKyAgICAgICAgCisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oOgorCisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVByb21pc2VEZWZlcnJlZEJhc2U6OndoZW5TZXR0bGVkKToKKwogMjAxOS0wOS0yNSAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEltcHJvdmUgU2Vydmlj
ZSB3b3JrZXIgc3VwcG9ydCBmb3IgUGFnZSBDYWNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCmluZGV4IGUw
ZjMxYTcwNDMyMWUwZDkxYTcxMjU0NTQ3MmEzNzRmM2ZkODA2ZjEuLmM5OTlhY2MwZjMxMzk4NDgy
ZDdiOTNkMjQyNGVhNGVkOTRiYjNiMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBAIC03MCwxMCArNzAs
NyBAQCBSZWY8UlRDUGVlckNvbm5lY3Rpb24+IFJUQ1BlZXJDb25uZWN0aW9uOjpjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dAogICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNh
c3Q8RG9jdW1lbnQ+KGNvbnRleHQpOwogICAgIGF1dG8gcGVlckNvbm5lY3Rpb24gPSBhZG9wdFJl
ZigqbmV3IFJUQ1BlZXJDb25uZWN0aW9uKGRvY3VtZW50KSk7CiAgICAgcGVlckNvbm5lY3Rpb24t
PnN1c3BlbmRJZk5lZWRlZCgpOwotICAgIC8vIFJUQ1BlZXJDb25uZWN0aW9uIG1heSBzZW5kIGV2
ZW50cyBhdCBhYm91dCBhbnkgdGltZSBkdXJpbmcgaXRzIGxpZmV0aW1lLgotICAgIC8vIExldCdz
IG1ha2UgaXQgdW5jb2xsZWN0YWJsZSB1bnRpbCB0aGUgcGMgaXMgY2xvc2VkIGJ5IEpTIG9yIHRo
ZSBwYWdlIHN0b3BzIGl0LgogICAgIGlmICghcGVlckNvbm5lY3Rpb24tPmlzQ2xvc2VkKCkpIHsK
LSAgICAgICAgcGVlckNvbm5lY3Rpb24tPm1fcGVuZGluZ0FjdGl2aXR5ID0gcGVlckNvbm5lY3Rp
b24tPm1ha2VQZW5kaW5nQWN0aXZpdHkocGVlckNvbm5lY3Rpb24uZ2V0KCkpOwogICAgICAgICBp
ZiAoYXV0byogcGFnZSA9IGRvY3VtZW50LnBhZ2UoKSkgewogICAgICAgICAgICAgcGVlckNvbm5l
Y3Rpb24tPnJlZ2lzdGVyVG9Db250cm9sbGVyKHBhZ2UtPnJ0Y0NvbnRyb2xsZXIoKSk7CiAgICAg
ICAgICAgICBwYWdlLT5saWJXZWJSVENQcm92aWRlcigpLnNldEVuYWJsZUxvZ2dpbmcoIXBhZ2Ut
PnNlc3Npb25JRCgpLmlzRXBoZW1lcmFsKCkpOwpAQCAtMTk3LDYgKzE5NCw3IEBAIHZvaWQgUlRD
UGVlckNvbm5lY3Rpb246OnF1ZXVlZENyZWF0ZU9mZmVyKFJUQ09mZmVyT3B0aW9ucyYmIG9wdGlv
bnMsIFNlc3Npb25EZXNjCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBhZGRQZW5kaW5n
UHJvbWlzZShwcm9taXNlKTsKICAgICBtX2JhY2tlbmQtPmNyZWF0ZU9mZmVyKFdURk1vdmUob3B0
aW9ucyksIFdURk1vdmUocHJvbWlzZSkpOwogfQogCkBAIC0yMDgsNiArMjA2LDcgQEAgdm9pZCBS
VENQZWVyQ29ubmVjdGlvbjo6cXVldWVkQ3JlYXRlQW5zd2VyKFJUQ0Fuc3dlck9wdGlvbnMmJiBv
cHRpb25zLCBTZXNzaW9uRGUKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGFkZFBlbmRp
bmdQcm9taXNlKHByb21pc2UpOwogICAgIG1fYmFja2VuZC0+Y3JlYXRlQW5zd2VyKFdURk1vdmUo
b3B0aW9ucyksIFdURk1vdmUocHJvbWlzZSkpOwogfQogCkBAIC0yMTksNiArMjE4LDcgQEAgdm9p
ZCBSVENQZWVyQ29ubmVjdGlvbjo6cXVldWVkU2V0TG9jYWxEZXNjcmlwdGlvbihSVENTZXNzaW9u
RGVzY3JpcHRpb24mIGRlc2NyaXAKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGFkZFBl
bmRpbmdQcm9taXNlKHByb21pc2UpOwogICAgIG1fYmFja2VuZC0+c2V0TG9jYWxEZXNjcmlwdGlv
bihkZXNjcmlwdGlvbiwgV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKQEAgLTI0NSw2ICsyNDUsNyBA
QCB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpxdWV1ZWRTZXRSZW1vdGVEZXNjcmlwdGlvbihSVENT
ZXNzaW9uRGVzY3JpcHRpb24mIGRlc2NyaQogICAgICAgICBwcm9taXNlLnJlamVjdChJbnZhbGlk
U3RhdGVFcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAgYWRkUGVuZGluZ1Byb21p
c2UocHJvbWlzZSk7CiAgICAgbV9iYWNrZW5kLT5zZXRSZW1vdGVEZXNjcmlwdGlvbihkZXNjcmlw
dGlvbiwgV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKQEAgLTI3Miw2ICsyNzMsNyBAQCB2b2lkIFJU
Q1BlZXJDb25uZWN0aW9uOjpxdWV1ZWRBZGRJY2VDYW5kaWRhdGUoUlRDSWNlQ2FuZGlkYXRlKiBy
dGNDYW5kaWRhdGUsIERPTQogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgYWRkUGVuZGlu
Z1Byb21pc2UocHJvbWlzZSk7CiAgICAgbV9iYWNrZW5kLT5hZGRJY2VDYW5kaWRhdGUocnRjQ2Fu
ZGlkYXRlLCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIApAQCAtMzk5LDYgKzQwMSw3IEBAIHZvaWQg
UlRDUGVlckNvbm5lY3Rpb246OmdldFN0YXRzKE1lZGlhU3RyZWFtVHJhY2sqIHNlbGVjdG9yLCBS
ZWY8RGVmZXJyZWRQcm9taXNlCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CisgICAg
YWRkUGVuZGluZ1Byb21pc2UocHJvbWlzZS5nZXQoKSk7CiAgICAgbV9iYWNrZW5kLT5nZXRTdGF0
cyhXVEZNb3ZlKHByb21pc2UpKTsKIH0KIApAQCAtNDc0LDcgKzQ3Nyw2IEBAIHZvaWQgUlRDUGVl
ckNvbm5lY3Rpb246OmRvU3RvcCgpCiAgICAgbV9pc1N0b3BwZWQgPSB0cnVlOwogCiAgICAgbV9i
YWNrZW5kLT5zdG9wKCk7Ci0gICAgbV9wZW5kaW5nQWN0aXZpdHkgPSBudWxscHRyOwogfQogCiB2
b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpyZWdpc3RlclRvQ29udHJvbGxlcihSVENDb250cm9sbGVy
JiBjb250cm9sbGVyKQpAQCAtNDk0LDYgKzQ5Niw3IEBAIGNvbnN0IGNoYXIqIFJUQ1BlZXJDb25u
ZWN0aW9uOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIlJUQ1BlZXJD
b25uZWN0aW9uIjsKIH0KIAorICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgZG8gYmV0dGVyIGhlcmUs
IGl0IGlzIHdheSB0b28gZWFzeSB0byBwcmV2ZW50IFBhZ2VDYWNoZS4KIGJvb2wgUlRDUGVlckNv
bm5lY3Rpb246OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAg
IHJldHVybiAhaGFzUGVuZGluZ0FjdGl2aXR5KCk7CkBAIC01MDEsNyArNTA0LDE1IEBAIGJvb2wg
UlRDUGVlckNvbm5lY3Rpb246OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25z
dAogCiBib29sIFJUQ1BlZXJDb25uZWN0aW9uOjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAog
ewotICAgIHJldHVybiAhbV9pc1N0b3BwZWQ7CisgICAgaWYgKG1faXNTdG9wcGVkKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBUaGlzIHJldHVybnMgdHJ1ZSBpZiB3ZSBoYXZlIHBl
bmRpbmcgcHJvbWlzZXMgdG8gYmUgcmVzb2x2ZWQuCisgICAgaWYgKEFjdGl2ZURPTU9iamVjdDo6
aGFzUGVuZGluZ0FjdGl2aXR5KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gQXMg
bG9uZyBhcyB0aGUgY29ubmVjdGlvbiBpcyBub3Qgc3RvcHBlZCBhbmQgaXQgaGFzIGV2ZW50IGxp
c3RlbmVycywgaXQgbWF5IGRpc3BhdGNoIGV2ZW50cy4KKyAgICByZXR1cm4gaGFzRXZlbnRMaXN0
ZW5lcnMoKTsKIH0KIAogdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6YWRkVHJhbnNjZWl2ZXIoUmVm
PFJUQ1J0cFRyYW5zY2VpdmVyPiYmIHRyYW5zY2VpdmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCmluZGV4IDc0YmZk
YWVkMWNlMDhjZmY4NWI5YjExYzQyMjQ5NThiYTQ3MTUzMTYuLmU5MWE3NmU1MTViNTc2MzY0MmM1
ZmYwMzg0OTljMjhkYWRiNDkxODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKQEAgLTE4NSw2ICsxODUsMTEgQEAg
cHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgUHJvbWlz
ZVR5cGU+IHZvaWQgYWRkUGVuZGluZ1Byb21pc2UoUHJvbWlzZVR5cGUmIHByb21pc2UpCisgICAg
eworICAgICAgICBwcm9taXNlLndoZW5TZXR0bGVkKFtwZW5kaW5nQWN0aXZpdHkgPSBtYWtlUmVm
UHRyKG1ha2VQZW5kaW5nQWN0aXZpdHkoKnRoaXMpLnB0cigpKV0geyB9KTsKKyAgICB9CisKICAg
ICBSVENQZWVyQ29ubmVjdGlvbihEb2N1bWVudCYpOwogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4g
aW5pdGlhbGl6ZUNvbmZpZ3VyYXRpb24oUlRDQ29uZmlndXJhdGlvbiYmKTsKQEAgLTIzMCw3ICsy
MzUsNiBAQCBwcml2YXRlOgogICAgIFJUQ0NvbmZpZ3VyYXRpb24gbV9jb25maWd1cmF0aW9uOwog
ICAgIFJUQ0NvbnRyb2xsZXIqIG1fY29udHJvbGxlciB7IG51bGxwdHIgfTsKICAgICBWZWN0b3I8
UmVmUHRyPFJUQ0NlcnRpZmljYXRlPj4gbV9jZXJ0aWZpY2F0ZXM7Ci0gICAgUmVmUHRyPFBlbmRp
bmdBY3Rpdml0eTxSVENQZWVyQ29ubmVjdGlvbj4+IG1fcGVuZGluZ0FjdGl2aXR5OwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NUHJvbWlzZURlZmVycmVkLmgKaW5kZXggNzAyY2E0MGM2ZjgzOGQ5ZGIyNzM2MmRiYmNj
ZDk2Njk4MjVkYjlhMC4uOTRjMTI4OTliYWU4ZWIxZWNhNTZlMmVkN2NjMzU5ODE3ZjBiMmUzYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJy
ZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2VEZWZlcnJl
ZC5oCkBAIC0yMTMsNiArMjEzLDExIEBAIHB1YmxpYzoKIAogICAgIEpTQzo6SlNWYWx1ZSBwcm9t
aXNlKCkgY29uc3QgeyByZXR1cm4gbV9wcm9taXNlRGVmZXJyZWQtPnByb21pc2UoKTsgfTsKIAor
ICAgIHZvaWQgd2hlblNldHRsZWQoc3RkOjpmdW5jdGlvbjx2b2lkKCk+JiYgZnVuY3Rpb24pCisg
ICAgeworICAgICAgICBtX3Byb21pc2VEZWZlcnJlZC0+d2hlblNldHRsZWQoV1RGTW92ZShmdW5j
dGlvbikpOworICAgIH0KKwogcHJvdGVjdGVkOgogICAgIFJlZjxEZWZlcnJlZFByb21pc2U+IG1f
cHJvbWlzZURlZmVycmVkOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NjQ5MGIwZDRhMWNiODZjZTNlMzI5MTgwYTEy
ZWM1YTE1ZjA5MzEzLi5hZGNjNGYzOTMzMGY4YTM0NWFkOGYyZTgxOGE4ZWRlM2Y2YWFlNGIxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDktMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKworICAgICAgICBBZGQgdmVyeSBiYXNpYyBQYWdlQ2FjaGUgc3VwcG9ydCBmb3Ig
UlRDUGVlckNvbm5lY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMjI0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIGZhc3QvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcGFnZS1jYWNoZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcGFnZS1jYWNo
ZS5odG1sOiBBZGRlZC4KKwogMjAxOS0wOS0yNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIEltcHJvdmUgU2VydmljZSB3b3JrZXIgc3VwcG9ydCBmb3IgUGFnZSBD
YWNoaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wN2Y2MzQyZjFjODE3YTA1MGQ3ZTU5OWZjZDA0Y2M4ZTYwZTUxNjk0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1w
YWdlLWNhY2hlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitCYXNpYyB0ZXN0aW5nIGZv
ciBSVENQZWVyQ29ubmVjdGlvbiBQYWdlIENhY2hpbmcuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitwYWdlc2hvdyAtIG5vdCBmcm9tIHBhZ2UgY2FjaGUKK3BhZ2VoaWRlIC0gZW50
ZXJpbmcgcGFnZSBjYWNoZQorcGFnZXNob3cgLSBmcm9tIHBhZ2UgY2FjaGUKK1BBU1MgUGFnZSBl
bnRlcmVkIHBhZ2UgY2FjaGUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcGFnZS1jYWNoZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyZTkz
YWE5NjE1OTJiMDk5MzY1NTljYTUyMDRhY2E1NjA3ODY4MDgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXBhZ2UtY2FjaGUu
aHRtbApAQCAtMCwwICsxLDM0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBh
Z2VDYWNoZT10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJCYXNpYyB0ZXN0aW5nIGZvciBSVENQZWVyQ29ubmVjdGlvbiBQYWdlIENh
Y2hpbmcuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKword2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgZGVidWcoInBhZ2VzaG93IC0gIiAr
IChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBwYWdlIGNhY2hlIik7Cisg
IGlmIChldmVudC5wZXJzaXN0ZWQpIHsKKyAgICAgIHRlc3RQYXNzZWQoIlBhZ2UgZW50ZXJlZCBw
YWdlIGNhY2hlIik7CisgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgfQorfSk7CisKK3dpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWco
InBhZ2VoaWRlIC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJp
bmcgcGFnZSBjYWNoZSIpOworICAgIGlmICghZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRl
c3RGYWlsZWQoIlBhZ2UgZmFpbGVkIHRvIGVudGVyIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgfQorfSk7CisKK29ubG9hZCA9ICgpID0+IHsKKyAgICBjb25uZWN0
aW9uID0gbmV3IFJUQ1BlZXJDb25uZWN0aW9uKCk7CisgICAgc2V0VGltZW91dCgoKSA9PiB7Cisg
ICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICIuLi9oaXN0b3J5L3Jlc291cmNlcy9wYWdlLWNhY2hl
LWhlbHBlci5odG1sIjsKKyAgICB9LCAwKTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379613</attachid>
            <date>2019-09-25 19:32:00 -0700</date>
            <delta_ts>2019-09-25 22:32:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202244-20190925193159.patch</filename>
            <type>text/plain</type>
            <size>12768</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwMzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ3NDc2NDMxNmVkZDQx
ZTUzNWFiZDI2NzVhNGEyNmU4YTFiYmQyMS4uZTYxZmI0YjJlOTY3MGRiNmJiNTQ2MGFjZjg3YzQz
NGJjOWM1NmVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE5LTA5LTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHZlcnkgYmFzaWMgUGFn
ZUNhY2hlIHN1cHBvcnQgZm9yIFJUQ1BlZXJDb25uZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDIyNDQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSVENQZWVyQ29ubmVjdGlvbjo6Y2FuU3VzcGVu
ZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIHJldHVybnMgdHJ1ZSBpZgorICAgICAgICBSVENQZWVy
Q29ubmVjdGlvbjo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgcmV0dXJuIGZhbHNlLiBQcmV2aW91c2x5
LCBoYXNQZW5kaW5nQWN0aXZpdHkoKQorICAgICAgICB3b3VsZCByZXR1cm4gdHJ1ZSB1bmxlc3Mg
dGhlIEpTIGhhcyBjYWxsZWQgY2xvc2UoKSBvbiB0aGUgUlRDUGVlckNvbm5lY3Rpb24KKyAgICAg
ICAgb2JqZWN0LgorCisgICAgICAgIE9uIHdlYXRoZXIuY29tLCBhbiBhZCB3b3VsZCBjb25zdHJ1
Y3QgYW4gUlRDUGVlckNvbm5lY3Rpb24ganVzdCB0byBkbyBzb21lIGZlYXR1cmUKKyAgICAgICAg
Y2hlY2tpbmcgYW5kIHRoZW4gbGV0IHRoZSB2YXJpYWJsZSBnbyBvdXQgb2Ygc2NvcGUgKHdpdGhv
dXQgY2FsbGluZyBjbG9zZSgpKS4gQmVjYXVzZQorICAgICAgICBvZiB0aGUgcHJldmlvdXMgaW1w
bGVtZW50YXRpb24gb2YgUlRDUGVlckNvbm5lY3Rpb246Omhhc1BlbmRpbmdBY3Rpdml0eSgpLCB0
aGlzIHdyYXBwZXIKKyAgICAgICAgYW5kIGl0cyBpbXBsZW1lbnRhdGlvbiBvYmplY3Qgd291bGQg
c3RheSBhbGl2ZSBmb3JldmVyIEFORCBwcmV2ZW50IHRoZSBwYWdlIGZyb20KKyAgICAgICAgZW50
ZXJpbmcgUGFnZUNhY2hlIG9uIG5hdmlnYXRpb24uCisKKyAgICAgICAgVG8gaW1wcm92ZSB0aGlz
LCB0aGUgaW1wbGVtZW50YXRpb24gb2YgaGFkUGVuZGluZ0FjdGl2aXR5KCkgaGFzIGJlZW4gdXBk
YXRlZCBzbyB0aGF0CisgICAgICAgIGl0IGtlZXBzIHJldHVybmluZyBmYWxzZSBpZiBjbG9zZSgp
IGhhcyBiZWVuIGNhbGxlZCwgYnV0IHdpbGwgYWxzbyByZXR1cm4gZmFsc2UgaWYKKyAgICAgICAg
dGhlcmUgYXJlIG5vIHBlbmRpbmcgUHJvbWlzZXMgdG8gYmUgcmVzb2x2ZWQgYW5kIG5vIGV2ZW50
IGxpc3RlbmVycy4KKworICAgICAgICBUZXN0OiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLXBhZ2UtY2FjaGUuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9u
OjpSVENQZWVyQ29ubmVjdGlvbjoKKyAgICAgICAgU3RvcCB0YWtpbmcgYSBwZW5kaW5nIGFjdGl2
aXR5IGluIHRoZSBjb25zdHJ1Y3RvciwgdGhpcyB3b3VsZCBiZSBOT1Qga2VlcCB0aGUgd3JhcHBl
cgorICAgICAgICBhbGl2ZSBzaW5jZSBSVENQZWVyQ29ubmVjdGlvbjo6aGFzUGVuZGluZ0FjdGl2
aXR5KCkgd2FzIG5vdCBjaGVja2luZworICAgICAgICBBY3RpdmVET01PYmplY3Q6Omhhc1BlbmRp
bmdBY3Rpdml0eSgpLgorCisgICAgICAgIChXZWJDb3JlOjpSVENQZWVyQ29ubmVjdGlvbjo6Y2Fu
U3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpS
VENQZWVyQ29ubmVjdGlvbjo6aGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToKKyAgICAgICAgCisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oOgorCisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVByb21pc2VEZWZlcnJlZEJhc2U6OndoZW5TZXR0bGVkKToKKwogMjAxOS0wOS0yNSAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gUmVncmVz
c2lvbihyMjEyMDQxKSBTYWZhcmkgYWRkcyBhIC5kbXMgZXh0ZW5zaW9uIGF1dG9tYXRpY2FsbHkg
d2hlbiBkb3dubG9hZGluZyBiaW5hcmllcyB3aXRoIG5vIGV4dGVuc2lvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNw
cAppbmRleCBlMGYzMWE3MDQzMjFlMGQ5MWE3MTI1NDU0NzJhMzc0ZjNmZDgwNmYxLi5jOTk5YWNj
MGYzMTM5ODQ4MmQ3YjkzZDI0MjRlYTRlZDk0YmIzYjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcApAQCAt
NzAsMTAgKzcwLDcgQEAgUmVmPFJUQ1BlZXJDb25uZWN0aW9uPiBSVENQZWVyQ29ubmVjdGlvbjo6
Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQKICAgICBhdXRvJiBkb2N1bWVu
dCA9IGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KTsKICAgICBhdXRvIHBlZXJDb25uZWN0aW9u
ID0gYWRvcHRSZWYoKm5ldyBSVENQZWVyQ29ubmVjdGlvbihkb2N1bWVudCkpOwogICAgIHBlZXJD
b25uZWN0aW9uLT5zdXNwZW5kSWZOZWVkZWQoKTsKLSAgICAvLyBSVENQZWVyQ29ubmVjdGlvbiBt
YXkgc2VuZCBldmVudHMgYXQgYWJvdXQgYW55IHRpbWUgZHVyaW5nIGl0cyBsaWZldGltZS4KLSAg
ICAvLyBMZXQncyBtYWtlIGl0IHVuY29sbGVjdGFibGUgdW50aWwgdGhlIHBjIGlzIGNsb3NlZCBi
eSBKUyBvciB0aGUgcGFnZSBzdG9wcyBpdC4KICAgICBpZiAoIXBlZXJDb25uZWN0aW9uLT5pc0Ns
b3NlZCgpKSB7Ci0gICAgICAgIHBlZXJDb25uZWN0aW9uLT5tX3BlbmRpbmdBY3Rpdml0eSA9IHBl
ZXJDb25uZWN0aW9uLT5tYWtlUGVuZGluZ0FjdGl2aXR5KHBlZXJDb25uZWN0aW9uLmdldCgpKTsK
ICAgICAgICAgaWYgKGF1dG8qIHBhZ2UgPSBkb2N1bWVudC5wYWdlKCkpIHsKICAgICAgICAgICAg
IHBlZXJDb25uZWN0aW9uLT5yZWdpc3RlclRvQ29udHJvbGxlcihwYWdlLT5ydGNDb250cm9sbGVy
KCkpOwogICAgICAgICAgICAgcGFnZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5zZXRFbmFibGVMb2dn
aW5nKCFwYWdlLT5zZXNzaW9uSUQoKS5pc0VwaGVtZXJhbCgpKTsKQEAgLTE5Nyw2ICsxOTQsNyBA
QCB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpxdWV1ZWRDcmVhdGVPZmZlcihSVENPZmZlck9wdGlv
bnMmJiBvcHRpb25zLCBTZXNzaW9uRGVzYwogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAg
YWRkUGVuZGluZ1Byb21pc2UocHJvbWlzZSk7CiAgICAgbV9iYWNrZW5kLT5jcmVhdGVPZmZlcihX
VEZNb3ZlKG9wdGlvbnMpLCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIApAQCAtMjA4LDYgKzIwNiw3
IEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246OnF1ZXVlZENyZWF0ZUFuc3dlcihSVENBbnN3ZXJP
cHRpb25zJiYgb3B0aW9ucywgU2Vzc2lvbkRlCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAg
ICBhZGRQZW5kaW5nUHJvbWlzZShwcm9taXNlKTsKICAgICBtX2JhY2tlbmQtPmNyZWF0ZUFuc3dl
cihXVEZNb3ZlKG9wdGlvbnMpLCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIApAQCAtMjE5LDYgKzIx
OCw3IEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246OnF1ZXVlZFNldExvY2FsRGVzY3JpcHRpb24o
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uJiBkZXNjcmlwCiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
KyAgICBhZGRQZW5kaW5nUHJvbWlzZShwcm9taXNlKTsKICAgICBtX2JhY2tlbmQtPnNldExvY2Fs
RGVzY3JpcHRpb24oZGVzY3JpcHRpb24sIFdURk1vdmUocHJvbWlzZSkpOwogfQogCkBAIC0yNDUs
NiArMjQ1LDcgQEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6cXVldWVkU2V0UmVtb3RlRGVzY3Jp
cHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uJiBkZXNjcmkKICAgICAgICAgcHJvbWlzZS5yZWpl
Y3QoSW52YWxpZFN0YXRlRXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIGFkZFBl
bmRpbmdQcm9taXNlKHByb21pc2UpOwogICAgIG1fYmFja2VuZC0+c2V0UmVtb3RlRGVzY3JpcHRp
b24oZGVzY3JpcHRpb24sIFdURk1vdmUocHJvbWlzZSkpOwogfQogCkBAIC0yNzIsNiArMjczLDcg
QEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6cXVldWVkQWRkSWNlQ2FuZGlkYXRlKFJUQ0ljZUNh
bmRpZGF0ZSogcnRjQ2FuZGlkYXRlLCBET00KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAg
IGFkZFBlbmRpbmdQcm9taXNlKHByb21pc2UpOwogICAgIG1fYmFja2VuZC0+YWRkSWNlQ2FuZGlk
YXRlKHJ0Y0NhbmRpZGF0ZSwgV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKQEAgLTM5OSw2ICs0MDEs
NyBAQCB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpnZXRTdGF0cyhNZWRpYVN0cmVhbVRyYWNrKiBz
ZWxlY3RvciwgUmVmPERlZmVycmVkUHJvbWlzZQogICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgfQorICAgIGFkZFBlbmRpbmdQcm9taXNlKHByb21pc2UuZ2V0KCkpOwogICAgIG1fYmFja2Vu
ZC0+Z2V0U3RhdHMoV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKQEAgLTQ3NCw3ICs0NzcsNiBAQCB2
b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpkb1N0b3AoKQogICAgIG1faXNTdG9wcGVkID0gdHJ1ZTsK
IAogICAgIG1fYmFja2VuZC0+c3RvcCgpOwotICAgIG1fcGVuZGluZ0FjdGl2aXR5ID0gbnVsbHB0
cjsKIH0KIAogdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6cmVnaXN0ZXJUb0NvbnRyb2xsZXIoUlRD
Q29udHJvbGxlciYgY29udHJvbGxlcikKQEAgLTQ5NCw2ICs0OTYsNyBAQCBjb25zdCBjaGFyKiBS
VENQZWVyQ29ubmVjdGlvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJu
ICJSVENQZWVyQ29ubmVjdGlvbiI7CiB9CiAKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGRvIGJl
dHRlciBoZXJlLCBpdCBpcyB3YXkgdG9vIGVhc3kgdG8gcHJldmVudCBQYWdlQ2FjaGUuCiBib29s
IFJUQ1BlZXJDb25uZWN0aW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29u
c3QKIHsKICAgICByZXR1cm4gIWhhc1BlbmRpbmdBY3Rpdml0eSgpOwpAQCAtNTAxLDcgKzUwNCwx
NSBAQCBib29sIFJUQ1BlZXJDb25uZWN0aW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5z
aW9uKCkgY29uc3QKIAogYm9vbCBSVENQZWVyQ29ubmVjdGlvbjo6aGFzUGVuZGluZ0FjdGl2aXR5
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gIW1faXNTdG9wcGVkOworICAgIGlmIChtX2lzU3RvcHBl
ZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gVGhpcyByZXR1cm5zIHRydWUgaWYg
d2UgaGF2ZSBwZW5kaW5nIHByb21pc2VzIHRvIGJlIHJlc29sdmVkLgorICAgIGlmIChBY3RpdmVE
T01PYmplY3Q6Omhhc1BlbmRpbmdBY3Rpdml0eSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIC8vIEFzIGxvbmcgYXMgdGhlIGNvbm5lY3Rpb24gaXMgbm90IHN0b3BwZWQgYW5kIGl0IGhh
cyBldmVudCBsaXN0ZW5lcnMsIGl0IG1heSBkaXNwYXRjaCBldmVudHMuCisgICAgcmV0dXJuIGhh
c0V2ZW50TGlzdGVuZXJzKCk7CiB9CiAKIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246OmFkZFRyYW5z
Y2VpdmVyKFJlZjxSVENSdHBUcmFuc2NlaXZlcj4mJiB0cmFuc2NlaXZlcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaApp
bmRleCA3NGJmZGFlZDFjZTA4Y2ZmODViOWIxMWM0MjI0OTU4YmE0NzE1MzE2Li5jOGNhOTZkZGI1
M2FhZTA1MTg2M2RkZTI5YWE1ZjFhNzViYTQ0NWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCkBAIC0xODUsNiAr
MTg1LDExIEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgorICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFByb21pc2VUeXBlPiB2b2lkIGFkZFBlbmRpbmdQcm9taXNlKFByb21pc2VUeXBlJiBwcm9t
aXNlKQorICAgIHsKKyAgICAgICAgcHJvbWlzZS53aGVuU2V0dGxlZChbcGVuZGluZ0FjdGl2aXR5
ID0gbWFrZVBlbmRpbmdBY3Rpdml0eSgqdGhpcyldIHsgfSk7CisgICAgfQorCiAgICAgUlRDUGVl
ckNvbm5lY3Rpb24oRG9jdW1lbnQmKTsKIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGluaXRpYWxp
emVDb25maWd1cmF0aW9uKFJUQ0NvbmZpZ3VyYXRpb24mJik7CkBAIC0yMzAsNyArMjM1LDYgQEAg
cHJpdmF0ZToKICAgICBSVENDb25maWd1cmF0aW9uIG1fY29uZmlndXJhdGlvbjsKICAgICBSVEND
b250cm9sbGVyKiBtX2NvbnRyb2xsZXIgeyBudWxscHRyIH07CiAgICAgVmVjdG9yPFJlZlB0cjxS
VENDZXJ0aWZpY2F0ZT4+IG1fY2VydGlmaWNhdGVzOwotICAgIFJlZlB0cjxQZW5kaW5nQWN0aXZp
dHk8UlRDUGVlckNvbm5lY3Rpb24+PiBtX3BlbmRpbmdBY3Rpdml0eTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NUHJvbWlzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2Uu
Y3BwCmluZGV4IDI0YzVjZTcxMWFjNjBlNjJiMTI0YmI0NjI0Y2Q5ZjA1MjU2Y2YwYWUuLjIyNmJl
Zjk4YTM0NDJhNmQwZjQzNzE4Mjc5ZDJjOTA1N2Y1MDBjOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIERPTVBy
b21pc2U6OndoZW5TZXR0bGVkKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQogICAg
IHdoZW5Qcm9taXNlSXNTZXR0bGVkKGdsb2JhbE9iamVjdCgpLCBwcm9taXNlKCksIFdURk1vdmUo
Y2FsbGJhY2spKTsKIH0KIAotdm9pZCBET01Qcm9taXNlOjp3aGVuUHJvbWlzZUlzU2V0dGxlZChK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTT2JqZWN0KiBwcm9taXNlLCBz
dGQ6OmZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKK3ZvaWQgRE9NUHJvbWlzZTo6d2hlblBy
b21pc2VJc1NldHRsZWQoSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpKU09i
amVjdCogcHJvbWlzZSwgRnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQogewogICAgIGF1dG8m
IHN0YXRlID0gKmdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpOwogICAgIGF1dG8mIHZtID0gc3Rh
dGUudm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJv
bWlzZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmgKaW5kZXgg
YTlmYjYyMzE4ZDg4Mjc1OTEwNDA3OGRmMDFmNjFlNGYzNzc1ZDg2MS4uNDgzZTY5ZjhmZjI0OGYx
YmVhZDhkNzhlOGIxNzFmYTc4MTk3ZjQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01Qcm9taXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01Qcm9taXNlLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIGVudW0gY2xhc3Mg
U3RhdHVzIHsgUGVuZGluZywgRnVsZmlsbGVkLCBSZWplY3RlZCB9OwogICAgIFN0YXR1cyBzdGF0
dXMoKSBjb25zdDsKIAotICAgIHN0YXRpYyB2b2lkIHdoZW5Qcm9taXNlSXNTZXR0bGVkKEpTRE9N
R2xvYmFsT2JqZWN0KiwgSlNDOjpKU09iamVjdCogcHJvbWlzZSwgc3RkOjpmdW5jdGlvbjx2b2lk
KCk+JiYpOworICAgIHN0YXRpYyB2b2lkIHdoZW5Qcm9taXNlSXNTZXR0bGVkKEpTRE9NR2xvYmFs
T2JqZWN0KiwgSlNDOjpKU09iamVjdCogcHJvbWlzZSwgRnVuY3Rpb248dm9pZCgpPiYmKTsKIAog
cHJpdmF0ZToKICAgICBET01Qcm9taXNlKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qs
IEpTQzo6SlNQcm9taXNlJiBwcm9taXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuY3BwCmluZGV4IDk4YWJiNWZiNTI4Zjg2OTExNDdk
MDA0ZDAzYTI1NDVhNTQ1MDA0MDIuLjAyZTY5NzgyYTA2MmRlNTk5NzI4NzkyYzRlNjc3ZGRmNDc4
OGVhYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlz
ZURlZmVycmVkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21p
c2VEZWZlcnJlZC5jcHAKQEAgLTY5LDcgKzY5LDcgQEAgdm9pZCBEZWZlcnJlZFByb21pc2U6OmNh
bGxGdW5jdGlvbihFeGVjU3RhdGUmIGV4ZWMsIEpTVmFsdWUgZnVuY3Rpb24sIEpTVmFsdWUgcmUK
ICAgICAgICAgY2xlYXIoKTsKIH0KIAotdm9pZCBEZWZlcnJlZFByb21pc2U6OndoZW5TZXR0bGVk
KHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQordm9pZCBEZWZlcnJlZFByb21pc2U6
OndoZW5TZXR0bGVkKEZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKIHsKICAgICBET01Qcm9t
aXNlOjp3aGVuUHJvbWlzZUlzU2V0dGxlZChnbG9iYWxPYmplY3QoKSwgZGVmZXJyZWQoKS0+cHJv
bWlzZSgpLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2VEZWZlcnJlZC5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01Qcm9taXNlRGVmZXJyZWQuaAppbmRleCA3MDJjYTQwYzZmODM4ZDlkYjI3
MzYyZGJiY2NkOTY2OTgyNWRiOWEwLi5kOTYwMjhiYzJmZDNkMTA2YjBlNDRkNjg3ZGQwMTkzZTIx
Y2EwZjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21p
c2VEZWZlcnJlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlz
ZURlZmVycmVkLmgKQEAgLTE0Niw3ICsxNDYsNyBAQCBwdWJsaWM6CiAKICAgICBKU0M6OkpTVmFs
dWUgcHJvbWlzZSgpIGNvbnN0OwogCi0gICAgdm9pZCB3aGVuU2V0dGxlZChzdGQ6OmZ1bmN0aW9u
PHZvaWQoKT4mJik7CisgICAgdm9pZCB3aGVuU2V0dGxlZChGdW5jdGlvbjx2b2lkKCk+JiYpOwog
CiBwcml2YXRlOgogICAgIERlZmVycmVkUHJvbWlzZShKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0LCBKU0M6OkpTUHJvbWlzZURlZmVycmVkJiBkZWZlcnJlZCwgTW9kZSBtb2RlKQpAQCAt
MjEzLDYgKzIxMywxMSBAQCBwdWJsaWM6CiAKICAgICBKU0M6OkpTVmFsdWUgcHJvbWlzZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcHJvbWlzZURlZmVycmVkLT5wcm9taXNlKCk7IH07CiAKKyAgICB2b2lk
IHdoZW5TZXR0bGVkKEZ1bmN0aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKKyAgICB7CisgICAgICAg
IG1fcHJvbWlzZURlZmVycmVkLT53aGVuU2V0dGxlZChXVEZNb3ZlKGZ1bmN0aW9uKSk7CisgICAg
fQorCiBwcm90ZWN0ZWQ6CiAgICAgUmVmPERlZmVycmVkUHJvbWlzZT4gbV9wcm9taXNlRGVmZXJy
ZWQ7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDc4MTgzMGEyYTE0NTg2YzFlM2NkZTVkOTU3OTI3NmJhNjBjNzE4Nzcu
LjQ5YjhmMTAxNGU2MjNjYzdlMmIxZWY3NmQzNTdkYjIyZjYwNGM3MmIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxOS0wOS0yNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIEFkZCB2ZXJ5IGJhc2ljIFBhZ2VDYWNoZSBzdXBwb3J0IGZvciBSVENQZWVyQ29ubmVj
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAy
MjQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGxheW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1wYWdlLWNhY2hlLmh0bWw6IEFkZGVk
LgorCiAyMDE5LTA5LTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NvY29hXSBSZWdyZXNzaW9uKHIyMTIwNDEpIFNhZmFyaSBhZGRzIGEgLmRtcyBleHRlbnNp
b24gYXV0b21hdGljYWxseSB3aGVuIGRvd25sb2FkaW5nIGJpbmFyaWVzIHdpdGggbm8gZXh0ZW5z
aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLXBhZ2UtY2FjaGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1wYWdlLWNhY2hlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wN2Y2MzQyZjFjODE3YTA1MGQ3ZTU5OWZjZDA0Y2M4ZTYwZTUxNjk0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1wYWdl
LWNhY2hlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitCYXNpYyB0ZXN0aW5nIGZvciBS
VENQZWVyQ29ubmVjdGlvbiBQYWdlIENhY2hpbmcuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitwYWdlc2hvdyAtIG5vdCBmcm9tIHBhZ2UgY2FjaGUKK3BhZ2VoaWRlIC0gZW50ZXJp
bmcgcGFnZSBjYWNoZQorcGFnZXNob3cgLSBmcm9tIHBhZ2UgY2FjaGUKK1BBU1MgUGFnZSBlbnRl
cmVkIHBhZ2UgY2FjaGUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLXBhZ2UtY2FjaGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24tcGFnZS1jYWNoZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyZTkzYWE5
NjE1OTJiMDk5MzY1NTljYTUyMDRhY2E1NjA3ODY4MDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXBhZ2UtY2FjaGUuaHRt
bApAQCAtMCwwICsxLDM0IEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZVBhZ2VD
YWNoZT10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJCYXNpYyB0ZXN0aW5nIGZvciBSVENQZWVyQ29ubmVjdGlvbiBQYWdlIENhY2hp
bmcuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
InBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgZGVidWcoInBhZ2VzaG93IC0gIiArIChl
dmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBwYWdlIGNhY2hlIik7CisgIGlm
IChldmVudC5wZXJzaXN0ZWQpIHsKKyAgICAgIHRlc3RQYXNzZWQoIlBhZ2UgZW50ZXJlZCBwYWdl
IGNhY2hlIik7CisgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgfQorfSk7CisKK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBh
Z2VoaWRlIC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJpbmcg
cGFnZSBjYWNoZSIpOworICAgIGlmICghZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RG
YWlsZWQoIlBhZ2UgZmFpbGVkIHRvIGVudGVyIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgfQorfSk7CisKK29ubG9hZCA9ICgpID0+IHsKKyAgICBjb25uZWN0aW9u
ID0gbmV3IFJUQ1BlZXJDb25uZWN0aW9uKCk7CisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAg
ICAgIHdpbmRvdy5sb2NhdGlvbiA9ICIuLi9oaXN0b3J5L3Jlc291cmNlcy9wYWdlLWNhY2hlLWhl
bHBlci5odG1sIjsKKyAgICB9LCAwKTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>