<?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>227489</bug_id>
          
          <creation_ts>2021-06-29 09:39:42 -0700</creation_ts>
          <short_desc>[Modern Media Controls] Address additional feedback on LayoutTraits refactor</short_desc>
          <delta_ts>2021-08-02 09:53:01 -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>New Bugs</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=227423</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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</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>1773422</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-29 09:39:42 -0700</bug_when>
    <thetext>[Modern Media Controls] Address additional feedback on LayoutTraits refactor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773426</commentid>
    <comment_count>1</comment_count>
      <attachid>432490</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-29 09:50:42 -0700</bug_when>
    <thetext>Created attachment 432490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773427</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-29 09:52:59 -0700</bug_when>
    <thetext>This is addressing the additional post land feedback in https://bugs.webkit.org/show_bug.cgi?id=227423.

It does not address the feedback on the overridenSupportingObjectClasses() delegation point, as doing so would require some file placement factoring that seems outside the scope.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773439</commentid>
    <comment_count>3</comment_count>
      <attachid>432490</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-29 10:15:52 -0700</bug_when>
    <thetext>Comment on attachment 432490
Patch

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

r=mews, nice!  Thanks for making these changes :)

&gt; Source/WebCore/Modules/modern-media-controls/controls/ios-layout-traits.js:43
&gt; +    controlsAvailabilityOverride()

I think this is much clearer :)

&gt; Source/WebCore/Modules/modern-media-controls/controls/layout-traits.js:98
&gt; +    FallThrough  : 2,

NIT: I feel like maybe `FallThrough` should be `0` so that its the only non-override (as well as being the only falsy value)

&gt; Source/WebCore/Modules/modern-media-controls/media/media-controller.js:253
&gt; -        this._supportingObjects = this._supportingObjectClasses().map(SupportClass =&gt; new SupportClass(this), this);
&gt; +        this._supportingObjects = this.layoutTraits.supportingObjectClasses().map(SupportClass =&gt; new SupportClass(this), this);

comment #2 suggests that you weren&apos;t going to do this.  FWIW this is the idea that I had in mind, so I&apos;m on-board with this approach if it is workable :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773444</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-29 10:24:15 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #3)
&gt; Comment on attachment 432490 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=432490&amp;action=review
&gt; 
&gt; r=mews, nice!  Thanks for making these changes :)
&gt; 
&gt; &gt; Source/WebCore/Modules/modern-media-controls/controls/ios-layout-traits.js:43
&gt; &gt; +    controlsAvailabilityOverride()
&gt; 
&gt; I think this is much clearer :)
&gt; 
&gt; &gt; Source/WebCore/Modules/modern-media-controls/controls/layout-traits.js:98
&gt; &gt; +    FallThrough  : 2,
&gt; 
&gt; NIT: I feel like maybe `FallThrough` should be `0` so that its the only
&gt; non-override (as well as being the only falsy value)

Ok.

&gt; 
&gt; &gt; Source/WebCore/Modules/modern-media-controls/media/media-controller.js:253
&gt; &gt; -        this._supportingObjects = this._supportingObjectClasses().map(SupportClass =&gt; new SupportClass(this), this);
&gt; &gt; +        this._supportingObjects = this.layoutTraits.supportingObjectClasses().map(SupportClass =&gt; new SupportClass(this), this);
&gt; 
&gt; comment #2 suggests that you weren&apos;t going to do this.  FWIW this is the
&gt; idea that I had in mind, so I&apos;m on-board with this approach if it is
&gt; workable :)

Yeah, this is wrong. I borked the commit. Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773445</commentid>
    <comment_count>5</comment_count>
      <attachid>432494</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-29 10:26:29 -0700</bug_when>
    <thetext>Created attachment 432494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774976</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-06 09:40:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/80215569&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781149</commentid>
    <comment_count>7</comment_count>
      <attachid>434724</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-08-01 10:13:48 -0700</bug_when>
    <thetext>Created attachment 434724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781271</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-02 09:38:37 -0700</bug_when>
    <thetext>Committed r280534 (240166@main): &lt;https://commits.webkit.org/240166@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 434724.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781281</commentid>
    <comment_count>9</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-08-02 09:53:01 -0700</bug_when>
    <thetext>(In reply to EWS from comment #8)
&gt; Committed r280534 (240166@main): &lt;https://commits.webkit.org/240166@main&gt;
&gt; 
&gt; All reviewed patches have been landed. Closing bug and clearing flags on
&gt; attachment 434724 [details].

Well, drat. Will land the rest in new bugs.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432490</attachid>
            <date>2021-06-29 09:50:42 -0700</date>
            <delta_ts>2021-06-29 10:26:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227489-20210629095041.patch</filename>
            <type>text/plain</type>
            <size>13366</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3OTM3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA2LTI5ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xz
XSBBZGRyZXNzIGFkZGl0aW9uYWwgZmVlZGJhY2sgb24gTGF5b3V0VHJhaXRzIHJlZmFjdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc0ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIEV4dHJhY3Rz
IGxheW91dFRyYWl0cy5yZXNvdXJjZURpcmVjdG9yeSgpIG91dCBvZiBfZmlsZU5hbWVBbmRSZXNv
dXJjZURpcmVjdG9yeUZvckljb25BbmRMYXlvdXRUcmFpdHMoKQorICAgICAgICAgIHdoaWNoIGlz
IHJlbmFtZWQgdG8gX2ZpbGVOYW1lRm9ySWNvbkFuZExheW91dFRyYWl0cygpLgorICAgICAgICAt
IFJlcGxhY2VzIGNvbnRyb2xzQWx3YXlzQXZhaWxhYmxlKCkgYW5kIGNvbnRyb2xzTmV2ZXJBdmFp
bGFibGUoKSB3aXRoIHNpbmdsZQorICAgICAgICAgIGNvbnRyb2xzQXZhaWxhYmlsaXR5T3ZlcnJp
ZGUoKSBkZWxlZ2F0aW9uIHBvaW50LgorICAgICAgICAtIFJlbmFtZXMga25vYlN0eWxlRm9yU2Ny
dWJiZXIoKSB0byBrbm9iU3R5bGVGb3JUaW1lQ29udHJvbFNjcnViYmVyKCkgZm9yIGNsYXJpdHkK
KyAgICAgICAgICBvZiBwdXJwb3NlLgorICAgICAgICAtIFJlbmFtZXMgcHJvbW90ZVN1Yk1lbnVz
V2hlblNob3dpbmdNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoKSB0byBwcm9tb3RlU3ViTWVudXNX
aGVuU2hvd2luZ1RyYWNrc0NvbnRleHRNZW51KCkKKyAgICAgICAgICBmb3IgY2xhcml0eSBvZiBw
dXJwb3NlLgorICAgICAgICAtIFJlcGxhY2VzIGV2YWwoKSBiYXNlZCBsZXhpY2FsIGxvb2t1cCB3
aXRoIGFuIGV4cGxpY2l0IGB3aW5kb3cubGF5b3V0VHJhaXRzQ2xhc3Nlc2AKKyAgICAgICAgICBy
ZWdpc3RyeSBtYXAuCisKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9j
b250cm9scy9pY29uLXNlcnZpY2UuanM6CisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvaW9zLWxheW91dC10cmFpdHMuanM6CisgICAgICAgICogTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LXRyYWl0cy5qczoKKyAgICAg
ICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1sYXlvdXQt
dHJhaXRzLmpzOgorICAgICAgICAqIE1vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRy
b2xzL3RpbWUtY29udHJvbC5qczoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy93YXRjaG9zLWxheW91dC10cmFpdHMuanM6CisgICAgICAgICogTW9kdWxl
cy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvbWVkaWEtY29udHJvbGxlci5qczoKKyAgICAg
ICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS90cmFja3Mtc3VwcG9ydC5q
czoKKwogMjAyMS0wNi0yOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IE51bGxwdHIgY3Jhc2ggaW4gSFRNTFN0YWNrSXRlbTo6Y3JlYXRlIHZpYSBEb2N1bWVudEZyYWdt
ZW50OjpwYXJzZUhUTUwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL2ljb24tc2VydmljZS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pY29uLXNlcnZp
Y2UuanMJKHJldmlzaW9uIDI3OTM3NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2ljb24tc2VydmljZS5qcwkod29ya2luZyBjb3B5KQpA
QCAtNzMsNyArNzMsOCBAQCBjb25zdCBpY29uU2VydmljZSA9IG5ldyBjbGFzcyBJY29uU2Vydmlj
CiAKICAgICBpbWFnZUZvckljb25BbmRMYXlvdXRUcmFpdHMoaWNvbiwgbGF5b3V0VHJhaXRzKQog
ICAgIHsKLSAgICAgICAgY29uc3QgW2ZpbGVOYW1lLCByZXNvdXJjZURpcmVjdG9yeV0gPSB0aGlz
Ll9maWxlTmFtZUFuZFJlc291cmNlRGlyZWN0b3J5Rm9ySWNvbkFuZExheW91dFRyYWl0cyhpY29u
LCBsYXlvdXRUcmFpdHMpOworICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHRoaXMuX2ZpbGVOYW1l
Rm9ySWNvbkFuZExheW91dFRyYWl0cyhpY29uLCBsYXlvdXRUcmFpdHMpOworICAgICAgICBjb25z
dCByZXNvdXJjZURpcmVjdG9yeSA9IGxheW91dFRyYWl0cy5yZXNvdXJjZURpcmVjdG9yeSgpOwog
ICAgICAgICBjb25zdCBwYXRoID0gYCR7cmVzb3VyY2VEaXJlY3Rvcnl9LyR7ZmlsZU5hbWV9LiR7
aWNvbi50eXBlfWA7CiAKICAgICAgICAgbGV0IGltYWdlID0gdGhpcy5pbWFnZXNbcGF0aF07CkBA
IC0xMDEsMTAgKzEwMiw4IEBAIGNvbnN0IGljb25TZXJ2aWNlID0gbmV3IGNsYXNzIEljb25TZXJ2
aWMKIAogICAgIC8vIFByaXZhdGUKIAotICAgIF9maWxlTmFtZUFuZFJlc291cmNlRGlyZWN0b3J5
Rm9ySWNvbkFuZExheW91dFRyYWl0cyhpY29uLCBsYXlvdXRUcmFpdHMpCisgICAgX2ZpbGVOYW1l
Rm9ySWNvbkFuZExheW91dFRyYWl0cyhpY29uLCBsYXlvdXRUcmFpdHMpCiAgICAgewotICAgICAg
ICBsZXQgcmVzb3VyY2VEaXJlY3RvcnkgPSBsYXlvdXRUcmFpdHMucmVzb3VyY2VEaXJlY3Rvcnko
KTsKLQogICAgICAgICBsZXQgaWNvbk5hbWUgPSBpY29uLm5hbWU7CiAgICAgICAgIGlmIChsYXlv
dXRUcmFpdHMuc3VwcG9ydHNJY29uV2l0aEZ1bGxzY3JlZW5WYXJpYW50KCkgJiYgSWNvbnNXaXRo
RnVsbHNjcmVlblZhcmlhbnRzLmluY2x1ZGVzKGljb24pKQogICAgICAgICAgICAgaWNvbk5hbWUg
Kz0gIi1mdWxsc2NyZWVuIjsKQEAgLTExMyw3ICsxMTIsNyBAQCBjb25zdCBpY29uU2VydmljZSA9
IG5ldyBjbGFzcyBJY29uU2VydmljCiAgICAgICAgIGlmIChpY29uLnR5cGUgPT09ICJwbmciKQog
ICAgICAgICAgICAgZmlsZU5hbWUgPSBgJHtpY29uTmFtZX1AJHt3aW5kb3cuZGV2aWNlUGl4ZWxS
YXRpb314YDsKIAotICAgICAgICByZXR1cm4gW2ZpbGVOYW1lLCByZXNvdXJjZURpcmVjdG9yeV07
CisgICAgICAgIHJldHVybiBmaWxlTmFtZTsKICAgICB9CiAKIH07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pb3MtbGF5b3V0LXRy
YWl0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9pb3MtbGF5b3V0LXRyYWl0cy5qcwkocmV2aXNpb24gMjc5Mzc0
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvaW9zLWxheW91dC10cmFpdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTQwLDE0ICs0MCwxMSBA
QCBjbGFzcyBJT1NMYXlvdXRUcmFpdHMgZXh0ZW5kcyBMYXlvdXRUcmFpCiAgICAgICAgIHJldHVy
biAiaU9TIjsKICAgICB9CiAKLSAgICBjb250cm9sc0Fsd2F5c0F2YWlsYWJsZSgpCisgICAgY29u
dHJvbHNBdmFpbGFiaWxpdHlPdmVycmlkZSgpCiAgICAgewotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotCi0gICAgY29udHJvbHNOZXZlckF2YWlsYWJsZSgpCi0gICAgewotICAgICAgICBy
ZXR1cm4gdGhpcy5pc0Z1bGxzY3JlZW47CisgICAgICAgIGlmICh0aGlzLmlzRnVsbHNjcmVlbikK
KyAgICAgICAgICAgIHJldHVybiBMYXlvdXRUcmFpdHMuQ29udHJvbHNBdmFpbGFiaWxpdHlPdmVy
cmlkZS5Ob3RBdmFpbGFibGU7CisgICAgICAgIHJldHVybiBMYXlvdXRUcmFpdHMuQ29udHJvbHNB
dmFpbGFiaWxpdHlPdmVycmlkZS5GYWxsVGhyb3VnaDsKICAgICB9CiAKICAgICBzdXBwb3J0c0lj
b25XaXRoRnVsbHNjcmVlblZhcmlhbnQoKQpAQCAtNTUsNyArNTIsNyBAQCBjbGFzcyBJT1NMYXlv
dXRUcmFpdHMgZXh0ZW5kcyBMYXlvdXRUcmFpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
CiAKLSAgICBrbm9iU3R5bGVGb3JTY3J1YmJlcigpCisgICAga25vYlN0eWxlRm9yVGltZUNvbnRy
b2xTY3J1YmJlcigpCiAgICAgewogICAgICAgICByZXR1cm4gU2xpZGVyLktub2JTdHlsZS5DaXJj
bGU7CiAgICAgfQpAQCAtNzUsNyArNzIsNyBAQCBjbGFzcyBJT1NMYXlvdXRUcmFpdHMgZXh0ZW5k
cyBMYXlvdXRUcmFpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIHByb21vdGVT
dWJNZW51c1doZW5TaG93aW5nTWVkaWFDb250cm9sc0NvbnRleHRNZW51KCkKKyAgICBwcm9tb3Rl
U3ViTWVudXNXaGVuU2hvd2luZ1RyYWNrc0NvbnRleHRNZW51KCkKICAgICB7CiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICB9CkBAIC04NSwzICs4Miw1IEBAIGNsYXNzIElPU0xheW91dFRyYWl0
cyBleHRlbmRzIExheW91dFRyYWkKICAgICAgICAgcmV0dXJuIGBbSU9TTGF5b3V0VHJhaXRzXWA7
CiAgICAgfQogfQorCit3aW5kb3cubGF5b3V0VHJhaXRzQ2xhc3Nlc1siSU9TTGF5b3V0VHJhaXRz
Il0gPSBJT1NMYXlvdXRUcmFpdHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVy
bi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtdHJhaXRzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xh
eW91dC10cmFpdHMuanMJKHJldmlzaW9uIDI3OTM3NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC10cmFpdHMuanMJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDEyICsyOCwxMiBAQCBjbGFzcyBMYXlvdXRUcmFpdHMKIAogICAgIGNv
bnN0cnVjdG9yKG1vZGUpCiAgICAgewotICAgICAgICB0aGlzLm1vZGUgPSBtb2RlCisgICAgICAg
IHRoaXMubW9kZSA9IG1vZGU7CiAgICAgfQogCiAgICAgZ2V0IGlzRnVsbHNjcmVlbigpCiAgICAg
ewotICAgICAgICByZXR1cm4gdGhpcy5tb2RlID09IExheW91dFRyYWl0cy5Nb2RlLkZ1bGxzY3Jl
ZW47CisgICAgICAgIHJldHVybiB0aGlzLm1vZGUgPT09IExheW91dFRyYWl0cy5Nb2RlLkZ1bGxz
Y3JlZW47CiAgICAgfQogCiAgICAgbWVkaWFDb250cm9sc0NsYXNzKCkKQEAgLTUxLDEyICs1MSw3
IEBAIGNsYXNzIExheW91dFRyYWl0cwogICAgICAgICB0aHJvdyAiRGVyaXZlZCBjbGFzcyBtdXN0
IGltcGxlbWVudCB0aGlzIGZ1bmN0aW9uLiI7CiAgICAgfQogCi0gICAgY29udHJvbHNBbHdheXNB
dmFpbGFibGUoKQotICAgIHsKLSAgICAgICAgdGhyb3cgIkRlcml2ZWQgY2xhc3MgbXVzdCBpbXBs
ZW1lbnQgdGhpcyBmdW5jdGlvbi4iOwotICAgIH0KLQotICAgIGNvbnRyb2xzTmV2ZXJBdmFpbGFi
bGUoKQorICAgIGNvbnRyb2xzQXZhaWxhYmlsaXR5T3ZlcnJpZGUoKQogICAgIHsKICAgICAgICAg
dGhyb3cgIkRlcml2ZWQgY2xhc3MgbXVzdCBpbXBsZW1lbnQgdGhpcyBmdW5jdGlvbi4iOwogICAg
IH0KQEAgLTY2LDcgKzYxLDcgQEAgY2xhc3MgTGF5b3V0VHJhaXRzCiAgICAgICAgIHRocm93ICJE
ZXJpdmVkIGNsYXNzIG11c3QgaW1wbGVtZW50IHRoaXMgZnVuY3Rpb24uIjsKICAgICB9CiAKLSAg
ICBrbm9iU3R5bGVGb3JTY3J1YmJlcigpCisgICAga25vYlN0eWxlRm9yVGltZUNvbnRyb2xTY3J1
YmJlcigpCiAgICAgewogICAgICAgICB0aHJvdyAiRGVyaXZlZCBjbGFzcyBtdXN0IGltcGxlbWVu
dCB0aGlzIGZ1bmN0aW9uLiI7CiAgICAgfQpAQCAtODYsNyArODEsNyBAQCBjbGFzcyBMYXlvdXRU
cmFpdHMKICAgICAgICAgdGhyb3cgIkRlcml2ZWQgY2xhc3MgbXVzdCBpbXBsZW1lbnQgdGhpcyBm
dW5jdGlvbi4iOwogICAgIH0KICAgICAKLSAgICBwcm9tb3RlU3ViTWVudXNXaGVuU2hvd2luZ01l
ZGlhQ29udHJvbHNDb250ZXh0TWVudSgpCisgICAgcHJvbW90ZVN1Yk1lbnVzV2hlblNob3dpbmdU
cmFja3NDb250ZXh0TWVudSgpCiAgICAgewogICAgICAgICB0aHJvdyAiRGVyaXZlZCBjbGFzcyBt
dXN0IGltcGxlbWVudCB0aGlzIGZ1bmN0aW9uLiI7CiAgICAgfQpAQCAtOTQsNSArODksMTQgQEAg
Y2xhc3MgTGF5b3V0VHJhaXRzCiAKIExheW91dFRyYWl0cy5Nb2RlID0gewogICAgIElubGluZSAg
ICAgOiAwLAotICAgIEZ1bGxzY3JlZW4gOiAxCisgICAgRnVsbHNjcmVlbiA6IDEsCiB9OworCitM
YXlvdXRUcmFpdHMuQ29udHJvbHNBdmFpbGFiaWxpdHlPdmVycmlkZSA9IHsKKyAgICBBdmFpbGFi
bGUgICAgOiAwLAorICAgIE5vdEF2YWlsYWJsZSA6IDEsCisgICAgRmFsbFRocm91Z2ggIDogMiwK
K307CisKKy8vIExheW91dFRyYWl0cyBzdWJjbGFzc2VzIHNob3VsZCAicmVnaXN0ZXIiIHRoZW1z
ZWx2ZXMgYnkgYWRkaW5nIHRoZW1zZWx2ZXMgdG8gdGhpcyBtYXAuCit3aW5kb3cubGF5b3V0VHJh
aXRzQ2xhc3NlcyA9IHsgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21hY29zLWxheW91dC10cmFpdHMuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
bWFjb3MtbGF5b3V0LXRyYWl0cy5qcwkocmV2aXNpb24gMjc5Mzc0KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtbGF5b3V0LXRy
YWl0cy5qcwkod29ya2luZyBjb3B5KQpAQCAtNDIsMTQgKzQyLDExIEBAIGNsYXNzIE1hY09TTGF5
b3V0VHJhaXRzIGV4dGVuZHMgTGF5b3V0VHIKICAgICAgICAgcmV0dXJuICJtYWNPUyI7CiAgICAg
fQogCi0gICAgY29udHJvbHNBbHdheXNBdmFpbGFibGUoKQorICAgIGNvbnRyb2xzQXZhaWxhYmls
aXR5T3ZlcnJpZGUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuaXNGdWxsc2NyZWVuOwot
ICAgIH0KLQotICAgIGNvbnRyb2xzTmV2ZXJBdmFpbGFibGUoKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICBpZiAodGhpcy5pc0Z1bGxzY3JlZW4pCisgICAgICAgICAgICBy
ZXR1cm4gTGF5b3V0VHJhaXRzLkNvbnRyb2xzQXZhaWxhYmlsaXR5T3ZlcnJpZGUuQXZhaWxhYmxl
OworICAgICAgICByZXR1cm4gTGF5b3V0VHJhaXRzLkNvbnRyb2xzQXZhaWxhYmlsaXR5T3ZlcnJp
ZGUuRmFsbFRocm91Z2g7CiAgICAgfQogCiAgICAgc3VwcG9ydHNJY29uV2l0aEZ1bGxzY3JlZW5W
YXJpYW50KCkKQEAgLTU3LDcgKzU0LDcgQEAgY2xhc3MgTWFjT1NMYXlvdXRUcmFpdHMgZXh0ZW5k
cyBMYXlvdXRUcgogICAgICAgICByZXR1cm4gdGhpcy5pc0Z1bGxzY3JlZW47CiAgICAgfQogCi0g
ICAga25vYlN0eWxlRm9yU2NydWJiZXIoKQorICAgIGtub2JTdHlsZUZvclRpbWVDb250cm9sU2Ny
dWJiZXIoKQogICAgIHsKICAgICAgICAgcmV0dXJuIFNsaWRlci5Lbm9iU3R5bGUuQmFyOwogICAg
IH0KQEAgLTc3LDcgKzc0LDcgQEAgY2xhc3MgTWFjT1NMYXlvdXRUcmFpdHMgZXh0ZW5kcyBMYXlv
dXRUcgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgcHJvbW90ZVN1Yk1lbnVz
V2hlblNob3dpbmdNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoKQorICAgIHByb21vdGVTdWJNZW51
c1doZW5TaG93aW5nVHJhY2tzQ29udGV4dE1lbnUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQpAQCAtODgsMyArODUsNSBAQCBjbGFzcyBNYWNPU0xheW91dFRyYWl0cyBleHRl
bmRzIExheW91dFRyCiAgICAgICAgIHJldHVybiBgW01hY09TTGF5b3V0VHJhaXRzICR7bW9kZX1d
YDsKICAgICB9CiB9CisKK3dpbmRvdy5sYXlvdXRUcmFpdHNDbGFzc2VzWyJNYWNPU0xheW91dFRy
YWl0cyJdID0gTWFjT1NMYXlvdXRUcmFpdHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWNvbnRyb2wuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvdGltZS1jb250cm9sLmpzCShyZXZpc2lvbiAyNzkzNzQpCisrKyBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWNvbnRyb2wuanMJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgVGltZUNvbnRyb2wgZXh0ZW5kcyBM
YXlvdXRJdGVtCiAgICAgICAgIH0pOwogCiAgICAgICAgIHRoaXMuZWxhcHNlZFRpbWVMYWJlbCA9
IG5ldyBUaW1lTGFiZWwoVGltZUxhYmVsLlR5cGUuRWxhcHNlZCk7Ci0gICAgICAgIHRoaXMuc2Ny
dWJiZXIgPSBuZXcgU2xpZGVyKCJzY3J1YmJlciIsIHRoaXMubGF5b3V0VHJhaXRzLmtub2JTdHls
ZUZvclNjcnViYmVyKCkpOworICAgICAgICB0aGlzLnNjcnViYmVyID0gbmV3IFNsaWRlcigic2Ny
dWJiZXIiLCB0aGlzLmxheW91dFRyYWl0cy5rbm9iU3R5bGVGb3JUaW1lQ29udHJvbFNjcnViYmVy
KCkpOwogICAgICAgICBpZiAodGhpcy5sYXlvdXRUcmFpdHMuc3VwcG9ydHNEdXJhdGlvblRpbWVM
YWJlbCgpKQogICAgICAgICAgICAgdGhpcy5kdXJhdGlvblRpbWVMYWJlbCA9IG5ldyBUaW1lTGFi
ZWwoVGltZUxhYmVsLlR5cGUuRHVyYXRpb24pOwogICAgICAgICB0aGlzLnJlbWFpbmluZ1RpbWVM
YWJlbCA9IG5ldyBUaW1lTGFiZWwoVGltZUxhYmVsLlR5cGUuUmVtYWluaW5nKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3dhdGNo
b3MtbGF5b3V0LXRyYWl0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy93YXRjaG9zLWxheW91dC10cmFpdHMuanMJ
KHJldmlzaW9uIDI3OTM3NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL3dhdGNob3MtbGF5b3V0LXRyYWl0cy5qcwkod29ya2luZyBjb3B5
KQpAQCAtNDAsMTQgKzQwLDkgQEAgY2xhc3MgV2F0Y2hPU0xheW91dFRyYWl0cyBleHRlbmRzIExh
eW91dAogICAgICAgICByZXR1cm4gIndhdGNoT1MiOwogICAgIH0KIAotICAgIGNvbnRyb2xzQWx3
YXlzQXZhaWxhYmxlKCkKKyAgICBjb250cm9sc0F2YWlsYWJpbGl0eU92ZXJyaWRlKCkKICAgICB7
Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIGNvbnRyb2xzTmV2ZXJBdmFpbGFi
bGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gTGF5b3V0
VHJhaXRzLkNvbnRyb2xzQXZhaWxhYmlsaXR5T3ZlcnJpZGUuQXZhaWxhYmxlOwogICAgIH0KIAog
ICAgIHN1cHBvcnRzSWNvbldpdGhGdWxsc2NyZWVuVmFyaWFudCgpCkBAIC01NSw3ICs1MCw3IEBA
IGNsYXNzIFdhdGNoT1NMYXlvdXRUcmFpdHMgZXh0ZW5kcyBMYXlvdXQKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIH0KIAotICAgIGtub2JTdHlsZUZvclNjcnViYmVyKCkKKyAgICBrbm9iU3R5
bGVGb3JUaW1lQ29udHJvbFNjcnViYmVyKCkKICAgICB7CiAgICAgICAgIHJldHVybiBTbGlkZXIu
S25vYlN0eWxlLkNpcmNsZTsKICAgICB9CkBAIC03NSw3ICs3MCw3IEBAIGNsYXNzIFdhdGNoT1NM
YXlvdXRUcmFpdHMgZXh0ZW5kcyBMYXlvdXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
IAotICAgIHByb21vdGVTdWJNZW51c1doZW5TaG93aW5nTWVkaWFDb250cm9sc0NvbnRleHRNZW51
KCkKKyAgICBwcm9tb3RlU3ViTWVudXNXaGVuU2hvd2luZ1RyYWNrc0NvbnRleHRNZW51KCkKICAg
ICB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC04NSwzICs4MCw1IEBAIGNsYXNz
IFdhdGNoT1NMYXlvdXRUcmFpdHMgZXh0ZW5kcyBMYXlvdXQKICAgICAgICAgcmV0dXJuIGBbV2F0
Y2hPU0xheW91dFRyYWl0c11gOwogICAgIH0KIH0KKword2luZG93LmxheW91dFRyYWl0c0NsYXNz
ZXNbIldhdGNoT1NMYXlvdXRUcmFpdHMiXSA9IFdhdGNoT1NMYXlvdXRUcmFpdHM7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9tZWRpYS1j
b250cm9sbGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXIuanMJKHJldmlzaW9uIDI3OTM3
NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlh
L21lZGlhLWNvbnRyb2xsZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDcgQEAgY2xh
c3MgTWVkaWFDb250cm9sbGVyCiAgICAgICAgIGxldCBtb2RlID0gdGhpcy5pc0Z1bGxzY3JlZW4g
PyBMYXlvdXRUcmFpdHMuTW9kZS5GdWxsc2NyZWVuIDogTGF5b3V0VHJhaXRzLk1vZGUuSW5saW5l
OwogICAgIAogICAgICAgICBpZiAodGhpcy5ob3N0KSB7Ci0gICAgICAgICAgICBsZXQgTGF5b3V0
VHJhaXRzQ2xhc3MgPSBldmFsKHRoaXMuaG9zdC5sYXlvdXRUcmFpdHNDbGFzc05hbWUpOworICAg
ICAgICAgICAgbGV0IExheW91dFRyYWl0c0NsYXNzID0gd2luZG93LmxheW91dFRyYWl0c0NsYXNz
ZXNbbGF5b3V0VHJhaXRzQ2xhc3NOYW1lXTsKICAgICAgICAgICAgIHJldHVybiBuZXcgTGF5b3V0
VHJhaXRzQ2xhc3MobW9kZSk7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC0yNTAsNyArMjUwLDcg
QEAgY2xhc3MgTWVkaWFDb250cm9sbGVyCiAgICAgICAgIHRoaXMuX3VwZGF0ZVRleHRUcmFja3ND
bGFzc0xpc3QoKTsKICAgICAgICAgdGhpcy5fdXBkYXRlQ29udHJvbHNTaXplKCk7CiAKLSAgICAg
ICAgdGhpcy5fc3VwcG9ydGluZ09iamVjdHMgPSB0aGlzLl9zdXBwb3J0aW5nT2JqZWN0Q2xhc3Nl
cygpLm1hcChTdXBwb3J0Q2xhc3MgPT4gbmV3IFN1cHBvcnRDbGFzcyh0aGlzKSwgdGhpcyk7Cisg
ICAgICAgIHRoaXMuX3N1cHBvcnRpbmdPYmplY3RzID0gdGhpcy5sYXlvdXRUcmFpdHMuc3VwcG9y
dGluZ09iamVjdENsYXNzZXMoKS5tYXAoU3VwcG9ydENsYXNzID0+IG5ldyBTdXBwb3J0Q2xhc3Mo
dGhpcyksIHRoaXMpOwogCiAgICAgICAgIHRoaXMuY29udHJvbHMuc2hvdWxkVXNlU2luZ2xlQmFy
TGF5b3V0ID0gdGhpcy5jb250cm9scyBpbnN0YW5jZW9mIElubGluZU1lZGlhQ29udHJvbHMgJiYg
dGhpcy5pc1lvdVR1YmVFbWJlZFdpdGhUaXRsZTsKIApAQCAtMzI3LDEyICszMjcsMTcgQEAgY2xh
c3MgTWVkaWFDb250cm9sbGVyCiAKICAgICBfc2hvdWxkQ29udHJvbHNCZUF2YWlsYWJsZSgpCiAg
ICAgewotICAgICAgICBpZiAodGhpcy5sYXlvdXRUcmFpdHMuY29udHJvbHNBbHdheXNBdmFpbGFi
bGUoKSkKKyAgICAgICAgc3dpdGNoICh0aGlzLmxheW91dFRyYWl0cy5jb250cm9sc0F2YWlsYWJp
bGl0eU92ZXJyaWRlKCkpIHsKKyAgICAgICAgY2FzZSBMYXlvdXRUcmFpdHMuQ29udHJvbHNBdmFp
bGFiaWxpdHlPdmVycmlkZS5BdmFpbGFibGU6CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAot
ICAgICAgICBpZiAodGhpcy5sYXlvdXRUcmFpdHMuY29udHJvbHNOZXZlckF2YWlsYWJsZSgpKQor
ICAgICAgICBjYXNlIExheW91dFRyYWl0cy5Db250cm9sc0F2YWlsYWJpbGl0eU92ZXJyaWRlLk5v
dEF2YWlsYWJsZToKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBjYXNlIExh
eW91dFRyYWl0cy5Db250cm9sc0F2YWlsYWJpbGl0eU92ZXJyaWRlLkZhbGxUaHJvdWdoOgorICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwogICAgICAgICAvLyBPdGhlcndpc2UsIGZvciBj
b250cm9scyB0byBiZSBhdmFpbGFibGUsIHRoZSBjb250cm9scyBhdHRyaWJ1dGUgbXVzdCBiZSBw
cmVzZW50IG9uIHRoZSBtZWRpYSBlbGVtZW50CiAgICAgICAgIC8vIG9yIHRoZSBNZWRpYUNvbnRy
b2xzSG9zdCBtdXN0IGluZGljYXRlIHRoYXQgY29udHJvbHMgYXJlIGZvcmNlZC4KICAgICAgICAg
cmV0dXJuIHRoaXMubWVkaWEuY29udHJvbHMgfHwgISEodGhpcy5ob3N0ICYmIHRoaXMuaG9zdC5z
aG91bGRGb3JjZUNvbnRyb2xzRGlzcGxheSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS90cmFja3Mtc3VwcG9ydC5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS90
cmFja3Mtc3VwcG9ydC5qcwkocmV2aXNpb24gMjc5Mzc0KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvdHJhY2tzLXN1cHBvcnQuanMJKHdvcmtp
bmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgVHJhY2tzU3VwcG9ydCBleHRlbmRzIE1l
ZGlhQ29udHJvbAogICAgIGJ1dHRvbldhc1ByZXNzZWQoY29udHJvbCkKICAgICB7CiAgICAgICAg
IHRoaXMubWVkaWFDb250cm9sbGVyLnNob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoY29udHJv
bCwgewotICAgICAgICAgICAgcHJvbW90ZVN1Yk1lbnVzOiB0aGlzLm1lZGlhQ29udHJvbGxlci5s
YXlvdXRUcmFpdHMucHJvbW90ZVN1Yk1lbnVzV2hlblNob3dpbmdNZWRpYUNvbnRyb2xzQ29udGV4
dE1lbnUoKSwKKyAgICAgICAgICAgIHByb21vdGVTdWJNZW51czogdGhpcy5tZWRpYUNvbnRyb2xs
ZXIubGF5b3V0VHJhaXRzLnByb21vdGVTdWJNZW51c1doZW5TaG93aW5nVHJhY2tzQ29udGV4dE1l
bnUoKSwKICAgICAgICAgfSk7CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432494</attachid>
            <date>2021-06-29 10:26:29 -0700</date>
            <delta_ts>2021-08-01 10:13:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227489-20210629102628.patch</filename>
            <type>text/plain</type>
            <size>12868</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3OTM3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA2LTI5ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xz
XSBBZGRyZXNzIGFkZGl0aW9uYWwgZmVlZGJhY2sgb24gTGF5b3V0VHJhaXRzIHJlZmFjdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc0ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgLSBFeHRyYWN0cyBs
YXlvdXRUcmFpdHMucmVzb3VyY2VEaXJlY3RvcnkoKSBvdXQgb2YgX2ZpbGVOYW1lQW5kUmVzb3Vy
Y2VEaXJlY3RvcnlGb3JJY29uQW5kTGF5b3V0VHJhaXRzKCkKKyAgICAgICAgICB3aGljaCBpcyBy
ZW5hbWVkIHRvIF9maWxlTmFtZUZvckljb25BbmRMYXlvdXRUcmFpdHMoKS4KKyAgICAgICAgLSBS
ZXBsYWNlcyBjb250cm9sc0Fsd2F5c0F2YWlsYWJsZSgpIGFuZCBjb250cm9sc05ldmVyQXZhaWxh
YmxlKCkgd2l0aCBzaW5nbGUKKyAgICAgICAgICBjb250cm9sc0F2YWlsYWJpbGl0eU92ZXJyaWRl
KCkgZGVsZWdhdGlvbiBwb2ludC4KKyAgICAgICAgLSBSZW5hbWVzIGtub2JTdHlsZUZvclNjcnVi
YmVyKCkgdG8ga25vYlN0eWxlRm9yVGltZUNvbnRyb2xTY3J1YmJlcigpIGZvciBjbGFyaXR5Cisg
ICAgICAgICAgb2YgcHVycG9zZS4KKyAgICAgICAgLSBSZW5hbWVzIHByb21vdGVTdWJNZW51c1do
ZW5TaG93aW5nTWVkaWFDb250cm9sc0NvbnRleHRNZW51KCkgdG8gcHJvbW90ZVN1Yk1lbnVzV2hl
blNob3dpbmdUcmFja3NDb250ZXh0TWVudSgpCisgICAgICAgICAgZm9yIGNsYXJpdHkgb2YgcHVy
cG9zZS4KKyAgICAgICAgLSBSZXBsYWNlcyBldmFsKCkgYmFzZWQgbGV4aWNhbCBsb29rdXAgd2l0
aCBhbiBleHBsaWNpdCBgd2luZG93LmxheW91dFRyYWl0c0NsYXNzZXNgCisgICAgICAgICAgcmVn
aXN0cnkgbWFwLgorCisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvaWNvbi1zZXJ2aWNlLmpzOgorICAgICAgICAqIE1vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL2lvcy1sYXlvdXQtdHJhaXRzLmpzOgorICAgICAgICAqIE1vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC10cmFpdHMuanM6CisgICAgICAg
ICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtbGF5b3V0LXRy
YWl0cy5qczoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9s
cy90aW1lLWNvbnRyb2wuanM6CisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvY29udHJvbHMvd2F0Y2hvcy1sYXlvdXQtdHJhaXRzLmpzOgorICAgICAgICAqIE1vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXIuanM6CisgICAgICAg
ICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvdHJhY2tzLXN1cHBvcnQuanM6
CisKIDIwMjEtMDYtMjkgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBO
dWxscHRyIGNyYXNoIGluIEhUTUxTdGFja0l0ZW06OmNyZWF0ZSB2aWEgRG9jdW1lbnRGcmFnbWVu
dDo6cGFyc2VIVE1MCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9pY29uLXNlcnZpY2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaWNvbi1zZXJ2aWNl
LmpzCShyZXZpc2lvbiAyNzkzNzQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1t
ZWRpYS1jb250cm9scy9jb250cm9scy9pY29uLXNlcnZpY2UuanMJKHdvcmtpbmcgY29weSkKQEAg
LTczLDcgKzczLDggQEAgY29uc3QgaWNvblNlcnZpY2UgPSBuZXcgY2xhc3MgSWNvblNlcnZpYwog
CiAgICAgaW1hZ2VGb3JJY29uQW5kTGF5b3V0VHJhaXRzKGljb24sIGxheW91dFRyYWl0cykKICAg
ICB7Ci0gICAgICAgIGNvbnN0IFtmaWxlTmFtZSwgcmVzb3VyY2VEaXJlY3RvcnldID0gdGhpcy5f
ZmlsZU5hbWVBbmRSZXNvdXJjZURpcmVjdG9yeUZvckljb25BbmRMYXlvdXRUcmFpdHMoaWNvbiwg
bGF5b3V0VHJhaXRzKTsKKyAgICAgICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLl9maWxlTmFtZUZv
ckljb25BbmRMYXlvdXRUcmFpdHMoaWNvbiwgbGF5b3V0VHJhaXRzKTsKKyAgICAgICAgY29uc3Qg
cmVzb3VyY2VEaXJlY3RvcnkgPSBsYXlvdXRUcmFpdHMucmVzb3VyY2VEaXJlY3RvcnkoKTsKICAg
ICAgICAgY29uc3QgcGF0aCA9IGAke3Jlc291cmNlRGlyZWN0b3J5fS8ke2ZpbGVOYW1lfS4ke2lj
b24udHlwZX1gOwogCiAgICAgICAgIGxldCBpbWFnZSA9IHRoaXMuaW1hZ2VzW3BhdGhdOwpAQCAt
MTAxLDEwICsxMDIsOCBAQCBjb25zdCBpY29uU2VydmljZSA9IG5ldyBjbGFzcyBJY29uU2Vydmlj
CiAKICAgICAvLyBQcml2YXRlCiAKLSAgICBfZmlsZU5hbWVBbmRSZXNvdXJjZURpcmVjdG9yeUZv
ckljb25BbmRMYXlvdXRUcmFpdHMoaWNvbiwgbGF5b3V0VHJhaXRzKQorICAgIF9maWxlTmFtZUZv
ckljb25BbmRMYXlvdXRUcmFpdHMoaWNvbiwgbGF5b3V0VHJhaXRzKQogICAgIHsKLSAgICAgICAg
bGV0IHJlc291cmNlRGlyZWN0b3J5ID0gbGF5b3V0VHJhaXRzLnJlc291cmNlRGlyZWN0b3J5KCk7
Ci0KICAgICAgICAgbGV0IGljb25OYW1lID0gaWNvbi5uYW1lOwogICAgICAgICBpZiAobGF5b3V0
VHJhaXRzLnN1cHBvcnRzSWNvbldpdGhGdWxsc2NyZWVuVmFyaWFudCgpICYmIEljb25zV2l0aEZ1
bGxzY3JlZW5WYXJpYW50cy5pbmNsdWRlcyhpY29uKSkKICAgICAgICAgICAgIGljb25OYW1lICs9
ICItZnVsbHNjcmVlbiI7CkBAIC0xMTMsNyArMTEyLDcgQEAgY29uc3QgaWNvblNlcnZpY2UgPSBu
ZXcgY2xhc3MgSWNvblNlcnZpYwogICAgICAgICBpZiAoaWNvbi50eXBlID09PSAicG5nIikKICAg
ICAgICAgICAgIGZpbGVOYW1lID0gYCR7aWNvbk5hbWV9QCR7d2luZG93LmRldmljZVBpeGVsUmF0
aW99eGA7CiAKLSAgICAgICAgcmV0dXJuIFtmaWxlTmFtZSwgcmVzb3VyY2VEaXJlY3RvcnldOwor
ICAgICAgICByZXR1cm4gZmlsZU5hbWU7CiAgICAgfQogCiB9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaW9zLWxheW91dC10cmFp
dHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvaW9zLWxheW91dC10cmFpdHMuanMJKHJldmlzaW9uIDI3OTM3NCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L2lvcy1sYXlvdXQtdHJhaXRzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00MCwxNCArNDAsMTEgQEAg
Y2xhc3MgSU9TTGF5b3V0VHJhaXRzIGV4dGVuZHMgTGF5b3V0VHJhaQogICAgICAgICByZXR1cm4g
ImlPUyI7CiAgICAgfQogCi0gICAgY29udHJvbHNBbHdheXNBdmFpbGFibGUoKQorICAgIGNvbnRy
b2xzQXZhaWxhYmlsaXR5T3ZlcnJpZGUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIH0KLQotICAgIGNvbnRyb2xzTmV2ZXJBdmFpbGFibGUoKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIHRoaXMuaXNGdWxsc2NyZWVuOworICAgICAgICBpZiAodGhpcy5pc0Z1bGxzY3JlZW4pCisg
ICAgICAgICAgICByZXR1cm4gTGF5b3V0VHJhaXRzLkNvbnRyb2xzQXZhaWxhYmlsaXR5T3ZlcnJp
ZGUuTm90QXZhaWxhYmxlOworICAgICAgICByZXR1cm4gTGF5b3V0VHJhaXRzLkNvbnRyb2xzQXZh
aWxhYmlsaXR5T3ZlcnJpZGUuRmFsbFRocm91Z2g7CiAgICAgfQogCiAgICAgc3VwcG9ydHNJY29u
V2l0aEZ1bGxzY3JlZW5WYXJpYW50KCkKQEAgLTU1LDcgKzUyLDcgQEAgY2xhc3MgSU9TTGF5b3V0
VHJhaXRzIGV4dGVuZHMgTGF5b3V0VHJhaQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQog
Ci0gICAga25vYlN0eWxlRm9yU2NydWJiZXIoKQorICAgIGtub2JTdHlsZUZvclRpbWVDb250cm9s
U2NydWJiZXIoKQogICAgIHsKICAgICAgICAgcmV0dXJuIFNsaWRlci5Lbm9iU3R5bGUuQ2lyY2xl
OwogICAgIH0KQEAgLTc1LDcgKzcyLDcgQEAgY2xhc3MgSU9TTGF5b3V0VHJhaXRzIGV4dGVuZHMg
TGF5b3V0VHJhaQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBwcm9tb3RlU3Vi
TWVudXNXaGVuU2hvd2luZ01lZGlhQ29udHJvbHNDb250ZXh0TWVudSgpCisgICAgcHJvbW90ZVN1
Yk1lbnVzV2hlblNob3dpbmdUcmFja3NDb250ZXh0TWVudSgpCiAgICAgewogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQpAQCAtODUsMyArODIsNSBAQCBjbGFzcyBJT1NMYXlvdXRUcmFpdHMg
ZXh0ZW5kcyBMYXlvdXRUcmFpCiAgICAgICAgIHJldHVybiBgW0lPU0xheW91dFRyYWl0c11gOwog
ICAgIH0KIH0KKword2luZG93LmxheW91dFRyYWl0c0NsYXNzZXNbIklPU0xheW91dFRyYWl0cyJd
ID0gSU9TTGF5b3V0VHJhaXRzOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5b3V0LXRyYWl0cy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlv
dXQtdHJhaXRzLmpzCShyZXZpc2lvbiAyNzkzNzQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9sYXlvdXQtdHJhaXRzLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCwxMiArMjgsMTIgQEAgY2xhc3MgTGF5b3V0VHJhaXRzCiAKICAgICBjb25z
dHJ1Y3Rvcihtb2RlKQogICAgIHsKLSAgICAgICAgdGhpcy5tb2RlID0gbW9kZQorICAgICAgICB0
aGlzLm1vZGUgPSBtb2RlOwogICAgIH0KIAogICAgIGdldCBpc0Z1bGxzY3JlZW4oKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIHRoaXMubW9kZSA9PSBMYXlvdXRUcmFpdHMuTW9kZS5GdWxsc2NyZWVu
OworICAgICAgICByZXR1cm4gdGhpcy5tb2RlID09PSBMYXlvdXRUcmFpdHMuTW9kZS5GdWxsc2Ny
ZWVuOwogICAgIH0KIAogICAgIG1lZGlhQ29udHJvbHNDbGFzcygpCkBAIC01MSwxMiArNTEsNyBA
QCBjbGFzcyBMYXlvdXRUcmFpdHMKICAgICAgICAgdGhyb3cgIkRlcml2ZWQgY2xhc3MgbXVzdCBp
bXBsZW1lbnQgdGhpcyBmdW5jdGlvbi4iOwogICAgIH0KIAotICAgIGNvbnRyb2xzQWx3YXlzQXZh
aWxhYmxlKCkKLSAgICB7Ci0gICAgICAgIHRocm93ICJEZXJpdmVkIGNsYXNzIG11c3QgaW1wbGVt
ZW50IHRoaXMgZnVuY3Rpb24uIjsKLSAgICB9Ci0KLSAgICBjb250cm9sc05ldmVyQXZhaWxhYmxl
KCkKKyAgICBjb250cm9sc0F2YWlsYWJpbGl0eU92ZXJyaWRlKCkKICAgICB7CiAgICAgICAgIHRo
cm93ICJEZXJpdmVkIGNsYXNzIG11c3QgaW1wbGVtZW50IHRoaXMgZnVuY3Rpb24uIjsKICAgICB9
CkBAIC02Niw3ICs2MSw3IEBAIGNsYXNzIExheW91dFRyYWl0cwogICAgICAgICB0aHJvdyAiRGVy
aXZlZCBjbGFzcyBtdXN0IGltcGxlbWVudCB0aGlzIGZ1bmN0aW9uLiI7CiAgICAgfQogCi0gICAg
a25vYlN0eWxlRm9yU2NydWJiZXIoKQorICAgIGtub2JTdHlsZUZvclRpbWVDb250cm9sU2NydWJi
ZXIoKQogICAgIHsKICAgICAgICAgdGhyb3cgIkRlcml2ZWQgY2xhc3MgbXVzdCBpbXBsZW1lbnQg
dGhpcyBmdW5jdGlvbi4iOwogICAgIH0KQEAgLTg2LDcgKzgxLDcgQEAgY2xhc3MgTGF5b3V0VHJh
aXRzCiAgICAgICAgIHRocm93ICJEZXJpdmVkIGNsYXNzIG11c3QgaW1wbGVtZW50IHRoaXMgZnVu
Y3Rpb24uIjsKICAgICB9CiAgICAgCi0gICAgcHJvbW90ZVN1Yk1lbnVzV2hlblNob3dpbmdNZWRp
YUNvbnRyb2xzQ29udGV4dE1lbnUoKQorICAgIHByb21vdGVTdWJNZW51c1doZW5TaG93aW5nVHJh
Y2tzQ29udGV4dE1lbnUoKQogICAgIHsKICAgICAgICAgdGhyb3cgIkRlcml2ZWQgY2xhc3MgbXVz
dCBpbXBsZW1lbnQgdGhpcyBmdW5jdGlvbi4iOwogICAgIH0KQEAgLTk0LDUgKzg5LDE0IEBAIGNs
YXNzIExheW91dFRyYWl0cwogCiBMYXlvdXRUcmFpdHMuTW9kZSA9IHsKICAgICBJbmxpbmUgICAg
IDogMCwKLSAgICBGdWxsc2NyZWVuIDogMQorICAgIEZ1bGxzY3JlZW4gOiAxLAogfTsKKworTGF5
b3V0VHJhaXRzLkNvbnRyb2xzQXZhaWxhYmlsaXR5T3ZlcnJpZGUgPSB7CisgICAgRmFsbFRocm91
Z2ggIDogMAorICAgIEF2YWlsYWJsZSAgICA6IDEsCisgICAgTm90QXZhaWxhYmxlIDogMiwKK307
CisKKy8vIExheW91dFRyYWl0cyBzdWJjbGFzc2VzIHNob3VsZCAicmVnaXN0ZXIiIHRoZW1zZWx2
ZXMgYnkgYWRkaW5nIHRoZW1zZWx2ZXMgdG8gdGhpcyBtYXAuCit3aW5kb3cubGF5b3V0VHJhaXRz
Q2xhc3NlcyA9IHsgfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL2NvbnRyb2xzL21hY29zLWxheW91dC10cmFpdHMuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFj
b3MtbGF5b3V0LXRyYWl0cy5qcwkocmV2aXNpb24gMjc5Mzc0KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtbGF5b3V0LXRyYWl0
cy5qcwkod29ya2luZyBjb3B5KQpAQCAtNDIsMTQgKzQyLDExIEBAIGNsYXNzIE1hY09TTGF5b3V0
VHJhaXRzIGV4dGVuZHMgTGF5b3V0VHIKICAgICAgICAgcmV0dXJuICJtYWNPUyI7CiAgICAgfQog
Ci0gICAgY29udHJvbHNBbHdheXNBdmFpbGFibGUoKQorICAgIGNvbnRyb2xzQXZhaWxhYmlsaXR5
T3ZlcnJpZGUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuaXNGdWxsc2NyZWVuOwotICAg
IH0KLQotICAgIGNvbnRyb2xzTmV2ZXJBdmFpbGFibGUoKQotICAgIHsKLSAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICBpZiAodGhpcy5pc0Z1bGxzY3JlZW4pCisgICAgICAgICAgICByZXR1
cm4gTGF5b3V0VHJhaXRzLkNvbnRyb2xzQXZhaWxhYmlsaXR5T3ZlcnJpZGUuQXZhaWxhYmxlOwor
ICAgICAgICByZXR1cm4gTGF5b3V0VHJhaXRzLkNvbnRyb2xzQXZhaWxhYmlsaXR5T3ZlcnJpZGUu
RmFsbFRocm91Z2g7CiAgICAgfQogCiAgICAgc3VwcG9ydHNJY29uV2l0aEZ1bGxzY3JlZW5WYXJp
YW50KCkKQEAgLTU3LDcgKzU0LDcgQEAgY2xhc3MgTWFjT1NMYXlvdXRUcmFpdHMgZXh0ZW5kcyBM
YXlvdXRUcgogICAgICAgICByZXR1cm4gdGhpcy5pc0Z1bGxzY3JlZW47CiAgICAgfQogCi0gICAg
a25vYlN0eWxlRm9yU2NydWJiZXIoKQorICAgIGtub2JTdHlsZUZvclRpbWVDb250cm9sU2NydWJi
ZXIoKQogICAgIHsKICAgICAgICAgcmV0dXJuIFNsaWRlci5Lbm9iU3R5bGUuQmFyOwogICAgIH0K
QEAgLTc3LDcgKzc0LDcgQEAgY2xhc3MgTWFjT1NMYXlvdXRUcmFpdHMgZXh0ZW5kcyBMYXlvdXRU
cgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgcHJvbW90ZVN1Yk1lbnVzV2hl
blNob3dpbmdNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoKQorICAgIHByb21vdGVTdWJNZW51c1do
ZW5TaG93aW5nVHJhY2tzQ29udGV4dE1lbnUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQpAQCAtODgsMyArODUsNSBAQCBjbGFzcyBNYWNPU0xheW91dFRyYWl0cyBleHRlbmRz
IExheW91dFRyCiAgICAgICAgIHJldHVybiBgW01hY09TTGF5b3V0VHJhaXRzICR7bW9kZX1dYDsK
ICAgICB9CiB9CisKK3dpbmRvdy5sYXlvdXRUcmFpdHNDbGFzc2VzWyJNYWNPU0xheW91dFRyYWl0
cyJdID0gTWFjT1NMYXlvdXRUcmFpdHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWNvbnRyb2wuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
dGltZS1jb250cm9sLmpzCShyZXZpc2lvbiAyNzkzNzQpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy90aW1lLWNvbnRyb2wuanMJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgVGltZUNvbnRyb2wgZXh0ZW5kcyBMYXlv
dXRJdGVtCiAgICAgICAgIH0pOwogCiAgICAgICAgIHRoaXMuZWxhcHNlZFRpbWVMYWJlbCA9IG5l
dyBUaW1lTGFiZWwoVGltZUxhYmVsLlR5cGUuRWxhcHNlZCk7Ci0gICAgICAgIHRoaXMuc2NydWJi
ZXIgPSBuZXcgU2xpZGVyKCJzY3J1YmJlciIsIHRoaXMubGF5b3V0VHJhaXRzLmtub2JTdHlsZUZv
clNjcnViYmVyKCkpOworICAgICAgICB0aGlzLnNjcnViYmVyID0gbmV3IFNsaWRlcigic2NydWJi
ZXIiLCB0aGlzLmxheW91dFRyYWl0cy5rbm9iU3R5bGVGb3JUaW1lQ29udHJvbFNjcnViYmVyKCkp
OwogICAgICAgICBpZiAodGhpcy5sYXlvdXRUcmFpdHMuc3VwcG9ydHNEdXJhdGlvblRpbWVMYWJl
bCgpKQogICAgICAgICAgICAgdGhpcy5kdXJhdGlvblRpbWVMYWJlbCA9IG5ldyBUaW1lTGFiZWwo
VGltZUxhYmVsLlR5cGUuRHVyYXRpb24pOwogICAgICAgICB0aGlzLnJlbWFpbmluZ1RpbWVMYWJl
bCA9IG5ldyBUaW1lTGFiZWwoVGltZUxhYmVsLlR5cGUuUmVtYWluaW5nKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3dhdGNob3Mt
bGF5b3V0LXRyYWl0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy93YXRjaG9zLWxheW91dC10cmFpdHMuanMJKHJl
dmlzaW9uIDI3OTM3NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL3dhdGNob3MtbGF5b3V0LXRyYWl0cy5qcwkod29ya2luZyBjb3B5KQpA
QCAtNDAsMTQgKzQwLDkgQEAgY2xhc3MgV2F0Y2hPU0xheW91dFRyYWl0cyBleHRlbmRzIExheW91
dAogICAgICAgICByZXR1cm4gIndhdGNoT1MiOwogICAgIH0KIAotICAgIGNvbnRyb2xzQWx3YXlz
QXZhaWxhYmxlKCkKKyAgICBjb250cm9sc0F2YWlsYWJpbGl0eU92ZXJyaWRlKCkKICAgICB7Ci0g
ICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLQotICAgIGNvbnRyb2xzTmV2ZXJBdmFpbGFibGUo
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gTGF5b3V0VHJh
aXRzLkNvbnRyb2xzQXZhaWxhYmlsaXR5T3ZlcnJpZGUuQXZhaWxhYmxlOwogICAgIH0KIAogICAg
IHN1cHBvcnRzSWNvbldpdGhGdWxsc2NyZWVuVmFyaWFudCgpCkBAIC01NSw3ICs1MCw3IEBAIGNs
YXNzIFdhdGNoT1NMYXlvdXRUcmFpdHMgZXh0ZW5kcyBMYXlvdXQKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KIAotICAgIGtub2JTdHlsZUZvclNjcnViYmVyKCkKKyAgICBrbm9iU3R5bGVG
b3JUaW1lQ29udHJvbFNjcnViYmVyKCkKICAgICB7CiAgICAgICAgIHJldHVybiBTbGlkZXIuS25v
YlN0eWxlLkNpcmNsZTsKICAgICB9CkBAIC03NSw3ICs3MCw3IEBAIGNsYXNzIFdhdGNoT1NMYXlv
dXRUcmFpdHMgZXh0ZW5kcyBMYXlvdXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAot
ICAgIHByb21vdGVTdWJNZW51c1doZW5TaG93aW5nTWVkaWFDb250cm9sc0NvbnRleHRNZW51KCkK
KyAgICBwcm9tb3RlU3ViTWVudXNXaGVuU2hvd2luZ1RyYWNrc0NvbnRleHRNZW51KCkKICAgICB7
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC04NSwzICs4MCw1IEBAIGNsYXNzIFdh
dGNoT1NMYXlvdXRUcmFpdHMgZXh0ZW5kcyBMYXlvdXQKICAgICAgICAgcmV0dXJuIGBbV2F0Y2hP
U0xheW91dFRyYWl0c11gOwogICAgIH0KIH0KKword2luZG93LmxheW91dFRyYWl0c0NsYXNzZXNb
IldhdGNoT1NMYXlvdXRUcmFpdHMiXSA9IFdhdGNoT1NMYXlvdXRUcmFpdHM7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9tZWRpYS1jb250
cm9sbGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXIuanMJKHJldmlzaW9uIDI3OTM3NCkK
KysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL21l
ZGlhLWNvbnRyb2xsZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDcgQEAgY2xhc3Mg
TWVkaWFDb250cm9sbGVyCiAgICAgICAgIGxldCBtb2RlID0gdGhpcy5pc0Z1bGxzY3JlZW4gPyBM
YXlvdXRUcmFpdHMuTW9kZS5GdWxsc2NyZWVuIDogTGF5b3V0VHJhaXRzLk1vZGUuSW5saW5lOwog
ICAgIAogICAgICAgICBpZiAodGhpcy5ob3N0KSB7Ci0gICAgICAgICAgICBsZXQgTGF5b3V0VHJh
aXRzQ2xhc3MgPSBldmFsKHRoaXMuaG9zdC5sYXlvdXRUcmFpdHNDbGFzc05hbWUpOworICAgICAg
ICAgICAgbGV0IExheW91dFRyYWl0c0NsYXNzID0gd2luZG93LmxheW91dFRyYWl0c0NsYXNzZXNb
dGhpcy5ob3N0LmxheW91dFRyYWl0c0NsYXNzTmFtZV07CiAgICAgICAgICAgICByZXR1cm4gbmV3
IExheW91dFRyYWl0c0NsYXNzKG1vZGUpOwogICAgICAgICB9CiAgICAgICAgIApAQCAtMzI3LDEy
ICszMjcsMTcgQEAgY2xhc3MgTWVkaWFDb250cm9sbGVyCiAKICAgICBfc2hvdWxkQ29udHJvbHNC
ZUF2YWlsYWJsZSgpCiAgICAgewotICAgICAgICBpZiAodGhpcy5sYXlvdXRUcmFpdHMuY29udHJv
bHNBbHdheXNBdmFpbGFibGUoKSkKKyAgICAgICAgc3dpdGNoICh0aGlzLmxheW91dFRyYWl0cy5j
b250cm9sc0F2YWlsYWJpbGl0eU92ZXJyaWRlKCkpIHsKKyAgICAgICAgY2FzZSBMYXlvdXRUcmFp
dHMuQ29udHJvbHNBdmFpbGFiaWxpdHlPdmVycmlkZS5BdmFpbGFibGU6CiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKIAotICAgICAgICBpZiAodGhpcy5sYXlvdXRUcmFpdHMuY29udHJvbHNOZXZl
ckF2YWlsYWJsZSgpKQorICAgICAgICBjYXNlIExheW91dFRyYWl0cy5Db250cm9sc0F2YWlsYWJp
bGl0eU92ZXJyaWRlLk5vdEF2YWlsYWJsZToKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAor
ICAgICAgICBjYXNlIExheW91dFRyYWl0cy5Db250cm9sc0F2YWlsYWJpbGl0eU92ZXJyaWRlLkZh
bGxUaHJvdWdoOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwogICAgICAgICAvLyBP
dGhlcndpc2UsIGZvciBjb250cm9scyB0byBiZSBhdmFpbGFibGUsIHRoZSBjb250cm9scyBhdHRy
aWJ1dGUgbXVzdCBiZSBwcmVzZW50IG9uIHRoZSBtZWRpYSBlbGVtZW50CiAgICAgICAgIC8vIG9y
IHRoZSBNZWRpYUNvbnRyb2xzSG9zdCBtdXN0IGluZGljYXRlIHRoYXQgY29udHJvbHMgYXJlIGZv
cmNlZC4KICAgICAgICAgcmV0dXJuIHRoaXMubWVkaWEuY29udHJvbHMgfHwgISEodGhpcy5ob3N0
ICYmIHRoaXMuaG9zdC5zaG91bGRGb3JjZUNvbnRyb2xzRGlzcGxheSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS90cmFja3Mtc3VwcG9y
dC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9tZWRpYS90cmFja3Mtc3VwcG9ydC5qcwkocmV2aXNpb24gMjc5Mzc0KQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWVkaWEvdHJhY2tzLXN1
cHBvcnQuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgY2xhc3MgVHJhY2tzU3Vw
cG9ydCBleHRlbmRzIE1lZGlhQ29udHJvbAogICAgIGJ1dHRvbldhc1ByZXNzZWQoY29udHJvbCkK
ICAgICB7CiAgICAgICAgIHRoaXMubWVkaWFDb250cm9sbGVyLnNob3dNZWRpYUNvbnRyb2xzQ29u
dGV4dE1lbnUoY29udHJvbCwgewotICAgICAgICAgICAgcHJvbW90ZVN1Yk1lbnVzOiB0aGlzLm1l
ZGlhQ29udHJvbGxlci5sYXlvdXRUcmFpdHMucHJvbW90ZVN1Yk1lbnVzV2hlblNob3dpbmdNZWRp
YUNvbnRyb2xzQ29udGV4dE1lbnUoKSwKKyAgICAgICAgICAgIHByb21vdGVTdWJNZW51czogdGhp
cy5tZWRpYUNvbnRyb2xsZXIubGF5b3V0VHJhaXRzLnByb21vdGVTdWJNZW51c1doZW5TaG93aW5n
VHJhY2tzQ29udGV4dE1lbnUoKSwKICAgICAgICAgfSk7CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434724</attachid>
            <date>2021-08-01 10:13:48 -0700</date>
            <delta_ts>2021-08-02 09:38:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227489-20210801101347.patch</filename>
            <type>text/plain</type>
            <size>4112</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4MDUyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA4LTAxICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xz
XSBBZGRyZXNzIGFkZGl0aW9uYWwgZmVlZGJhY2sgb24gTGF5b3V0VHJhaXRzIHJlZmFjdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc0ODkKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgwMjE1NTY5PgorCisgICAgICAgIFJldmlld2VkIGJ5IERl
dmluIFJvdXNzby4KKworICAgICAgICBTcGxpdHRpbmcgdXAgbGFyZ2VyIGNoYW5nZSB0byBsYW5k
IHBpZWNlcyBpbmNyZW1lbnRhbGx5LgorCisgICAgICAgIFBhcnQgMToKKyAgICAgICAgLSBSZXBs
YWNlcyBldmFsKCkgYmFzZWQgbGV4aWNhbCBsb29rdXAgd2l0aCBhbiBleHBsaWNpdCBgd2luZG93
LmxheW91dFRyYWl0c0NsYXNzZXNgCisgICAgICAgICAgcmVnaXN0cnkgbWFwLgorCisgICAgICAg
ICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvaW9zLWxheW91dC10cmFp
dHMuanM6CisgICAgICAgICogTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
bGF5b3V0LXRyYWl0cy5qczoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9jb250cm9scy9tYWNvcy1sYXlvdXQtdHJhaXRzLmpzOgorICAgICAgICAqIE1vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3dhdGNob3MtbGF5b3V0LXRyYWl0cy5qczoKKyAg
ICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9tZWRpYS9tZWRpYS1jb250cm9s
bGVyLmpzOgorICAgICAgICAoTWVkaWFDb250cm9sbGVyLnByb3RvdHlwZS5nZXQgbGF5b3V0VHJh
aXRzKToKKwogMjAyMS0wNy0zMSAgTWFjaWVqIFN0YWNob3dpYWsgIDxtanNAYXBwbGUuY29tPgog
CiAgICAgICAgIExpc3RBdHRyaWJ1dGVUYXJnZXRPYnNlcnZlciBpcyBuZWVkbGVzc2x5IGNyZWF0
ZWQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIGxpc3QgYXR0cmlidXRlCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pb3MtbGF5b3V0LXRy
YWl0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9pb3MtbGF5b3V0LXRyYWl0cy5qcwkocmV2aXNpb24gMjgwNDc2
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJv
bHMvaW9zLWxheW91dC10cmFpdHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTg1LDMgKzg1LDUgQEAg
Y2xhc3MgSU9TTGF5b3V0VHJhaXRzIGV4dGVuZHMgTGF5b3V0VHJhaQogICAgICAgICByZXR1cm4g
YFtJT1NMYXlvdXRUcmFpdHNdYDsKICAgICB9CiB9CisKK3dpbmRvdy5sYXlvdXRUcmFpdHNDbGFz
c2VzWyJJT1NMYXlvdXRUcmFpdHMiXSA9IElPU0xheW91dFRyYWl0czsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2xheW91dC10cmFp
dHMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEt
Y29udHJvbHMvY29udHJvbHMvbGF5b3V0LXRyYWl0cy5qcwkocmV2aXNpb24gMjgwNDc2KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbGF5
b3V0LXRyYWl0cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMTAxLDMgKzEwMSw2IEBAIExheW91dFRy
YWl0cy5Nb2RlID0gewogICAgIElubGluZSAgICAgOiAwLAogICAgIEZ1bGxzY3JlZW4gOiAxCiB9
OworCisvLyBMYXlvdXRUcmFpdHMgc3ViY2xhc3NlcyBzaG91bGQgInJlZ2lzdGVyIiB0aGVtc2Vs
dmVzIGJ5IGFkZGluZyB0aGVtc2VsdmVzIHRvIHRoaXMgbWFwLgord2luZG93LmxheW91dFRyYWl0
c0NsYXNzZXMgPSB7IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRp
YS1jb250cm9scy9jb250cm9scy9tYWNvcy1sYXlvdXQtdHJhaXRzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21h
Y29zLWxheW91dC10cmFpdHMuanMJKHJldmlzaW9uIDI4MDQ3NikKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21hY29zLWxheW91dC10cmFp
dHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTg4LDMgKzg4LDUgQEAgY2xhc3MgTWFjT1NMYXlvdXRU
cmFpdHMgZXh0ZW5kcyBMYXlvdXRUcgogICAgICAgICByZXR1cm4gYFtNYWNPU0xheW91dFRyYWl0
cyAke21vZGV9XWA7CiAgICAgfQogfQorCit3aW5kb3cubGF5b3V0VHJhaXRzQ2xhc3Nlc1siTWFj
T1NMYXlvdXRUcmFpdHMiXSA9IE1hY09TTGF5b3V0VHJhaXRzOwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvd2F0Y2hvcy1sYXlvdXQt
dHJhaXRzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL3dhdGNob3MtbGF5b3V0LXRyYWl0cy5qcwkocmV2aXNpb24g
MjgwNDc2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvd2F0Y2hvcy1sYXlvdXQtdHJhaXRzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC04NSwz
ICs4NSw1IEBAIGNsYXNzIFdhdGNoT1NMYXlvdXRUcmFpdHMgZXh0ZW5kcyBMYXlvdXQKICAgICAg
ICAgcmV0dXJuIGBbV2F0Y2hPU0xheW91dFRyYWl0c11gOwogICAgIH0KIH0KKword2luZG93Lmxh
eW91dFRyYWl0c0NsYXNzZXNbIldhdGNoT1NMYXlvdXRUcmFpdHMiXSA9IFdhdGNoT1NMYXlvdXRU
cmFpdHM7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9s
cy9tZWRpYS9tZWRpYS1jb250cm9sbGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXIuanMJ
KHJldmlzaW9uIDI4MDQ3NikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlh
LWNvbnRyb2xzL21lZGlhL21lZGlhLWNvbnRyb2xsZXIuanMJKHdvcmtpbmcgY29weSkKQEAgLTk5
LDcgKzk5LDcgQEAgY2xhc3MgTWVkaWFDb250cm9sbGVyCiAgICAgICAgIGxldCBtb2RlID0gdGhp
cy5pc0Z1bGxzY3JlZW4gPyBMYXlvdXRUcmFpdHMuTW9kZS5GdWxsc2NyZWVuIDogTGF5b3V0VHJh
aXRzLk1vZGUuSW5saW5lOwogICAgIAogICAgICAgICBpZiAodGhpcy5ob3N0KSB7Ci0gICAgICAg
ICAgICBsZXQgTGF5b3V0VHJhaXRzQ2xhc3MgPSBldmFsKHRoaXMuaG9zdC5sYXlvdXRUcmFpdHND
bGFzc05hbWUpOworICAgICAgICAgICAgbGV0IExheW91dFRyYWl0c0NsYXNzID0gd2luZG93Lmxh
eW91dFRyYWl0c0NsYXNzZXNbdGhpcy5ob3N0LmxheW91dFRyYWl0c0NsYXNzTmFtZV07CiAgICAg
ICAgICAgICByZXR1cm4gbmV3IExheW91dFRyYWl0c0NsYXNzKG1vZGUpOwogICAgICAgICB9CiAg
ICAgICAgIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>