<?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>147309</bug_id>
          
          <creation_ts>2015-07-26 12:12:58 -0700</creation_ts>
          <short_desc>[Cocoa] canPlayType(&apos;audio/mpeg; codecs=&quot;mp3&quot;&apos;) returns &quot;&quot;</short_desc>
          <delta_ts>2020-09-18 02:25:35 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.10</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=216692</see_also>
          <bug_file_loc>http://jsbin.com/vubukodepo/edit?js,output</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="Sajid Anwar">sajidanwar94</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sajidanwar94</cc>
    
    <cc>sergio</cc>
    
    <cc>shu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1112312</commentid>
    <comment_count>0</comment_count>
    <who name="Sajid Anwar">sajidanwar94</who>
    <bug_when>2015-07-26 12:12:58 -0700</bug_when>
    <thetext>I&apos;ve reported part of this bug as &lt;rdar://22000718&gt;.

The Objective-C platform media player/source calls [AVFoundation isPlayableExtendedMIMEType:] to determine if a MIME type + codec string is supported. I&apos;ve peeked inside with a debugger and found that it obtains the list of supported video/audio types and codecs from /System/Library/Frameworks/MediaToolbox.framework/Resources/MediaValidator.plist . Inside this plist is a list of supported &quot;AudioCodecs&quot;, which contains strings like &quot;aac &quot; and &quot;.mp3&quot;. However, &quot;mp3&quot; is nowhere to be found, despite the fact that virtually all examples, tutorials, and specifications online use canPlayType() to check the &apos;audio/mpeg; codecs=&quot;mp3&quot;&apos; MIME type.

Currently, canPlayType(&apos;audio/mpeg; codecs=&quot;mp3&quot;&apos;) returns &quot;maybe&quot;, but you can edit the plist and add the &quot;mp3&quot; entry, and then canPlayType will return &quot;probably&quot;, which is expected since AV Foundation can obviously play MP3 audio.

On top of that, as I reported in the radar, there appears to be a bug in the implementation of [AVURLAsset isPlayableExtendedMIMEType:] that returns NO on the &quot;.mp3&quot; codec despite its existence in the plist, meaning even canPlayType(&apos;audio/mpeg; codecs=&quot;.mp3&quot;&apos;) returns &quot;maybe&quot;.

Should WebKit special-case the &quot;mp3&quot; audio codec to return &quot;probably&quot;? That might not be an elegant solution, but unless Apple adds the &quot;mp3&quot; entry to the &quot;AudioCodecs&quot; section of the plist, the call will always return &quot;maybe&quot; instead of &quot;probably&quot;.

A little more information about the AV Foundation bug can be found at the radar, which I&apos;ve duplicated on Open Radar: https://openradar.appspot.com/22000718</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112332</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-07-26 15:20:29 -0700</bug_when>
    <thetext>Thank you for the report!

WebKit would need a workaround even once &lt;rdar://22000718&gt; is fixed, because it would be good to have this working on earlier OS X versions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112547</commentid>
    <comment_count>2</comment_count>
    <who name="Sajid Anwar">sajidanwar94</who>
    <bug_when>2015-07-27 15:43:35 -0700</bug_when>
    <thetext>Good point with the earlier versions of WebKit. What would the approach be? Replacing the ends of both MediaPlayerPrivateAVFoundationObjC::supportsType and MediaPlayerPrivateMediaSourceAVFObjC::supportsType with something like this?

    NSString *typeString = [NSString stringWithFormat:@&quot;%@; codecs=\&quot;%@\&quot;&quot;, (NSString *)parameters.type, (NSString *)parameters.codecs];
    
    if ([typeString isEqualToString:@&quot;audio/mpeg; codecs=\&quot;mp3\&quot;&quot;])
        return MediaPlayer::IsSupported;

    return [AVURLAsset isPlayableExtendedMIMEType:typeString] ? MediaPlayer::IsSupported : MediaPlayer::MayBeSupported;

The assumption here is that this kind of special-casing is harmless if AV Foundation has always supported the MP3 codec (likely).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689389</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Buznik">shu</who>
    <bug_when>2020-09-17 01:57:24 -0700</bug_when>
    <thetext>Hello.
Currently in Safari 14 (15610.1.28.1.7, 15610), canPlayType(&apos;audio/mpeg; codecs=&quot;mp3&quot;&apos;) returns &quot;&quot;.
This is going to break a lot of streaming sites.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689521</commentid>
    <comment_count>4</comment_count>
      <attachid>409050</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-17 11:09:44 -0700</bug_when>
    <thetext>Created attachment 409050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689544</commentid>
    <comment_count>5</comment_count>
      <attachid>409050</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-17 11:58:15 -0700</bug_when>
    <thetext>Comment on attachment 409050
Patch

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

&gt; Source/WebCore/platform/graphics/MIMETypeCache.cpp:145
&gt; +    if (type.containerType().convertToASCIILowercase() == &quot;audio/mpeg&quot;) {

Can be more efficient to use equalLettersIgnoringASCIICase or equalIgnoringASCIICase in a case like this.

&gt; Source/WebCore/platform/graphics/MIMETypeCache.h:60
&gt; +    Optional&lt;bool&gt; overrideExtendedType(const ContentType&amp;);

This should be a static member function; it is a rule, not something  based on the contents of the cache itself. Or it could be a free function not mentioned in the header at all.

Sam has pointed out that Optional&lt;bool&gt; is confusing and often reminds us not to use it. We don’t *really* need it here. Have false mean don’t override, since we’re not using false at this time.

The name of this function has the form we try to avoid where it sounds like it might be the caller telling the cache to override, but really we are asking if we should override. So it could be more like shouldOverrideExtendedType?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689546</commentid>
    <comment_count>6</comment_count>
      <attachid>409050</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-17 12:11:21 -0700</bug_when>
    <thetext>Comment on attachment 409050
Patch

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

Thanks for the review!

&gt;&gt; Source/WebCore/platform/graphics/MIMETypeCache.cpp:145
&gt;&gt; +    if (type.containerType().convertToASCIILowercase() == &quot;audio/mpeg&quot;) {
&gt; 
&gt; Can be more efficient to use equalLettersIgnoringASCIICase or equalIgnoringASCIICase in a case like this.

Good idea, changed.

&gt;&gt; Source/WebCore/platform/graphics/MIMETypeCache.h:60
&gt;&gt; +    Optional&lt;bool&gt; overrideExtendedType(const ContentType&amp;);
&gt; 
&gt; This should be a static member function; it is a rule, not something  based on the contents of the cache itself. Or it could be a free function not mentioned in the header at all.
&gt; 
&gt; Sam has pointed out that Optional&lt;bool&gt; is confusing and often reminds us not to use it. We don’t *really* need it here. Have false mean don’t override, since we’re not using false at this time.
&gt; 
&gt; The name of this function has the form we try to avoid where it sounds like it might be the caller telling the cache to override, but really we are asking if we should override. So it could be more like shouldOverrideExtendedType?

I made it a member function because of the ASSERT, which I think is important because we should never override an extended type unless the content type is supported.

I had it return an Optional&lt;bool&gt; so we could have it return false for types in the future, but we clearly don&apos;t need that yet so I&apos;ll change the name to shouldOverrideExtendedType and have it return a simple bool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689555</commentid>
    <comment_count>7</comment_count>
      <attachid>409057</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-17 12:41:24 -0700</bug_when>
    <thetext>Created attachment 409057
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689568</commentid>
    <comment_count>8</comment_count>
      <attachid>409057</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-17 13:07:49 -0700</bug_when>
    <thetext>Comment on attachment 409057
Patch for landing

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

&gt; Source/WebCore/platform/graphics/MIMETypeCache.cpp:83
&gt; +        if (auto override = shouldOverrideExtendedType(contentType)) {

Don’t need the local variable here any more now that we are doing the simplified version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689588</commentid>
    <comment_count>9</comment_count>
      <attachid>409064</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-17 13:54:09 -0700</bug_when>
    <thetext>Created attachment 409064
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689589</commentid>
    <comment_count>10</comment_count>
      <attachid>409057</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-17 13:54:48 -0700</bug_when>
    <thetext>Comment on attachment 409057
Patch for landing

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

&gt;&gt; Source/WebCore/platform/graphics/MIMETypeCache.cpp:83
&gt;&gt; +        if (auto override = shouldOverrideExtendedType(contentType)) {
&gt; 
&gt; Don’t need the local variable here any more now that we are doing the simplified version.

Good point, changed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689608</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-17 15:33:45 -0700</bug_when>
    <thetext>The inspector/cpu-profiler/threads.html crash is unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689609</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-17 15:36:36 -0700</bug_when>
    <thetext>Committed r267210: &lt;https://trac.webkit.org/changeset/267210&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409064.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689611</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-17 15:37:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/69101113&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409050</attachid>
            <date>2020-09-17 11:09:44 -0700</date>
            <delta_ts>2020-09-17 12:41:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147309-20200917110943.patch</filename>
            <type>text/plain</type>
            <size>6052</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZmMzg2ZmY4ZWMxOWIz
MDQ5YjYxZGFlNjQ3YzBjZjQ4MTgzMDMxMy4uMTE4MmE3NTRiOTQ3NWZiMjFhYzcwNzg3YjhiZGYw
ZTMxOTFkYjM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA5LTE3ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gY2Fu
UGxheVR5cGUoJ2F1ZGlvL21wZWc7IGNvZGVjcz0ibXAzIicpIHJldHVybnMgIiIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzMwOQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgJ2F1ZGlvL21w
ZWc7IGNvZGVjcz0ibXAzIicgaXMgbm90IGFuIFJGQyAzMDAzIGNvbXBsaWFudCBNSU1FIHR5cGUg
YnV0IHNvbWUgYmlnCisgICAgICAgIHdlYiBzaXRlcyB1c2UgaXQuIEFWRm91bmRhdGlvbiBzYXlz
IHRoZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQsIGJ1dCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakMKKyAgICAgICAgcHJldmlvdXNseSByZXR1cm5lZCAibWF5YmUiIGZvciBhbGwg
ZXh0ZW5kZWQgdHlwZXMgd2hlcmUgdGhlIGNvbnRhaW5lciB0eXBlIGlzCisgICAgICAgIHN1cHBv
cnRlZC4gVGhpcyBidWcgd2FzIGZpeGVkIHdoZW4gd2UgbW92ZWQgdGhlIE1JTUUgdHlwZSBsb2dp
YyBmcm9tIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQworICAgICAgICB0byBN
SU1FVHlwZUNhY2hlLCBzbyBhZGQgYSBtZWNoYW5pc20gdG8gb3ZlcnJpZGUgZXh0ZW5kZWQgdHlw
ZXMgYW5kIHVzZSBpdCB0bworICAgICAgICBzdXBwb3J0ICdhdWRpby9tcGVnOyBjb2RlY3M9Im1w
MyInLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlhLWNhbi1wbGF5LW1wMy5odG1sCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1JTUVUeXBlQ2FjaGU6OmNhbkRlY29kZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
TUlNRVR5cGVDYWNoZTo6b3ZlcnJpZGVFeHRlbmRlZFR5cGUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL01JTUVUeXBlQ2FjaGUuaDoKKwogMjAyMC0wOS0xNiAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE1lcmdlIFBlcmlvZGljV2F2ZSBpbXByb3ZlbWVu
dHMgZnJvbSBCbGluawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTUlNRVR5cGVDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
SU1FVHlwZUNhY2hlLmNwcAppbmRleCA0ZmE5YzZjMGY3ZjA5M2RjYjM5YmI3MjZkYThiZTM5Nzc1
NDYxMWEyLi41YjhkZThjMzIwMzY3N2QzOTA3ZjhmZGNkODE2YmI1MTgzYTM5ODljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmNwcApA
QCAtODAsNiArODAsMTEgQEAgTWVkaWFQbGF5ZXJFbnVtczo6U3VwcG9ydHNUeXBlIE1JTUVUeXBl
Q2FjaGU6OmNhbkRlY29kZVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHkKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKGF1dG8gb3ZlcnJpZGUgPSBvdmVycmlkZUV4
dGVuZGVkVHlwZShjb250ZW50VHlwZSkpIHsKKyAgICAgICAgICAgIHJlc3VsdCA9IG92ZXJyaWRl
LnZhbHVlKCkgPyBNZWRpYVBsYXllckVudW1zOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVkIDog
TWVkaWFQbGF5ZXJFbnVtczo6U3VwcG9ydHNUeXBlOjpJc05vdFN1cHBvcnRlZDsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisKICAgICAgICAgaWYgKGNhbkRlY29kZUV4dGVuZGVkVHlw
ZShjb250ZW50VHlwZSkpCiAgICAgICAgICAgICByZXN1bHQgPSBNZWRpYVBsYXllckVudW1zOjpT
dXBwb3J0c1R5cGU6OklzU3VwcG9ydGVkOwogCkBAIC0xMzEsNSArMTM2LDIwIEBAIGJvb2wgTUlN
RVR5cGVDYWNoZTo6Y2FuRGVjb2RlRXh0ZW5kZWRUeXBlKGNvbnN0IENvbnRlbnRUeXBlJikKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKK09wdGlvbmFsPGJvb2w+IE1JTUVUeXBlQ2FjaGU6Om92ZXJy
aWRlRXh0ZW5kZWRUeXBlKGNvbnN0IENvbnRlbnRUeXBlJiB0eXBlKQoreworICAgIEFTU0VSVChj
YW5EZWNvZGVUeXBlKHR5cGUuY29udGFpbmVyVHlwZSgpKSAhPSBNZWRpYVBsYXllckVudW1zOjpT
dXBwb3J0c1R5cGU6OklzTm90U3VwcG9ydGVkKTsKKworICAgIC8vIFNvbWUgc2l0ZXMgKGUuZy4g
TW9kZXJuaXpyKSB1c2UgJ2F1ZGlvL21wZWc7IGNvZGVjcz0ibXAzIicgZXZlbiB0aG91Z2gKKyAg
ICAvLyBpdCBpcyBub3QgUkZDIDMwMDMgY29tcGxpYW50LgorICAgIGlmICh0eXBlLmNvbnRhaW5l
clR5cGUoKS5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpID09ICJhdWRpby9tcGVnIikgeworICAg
ICAgICBhdXRvIGNvZGVjcyA9IHR5cGUuY29kZWNzKCk7CisgICAgICAgIGlmIChjb2RlY3Muc2l6
ZSgpID09IDEgJiYgY29kZWNzWzBdID09ICJtcDMiKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmgKaW5kZXggODQ3OGYx
Nzk4NWQxNDFlZGNiNTdjYzAyZDE5ZmUxYzVmZDNjYzM0NC4uZjgyZjczZGRhOWRiNzcyOTE3ODli
NTkwOThjMjU0OWZhMGQwMDU1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTUlNRVR5cGVDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01JTUVUeXBlQ2FjaGUuaApAQCAtNTcsNiArNTcsNyBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplQ2FjaGUoSGFzaFNldDxTdHJpbmcsIEFTQ0lJ
Q2FzZUluc2Vuc2l0aXZlSGFzaD4mKTsKICAgICB2aXJ0dWFsIGJvb2wgY2FuRGVjb2RlRXh0ZW5k
ZWRUeXBlKGNvbnN0IENvbnRlbnRUeXBlJik7CisgICAgT3B0aW9uYWw8Ym9vbD4gb3ZlcnJpZGVF
eHRlbmRlZFR5cGUoY29uc3QgQ29udGVudFR5cGUmKTsKIAogICAgIE9wdGlvbmFsPEhhc2hTZXQ8
U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+PiBtX3N1cHBvcnRlZFR5cGVzOwogICAg
IE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBNZWRpYVBsYXllckVudW1zOjpTdXBwb3J0c1R5cGUs
IEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4+IG1fY2FjaGVkUmVzdWx0czsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyNjE3
MDMzNjczNDhlNzkzNzUyNjBjNWMyY2U4NmRlMDYwZTU1N2MyLi5kMjQyZmFkODMxMWY4ZTRmZDUy
ODM0MGUwZGRhYmZlOTFjMWRiZGNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDktMTcg
IEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29h
XSBjYW5QbGF5VHlwZSgnYXVkaW8vbXBlZzsgY29kZWNzPSJtcDMiJykgcmV0dXJucyAiIgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MzA5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtZWRpYS9tZWRp
YS1jYW4tcGxheS1tcDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tZWRp
YS1jYW4tcGxheS1tcDMuaHRtbDogQWRkZWQuCisKIDIwMjAtMDktMTYgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNZXJnZSBQZXJpb2RpY1dhdmUgaW1wcm92ZW1l
bnRzIGZyb20gQmxpbmsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNhbi1w
bGF5LW1wMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jYW4tcGxheS1t
cDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3NTk2NmNlYmNlZjgyMWFiYjMwZGMyNjVjMmY4
NTBjZDYzYjc5YzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1j
YW4tcGxheS1tcDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorCitUZXN0IEhUTUxNZWRp
YUVsZW1lbnQgY2FuUGxheVR5cGUoKSBtZXRob2QgZm9yIGEgbm9uIHN0YW5kYXJkLCBidXQgY29t
bW9ubHkgdXNlZCwgTVAzIG1pbWUgdHlwZS4KKworRVhQRUNURUQgKHZpZGVvLmNhblBsYXlUeXBl
KCdhdWRpby9tcGVnJykgPT0gJ21heWJlJykgT0sKK0VYUEVDVEVEICh2aWRlby5jYW5QbGF5VHlw
ZSgnYXVkaW8vbXBlZzsgY29kZWNzPSJtcDMiJykgPT0gJ3Byb2JhYmx5JykgT0sKK0VYUEVDVEVE
ICh2aWRlby5jYW5QbGF5VHlwZSgnYXVkaW8vbXBlZztjb2RlY3M9Im1wMyInKSA9PSAncHJvYmFi
bHknKSBPSworRVhQRUNURUQgKHZpZGVvLmNhblBsYXlUeXBlKCdhdWRpby9tcGVnOyBjb2RlY3M9
InhwMyInKSA9PSAnJykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21lZGlhL21lZGlhLWNhbi1wbGF5LW1wMy5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEt
Y2FuLXBsYXktbXAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGNiNzdmOWQyNGFlZDBjMzM4YmIwNTEyYTg3
MWFiNTUxNDRkNjMzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWNhbi1wbGF5LW1wMy5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSJ2aWRlby10ZXN0LmpzIj48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkgeworICAg
ICAgICAgICAgIHZpZGVvID0gbWVkaWFFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoJ3ZpZGVvJylbMF07CisKKyAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmNh
blBsYXlUeXBlKCdhdWRpby9tcGVnJykiLCAibWF5YmUiKTsKKyAgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoInZpZGVvLmNhblBsYXlUeXBlKCdhdWRpby9tcGVnOyAgIGNvZGVjcz1cIm1wM1wiJyki
LCAicHJvYmFibHkiKTsKKyAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmNhblBsYXlU
eXBlKCdhdWRpby9tcGVnO2NvZGVjcz1cIm1wM1wiJykiLCAicHJvYmFibHkiKTsKKyAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmNhblBsYXlUeXBlKCdhdWRpby9tcGVnOyBjb2RlY3M9
XCJ4cDNcIicpIiwgIiIpOworCisgICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICAgfQor
ICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJzdGFydCgp
Ij4KKyAgICAgICAgPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+CisgICAgICAgIDxwPlRlc3QgSFRN
TE1lZGlhRWxlbWVudCA8ZW0+Y2FuUGxheVR5cGUoKTwvZW0+IG1ldGhvZCBmb3IgYSBub24gc3Rh
bmRhcmQsIGJ1dCBjb21tb25seSB1c2VkLCBNUDMgbWltZSB0eXBlLjwvcD4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409057</attachid>
            <date>2020-09-17 12:41:24 -0700</date>
            <delta_ts>2020-09-17 13:54:08 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-147309-20200917124124.patch</filename>
            <type>text/plain</type>
            <size>5944</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZmMzg2ZmY4ZWMxOWIz
MDQ5YjYxZGFlNjQ3YzBjZjQ4MTgzMDMxMy4uMjA1ZWU2YTc2NmUxYThkYjkyZmViOGEwOTA5Zjcy
ZmJjMzE4Y2M0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA5LTE3ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gY2Fu
UGxheVR5cGUoJ2F1ZGlvL21wZWc7IGNvZGVjcz0ibXAzIicpIHJldHVybnMgIiIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzMwOQorCisgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorICAgICAgICAKKyAgICAgICAgJ2F1ZGlvL21wZWc7
IGNvZGVjcz0ibXAzIicgaXMgbm90IGFuIFJGQyAzMDAzIGNvbXBsaWFudCBNSU1FIHR5cGUgYnV0
IHNvbWUgYmlnCisgICAgICAgIHdlYiBzaXRlcyB1c2UgaXQuIEFWRm91bmRhdGlvbiBzYXlzIHRo
ZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQsIGJ1dCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMKKyAgICAgICAgcHJldmlvdXNseSByZXR1cm5lZCAibWF5YmUiIGZvciBhbGwgZXh0
ZW5kZWQgdHlwZXMgd2hlcmUgdGhlIGNvbnRhaW5lciB0eXBlIGlzCisgICAgICAgIHN1cHBvcnRl
ZC4gVGhpcyBidWcgd2FzIGZpeGVkIHdoZW4gd2UgbW92ZWQgdGhlIE1JTUUgdHlwZSBsb2dpYyBm
cm9tIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQworICAgICAgICB0byBNSU1F
VHlwZUNhY2hlLCBzbyBhZGQgYSBtZWNoYW5pc20gdG8gb3ZlcnJpZGUgZXh0ZW5kZWQgdHlwZXMg
YW5kIHVzZSBpdCB0bworICAgICAgICBzdXBwb3J0ICdhdWRpby9tcGVnOyBjb2RlY3M9Im1wMyIn
LgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlhLWNhbi1wbGF5LW1wMy5odG1sCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1JTUVUeXBlQ2FjaGU6OmNhbkRlY29kZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6TUlN
RVR5cGVDYWNoZTo6b3ZlcnJpZGVFeHRlbmRlZFR5cGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL01JTUVUeXBlQ2FjaGUuaDoKKwogMjAyMC0wOS0xNiAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE1lcmdlIFBlcmlvZGljV2F2ZSBpbXByb3ZlbWVudHMg
ZnJvbSBCbGluawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TUlNRVR5cGVDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1F
VHlwZUNhY2hlLmNwcAppbmRleCA0ZmE5YzZjMGY3ZjA5M2RjYjM5YmI3MjZkYThiZTM5Nzc1NDYx
MWEyLi5mNjg1NzY0NTA3NmMyMDkyZDcyNzljNzczZmRjMjU5YjIwZTQ5NmE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmNwcApAQCAt
ODAsNiArODAsMTEgQEAgTWVkaWFQbGF5ZXJFbnVtczo6U3VwcG9ydHNUeXBlIE1JTUVUeXBlQ2Fj
aGU6OmNhbkRlY29kZVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHkKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKGF1dG8gb3ZlcnJpZGUgPSBzaG91bGRPdmVycmlk
ZUV4dGVuZGVkVHlwZShjb250ZW50VHlwZSkpIHsKKyAgICAgICAgICAgIHJlc3VsdCA9IE1lZGlh
UGxheWVyRW51bXM6OlN1cHBvcnRzVHlwZTo6SXNTdXBwb3J0ZWQ7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorCiAgICAgICAgIGlmIChjYW5EZWNvZGVFeHRlbmRlZFR5cGUoY29udGVu
dFR5cGUpKQogICAgICAgICAgICAgcmVzdWx0ID0gTWVkaWFQbGF5ZXJFbnVtczo6U3VwcG9ydHNU
eXBlOjpJc1N1cHBvcnRlZDsKIApAQCAtMTMxLDUgKzEzNiwxOSBAQCBib29sIE1JTUVUeXBlQ2Fj
aGU6OmNhbkRlY29kZUV4dGVuZGVkVHlwZShjb25zdCBDb250ZW50VHlwZSYpCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCitib29sIE1JTUVUeXBlQ2FjaGU6OnNob3VsZE92ZXJyaWRlRXh0ZW5kZWRU
eXBlKGNvbnN0IENvbnRlbnRUeXBlJiB0eXBlKQoreworICAgIEFTU0VSVChjYW5EZWNvZGVUeXBl
KHR5cGUuY29udGFpbmVyVHlwZSgpKSAhPSBNZWRpYVBsYXllckVudW1zOjpTdXBwb3J0c1R5cGU6
OklzTm90U3VwcG9ydGVkKTsKKworICAgIC8vIFNvbWUgc2l0ZXMgKGUuZy4gTW9kZXJuaXpyKSB1
c2UgJ2F1ZGlvL21wZWc7IGNvZGVjcz0ibXAzIicgZXZlbiB0aG91Z2gKKyAgICAvLyBpdCBpcyBu
b3QgUkZDIDMwMDMgY29tcGxpYW50LgorICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHR5
cGUuY29udGFpbmVyVHlwZSgpLCAiYXVkaW8vbXBlZyIpKSB7CisgICAgICAgIGF1dG8gY29kZWNz
ID0gdHlwZS5jb2RlY3MoKTsKKyAgICAgICAgcmV0dXJuIChjb2RlY3Muc2l6ZSgpID09IDEgJiYg
Y29kZWNzWzBdID09ICJtcDMiKTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTUlNRVR5cGVD
YWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTUlNRVR5cGVDYWNoZS5o
CmluZGV4IDg0NzhmMTc5ODVkMTQxZWRjYjU3Y2MwMmQxOWZlMWM1ZmQzY2MzNDQuLjAzMWY3MTk5
YWM2Y2M4YzU5MjZiZTdjMjkxNGJjM2I0YmJjYTczZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01JTUVUeXBlQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmgKQEAgLTU3LDYgKzU3LDcgQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZUNhY2hlKEhhc2hTZXQ8
U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+Jik7CiAgICAgdmlydHVhbCBib29sIGNh
bkRlY29kZUV4dGVuZGVkVHlwZShjb25zdCBDb250ZW50VHlwZSYpOworICAgIGJvb2wgc2hvdWxk
T3ZlcnJpZGVFeHRlbmRlZFR5cGUoY29uc3QgQ29udGVudFR5cGUmKTsKIAogICAgIE9wdGlvbmFs
PEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+PiBtX3N1cHBvcnRlZFR5
cGVzOwogICAgIE9wdGlvbmFsPEhhc2hNYXA8U3RyaW5nLCBNZWRpYVBsYXllckVudW1zOjpTdXBw
b3J0c1R5cGUsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4+IG1fY2FjaGVkUmVzdWx0czsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAyNjE3MDMzNjczNDhlNzkzNzUyNjBjNWMyY2U4NmRlMDYwZTU1N2MyLi4yZTMxZWI4ZTIz
YjQ2ODk2NGUxNTIyYTc3MGM2MWJjMWViMDYzYTBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MjAtMDktMTcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0NvY29hXSBjYW5QbGF5VHlwZSgnYXVkaW8vbXBlZzsgY29kZWNzPSJtcDMiJykgcmV0dXJu
cyAiIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3
MzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBtZWRp
YS9tZWRpYS1jYW4tcGxheS1tcDMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRp
YS9tZWRpYS1jYW4tcGxheS1tcDMuaHRtbDogQWRkZWQuCisKIDIwMjAtMDktMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBNZXJnZSBQZXJpb2RpY1dhdmUgaW1w
cm92ZW1lbnRzIGZyb20gQmxpbmsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWNhbi1wbGF5LW1wMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jYW4t
cGxheS1tcDMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3NTk2NmNlYmNlZjgyMWFiYjMwZGMy
NjVjMmY4NTBjZDYzYjc5YzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9t
ZWRpYS1jYW4tcGxheS1tcDMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorCitUZXN0IEhU
TUxNZWRpYUVsZW1lbnQgY2FuUGxheVR5cGUoKSBtZXRob2QgZm9yIGEgbm9uIHN0YW5kYXJkLCBi
dXQgY29tbW9ubHkgdXNlZCwgTVAzIG1pbWUgdHlwZS4KKworRVhQRUNURUQgKHZpZGVvLmNhblBs
YXlUeXBlKCdhdWRpby9tcGVnJykgPT0gJ21heWJlJykgT0sKK0VYUEVDVEVEICh2aWRlby5jYW5Q
bGF5VHlwZSgnYXVkaW8vbXBlZzsgY29kZWNzPSJtcDMiJykgPT0gJ3Byb2JhYmx5JykgT0sKK0VY
UEVDVEVEICh2aWRlby5jYW5QbGF5VHlwZSgnYXVkaW8vbXBlZztjb2RlY3M9Im1wMyInKSA9PSAn
cHJvYmFibHknKSBPSworRVhQRUNURUQgKHZpZGVvLmNhblBsYXlUeXBlKCdhdWRpby9tcGVnOyBj
b2RlY3M9InhwMyInKSA9PSAnJykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL21lZGlhL21lZGlhLWNhbi1wbGF5LW1wMy5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEv
bWVkaWEtY2FuLXBsYXktbXAzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGNiNzdmOWQyNGFlZDBjMzM4YmIw
NTEyYTg3MWFiNTUxNDRkNjMzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlh
L21lZGlhLWNhbi1wbGF5LW1wMy5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSJ2aWRlby10ZXN0Lmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkg
eworICAgICAgICAgICAgIHZpZGVvID0gbWVkaWFFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ3ZpZGVvJylbMF07CisKKyAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZp
ZGVvLmNhblBsYXlUeXBlKCdhdWRpby9tcGVnJykiLCAibWF5YmUiKTsKKyAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoInZpZGVvLmNhblBsYXlUeXBlKCdhdWRpby9tcGVnOyAgIGNvZGVjcz1cIm1w
M1wiJykiLCAicHJvYmFibHkiKTsKKyAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmNh
blBsYXlUeXBlKCdhdWRpby9tcGVnO2NvZGVjcz1cIm1wM1wiJykiLCAicHJvYmFibHkiKTsKKyAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInZpZGVvLmNhblBsYXlUeXBlKCdhdWRpby9tcGVnOyBj
b2RlY3M9XCJ4cDNcIicpIiwgIiIpOworCisgICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAg
ICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJz
dGFydCgpIj4KKyAgICAgICAgPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+CisgICAgICAgIDxwPlRl
c3QgSFRNTE1lZGlhRWxlbWVudCA8ZW0+Y2FuUGxheVR5cGUoKTwvZW0+IG1ldGhvZCBmb3IgYSBu
b24gc3RhbmRhcmQsIGJ1dCBjb21tb25seSB1c2VkLCBNUDMgbWltZSB0eXBlLjwvcD4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409064</attachid>
            <date>2020-09-17 13:54:09 -0700</date>
            <delta_ts>2020-09-17 15:36:37 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-147309-20200917135409.patch</filename>
            <type>text/plain</type>
            <size>5928</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZmMzg2ZmY4ZWMxOWIz
MDQ5YjYxZGFlNjQ3YzBjZjQ4MTgzMDMxMy4uMjA1ZWU2YTc2NmUxYThkYjkyZmViOGEwOTA5Zjcy
ZmJjMzE4Y2M0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA5LTE3ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gY2Fu
UGxheVR5cGUoJ2F1ZGlvL21wZWc7IGNvZGVjcz0ibXAzIicpIHJldHVybnMgIiIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzMwOQorCisgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorICAgICAgICAKKyAgICAgICAgJ2F1ZGlvL21wZWc7
IGNvZGVjcz0ibXAzIicgaXMgbm90IGFuIFJGQyAzMDAzIGNvbXBsaWFudCBNSU1FIHR5cGUgYnV0
IHNvbWUgYmlnCisgICAgICAgIHdlYiBzaXRlcyB1c2UgaXQuIEFWRm91bmRhdGlvbiBzYXlzIHRo
ZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQsIGJ1dCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMKKyAgICAgICAgcHJldmlvdXNseSByZXR1cm5lZCAibWF5YmUiIGZvciBhbGwgZXh0
ZW5kZWQgdHlwZXMgd2hlcmUgdGhlIGNvbnRhaW5lciB0eXBlIGlzCisgICAgICAgIHN1cHBvcnRl
ZC4gVGhpcyBidWcgd2FzIGZpeGVkIHdoZW4gd2UgbW92ZWQgdGhlIE1JTUUgdHlwZSBsb2dpYyBm
cm9tIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQworICAgICAgICB0byBNSU1F
VHlwZUNhY2hlLCBzbyBhZGQgYSBtZWNoYW5pc20gdG8gb3ZlcnJpZGUgZXh0ZW5kZWQgdHlwZXMg
YW5kIHVzZSBpdCB0bworICAgICAgICBzdXBwb3J0ICdhdWRpby9tcGVnOyBjb2RlY3M9Im1wMyIn
LgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlhLWNhbi1wbGF5LW1wMy5odG1sCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1JTUVUeXBlQ2FjaGU6OmNhbkRlY29kZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6TUlN
RVR5cGVDYWNoZTo6b3ZlcnJpZGVFeHRlbmRlZFR5cGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL01JTUVUeXBlQ2FjaGUuaDoKKwogMjAyMC0wOS0xNiAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE1lcmdlIFBlcmlvZGljV2F2ZSBpbXByb3ZlbWVudHMg
ZnJvbSBCbGluawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TUlNRVR5cGVDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1F
VHlwZUNhY2hlLmNwcAppbmRleCA0ZmE5YzZjMGY3ZjA5M2RjYjM5YmI3MjZkYThiZTM5Nzc1NDYx
MWEyLi5kNGM0NzhiNGZjM2YwZDk5NWY3YjI2OGFhMjE5ZDRhYmIwMmFkZGNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmNwcApAQCAt
ODAsNiArODAsMTEgQEAgTWVkaWFQbGF5ZXJFbnVtczo6U3VwcG9ydHNUeXBlIE1JTUVUeXBlQ2Fj
aGU6OmNhbkRlY29kZVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHkKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKHNob3VsZE92ZXJyaWRlRXh0ZW5kZWRUeXBlKGNv
bnRlbnRUeXBlKSkgeworICAgICAgICAgICAgcmVzdWx0ID0gTWVkaWFQbGF5ZXJFbnVtczo6U3Vw
cG9ydHNUeXBlOjpJc1N1cHBvcnRlZDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisK
ICAgICAgICAgaWYgKGNhbkRlY29kZUV4dGVuZGVkVHlwZShjb250ZW50VHlwZSkpCiAgICAgICAg
ICAgICByZXN1bHQgPSBNZWRpYVBsYXllckVudW1zOjpTdXBwb3J0c1R5cGU6OklzU3VwcG9ydGVk
OwogCkBAIC0xMzEsNSArMTM2LDE5IEBAIGJvb2wgTUlNRVR5cGVDYWNoZTo6Y2FuRGVjb2RlRXh0
ZW5kZWRUeXBlKGNvbnN0IENvbnRlbnRUeXBlJikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jv
b2wgTUlNRVR5cGVDYWNoZTo6c2hvdWxkT3ZlcnJpZGVFeHRlbmRlZFR5cGUoY29uc3QgQ29udGVu
dFR5cGUmIHR5cGUpCit7CisgICAgQVNTRVJUKGNhbkRlY29kZVR5cGUodHlwZS5jb250YWluZXJU
eXBlKCkpICE9IE1lZGlhUGxheWVyRW51bXM6OlN1cHBvcnRzVHlwZTo6SXNOb3RTdXBwb3J0ZWQp
OworCisgICAgLy8gU29tZSBzaXRlcyAoZS5nLiBNb2Rlcm5penIpIHVzZSAnYXVkaW8vbXBlZzsg
Y29kZWNzPSJtcDMiJyBldmVuIHRob3VnaAorICAgIC8vIGl0IGlzIG5vdCBSRkMgMzAwMyBjb21w
bGlhbnQuCisgICAgaWYgKGVxdWFsSWdub3JpbmdBU0NJSUNhc2UodHlwZS5jb250YWluZXJUeXBl
KCksICJhdWRpby9tcGVnIikpIHsKKyAgICAgICAgYXV0byBjb2RlY3MgPSB0eXBlLmNvZGVjcygp
OworICAgICAgICByZXR1cm4gKGNvZGVjcy5zaXplKCkgPT0gMSAmJiBjb2RlY3NbMF0gPT0gIm1w
MyIpOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NSU1FVHlwZUNhY2hlLmgKaW5kZXggODQ3OGYxNzk4
NWQxNDFlZGNiNTdjYzAyZDE5ZmUxYzVmZDNjYzM0NC4uMDMxZjcxOTlhYzZjYzhjNTkyNmJlN2My
OTE0YmMzYjRiYmNhNzNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTUlNRVR5cGVDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01JTUVUeXBlQ2FjaGUuaApAQCAtNTcsNiArNTcsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplQ2FjaGUoSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2Fz
ZUluc2Vuc2l0aXZlSGFzaD4mKTsKICAgICB2aXJ0dWFsIGJvb2wgY2FuRGVjb2RlRXh0ZW5kZWRU
eXBlKGNvbnN0IENvbnRlbnRUeXBlJik7CisgICAgYm9vbCBzaG91bGRPdmVycmlkZUV4dGVuZGVk
VHlwZShjb25zdCBDb250ZW50VHlwZSYpOwogCiAgICAgT3B0aW9uYWw8SGFzaFNldDxTdHJpbmcs
IEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4+IG1fc3VwcG9ydGVkVHlwZXM7CiAgICAgT3B0aW9u
YWw8SGFzaE1hcDxTdHJpbmcsIE1lZGlhUGxheWVyRW51bXM6OlN1cHBvcnRzVHlwZSwgQVNDSUlD
YXNlSW5zZW5zaXRpdmVIYXNoPj4gbV9jYWNoZWRSZXN1bHRzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI2MTcwMzM2NzM0
OGU3OTM3NTI2MGM1YzJjZTg2ZGUwNjBlNTU3YzIuLjJlMzFlYjhlMjNiNDY4OTY0ZTE1MjJhNzcw
YzYxYmMxZWIwNjNhMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wOS0xNyAgRXJpYyBD
YXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIGNhblBs
YXlUeXBlKCdhdWRpby9tcGVnOyBjb2RlY3M9Im1wMyInKSByZXR1cm5zICIiCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDczMDkKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIG1lZGlhL21lZGlhLWNhbi1wbGF5
LW1wMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21lZGlhLWNhbi1wbGF5
LW1wMy5odG1sOiBBZGRlZC4KKwogMjAyMC0wOS0xNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIE1lcmdlIFBlcmlvZGljV2F2ZSBpbXByb3ZlbWVudHMgZnJvbSBC
bGluawpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY2FuLXBsYXktbXAzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNhbi1wbGF5LW1wMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzc1OTY2Y2ViY2VmODIxYWJiMzBkYzI2NWMyZjg1MGNkNjNiNzlj
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLWNhbi1wbGF5LW1w
My1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACisKK1Rlc3QgSFRNTE1lZGlhRWxlbWVudCBj
YW5QbGF5VHlwZSgpIG1ldGhvZCBmb3IgYSBub24gc3RhbmRhcmQsIGJ1dCBjb21tb25seSB1c2Vk
LCBNUDMgbWltZSB0eXBlLgorCitFWFBFQ1RFRCAodmlkZW8uY2FuUGxheVR5cGUoJ2F1ZGlvL21w
ZWcnKSA9PSAnbWF5YmUnKSBPSworRVhQRUNURUQgKHZpZGVvLmNhblBsYXlUeXBlKCdhdWRpby9t
cGVnOyBjb2RlY3M9Im1wMyInKSA9PSAncHJvYmFibHknKSBPSworRVhQRUNURUQgKHZpZGVvLmNh
blBsYXlUeXBlKCdhdWRpby9tcGVnO2NvZGVjcz0ibXAzIicpID09ICdwcm9iYWJseScpIE9LCitF
WFBFQ1RFRCAodmlkZW8uY2FuUGxheVR5cGUoJ2F1ZGlvL21wZWc7IGNvZGVjcz0ieHAzIicpID09
ICcnKSBPSworRU5EIE9GIFRFU1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtY2FuLXBsYXktbXAzLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jYW4tcGxheS1t
cDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kY2I3N2Y5ZDI0YWVkMGMzMzhiYjA1MTJhODcxYWI1NTE0NGQ2
MzM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY2FuLXBsYXkt
bXAzLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8
aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9InZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgZnVuY3Rpb24gc3RhcnQoKSB7CisgICAgICAgICAgICAg
dmlkZW8gPSBtZWRpYUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlk
ZW8nKVswXTsKKworICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY2FuUGxheVR5cGUo
J2F1ZGlvL21wZWcnKSIsICJtYXliZSIpOworICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlk
ZW8uY2FuUGxheVR5cGUoJ2F1ZGlvL21wZWc7ICAgY29kZWNzPVwibXAzXCInKSIsICJwcm9iYWJs
eSIpOworICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidmlkZW8uY2FuUGxheVR5cGUoJ2F1ZGlv
L21wZWc7Y29kZWNzPVwibXAzXCInKSIsICJwcm9iYWJseSIpOworICAgICAgICAgICAgIHRlc3RF
eHBlY3RlZCgidmlkZW8uY2FuUGxheVR5cGUoJ2F1ZGlvL21wZWc7IGNvZGVjcz1cInhwM1wiJyki
LCAiIik7CisKKyAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICB9CisgICAgICAgIDwv
c2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InN0YXJ0KCkiPgorICAgICAg
ICA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KKyAgICAgICAgPHA+VGVzdCBIVE1MTWVkaWFFbGVt
ZW50IDxlbT5jYW5QbGF5VHlwZSgpPC9lbT4gbWV0aG9kIGZvciBhIG5vbiBzdGFuZGFyZCwgYnV0
IGNvbW1vbmx5IHVzZWQsIE1QMyBtaW1lIHR5cGUuPC9wPgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>