<?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>197905</bug_id>
          
          <creation_ts>2019-05-14 23:15:38 -0700</creation_ts>
          <short_desc>Make LOG_WITH_STREAM more efficient</short_desc>
          <delta_ts>2019-05-15 11:58:02 -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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1536353</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-14 23:15:38 -0700</bug_when>
    <thetext>Make LOG_WITH_STREAM more efficient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536355</commentid>
    <comment_count>1</comment_count>
      <attachid>369929</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-14 23:18:44 -0700</bug_when>
    <thetext>Created attachment 369929
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536417</commentid>
    <comment_count>2</comment_count>
      <attachid>369929</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-05-15 07:48:13 -0700</bug_when>
    <thetext>Comment on attachment 369929
Patch

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

&gt; Source/WTF/wtf/text/TextStream.h:109
&gt; +    struct repeat {
&gt; +        repeat(char inCharacter, unsigned inWidth)
&gt; +            : width(inWidth)
&gt; +            , character(inCharacter)
&gt; +        { }

I think this should be named Repeat.
I think initializer lists could be used instead of this constructor.

&gt; Source/WebCore/PAL/pal/LogMacros.h:35
&gt; +        if (JOIN_LOG_CHANNEL_WITH_PREFIX(LOG_CHANNEL_PREFIX, channel).state == WTFLogChannelState::On) { \

This seems like an obvious check we should&apos;ve done before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536430</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-15 08:41:54 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #2)
&gt; Comment on attachment 369929 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=369929&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/text/TextStream.h:109
&gt; &gt; +    struct repeat {
&gt; &gt; +        repeat(char inCharacter, unsigned inWidth)
&gt; &gt; +            : width(inWidth)
&gt; &gt; +            , character(inCharacter)
&gt; &gt; +        { }
&gt; 
&gt; I think this should be named Repeat.
&gt; I think initializer lists could be used instead of this constructor.

So the call site would look like:
stream &lt;&lt; Repeat({&apos; &apos;, 10}) &lt;&lt; &quot;foopy&quot;
?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536440</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-05-15 09:03:05 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
stream &lt;&lt; Repeat {&apos; &apos;, 10} &lt;&lt; &quot;foopy&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536448</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-15 09:24:08 -0700</bug_when>
    <thetext>Sadly the compiler doesn&apos;t like initializers inside a macro invocation:
/rendering/RenderLayerCompositor.cpp:1176:69: error: too many arguments provided to function-like macro invocation
    LOG_WITH_STREAM(Compositing, stream &lt;&lt; TextStream::Repeat {&apos; &apos;, compositingState.depth * 2} &lt;&lt; &amp;layer &lt;&lt; &quot; computeCompositingRequirements - willBeComposited &quot; &lt;&lt; willBeComposited &lt;&lt; &quot; (backing provider candidate &quot; &lt;&lt; backingSharingState.backingProviderCandidate() &lt;&lt; &quot;)&quot;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536459</commentid>
    <comment_count>6</comment_count>
      <attachid>369961</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-15 09:52:11 -0700</bug_when>
    <thetext>Created attachment 369961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536520</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-15 11:54:28 -0700</bug_when>
    <thetext>https://trac.webkit.org/r245336</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1536524</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-15 11:58:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/50820136&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369929</attachid>
            <date>2019-05-14 23:18:44 -0700</date>
            <delta_ts>2019-05-15 08:30:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197905-20190514231844.patch</filename>
            <type>text/plain</type>
            <size>9037</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDM3NDJiMTg2NjgyOWNhZDI0NTBhZDM3
ZWIxOGZiZWY1NmI5YjJiZmMuLmEwN2MyZjdjNjYwMTRlZDY3MDgwYTY2MTMyMjgyNjlkNGVkZTJi
NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDUtMTQgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBMT0dfV0lUSF9TVFJFQU0gbW9yZSBl
ZmZpY2llbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5NzkwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhIHN0cmVhbWFibGUgcmVwZWF0KCkgY2xhc3MgdGhhdCBjYW4gYmUgdXNlZCB0byBvdXRw
dXQgYSBzZXJpZXMgb2YgY2hhcmFjdGVycy4KKyAgICAgICAgVGhpcyBpcyB1c2VmdWwgZm9yIGlu
ZGVudGluZyBvdXRwdXQuCisKKyAgICAgICAgKiB3dGYvdGV4dC9UZXh0U3RyZWFtLmg6CisgICAg
ICAgIChXVEY6OlRleHRTdHJlYW06OnJlcGVhdDo6cmVwZWF0KToKKyAgICAgICAgKFdURjo6VGV4
dFN0cmVhbTo6b3BlcmF0b3I8PCk6CisKIDIwMTktMDUtMTIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBDb21wcmVzcyBXYXRjaHBvaW50IHNpemUg
YnkgdXNpbmcgZW51bSB0eXBlIGFuZCBQYWNrZWQ8PiBkYXRhIHN0cnVjdHVyZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGU4ZDE0NDQzM2YxZTEwNTU2MWY2ZDQ4MzI1MTE3NzZkOWM1ZjI3NTkuLjYwNTc4MWYyMjA2
NjEyNGJiMTcwZDNkZTY2MTM3MTJiM2FjNzY1OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAxOS0wNS0xNCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBNYWtlIExPR19XSVRIX1NUUkVBTSBtb3JlIGVmZmljaWVudAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3OTA1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbG9uZ2VyIG5lZWQgdG8gY29u
ZGl0aW9uYWxpemUgQ2xpcFJlY3RzIGxvZ2dpbmcgb24gdGhlIGNoYW5uZWwgYmVpbmcgZW5hYmxl
ZAorICAgICAgICBzaW5jZSBMT0dfV0lUSF9TVFJFQU0gZml4IHRoZSBwZXJmb3JtYW5jZSBwcm9i
bGVtLgorCisgICAgICAgIENvbnZlcnQgc29tZSBSZW5kZXJMYXllckNvbXBvc2l0b3IgbG9nZ2lu
ZyB0byB1c2UgTE9HX1dJVEhfU1RSRUFNLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVj
dHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Y2xpcFJlY3RzTG9nRW5hYmxlZCk6IERlbGV0
ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1Jl
cXVpcmVtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnRy
YXZlcnNlVW5jaGFuZ2VkU3VidHJlZSk6CisKIDIwMTktMDUtMTIgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgV2hlbiB0aGUgc2V0IG9mIGJhY2tpbmct
c2hhcmluZyBsYXllcnMgY2hhbmdlcywgd2UgbmVlZCB0byBpc3N1ZSBhIHJlcGFpbnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCmluZGV4IDVlNzViMjU3YzNjOGZmM2ZjZTRmMWQ3YzgxN2YxZjFiYzQ4YmJiZTcu
LmQxMWViNmUwMDQ2NDU1MmE2OTE0MTRhZWZiOGZjMjYxZTBmYTdiZTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA1LTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgTE9HX1dJVEhfU1RSRUFNIG1vcmUgZWZm
aWNpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTc5MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisg
ICAgICAgIE1ha2UgdGhlIExPR19XSVRIX1NUUkVBTSBtYWNybyBjaGVjayB0aGF0IHRoZSBsb2cg
Y2hhbm5lbCBpcyBlbmFibGVkIGJlZm9yZQorICAgICAgICBidWlsZGluZyB0aGUgc3RyZWFtLgor
CisgICAgICAgICogcGFsL0xvZ01hY3Jvcy5oOgorCiAyMDE5LTA1LTEwICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24u
X2NhblNob3dXaGlsZUxvY2tlZCBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQv
VGV4dFN0cmVhbS5oIGIvU291cmNlL1dURi93dGYvdGV4dC9UZXh0U3RyZWFtLmgKaW5kZXggMjRh
MzcwYzEyOWIzY2VlOGJkYTQ4YzM0NTQ5NTUzNzQ2YTA4NDRkNC4uZTVmZjMxMzZjYjc1N2I3ZmMx
ZWI3MjVkMjI0M2VlZTFlODRiMjYxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9U
ZXh0U3RyZWFtLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9UZXh0U3RyZWFtLmgKQEAgLTEw
Miw2ICsxMDIsMjQgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gKCpmdW5jKSgqdGhpcyk7CiAg
ICAgfQogCisgICAgc3RydWN0IHJlcGVhdCB7CisgICAgICAgIHJlcGVhdChjaGFyIGluQ2hhcmFj
dGVyLCB1bnNpZ25lZCBpbldpZHRoKQorICAgICAgICAgICAgOiB3aWR0aChpbldpZHRoKQorICAg
ICAgICAgICAgLCBjaGFyYWN0ZXIoaW5DaGFyYWN0ZXIpCisgICAgICAgIHsgfQorICAgICAgICAK
KyAgICAgICAgdW5zaWduZWQgd2lkdGg7CisgICAgICAgIGNoYXIgY2hhcmFjdGVyOworICAgIH07
CisKKyAgICBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KGNvbnN0IHJlcGVhdCYgcmVwZWF0ZWQpCisg
ICAgeworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcmVwZWF0ZWQud2lkdGg7ICsr
aSkKKyAgICAgICAgICAgIG1fdGV4dC5hcHBlbmQocmVwZWF0ZWQuY2hhcmFjdGVyKTsKKworICAg
ICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorCiAgICAgY2xhc3MgSW5kZW50U2NvcGUgewogICAg
IHB1YmxpYzoKICAgICAgICAgSW5kZW50U2NvcGUoVGV4dFN0cmVhbSYgdHMsIGludCBhbW91bnQg
PSAxKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9Mb2dNYWNyb3MuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvTG9nTWFjcm9zLmgKaW5kZXggNDE4MTM0YTM1NzVmODkxY2Y3
ODc1ZDBjZjhiYTkyZWE0ODZkNTgwNC4uNzQ1NTgzNjQ1OWRiZDhmMzJlOGFjMTAyMGM2ZDg3OTZm
Nzg0ZDRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9Mb2dNYWNyb3MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0xvZ01hY3Jvcy5oCkBAIC0zMiw5ICszMiwxMSBA
QAogI2Vsc2UKIAogI2RlZmluZSBMT0dfV0lUSF9TVFJFQU0oY2hhbm5lbCwgY29tbWFuZHMpIGRv
IHsgXAotICAgICAgICBXVEY6OlRleHRTdHJlYW0gc3RyZWFtKFdURjo6VGV4dFN0cmVhbTo6TGlu
ZU1vZGU6OlNpbmdsZUxpbmUpOyBcCi0gICAgICAgIGNvbW1hbmRzOyBcCi0gICAgICAgIFdURkxv
ZygmSk9JTl9MT0dfQ0hBTk5FTF9XSVRIX1BSRUZJWChMT0dfQ0hBTk5FTF9QUkVGSVgsIGNoYW5u
ZWwpLCAiJXMiLCBzdHJlYW0ucmVsZWFzZSgpLnV0ZjgoKS5kYXRhKCkpOyBcCisgICAgICAgIGlm
IChKT0lOX0xPR19DSEFOTkVMX1dJVEhfUFJFRklYKExPR19DSEFOTkVMX1BSRUZJWCwgY2hhbm5l
bCkuc3RhdGUgPT0gV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbikgeyBcCisgICAgICAgICAgICBXVEY6
OlRleHRTdHJlYW0gc3RyZWFtKFdURjo6VGV4dFN0cmVhbTo6TGluZU1vZGU6OlNpbmdsZUxpbmUp
OyBcCisgICAgICAgICAgICBjb21tYW5kczsgXAorICAgICAgICAgICAgV1RGTG9nKCZKT0lOX0xP
R19DSEFOTkVMX1dJVEhfUFJFRklYKExPR19DSEFOTkVMX1BSRUZJWCwgY2hhbm5lbCksICIlcyIs
IHN0cmVhbS5yZWxlYXNlKCkudXRmOCgpLmRhdGEoKSk7IFwKKyAgICAgICAgfSBcCiAgICAgfSB3
aGlsZSAoMCkKIAogI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDdhMWRjMzhmY2YyZGU3OGEzMjBlNWZjNTg3MDQxNTY3
NzAxMTRkOTMuLmU0ODIwMzFjNDAxOGI2YWIxODVjNmMxNWU2MmNmYWU0Mjk0Mzc3YzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjgwLDEwICsyODAsNiBA
QCBzdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgQ2xp
cFJlY3RzJiBjbGlwUmVjdHMpCiAgICAgcmV0dXJuIHRzOwogfQogCi1zdGF0aWMgYm9vbCBjbGlw
UmVjdHNMb2dFbmFibGVkKCkKLXsKLSAgICByZXR1cm4gTG9nQ2xpcFJlY3RzLnN0YXRlID09IFdU
RkxvZ0NoYW5uZWxTdGF0ZTo6T247Ci19CiAjZW5kaWYKIAogUmVuZGVyTGF5ZXI6OlJlbmRlckxh
eWVyKFJlbmRlckxheWVyTW9kZWxPYmplY3QmIHJlbmRlcmVyTGF5ZXJNb2RlbE9iamVjdCkKQEAg
LTU2MjEsMTAgKzU2MTcsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMo
Y29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQwogICAgICAgICB9CiAg
ICAgfQogCi0jaWYgIUxPR19ESVNBQkxFRAotICAgIGlmIChjbGlwUmVjdHNMb2dFbmFibGVkKCkp
Ci0gICAgICAgIExPR19XSVRIX1NUUkVBTShDbGlwUmVjdHMsIHN0cmVhbSA8PCAiUmVuZGVyTGF5
ZXIgIiA8PCB0aGlzIDw8ICIgY2FsY3VsYXRlQ2xpcFJlY3RzICIgPDwgY2xpcFJlY3RzKTsKLSNl
bmRpZgorICAgIExPR19XSVRIX1NUUkVBTShDbGlwUmVjdHMsIHN0cmVhbSA8PCAiUmVuZGVyTGF5
ZXIgIiA8PCB0aGlzIDw8ICIgY2FsY3VsYXRlQ2xpcFJlY3RzICIgPDwgY2xpcFJlY3RzKTsKIH0K
IAogUmVmPENsaXBSZWN0cz4gUmVuZGVyTGF5ZXI6OnBhcmVudENsaXBSZWN0cyhjb25zdCBDbGlw
UmVjdHNDb250ZXh0JiBjbGlwUmVjdHNDb250ZXh0KSBjb25zdApAQCAtNTY3MCwxMCArNTY2Myw3
IEBAIENsaXBSZWN0IFJlbmRlckxheWVyOjpiYWNrZ3JvdW5kQ2xpcFJlY3QoY29uc3QgQ2xpcFJl
Y3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4CiAgICAgaWYgKHBhcmVudFJlY3RzLT5maXhlZCgp
ICYmICZjbGlwUmVjdHNDb250ZXh0LnJvb3RMYXllci0+cmVuZGVyZXIoKSA9PSAmdmlldyAmJiAh
YmFja2dyb3VuZENsaXBSZWN0LmlzSW5maW5pdGUoKSkKICAgICAgICAgYmFja2dyb3VuZENsaXBS
ZWN0Lm1vdmVCeSh2aWV3LmZyYW1lVmlldygpLnNjcm9sbFBvc2l0aW9uRm9yRml4ZWRQb3NpdGlv
bigpKTsKIAotI2lmICFMT0dfRElTQUJMRUQKLSAgICBpZiAoY2xpcFJlY3RzTG9nRW5hYmxlZCgp
KQotICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQ2xpcFJlY3RzLCBzdHJlYW0gPDwgIlJlbmRlckxh
eWVyICIgPDwgdGhpcyA8PCAiIGJhY2tncm91bmRDbGlwUmVjdCB3aXRoIGNvbnRleHQgIiA8PCBj
bGlwUmVjdHNDb250ZXh0IDw8ICIgcmV0dXJuaW5nICIgPDwgYmFja2dyb3VuZENsaXBSZWN0KTsK
LSNlbmRpZgorICAgIExPR19XSVRIX1NUUkVBTShDbGlwUmVjdHMsIHN0cmVhbSA8PCAiUmVuZGVy
TGF5ZXIgIiA8PCB0aGlzIDw8ICIgYmFja2dyb3VuZENsaXBSZWN0IHdpdGggY29udGV4dCAiIDw8
IGNsaXBSZWN0c0NvbnRleHQgPDwgIiByZXR1cm5pbmcgIiA8PCBiYWNrZ3JvdW5kQ2xpcFJlY3Qp
OwogICAgIHJldHVybiBiYWNrZ3JvdW5kQ2xpcFJlY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggMDdlOGNjNzli
OTVlNGYwYzNkMTc2ZDVhYzQyOWJkZDY1MWYwNGE1ZS4uZmYwZjZjNjFmZDE0MzkwNTE1ZDA2M2Vl
ODdjMGVmOWRjNTk4NGEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTk0Miw5ICs5NDIsNyBAQCB2b2lkIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVy
KiBhbmNlc3RvcgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgRU5BQkxFKFRSRUVfREVC
VUdHSU5HKQotICAgIExPRyhDb21wb3NpdGluZywgIiUqcCAlcyBjb21wdXRlQ29tcG9zaXRpbmdS
ZXF1aXJlbWVudHMgKGJhY2tpbmcgcHJvdmlkZXIgY2FuZGlkYXRlICVwKSIsIDEyICsgY29tcG9z
aXRpbmdTdGF0ZS5kZXB0aCAqIDIsICZsYXllciwgbGF5ZXIuaXNOb3JtYWxGbG93T25seSgpID8g
Im4iIDogInMiLCBiYWNraW5nU2hhcmluZ1N0YXRlLmJhY2tpbmdQcm92aWRlckNhbmRpZGF0ZSgp
KTsKLSNlbmRpZgorICAgIExPR19XSVRIX1NUUkVBTShDb21wb3NpdGluZywgc3RyZWFtIDw8IFRl
eHRTdHJlYW06OnJlcGVhdCgnICcsIGNvbXBvc2l0aW5nU3RhdGUuZGVwdGggKiAyKSA8PCAmbGF5
ZXIgPDwgKGxheWVyLmlzTm9ybWFsRmxvd09ubHkoKSA/ICIgbiIgOiAiIHMiKSA8PCAiIGNvbXB1
dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyAoYmFja2luZyBwcm92aWRlciBjYW5kaWRhdGUgIiA8
PCBiYWNraW5nU2hhcmluZ1N0YXRlLmJhY2tpbmdQcm92aWRlckNhbmRpZGF0ZSgpIDw8ICIpIik7
CiAKICAgICAvLyBGSVhNRTogbWF5YmUgd2UgY2FuIGF2b2lkIHVwZGF0aW5nIGFsbCByZW1haW5p
bmcgbGF5ZXJzIGluIHBhaW50IG9yZGVyLgogICAgIGNvbXBvc2l0aW5nU3RhdGUuZnVsbFBhaW50
T3JkZXJUcmF2ZXJzYWxSZXF1aXJlZCB8PSBsYXllci5uZWVkc0NvbXBvc2l0aW5nUmVxdWlyZW1l
bnRzVHJhdmVyc2FsKCk7CkBAIC0xMTcyLDEzICsxMTcwLDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTGF5ZXIqIGFu
Y2VzdG9yCiAgICAgICAgIGxheWVyLnNldE5lZWRzQ29tcG9zaXRpbmdMYXllckNvbm5lY3Rpb24o
KTsKICAgICB9CiAKLSNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCi0gICAgTE9HKENvbXBvc2l0
aW5nLCAiJSpwIGNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyAtIHdpbGxCZUNvbXBvc2l0
ZWQgJWQgKGJhY2tpbmcgcHJvdmlkZXIgY2FuZGlkYXRlICVwKSIsIDEyICsgY29tcG9zaXRpbmdT
dGF0ZS5kZXB0aCAqIDIsICZsYXllciwgd2lsbEJlQ29tcG9zaXRlZCwgYmFja2luZ1NoYXJpbmdT
dGF0ZS5iYWNraW5nUHJvdmlkZXJDYW5kaWRhdGUoKSk7Ci0jZW5kaWYKLQogICAgIGxheWVyLmNs
ZWFyQ29tcG9zaXRpbmdSZXF1aXJlbWVudHNUcmF2ZXJzYWxTdGF0ZSgpOwotICAgIAogICAgIG92
ZXJsYXBNYXAuZ2VvbWV0cnlNYXAoKS5wb3BNYXBwaW5nc1RvQW5jZXN0b3IoYW5jZXN0b3JMYXll
cik7CisKKyAgICBMT0dfV0lUSF9TVFJFQU0oQ29tcG9zaXRpbmcsIHN0cmVhbSA8PCBUZXh0U3Ry
ZWFtOjpyZXBlYXQoJyAnLCBjb21wb3NpdGluZ1N0YXRlLmRlcHRoICogMikgPDwgJmxheWVyIDw8
ICIgY29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzIC0gd2lsbEJlQ29tcG9zaXRlZCAiIDw8
IHdpbGxCZUNvbXBvc2l0ZWQgPDwgIiAoYmFja2luZyBwcm92aWRlciBjYW5kaWRhdGUgIiA8PCBi
YWNraW5nU2hhcmluZ1N0YXRlLmJhY2tpbmdQcm92aWRlckNhbmRpZGF0ZSgpIDw8ICIpIik7CiB9
CiAKIC8vIFdlIGhhdmUgdG8gdHJhdmVyc2UgdW5jaGFuZ2VkIGxheWVycyB0byBmaWxsIGluIHRo
ZSBvdmVybGFwIG1hcC4KQEAgLTExODgsOSArMTE4Myw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjp0cmF2ZXJzZVVuY2hhbmdlZFN1YnRyZWUoUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5
ZXIsCiAgICAgQVNTRVJUKCFsYXllci5oYXNEZXNjZW5kYW50TmVlZGluZ0NvbXBvc2l0aW5nUmVx
dWlyZW1lbnRzVHJhdmVyc2FsKCkpOwogICAgIEFTU0VSVCghbGF5ZXIubmVlZHNDb21wb3NpdGlu
Z1JlcXVpcmVtZW50c1RyYXZlcnNhbCgpKTsKIAotI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykK
LSAgICBMT0coQ29tcG9zaXRpbmcsICIlKnAgdHJhdmVyc2VVbmNoYW5nZWRTdWJ0cmVlIiwgMTIg
KyBjb21wb3NpdGluZ1N0YXRlLmRlcHRoICogMiwgJmxheWVyKTsKLSNlbmRpZgorICAgIExPR19X
SVRIX1NUUkVBTShDb21wb3NpdGluZywgc3RyZWFtIDw8IFRleHRTdHJlYW06OnJlcGVhdCgnICcs
IGNvbXBvc2l0aW5nU3RhdGUuZGVwdGggKiAyKSA8PCAmbGF5ZXIgPDwgKGxheWVyLmlzTm9ybWFs
Rmxvd09ubHkoKSA/ICIgbiIgOiAiIHMiKSA8PCAiIHRyYXZlcnNlVW5jaGFuZ2VkU3VidHJlZSIp
OwogCiAgICAgbGF5ZXIudXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKCk7CiAgICAgbGF5
ZXIudXBkYXRlTGF5ZXJMaXN0c0lmTmVlZGVkKCk7Cg==
</data>
<flag name="review"
          id="385948"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>369961</attachid>
            <date>2019-05-15 09:52:11 -0700</date>
            <delta_ts>2019-05-15 09:52:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197905-20190515095210.patch</filename>
            <type>text/plain</type>
            <size>9674</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1MjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDM3NDJiMTg2NjgyOWNhZDI0NTBhZDM3
ZWIxOGZiZWY1NmI5YjJiZmMuLmJmMzg2ZWMwODJlYTQ3ODY0NmQzNzAxMzI2YjQyZmZhNTI1OWRh
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDUtMTUgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBMT0dfV0lUSF9TVFJFQU0gbW9yZSBl
ZmZpY2llbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5NzkwNQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAg
ICAgQWRkIGEgc3RyZWFtYWJsZSByZXBlYXQoKSBjbGFzcyB0aGF0IGNhbiBiZSB1c2VkIHRvIG91
dHB1dCBhIHNlcmllcyBvZiBjaGFyYWN0ZXJzLgorICAgICAgICBUaGlzIGlzIHVzZWZ1bCBmb3Ig
aW5kZW50aW5nIG91dHB1dC4KKworICAgICAgICAqIHd0Zi90ZXh0L1RleHRTdHJlYW0uaDoKKyAg
ICAgICAgKFdURjo6VGV4dFN0cmVhbTo6cmVwZWF0OjpyZXBlYXQpOgorICAgICAgICAoV1RGOjpU
ZXh0U3RyZWFtOjpvcGVyYXRvcjw8KToKKwogMjAxOS0wNS0xMiAgWXVzdWtlIFN1enVraSAgPHlz
dXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIENvbXByZXNzIFdhdGNocG9pbnQgc2l6
ZSBieSB1c2luZyBlbnVtIHR5cGUgYW5kIFBhY2tlZDw+IGRhdGEgc3RydWN0dXJlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggZThkMTQ0NDMzZjFlMTA1NTYxZjZkNDgzMjUxMTc3NmQ5YzVmMjc1OS4uNmIzMDEwODk4
NDA4MzAzMTczZGU2MTRlOWU4OGUzY2QwMTk5ODM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDE5LTA1LTE1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgTE9HX1dJVEhfU1RSRUFNIG1vcmUgZWZmaWNpZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTc5MDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIE5vIGxvbmdlciBuZWVkIHRv
IGNvbmRpdGlvbmFsaXplIENsaXBSZWN0cyBsb2dnaW5nIG9uIHRoZSBjaGFubmVsIGJlaW5nIGVu
YWJsZWQKKyAgICAgICAgc2luY2UgTE9HX1dJVEhfU1RSRUFNIGZpeCB0aGUgcGVyZm9ybWFuY2Ug
cHJvYmxlbS4KKworICAgICAgICBDb252ZXJ0IHNvbWUgUmVuZGVyTGF5ZXJDb21wb3NpdG9yIGxv
Z2dpbmcgdG8gdXNlIExPR19XSVRIX1NUUkVBTS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xp
cFJlY3RzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OmNsaXBSZWN0c0xvZ0VuYWJsZWQpOiBE
ZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRp
bmdSZXF1aXJlbWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9y
Ojp0cmF2ZXJzZVVuY2hhbmdlZFN1YnRyZWUpOgorCiAyMDE5LTA1LTEyICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdoZW4gdGhlIHNldCBvZiBiYWNr
aW5nLXNoYXJpbmcgbGF5ZXJzIGNoYW5nZXMsIHdlIG5lZWQgdG8gaXNzdWUgYSByZXBhaW50CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZwppbmRleCA1ZTc1YjI1N2MzYzhmZjNmY2U0ZjFkN2M4MTdmMWYxYmM0OGJi
YmU3Li45NDgwN2FmZmQ1ZjI1YmYzMTU0OWM1MWMxNTM4ZmNhNDQ4ZTk3NDA3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wNS0xNSAgU2ltb24gRnJhc2VyICA8c2lt
b24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIExPR19XSVRIX1NUUkVBTSBtb3Jl
IGVmZmljaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk3OTA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKyAgICAg
ICAgCisgICAgICAgIE1ha2UgdGhlIExPR19XSVRIX1NUUkVBTSBtYWNybyBjaGVjayB0aGF0IHRo
ZSBsb2cgY2hhbm5lbCBpcyBlbmFibGVkIGJlZm9yZQorICAgICAgICBidWlsZGluZyB0aGUgc3Ry
ZWFtLgorCisgICAgICAgICogcGFsL0xvZ01hY3Jvcy5oOgorCiAyMDE5LTA1LTEwICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFdLV2ViVmlld0NvbmZpZ3Vy
YXRpb24uX2NhblNob3dXaGlsZUxvY2tlZCBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L3RleHQvVGV4dFN0cmVhbS5oIGIvU291cmNlL1dURi93dGYvdGV4dC9UZXh0U3RyZWFtLmgKaW5k
ZXggMjRhMzcwYzEyOWIzY2VlOGJkYTQ4YzM0NTQ5NTUzNzQ2YTA4NDRkNC4uZWM3ZjI2YzQ4NjA1
MTQwOTZlMmNiMDIwMzQ4YmI1YmZjMWIzNDc0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
dGV4dC9UZXh0U3RyZWFtLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9UZXh0U3RyZWFtLmgK
QEAgLTEwMiw2ICsxMDIsMjIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gKCpmdW5jKSgqdGhp
cyk7CiAgICAgfQogCisgICAgc3RydWN0IFJlcGVhdCB7CisgICAgICAgIFJlcGVhdCh1bnNpZ25l
ZCBpbldpZHRoLCBjaGFyIGluQ2hhcmFjdGVyKQorICAgICAgICAgICAgOiB3aWR0aChpbldpZHRo
KSwgY2hhcmFjdGVyKGluQ2hhcmFjdGVyKQorICAgICAgICB7IH0KKyAgICAgICAgdW5zaWduZWQg
d2lkdGggeyAwIH07CisgICAgICAgIGNoYXIgY2hhcmFjdGVyIHsgJyAnIH07CisgICAgfTsKKwor
ICAgIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoY29uc3QgUmVwZWF0JiByZXBlYXRlZCkKKyAgICB7
CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCByZXBlYXRlZC53aWR0aDsgKytpKQor
ICAgICAgICAgICAgbV90ZXh0LmFwcGVuZChyZXBlYXRlZC5jaGFyYWN0ZXIpOworCisgICAgICAg
IHJldHVybiAqdGhpczsKKyAgICB9CisKICAgICBjbGFzcyBJbmRlbnRTY29wZSB7CiAgICAgcHVi
bGljOgogICAgICAgICBJbmRlbnRTY29wZShUZXh0U3RyZWFtJiB0cywgaW50IGFtb3VudCA9IDEp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0xvZ01hY3Jvcy5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9Mb2dNYWNyb3MuaAppbmRleCA0MTgxMzRhMzU3NWY4OTFjZjc4NzVk
MGNmOGJhOTJlYTQ4NmQ1ODA0Li43NDU1ODM2NDU5ZGJkOGYzMmU4YWMxMDIwYzZkODc5NmY3ODRk
NGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL0xvZ01hY3Jvcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvTG9nTWFjcm9zLmgKQEAgLTMyLDkgKzMyLDExIEBACiAj
ZWxzZQogCiAjZGVmaW5lIExPR19XSVRIX1NUUkVBTShjaGFubmVsLCBjb21tYW5kcykgZG8geyBc
Ci0gICAgICAgIFdURjo6VGV4dFN0cmVhbSBzdHJlYW0oV1RGOjpUZXh0U3RyZWFtOjpMaW5lTW9k
ZTo6U2luZ2xlTGluZSk7IFwKLSAgICAgICAgY29tbWFuZHM7IFwKLSAgICAgICAgV1RGTG9nKCZK
T0lOX0xPR19DSEFOTkVMX1dJVEhfUFJFRklYKExPR19DSEFOTkVMX1BSRUZJWCwgY2hhbm5lbCks
ICIlcyIsIHN0cmVhbS5yZWxlYXNlKCkudXRmOCgpLmRhdGEoKSk7IFwKKyAgICAgICAgaWYgKEpP
SU5fTE9HX0NIQU5ORUxfV0lUSF9QUkVGSVgoTE9HX0NIQU5ORUxfUFJFRklYLCBjaGFubmVsKS5z
dGF0ZSA9PSBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uKSB7IFwKKyAgICAgICAgICAgIFdURjo6VGV4
dFN0cmVhbSBzdHJlYW0oV1RGOjpUZXh0U3RyZWFtOjpMaW5lTW9kZTo6U2luZ2xlTGluZSk7IFwK
KyAgICAgICAgICAgIGNvbW1hbmRzOyBcCisgICAgICAgICAgICBXVEZMb2coJkpPSU5fTE9HX0NI
QU5ORUxfV0lUSF9QUkVGSVgoTE9HX0NIQU5ORUxfUFJFRklYLCBjaGFubmVsKSwgIiVzIiwgc3Ry
ZWFtLnJlbGVhc2UoKS51dGY4KCkuZGF0YSgpKTsgXAorICAgICAgICB9IFwKICAgICB9IHdoaWxl
ICgwKQogCiAjZW5kaWYgLy8gIUxPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAKaW5kZXggN2ExZGMzOGZjZjJkZTc4YTMyMGU1ZmM1ODcwNDE1Njc3MDEx
NGQ5My4uZTQ4MjAzMWM0MDE4YjZhYjE4NWM2YzE1ZTYyY2ZhZTQyOTQzNzdjNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yODAsMTAgKzI4MCw2IEBAIHN0
YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBDbGlwUmVj
dHMmIGNsaXBSZWN0cykKICAgICByZXR1cm4gdHM7CiB9CiAKLXN0YXRpYyBib29sIGNsaXBSZWN0
c0xvZ0VuYWJsZWQoKQotewotICAgIHJldHVybiBMb2dDbGlwUmVjdHMuc3RhdGUgPT0gV1RGTG9n
Q2hhbm5lbFN0YXRlOjpPbjsKLX0KICNlbmRpZgogCiBSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIo
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCYgcmVuZGVyZXJMYXllck1vZGVsT2JqZWN0KQpAQCAtNTYy
MSwxMCArNTYxNyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyhjb25z
dCBDbGlwUmVjdHNDb250ZXh0JiBjbGlwUmVjdHNDb250ZXh0LCBDCiAgICAgICAgIH0KICAgICB9
CiAKLSNpZiAhTE9HX0RJU0FCTEVECi0gICAgaWYgKGNsaXBSZWN0c0xvZ0VuYWJsZWQoKSkKLSAg
ICAgICAgTE9HX1dJVEhfU1RSRUFNKENsaXBSZWN0cywgc3RyZWFtIDw8ICJSZW5kZXJMYXllciAi
IDw8IHRoaXMgPDwgIiBjYWxjdWxhdGVDbGlwUmVjdHMgIiA8PCBjbGlwUmVjdHMpOwotI2VuZGlm
CisgICAgTE9HX1dJVEhfU1RSRUFNKENsaXBSZWN0cywgc3RyZWFtIDw8ICJSZW5kZXJMYXllciAi
IDw8IHRoaXMgPDwgIiBjYWxjdWxhdGVDbGlwUmVjdHMgIiA8PCBjbGlwUmVjdHMpOwogfQogCiBS
ZWY8Q2xpcFJlY3RzPiBSZW5kZXJMYXllcjo6cGFyZW50Q2xpcFJlY3RzKGNvbnN0IENsaXBSZWN0
c0NvbnRleHQmIGNsaXBSZWN0c0NvbnRleHQpIGNvbnN0CkBAIC01NjcwLDEwICs1NjYzLDcgQEAg
Q2xpcFJlY3QgUmVuZGVyTGF5ZXI6OmJhY2tncm91bmRDbGlwUmVjdChjb25zdCBDbGlwUmVjdHND
b250ZXh0JiBjbGlwUmVjdHNDb250ZXgKICAgICBpZiAocGFyZW50UmVjdHMtPmZpeGVkKCkgJiYg
JmNsaXBSZWN0c0NvbnRleHQucm9vdExheWVyLT5yZW5kZXJlcigpID09ICZ2aWV3ICYmICFiYWNr
Z3JvdW5kQ2xpcFJlY3QuaXNJbmZpbml0ZSgpKQogICAgICAgICBiYWNrZ3JvdW5kQ2xpcFJlY3Qu
bW92ZUJ5KHZpZXcuZnJhbWVWaWV3KCkuc2Nyb2xsUG9zaXRpb25Gb3JGaXhlZFBvc2l0aW9uKCkp
OwogCi0jaWYgIUxPR19ESVNBQkxFRAotICAgIGlmIChjbGlwUmVjdHNMb2dFbmFibGVkKCkpCi0g
ICAgICAgIExPR19XSVRIX1NUUkVBTShDbGlwUmVjdHMsIHN0cmVhbSA8PCAiUmVuZGVyTGF5ZXIg
IiA8PCB0aGlzIDw8ICIgYmFja2dyb3VuZENsaXBSZWN0IHdpdGggY29udGV4dCAiIDw8IGNsaXBS
ZWN0c0NvbnRleHQgPDwgIiByZXR1cm5pbmcgIiA8PCBiYWNrZ3JvdW5kQ2xpcFJlY3QpOwotI2Vu
ZGlmCisgICAgTE9HX1dJVEhfU1RSRUFNKENsaXBSZWN0cywgc3RyZWFtIDw8ICJSZW5kZXJMYXll
ciAiIDw8IHRoaXMgPDwgIiBiYWNrZ3JvdW5kQ2xpcFJlY3Qgd2l0aCBjb250ZXh0ICIgPDwgY2xp
cFJlY3RzQ29udGV4dCA8PCAiIHJldHVybmluZyAiIDw8IGJhY2tncm91bmRDbGlwUmVjdCk7CiAg
ICAgcmV0dXJuIGJhY2tncm91bmRDbGlwUmVjdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAwN2U4Y2M3OWI5NWU0
ZjBjM2QxNzZkNWFjNDI5YmRkNjUxZjA0YTVlLi42ZmJhMzA3NjdiNjBmZmEwZWM0MGY5YWZjMDA2
ZTViNzFiN2E2YTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMjUwLDcgKzI1MCw3IEBAIHN0cnVjdCBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OkNvbXBvc2l0aW5nU3RhdGUgewogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJ
TkcpCiAgICAgICAgIGNoaWxkU3RhdGUuaGFzTm90SXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdE
ZXNjZW5kYW50cyA9IGZhbHNlOyAvLyBGSVhNRTogc2hvdWxkIHRoaXMgb25seSBiZSByZXNldCBm
b3Igc3RhY2tpbmcgY29udGV4dHM/CiAjZW5kaWYKLSNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcp
CisjaWYgIUxPR19ESVNBQkxFRAogICAgICAgICBjaGlsZFN0YXRlLmRlcHRoID0gZGVwdGggKyAx
OwogI2VuZGlmCiAgICAgICAgIHJldHVybiBjaGlsZFN0YXRlOwpAQCAtMjc5LDggKzI3OSw4IEBA
IHN0cnVjdCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OkNvbXBvc2l0aW5nU3RhdGUgewogI2lmIEVO
QUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgYm9vbCBoYXNOb3RJc29sYXRlZENvbXBvc2l0ZWRC
bGVuZGluZ0Rlc2NlbmRhbnRzIHsgZmFsc2UgfTsKICNlbmRpZgotI2lmIEVOQUJMRShUUkVFX0RF
QlVHR0lORykKLSAgICBpbnQgZGVwdGggeyAwIH07CisjaWYgIUxPR19ESVNBQkxFRAorICAgIHVu
c2lnbmVkIGRlcHRoIHsgMCB9OwogI2VuZGlmCiB9OwogCkBAIC05NDIsOSArOTQyLDcgQEAgdm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhS
ZW5kZXJMYXllciogYW5jZXN0b3IKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIEVOQUJM
RShUUkVFX0RFQlVHR0lORykKLSAgICBMT0coQ29tcG9zaXRpbmcsICIlKnAgJXMgY29tcHV0ZUNv
bXBvc2l0aW5nUmVxdWlyZW1lbnRzIChiYWNraW5nIHByb3ZpZGVyIGNhbmRpZGF0ZSAlcCkiLCAx
MiArIGNvbXBvc2l0aW5nU3RhdGUuZGVwdGggKiAyLCAmbGF5ZXIsIGxheWVyLmlzTm9ybWFsRmxv
d09ubHkoKSA/ICJuIiA6ICJzIiwgYmFja2luZ1NoYXJpbmdTdGF0ZS5iYWNraW5nUHJvdmlkZXJD
YW5kaWRhdGUoKSk7Ci0jZW5kaWYKKyAgICBMT0dfV0lUSF9TVFJFQU0oQ29tcG9zaXRpbmcsIHN0
cmVhbSA8PCBUZXh0U3RyZWFtOjpSZXBlYXQoY29tcG9zaXRpbmdTdGF0ZS5kZXB0aCAqIDIsICcg
JykgPDwgJmxheWVyIDw8IChsYXllci5pc05vcm1hbEZsb3dPbmx5KCkgPyAiIG4iIDogIiBzIikg
PDwgIiBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMgKGJhY2tpbmcgcHJvdmlkZXIgY2Fu
ZGlkYXRlICIgPDwgYmFja2luZ1NoYXJpbmdTdGF0ZS5iYWNraW5nUHJvdmlkZXJDYW5kaWRhdGUo
KSA8PCAiKSIpOwogCiAgICAgLy8gRklYTUU6IG1heWJlIHdlIGNhbiBhdm9pZCB1cGRhdGluZyBh
bGwgcmVtYWluaW5nIGxheWVycyBpbiBwYWludCBvcmRlci4KICAgICBjb21wb3NpdGluZ1N0YXRl
LmZ1bGxQYWludE9yZGVyVHJhdmVyc2FsUmVxdWlyZWQgfD0gbGF5ZXIubmVlZHNDb21wb3NpdGlu
Z1JlcXVpcmVtZW50c1RyYXZlcnNhbCgpOwpAQCAtMTE3MiwxMyArMTE3MCwxMCBAQCB2b2lkIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRl
ckxheWVyKiBhbmNlc3RvcgogICAgICAgICBsYXllci5zZXROZWVkc0NvbXBvc2l0aW5nTGF5ZXJD
b25uZWN0aW9uKCk7CiAgICAgfQogCi0jaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQotICAgIExP
RyhDb21wb3NpdGluZywgIiUqcCBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMgLSB3aWxs
QmVDb21wb3NpdGVkICVkIChiYWNraW5nIHByb3ZpZGVyIGNhbmRpZGF0ZSAlcCkiLCAxMiArIGNv
bXBvc2l0aW5nU3RhdGUuZGVwdGggKiAyLCAmbGF5ZXIsIHdpbGxCZUNvbXBvc2l0ZWQsIGJhY2tp
bmdTaGFyaW5nU3RhdGUuYmFja2luZ1Byb3ZpZGVyQ2FuZGlkYXRlKCkpOwotI2VuZGlmCi0KICAg
ICBsYXllci5jbGVhckNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzVHJhdmVyc2FsU3RhdGUoKTsKLSAg
ICAKICAgICBvdmVybGFwTWFwLmdlb21ldHJ5TWFwKCkucG9wTWFwcGluZ3NUb0FuY2VzdG9yKGFu
Y2VzdG9yTGF5ZXIpOworCisgICAgTE9HX1dJVEhfU1RSRUFNKENvbXBvc2l0aW5nLCBzdHJlYW0g
PDwgVGV4dFN0cmVhbTo6UmVwZWF0KGNvbXBvc2l0aW5nU3RhdGUuZGVwdGggKiAyLCAnICcpIDw8
ICZsYXllciA8PCAiIGNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyAtIHdpbGxCZUNvbXBv
c2l0ZWQgIiA8PCB3aWxsQmVDb21wb3NpdGVkIDw8ICIgKGJhY2tpbmcgcHJvdmlkZXIgY2FuZGlk
YXRlICIgPDwgYmFja2luZ1NoYXJpbmdTdGF0ZS5iYWNraW5nUHJvdmlkZXJDYW5kaWRhdGUoKSA8
PCAiKSIpOwogfQogCiAvLyBXZSBoYXZlIHRvIHRyYXZlcnNlIHVuY2hhbmdlZCBsYXllcnMgdG8g
ZmlsbCBpbiB0aGUgb3ZlcmxhcCBtYXAuCkBAIC0xMTg4LDkgKzExODMsNyBAQCB2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6dHJhdmVyc2VVbmNoYW5nZWRTdWJ0cmVlKFJlbmRlckxheWVyKiBh
bmNlc3RvckxheWVyLAogICAgIEFTU0VSVCghbGF5ZXIuaGFzRGVzY2VuZGFudE5lZWRpbmdDb21w
b3NpdGluZ1JlcXVpcmVtZW50c1RyYXZlcnNhbCgpKTsKICAgICBBU1NFUlQoIWxheWVyLm5lZWRz
Q29tcG9zaXRpbmdSZXF1aXJlbWVudHNUcmF2ZXJzYWwoKSk7CiAKLSNpZiBFTkFCTEUoVFJFRV9E
RUJVR0dJTkcpCi0gICAgTE9HKENvbXBvc2l0aW5nLCAiJSpwIHRyYXZlcnNlVW5jaGFuZ2VkU3Vi
dHJlZSIsIDEyICsgY29tcG9zaXRpbmdTdGF0ZS5kZXB0aCAqIDIsICZsYXllcik7Ci0jZW5kaWYK
KyAgICBMT0dfV0lUSF9TVFJFQU0oQ29tcG9zaXRpbmcsIHN0cmVhbSA8PCBUZXh0U3RyZWFtOjpS
ZXBlYXQoY29tcG9zaXRpbmdTdGF0ZS5kZXB0aCAqIDIsICcgJykgPDwgJmxheWVyIDw8IChsYXll
ci5pc05vcm1hbEZsb3dPbmx5KCkgPyAiIG4iIDogIiBzIikgPDwgIiB0cmF2ZXJzZVVuY2hhbmdl
ZFN1YnRyZWUiKTsKIAogICAgIGxheWVyLnVwZGF0ZURlc2NlbmRhbnREZXBlbmRlbnRGbGFncygp
OwogICAgIGxheWVyLnVwZGF0ZUxheWVyTGlzdHNJZk5lZWRlZCgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>