<?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>203389</bug_id>
          
          <creation_ts>2019-10-24 16:26:04 -0700</creation_ts>
          <short_desc>Unused arguments in MESSAGE_CHECK_CONTEXTID() macros</short_desc>
          <delta_ts>2019-10-25 17:37:40 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=195289</see_also>
          <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="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1583581</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-10-24 16:26:04 -0700</bug_when>
    <thetext>Unused arguments in MESSAGE_CHECK_CONTEXTID() macros due to typos (`contextID` vs. `contextId`):

PlaybackSessionManagerProxy.mm
	#define MESSAGE_CHECK_CONTEXTID(contextID) MESSAGE_CHECK_BASE(m_contextMap.isValidKey(contextId), m_page-&gt;process().connection())

VideoFullscreenManagerProxy.mm
	#define MESSAGE_CHECK_CONTEXTID(contextID) MESSAGE_CHECK_BASE(m_contextMap.isValidKey(contextId), m_page-&gt;process().connection())

This one is okay (uses `id` in both places):

UserMediaCaptureManagerProxy.cpp
	#define MESSAGE_CHECK_CONTEXTID(id) MESSAGE_CHECK_BASE(m_proxies.isValidKey(id), m_process.connection())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583582</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-10-24 16:26:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/55935374&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583587</commentid>
    <comment_count>2</comment_count>
      <attachid>381856</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-10-24 16:33:28 -0700</bug_when>
    <thetext>Created attachment 381856
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583606</commentid>
    <comment_count>3</comment_count>
      <attachid>381856</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-10-24 17:10:48 -0700</bug_when>
    <thetext>Comment on attachment 381856
Patch v1

I think this is confusing because &quot;id&quot; is an objc keyword.  Why not just make the capitalization consistent, or remove the parameter so we need a local variable with that name?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583760</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-10-25 04:13:05 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #3)
&gt; Comment on attachment 381856 [details]
&gt; Patch v1
&gt; 
&gt; I think this is confusing because &quot;id&quot; is an objc keyword.  Why not just
&gt; make the capitalization consistent, or remove the parameter so we need a
&gt; local variable with that name?

Oops!  Yeah, I thought `id` looked familiar.  This is what happens when you try to rush writing a patch right before leaving work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583761</commentid>
    <comment_count>5</comment_count>
      <attachid>381907</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-10-25 04:13:41 -0700</bug_when>
    <thetext>Created attachment 381907
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583837</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-10-25 08:53:24 -0700</bug_when>
    <thetext>This patch doesn&apos;t seem quite right (yet):

In file included from /Volumes/Data/worker/iOS-13-Build-EWS/build/WebKitBuild/Release-iphoneos/DerivedSources/WebKit2/unified-sources/UnifiedSource30-mm.mm:2:
/Volumes/Data/worker/iOS-13-Build-EWS/build/Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:371:29: error: use of undeclared identifier &apos;contextID&apos;; did you mean &apos;contextId&apos;?
    MESSAGE_CHECK_CONTEXTID(contextID);
                            ^~~~~~~~~
                            contextId
/Volumes/Data/worker/iOS-13-Build-EWS/build/Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:36:88: note: expanded from macro &apos;MESSAGE_CHECK_CONTEXTID&apos;
#define MESSAGE_CHECK_CONTEXTID(identifier) MESSAGE_CHECK_BASE(m_contextMap.isValidKey(identifier), m_page-&gt;process().connection())
                                                                                       ^
In file included from /Volumes/Data/worker/iOS-13-Build-EWS/build/WebKitBuild/Release-iphoneos/DerivedSources/WebKit2/unified-sources/UnifiedSource30-mm.mm:2:
In file included from /Volumes/Data/worker/iOS-13-Build-EWS/build/Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:31:
In file included from /Volumes/Data/worker/iOS-13-Build-EWS/build/WebKitBuild/Release-iphoneos/DerivedSources/WebKit2/PlaybackSessionManagerMessages.h:30:
/Volumes/Data/worker/iOS-13-Build-EWS/build/Source/WebKit/Platform/IPC/Connection.h:80:11: note: expanded from macro &apos;MESSAGE_CHECK_BASE&apos;
    if (!(assertion)) { \
          ^
In file included from /Volumes/Data/worker/iOS-13-Build-EWS/build/WebKitBuild/Release-iphoneos/DerivedSources/WebKit2/unified-sources/UnifiedSource30-mm.mm:2:
/Volumes/Data/worker/iOS-13-Build-EWS/build/Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:369:79: note: &apos;contextId&apos; declared here
void PlaybackSessionManagerProxy::setUpPlaybackControlsManagerWithID(uint64_t contextId)
                                                                              ^
/Volumes/Data/worker/iOS-13-Build-EWS/build/Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:397:29: error: use of undeclared identifier &apos;contextID&apos;; did you mean &apos;contextId&apos;?
    MESSAGE_CHECK_CONTEXTID(contextID);
                            ^~~~~~~~~
                            contextId</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583840</commentid>
    <comment_count>7</comment_count>
      <attachid>381907</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-10-25 08:58:51 -0700</bug_when>
    <thetext>Comment on attachment 381907
Patch v2

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

&gt; Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:36
&gt; +#define MESSAGE_CHECK_CONTEXTID(identifier) MESSAGE_CHECK_BASE(m_contextMap.isValidKey(identifier), m_page-&gt;process().connection())

Although you correct the macro here, it actually creates compile errors because of mistakes later in the code:

For example:
void PlaybackSessionManagerProxy::rateChanged(uint64_t contextId, bool isPlaying, double rate)
{
    MESSAGE_CHECK_CONTEXTID(contextID);
    ensureModel(contextId).rateChanged(isPlaying, rate);
}

Here, the argument &apos;contextID&apos; used to be macro-expanded to this:

void PlaybackSessionManagerProxy::rateChanged(uint64_t contextId, bool isPlaying, double rate)
{
    MESSAGE_CHECK_BASE(m_contextMap.isValidKey(contextId), m_page-&gt;process().connection())
    ensureModel(contextId).rateChanged(isPlaying, rate);
}

... and the &apos;contextId&apos; from the macro expansion matched the &apos;contextId&apos; label in the parameter.

We need to fix the call-sites, too, so that the parameter of MESSAGE_CHECK_CONTEXTID matches an actual variable name at the call site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583859</commentid>
    <comment_count>8</comment_count>
      <attachid>381907</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-10-25 09:29:32 -0700</bug_when>
    <thetext>Comment on attachment 381907
Patch v2

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

&gt;&gt; Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:36
&gt;&gt; +#define MESSAGE_CHECK_CONTEXTID(identifier) MESSAGE_CHECK_BASE(m_contextMap.isValidKey(identifier), m_page-&gt;process().connection())
&gt; 
&gt; Although you correct the macro here, it actually creates compile errors because of mistakes later in the code:
&gt; 
&gt; For example:
&gt; void PlaybackSessionManagerProxy::rateChanged(uint64_t contextId, bool isPlaying, double rate)
&gt; {
&gt;     MESSAGE_CHECK_CONTEXTID(contextID);
&gt;     ensureModel(contextId).rateChanged(isPlaying, rate);
&gt; }
&gt; 
&gt; Here, the argument &apos;contextID&apos; used to be macro-expanded to this:
&gt; 
&gt; void PlaybackSessionManagerProxy::rateChanged(uint64_t contextId, bool isPlaying, double rate)
&gt; {
&gt;     MESSAGE_CHECK_BASE(m_contextMap.isValidKey(contextId), m_page-&gt;process().connection())
&gt;     ensureModel(contextId).rateChanged(isPlaying, rate);
&gt; }
&gt; 
&gt; ... and the &apos;contextId&apos; from the macro expansion matched the &apos;contextId&apos; label in the parameter.
&gt; 
&gt; We need to fix the call-sites, too, so that the parameter of MESSAGE_CHECK_CONTEXTID matches an actual variable name at the call site.

We live on the house of cards that we write in software.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583860</commentid>
    <comment_count>9</comment_count>
      <attachid>381932</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-10-25 09:29:49 -0700</bug_when>
    <thetext>Created attachment 381932
Patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583972</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-25 12:59:44 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 381932:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583975</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-25 12:59:51 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 381932:

imported/w3c/web-platform-tests/svg/text/visualtests/text-inline-size-003-visual.svg bug 203172 (author: sabouhallawa@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584107</commentid>
    <comment_count>12</comment_count>
      <attachid>381932</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-25 17:37:38 -0700</bug_when>
    <thetext>Comment on attachment 381932
Patch v3

Clearing flags on attachment: 381932

Committed r251616: &lt;https://trac.webkit.org/changeset/251616&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584108</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-25 17:37:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381856</attachid>
            <date>2019-10-24 16:33:28 -0700</date>
            <delta_ts>2019-10-25 04:13:40 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-203389-20191024163447.patch</filename>
            <type>text/plain</type>
            <size>2444</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIxNTAwN2MxYzdhZjEwNWY2
MDE0M2U0NDZhN2ZlOGI0NjFkNmE0MmEuLjMzNjZiMGIwNDAxYzQ0YmNiYWEwM2VjY2FmNzkxODhi
NDU4ODQxYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTktMTAtMjQgIERhdmlkIEtp
bHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBVbnVzZWQgYXJndW1lbnRzIGlu
IE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKCkgbWFjcm9zCisgICAgICAgIDxodHRwczovL3dlYmtp
dC5vcmcvYi8yMDMzODk+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTkzNTM3ND4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW06CisgICAgICAgICgjZGVmaW5lIE1F
U1NBR0VfQ0hFQ0tfQ09OVEVYVElEKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAoI2RlZmluZSBNRVNTQUdFX0NIRUNL
X0NPTlRFWFRJRCk6CisgICAgICAgIC0gUmVuYW1lIG1hY3JvIGFyZ3VtZW50IHRvIGBpZGAgKGZy
b20gYGNvbnRleHRJRGApIGFuZCBjaGFuZ2UKKyAgICAgICAgICBgY29udGV4dElkYHRvIGBpZGAg
aW4gdGhlIGJvZHkgb2YgdGhlIG1hY3JvIHNvIHRoYXQgdGhlCisgICAgICAgICAgYXJndW1lbnQg
aXMgYWx3YXlzIHVzZWQuCisKIDIwMTktMTAtMjQgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gTWlzbWF0Y2ggaW4gY29tLmFwcGxlLk1lZGlhUGxh
eWVyLlJlbW90ZVBsYXllclNlcnZpY2UgZGVjbGFyYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHku
bW0KaW5kZXggOTJjZjIwOGFhMGJiZTVjMTVhNjM5YzhkMjk3NTVmMDQyMzgwODA0Ny4uYTAyNGM3
NDA0MGY2MzQxYTI0Y2VhYWJmYzNjM2NmNGU0NDViMGJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94
eS5tbQpAQCAtMzMsNyArMzMsNyBAQAogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0
ICJXZWJQcm9jZXNzUHJveHkuaCIKIAotI2RlZmluZSBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJRChj
b250ZXh0SUQpIE1FU1NBR0VfQ0hFQ0tfQkFTRShtX2NvbnRleHRNYXAuaXNWYWxpZEtleShjb250
ZXh0SWQpLCBtX3BhZ2UtPnByb2Nlc3MoKS5jb25uZWN0aW9uKCkpCisjZGVmaW5lIE1FU1NBR0Vf
Q0hFQ0tfQ09OVEVYVElEKGlkKSBNRVNTQUdFX0NIRUNLX0JBU0UobV9jb250ZXh0TWFwLmlzVmFs
aWRLZXkoaWQpLCBtX3BhZ2UtPnByb2Nlc3MoKS5jb25uZWN0aW9uKCkpCiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0K
aW5kZXggN2FiMzRlMGJkNDk1MjE4MzZlMWFlOGUxMTM2N2E1NDZhNjFhMTAyYi4uYjQyMmI2ZTZj
MzRiODdlNTM2NjUxNTRiMDFlMzJlMmM4MGRlNjUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5t
bQpAQCAtMTIxLDcgKzEyMSw3IEBAIEBlbmQKIAogI2VuZGlmCiAKLSNkZWZpbmUgTUVTU0FHRV9D
SEVDS19DT05URVhUSUQoY29udGV4dElEKSBNRVNTQUdFX0NIRUNLX0JBU0UobV9jb250ZXh0TWFw
LmlzVmFsaWRLZXkoY29udGV4dElkKSwgbV9wYWdlLT5wcm9jZXNzKCkuY29ubmVjdGlvbigpKQor
I2RlZmluZSBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJRChpZCkgTUVTU0FHRV9DSEVDS19CQVNFKG1f
Y29udGV4dE1hcC5pc1ZhbGlkS2V5KGlkKSwgbV9wYWdlLT5wcm9jZXNzKCkuY29ubmVjdGlvbigp
KQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381907</attachid>
            <date>2019-10-25 04:13:41 -0700</date>
            <delta_ts>2019-10-25 09:29:47 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-203389-20191025041503.patch</filename>
            <type>text/plain</type>
            <size>3462</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIxNTAwN2MxYzdhZjEwNWY2
MDE0M2U0NDZhN2ZlOGI0NjFkNmE0MmEuLjBhMGJiYWQ4YWJiOTI5MDczOWE1MjkxM2Y5OGZkNGQy
M2E4ZWZlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTktMTAtMjUgIERhdmlkIEtp
bHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBVbnVzZWQgYXJndW1lbnRzIGlu
IE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKCkgbWFjcm9zCisgICAgICAgIDxodHRwczovL3dlYmtp
dC5vcmcvYi8yMDMzODk+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTkzNTM3ND4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW06CisgICAgICAgICgjZGVmaW5lIE1F
U1NBR0VfQ0hFQ0tfQ09OVEVYVElEKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAoI2RlZmluZSBNRVNTQUdFX0NIRUNL
X0NPTlRFWFRJRCk6CisgICAgICAgIC0gUmVuYW1lIG1hY3JvIGFyZ3VtZW50IGZyb20gYGNvbnRl
eHRJRGAgdG8gYGlkZW50aWZpZXJgCisgICAgICAgICAgYW5kIGNoYW5nZSBgY29udGV4dElkYHRv
IGBpZGVudGlmaWVyYCBpbiB0aGUgYm9keSBvZgorICAgICAgICAgIHRoZSBtYWNybyBzbyB0aGF0
IHRoZSBhcmd1bWVudCBpcyBhbHdheXMgdXNlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKCNkZWZpbmUgTUVT
U0FHRV9DSEVDS19DT05URVhUSUQpOgorICAgICAgICAtIFJlbmFtZSBtYWNybyBhcmd1bWVudCBh
bmQgdmFyaWFibGUgaW4gdGhlIGJvZHkgb2YgdGhlCisgICAgICAgICAgbWFjcm8gZnJvbSBgaWRg
IHRvIGBpZGVudGlmaWVyYCBmb3IgY29uc2lzdGVuY3kuCisKIDIwMTktMTAtMjQgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gTWlzbWF0Y2ggaW4g
Y29tLmFwcGxlLk1lZGlhUGxheWVyLlJlbW90ZVBsYXllclNlcnZpY2UgZGVjbGFyYXRpb25zCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25N
YW5hZ2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nl
c3Npb25NYW5hZ2VyUHJveHkubW0KaW5kZXggOTJjZjIwOGFhMGJiZTVjMTVhNjM5YzhkMjk3NTVm
MDQyMzgwODA0Ny4uYmU4NjRkZjExZGIyOWE0ODA0ZWJhMTE0ZjgzY2VhMWQ2MzRkZGNmNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFu
YWdlclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eS5tbQpAQCAtMzMsNyArMzMsNyBAQAogI2ltcG9ydCAiV2ViUGFn
ZVByb3h5LmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUHJveHkuaCIKIAotI2RlZmluZSBNRVNTQUdF
X0NIRUNLX0NPTlRFWFRJRChjb250ZXh0SUQpIE1FU1NBR0VfQ0hFQ0tfQkFTRShtX2NvbnRleHRN
YXAuaXNWYWxpZEtleShjb250ZXh0SWQpLCBtX3BhZ2UtPnByb2Nlc3MoKS5jb25uZWN0aW9uKCkp
CisjZGVmaW5lIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGlkZW50aWZpZXIpIE1FU1NBR0VfQ0hF
Q0tfQkFTRShtX2NvbnRleHRNYXAuaXNWYWxpZEtleShpZGVudGlmaWVyKSwgbV9wYWdlLT5wcm9j
ZXNzKCkuY29ubmVjdGlvbigpKQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAppbmRleCBlNTE3N2QwMjQ3YmYz
ZjcxMDk5M2U4YzQ4MTQ1NDQ4ZDQyMmYwMzgxLi5kNTA3ZmQyMWM5NjJkMWI5NGJmZDU5NGM4OThl
OTc4YmM2YjZhNTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9V
c2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNwcApAQCAtNDAsNyArNDAs
NyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQXVkaW9CdWZmZXJMaXN0Lmg+CiAjaW5jbHVkZSA8
d3RmL1VuaXF1ZVJlZi5oPgogCi0jZGVmaW5lIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGlkKSBN
RVNTQUdFX0NIRUNLX0JBU0UobV9wcm94aWVzLmlzVmFsaWRLZXkoaWQpLCBtX3Byb2Nlc3MuY29u
bmVjdGlvbigpKQorI2RlZmluZSBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJRChpZGVudGlmaWVyKSBN
RVNTQUdFX0NIRUNLX0JBU0UobV9wcm94aWVzLmlzVmFsaWRLZXkoaWRlbnRpZmllciksIG1fcHJv
Y2Vzcy5jb25uZWN0aW9uKCkpCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KaW5kZXggN2FiMzRlMGJkNDk1MjE4MzZl
MWFlOGUxMTM2N2E1NDZhNjFhMTAyYi4uYWY4Mjc2NTdmMTBkZTJlZmNlZDhlNTIxOThkNjY1ODgw
ZGY1NGYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQpAQCAtMTIxLDcgKzEyMSw3IEBAIEBl
bmQKIAogI2VuZGlmCiAKLSNkZWZpbmUgTUVTU0FHRV9DSEVDS19DT05URVhUSUQoY29udGV4dElE
KSBNRVNTQUdFX0NIRUNLX0JBU0UobV9jb250ZXh0TWFwLmlzVmFsaWRLZXkoY29udGV4dElkKSwg
bV9wYWdlLT5wcm9jZXNzKCkuY29ubmVjdGlvbigpKQorI2RlZmluZSBNRVNTQUdFX0NIRUNLX0NP
TlRFWFRJRChpZGVudGlmaWVyKSBNRVNTQUdFX0NIRUNLX0JBU0UobV9jb250ZXh0TWFwLmlzVmFs
aWRLZXkoaWRlbnRpZmllciksIG1fcGFnZS0+cHJvY2VzcygpLmNvbm5lY3Rpb24oKSkKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381932</attachid>
            <date>2019-10-25 09:29:49 -0700</date>
            <delta_ts>2019-10-25 17:37:38 -0700</delta_ts>
            <desc>Patch v3</desc>
            <filename>bug-203389-20191025093111.patch</filename>
            <type>text/plain</type>
            <size>11144</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxNTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIxNTAwN2MxYzdhZjEwNWY2
MDE0M2U0NDZhN2ZlOGI0NjFkNmE0MmEuLjIzOGZmMzVmNjg1YzNmOGU2ZDQ1YmFlMmE1NmI0Mjhi
MWE1ZDE1ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTktMTAtMjUgIERhdmlkIEtp
bHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICBVbnVzZWQgYXJndW1lbnRzIGlu
IE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKCkgbWFjcm9zCisgICAgICAgIDxodHRwczovL3dlYmtp
dC5vcmcvYi8yMDMzODk+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NTkzNTM3ND4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW06CisgICAgICAgICgjZGVmaW5lIE1F
U1NBR0VfQ0hFQ0tfQ09OVEVYVElEKToKKyAgICAgICAgLSBSZW5hbWUgbWFjcm8gYXJndW1lbnQg
ZnJvbSBgY29udGV4dElEYCB0byBgaWRlbnRpZmllcmAKKyAgICAgICAgICBhbmQgY2hhbmdlIGBj
b250ZXh0SWRgdG8gYGlkZW50aWZpZXJgIGluIHRoZSBib2R5IG9mCisgICAgICAgICAgdGhlIG1h
Y3JvIHNvIHRoYXQgdGhlIGFyZ3VtZW50IGlzIGFsd2F5cyB1c2VkLgorICAgICAgICAoV2ViS2l0
OjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldFVwUGxheWJhY2tDb250cm9sc01hbmFn
ZXJXaXRoSUQpOgorICAgICAgICAoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6
OmN1cnJlbnRUaW1lQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eTo6YnVmZmVyZWRUaW1lQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2Vla2FibGVSYW5nZXNWZWN0b3JDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpjYW5QbGF5RmFzdFJl
dmVyc2VDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlclBy
b3h5OjphdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0
OjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlv
bnNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
OjphdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpsZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleENoYW5n
ZWQpOgorICAgICAgICAoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmV4dGVy
bmFsUGxheWJhY2tQcm9wZXJ0aWVzQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjptdXRlZENo
YW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnZv
bHVtZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJv
eHk6OmR1cmF0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eTo6cGxheWJhY2tTdGFydGVkVGltZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0
OjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnJhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdl
YktpdDo6UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpwaWN0dXJlSW5QaWN0dXJlU3VwcG9y
dGVkQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94
eTo6cGljdHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25z
ZSBjb25zdCk6CisgICAgICAgIC0gQ2hhbmdlIGBjb250ZXh0SURgIHRvIGBjb250ZXh0SWRgIHRv
IG1hdGNoIGxvY2FsIHZhcmlhYmxlIG5hbWUKKyAgICAgICAgICBub3cgdGhhdCBNRVNTQUdFX0NI
RUNLX0NPTlRFWFRJRCgpIGRvZXNuJ3QgcGFwZXIgb3ZlciB0aGlzCisgICAgICAgICAgdHlwbyBm
b3IgdXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdl
clByb3h5Lm1tOgorICAgICAgICAoI2RlZmluZSBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJRCk6Cisg
ICAgICAgIC0gUmVuYW1lIG1hY3JvIGFyZ3VtZW50IGZyb20gYGNvbnRleHRJRGAgdG8gYGlkZW50
aWZpZXJgCisgICAgICAgICAgYW5kIGNoYW5nZSBgY29udGV4dElkYHRvIGBpZGVudGlmaWVyYCBp
biB0aGUgYm9keSBvZgorICAgICAgICAgIHRoZSBtYWNybyBzbyB0aGF0IHRoZSBhcmd1bWVudCBp
cyBhbHdheXMgdXNlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0
dXJlTWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKCNkZWZpbmUgTUVTU0FHRV9DSEVDS19DT05U
RVhUSUQpOgorICAgICAgICAtIFJlbmFtZSBtYWNybyBhcmd1bWVudCBhbmQgdmFyaWFibGUgaW4g
dGhlIGJvZHkgb2YgdGhlCisgICAgICAgICAgbWFjcm8gZnJvbSBgaWRgIHRvIGBpZGVudGlmaWVy
YCBmb3IgY29uc2lzdGVuY3kuCisKIDIwMTktMTAtMjQgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hh
bUBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gTWlzbWF0Y2ggaW4gY29tLmFwcGxlLk1lZGlh
UGxheWVyLlJlbW90ZVBsYXllclNlcnZpY2UgZGVjbGFyYXRpb25zCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJv
eHkubW0KaW5kZXggOTJjZjIwOGFhMGJiZTVjMTVhNjM5YzhkMjk3NTVmMDQyMzgwODA0Ny4uMDQ0
NzJmMWZhNWU1MTNjNjgyMzA5NTdlZTU0YjgyYjM5N2Q1ZTYyZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXJQ
cm94eS5tbQpAQCAtMzMsNyArMzMsNyBAQAogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1w
b3J0ICJXZWJQcm9jZXNzUHJveHkuaCIKIAotI2RlZmluZSBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJ
RChjb250ZXh0SUQpIE1FU1NBR0VfQ0hFQ0tfQkFTRShtX2NvbnRleHRNYXAuaXNWYWxpZEtleShj
b250ZXh0SWQpLCBtX3BhZ2UtPnByb2Nlc3MoKS5jb25uZWN0aW9uKCkpCisjZGVmaW5lIE1FU1NB
R0VfQ0hFQ0tfQ09OVEVYVElEKGlkZW50aWZpZXIpIE1FU1NBR0VfQ0hFQ0tfQkFTRShtX2NvbnRl
eHRNYXAuaXNWYWxpZEtleShpZGVudGlmaWVyKSwgbV9wYWdlLT5wcm9jZXNzKCkuY29ubmVjdGlv
bigpKQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAt
MzY4LDcgKzM2OCw3IEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpyZW1vdmVD
bGllbnRGb3JDb250ZXh0KHVpbnQ2NF90IGNvbnRleHRJZCkKIAogdm9pZCBQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHk6OnNldFVwUGxheWJhY2tDb250cm9sc01hbmFnZXJXaXRoSUQodWludDY0
X3QgY29udGV4dElkKQogewotICAgIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGNvbnRleHRJRCk7
CisgICAgTUVTU0FHRV9DSEVDS19DT05URVhUSUQoY29udGV4dElkKTsKICAgICBpZiAobV9jb250
cm9sc01hbmFnZXJDb250ZXh0SWQgPT0gY29udGV4dElkKQogICAgICAgICByZXR1cm47CiAKQEAg
LTM5NCwxOSArMzk0LDE5IEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpjbGVh
clBsYXliYWNrQ29udHJvbHNNYW5hZ2VyKCkKIAogdm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHk6OmN1cnJlbnRUaW1lQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBjdXJy
ZW50VGltZSwgZG91YmxlIGhvc3RUaW1lKQogewotICAgIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElE
KGNvbnRleHRJRCk7CisgICAgTUVTU0FHRV9DSEVDS19DT05URVhUSUQoY29udGV4dElkKTsKICAg
ICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLmN1cnJlbnRUaW1lQ2hhbmdlZChjdXJyZW50VGltZSk7
CiB9CiAKIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpidWZmZXJlZFRpbWVDaGFu
Z2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSkKIHsKLSAgICBNRVNT
QUdFX0NIRUNLX0NPTlRFWFRJRChjb250ZXh0SUQpOworICAgIE1FU1NBR0VfQ0hFQ0tfQ09OVEVY
VElEKGNvbnRleHRJZCk7CiAgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5idWZmZXJlZFRpbWVD
aGFuZ2VkKGJ1ZmZlcmVkVGltZSk7CiB9CiAKIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlclBy
b3h5OjpzZWVrYWJsZVJhbmdlc1ZlY3RvckNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBWZWN0
b3I8c3RkOjpwYWlyPGRvdWJsZSwgZG91YmxlPj4gcmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVk
VGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkKIHsKLSAgICBNRVNTQUdFX0NIRUNLX0NP
TlRFWFRJRChjb250ZXh0SUQpOworICAgIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGNvbnRleHRJ
ZCk7CiAgICAgUmVmPFRpbWVSYW5nZXM+IHRpbWVSYW5nZXMgPSBUaW1lUmFuZ2VzOjpjcmVhdGUo
KTsKICAgICBmb3IgKGNvbnN0IGF1dG8mIHJhbmdlIDogcmFuZ2VzKSB7CiAgICAgICAgIEFTU0VS
VChpc2Zpbml0ZShyYW5nZS5maXJzdCkpOwpAQCAtNDIwLDM3ICs0MjAsMzcgQEAgdm9pZCBQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNlZWthYmxlUmFuZ2VzVmVjdG9yQ2hhbmdlZCh1aW50
NjRfdCBjb250ZXh0SWQKIAogdm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmNhblBs
YXlGYXN0UmV2ZXJzZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIHZhbHVlKQogewot
ICAgIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGNvbnRleHRJRCk7CisgICAgTUVTU0FHRV9DSEVD
S19DT05URVhUSUQoY29udGV4dElkKTsKICAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLmNhblBs
YXlGYXN0UmV2ZXJzZUNoYW5nZWQodmFsdWUpOwogfQogCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eTo6YXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKHVpbnQ2NF90IGNv
bnRleHRJZCwgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiBvcHRpb25zLCB1aW50NjRfdCBz
ZWxlY3RlZEluZGV4KQogewotICAgIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGNvbnRleHRJRCk7
CisgICAgTUVTU0FHRV9DSEVDS19DT05URVhUSUQoY29udGV4dElkKTsKICAgICBlbnN1cmVNb2Rl
bChjb250ZXh0SWQpLmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChvcHRpb25zLCBz
ZWxlY3RlZEluZGV4KTsKIH0KIAogdm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6Omxl
Z2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVj
dG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4
KQogewotICAgIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGNvbnRleHRJRCk7CisgICAgTUVTU0FH
RV9DSEVDS19DT05URVhUSUQoY29udGV4dElkKTsKICAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQp
LmxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKG9wdGlvbnMsIHNlbGVjdGVkSW5k
ZXgpOwogfQogCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6YXVkaW9NZWRpYVNl
bGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IHNlbGVjdGVk
SW5kZXgpCiB7Ci0gICAgTUVTU0FHRV9DSEVDS19DT05URVhUSUQoY29udGV4dElEKTsKKyAgICBN
RVNTQUdFX0NIRUNLX0NPTlRFWFRJRChjb250ZXh0SWQpOwogICAgIGVuc3VyZU1vZGVsKGNvbnRl
eHRJZCkuYXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZChzZWxlY3RlZEluZGV4KTsKIH0K
IAogdm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmxlZ2libGVNZWRpYVNlbGVjdGlv
bkluZGV4Q2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgp
CiB7Ci0gICAgTUVTU0FHRV9DSEVDS19DT05URVhUSUQoY29udGV4dElEKTsKKyAgICBNRVNTQUdF
X0NIRUNLX0NPTlRFWFRJRChjb250ZXh0SWQpOwogICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCku
bGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHNlbGVjdGVkSW5kZXgpOwogfQogCiB2
b2lkIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6ZXh0ZXJuYWxQbGF5YmFja1Byb3BlcnRp
ZXNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBlbmFibGVkLCB1aW50MzJfdCB0YXJn
ZXRUeXBlLCBTdHJpbmcgbG9jYWxpemVkRGV2aWNlTmFtZSkKIHsKLSAgICBNRVNTQUdFX0NIRUNL
X0NPTlRFWFRJRChjb250ZXh0SUQpOworICAgIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGNvbnRl
eHRJZCk7CiAgICAgUGxheWJhY2tTZXNzaW9uTW9kZWw6OkV4dGVybmFsUGxheWJhY2tUYXJnZXRU
eXBlIHR5cGUgPSBzdGF0aWNfY2FzdDxQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5
YmFja1RhcmdldFR5cGU+KHRhcmdldFR5cGUpOwogICAgIEFTU0VSVCh0eXBlID09IFBsYXliYWNr
U2Vzc2lvbk1vZGVsOjpUYXJnZXRUeXBlQWlyUGxheSB8fCB0eXBlID09IFBsYXliYWNrU2Vzc2lv
bk1vZGVsOjpUYXJnZXRUeXBlVFZPdXQgfHwgdHlwZSA9PSBQbGF5YmFja1Nlc3Npb25Nb2RlbDo6
VGFyZ2V0VHlwZU5vbmUpOwogCkBAIC00NTksNTUgKzQ1OSw1NSBAQCB2b2lkIFBsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eTo6ZXh0ZXJuYWxQbGF5YmFja1Byb3BlcnRpZXNDaGFuZ2VkKHVpbnQ2
NF90IGNvbgogCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6d2lyZWxlc3NWaWRl
b1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBkaXNhYmxl
ZCkKIHsKLSAgICBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJRChjb250ZXh0SUQpOworICAgIE1FU1NB
R0VfQ0hFQ0tfQ09OVEVYVElEKGNvbnRleHRJZCk7CiAgICAgZW5zdXJlTW9kZWwoY29udGV4dElk
KS53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENoYW5nZWQoZGlzYWJsZWQpOwogfQogCiB2
b2lkIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6bXV0ZWRDaGFuZ2VkKHVpbnQ2NF90IGNv
bnRleHRJZCwgYm9vbCBtdXRlZCkKIHsKLSAgICBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJRChjb250
ZXh0SUQpOworICAgIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGNvbnRleHRJZCk7CiAgICAgZW5z
dXJlTW9kZWwoY29udGV4dElkKS5tdXRlZENoYW5nZWQobXV0ZWQpOwogfQogCiB2b2lkIFBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6dm9sdW1lQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQs
IGRvdWJsZSB2b2x1bWUpCiB7Ci0gICAgTUVTU0FHRV9DSEVDS19DT05URVhUSUQoY29udGV4dElE
KTsKKyAgICBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJRChjb250ZXh0SWQpOwogICAgIGVuc3VyZU1v
ZGVsKGNvbnRleHRJZCkudm9sdW1lQ2hhbmdlZCh2b2x1bWUpOwogfQogCiB2b2lkIFBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eTo6ZHVyYXRpb25DaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwg
ZG91YmxlIGR1cmF0aW9uKQogewotICAgIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGNvbnRleHRJ
RCk7CisgICAgTUVTU0FHRV9DSEVDS19DT05URVhUSUQoY29udGV4dElkKTsKICAgICBlbnN1cmVN
b2RlbChjb250ZXh0SWQpLmR1cmF0aW9uQ2hhbmdlZChkdXJhdGlvbik7CiB9CiAKIHZvaWQgUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZCh1aW50
NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBwbGF5YmFja1N0YXJ0ZWRUaW1lKQogewotICAgIE1FU1NB
R0VfQ0hFQ0tfQ09OVEVYVElEKGNvbnRleHRJRCk7CisgICAgTUVTU0FHRV9DSEVDS19DT05URVhU
SUQoY29udGV4dElkKTsKICAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnBsYXliYWNrU3RhcnRl
ZFRpbWVDaGFuZ2VkKHBsYXliYWNrU3RhcnRlZFRpbWUpOwogfQogCiB2b2lkIFBsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eTo6cmF0ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGlz
UGxheWluZywgZG91YmxlIHJhdGUpCiB7Ci0gICAgTUVTU0FHRV9DSEVDS19DT05URVhUSUQoY29u
dGV4dElEKTsKKyAgICBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJRChjb250ZXh0SWQpOwogICAgIGVu
c3VyZU1vZGVsKGNvbnRleHRJZCkucmF0ZUNoYW5nZWQoaXNQbGF5aW5nLCByYXRlKTsKIH0KIAog
dm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnBpY3R1cmVJblBpY3R1cmVTdXBwb3J0
ZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBzdXBwb3J0ZWQpCiB7Ci0gICAgTUVT
U0FHRV9DSEVDS19DT05URVhUSUQoY29udGV4dElEKTsKKyAgICBNRVNTQUdFX0NIRUNLX0NPTlRF
WFRJRChjb250ZXh0SWQpOwogICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkucGljdHVyZUluUGlj
dHVyZVN1cHBvcnRlZENoYW5nZWQoc3VwcG9ydGVkKTsKIH0KIAogdm9pZCBQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHk6OnBpY3R1cmVJblBpY3R1cmVBY3RpdmVDaGFuZ2VkKHVpbnQ2NF90IGNv
bnRleHRJZCwgYm9vbCBhY3RpdmUpCiB7Ci0gICAgTUVTU0FHRV9DSEVDS19DT05URVhUSUQoY29u
dGV4dElEKTsKKyAgICBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJRChjb250ZXh0SWQpOwogICAgIGVu
c3VyZU1vZGVsKGNvbnRleHRJZCkucGljdHVyZUluUGljdHVyZUFjdGl2ZUNoYW5nZWQoYWN0aXZl
KTsKIH0KIAogdm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmhhbmRsZUNvbnRyb2xs
ZWRFbGVtZW50SURSZXNwb25zZSh1aW50NjRfdCBjb250ZXh0SWQsIFN0cmluZyBpZGVudGlmaWVy
KSBjb25zdAogewotICAgIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGNvbnRleHRJRCk7CisgICAg
TUVTU0FHRV9DSEVDS19DT05URVhUSUQoY29udGV4dElkKTsKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgaWYgKGNvbnRleHRJZCA9PSBtX2NvbnRyb2xzTWFuYWdlckNvbnRleHRJZCkKICAgICAgICAg
bV9wYWdlLT5oYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9uc2UoaWRlbnRpZmllcik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJl
TWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRp
YUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwCmluZGV4IGU1MTc3ZDAyNDdiZjNmNzEwOTkzZThjNDgx
NDU0NDhkNDIyZjAzODEuLmQ1MDdmZDIxYzk2MmQxYjk0YmZkNTk0Yzg5OGU5NzhiYzZiNmE1ODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1
cmVNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1Vz
ZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwCkBAIC00MCw3ICs0MCw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9XZWJBdWRpb0J1ZmZlckxpc3QuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVm
Lmg+CiAKLSNkZWZpbmUgTUVTU0FHRV9DSEVDS19DT05URVhUSUQoaWQpIE1FU1NBR0VfQ0hFQ0tf
QkFTRShtX3Byb3hpZXMuaXNWYWxpZEtleShpZCksIG1fcHJvY2Vzcy5jb25uZWN0aW9uKCkpCisj
ZGVmaW5lIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGlkZW50aWZpZXIpIE1FU1NBR0VfQ0hFQ0tf
QkFTRShtX3Byb3hpZXMuaXNWYWxpZEtleShpZGVudGlmaWVyKSwgbV9wcm9jZXNzLmNvbm5lY3Rp
b24oKSkKIAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eS5tbQppbmRleCA3YWIzNGUwYmQ0OTUyMTgzNmUxYWU4ZTExMzY3YTU0
NmE2MWExMDJiLi5hZjgyNzY1N2YxMGRlMmVmY2VkOGU1MjE5OGQ2NjU4ODBkZjU0ZjE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5h
Z2VyUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxs
c2NyZWVuTWFuYWdlclByb3h5Lm1tCkBAIC0xMjEsNyArMTIxLDcgQEAgQGVuZAogCiAjZW5kaWYK
IAotI2RlZmluZSBNRVNTQUdFX0NIRUNLX0NPTlRFWFRJRChjb250ZXh0SUQpIE1FU1NBR0VfQ0hF
Q0tfQkFTRShtX2NvbnRleHRNYXAuaXNWYWxpZEtleShjb250ZXh0SWQpLCBtX3BhZ2UtPnByb2Nl
c3MoKS5jb25uZWN0aW9uKCkpCisjZGVmaW5lIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGlkZW50
aWZpZXIpIE1FU1NBR0VfQ0hFQ0tfQkFTRShtX2NvbnRleHRNYXAuaXNWYWxpZEtleShpZGVudGlm
aWVyKSwgbV9wYWdlLT5wcm9jZXNzKCkuY29ubmVjdGlvbigpKQogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>