<?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>221769</bug_id>
          
          <creation_ts>2021-02-11 12:11:39 -0800</creation_ts>
          <short_desc>Reduce unnecessary string copies in ParsedRequestRange and ParsedContentRange</short_desc>
          <delta_ts>2021-03-09 16:43:36 -0800</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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1728221</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-11 12:11:39 -0800</bug_when>
    <thetext>Reduce unnecessary string copies in ParsedRequestRange and ParsedContentRange</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728223</commentid>
    <comment_count>1</comment_count>
      <attachid>420023</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-11 12:12:34 -0800</bug_when>
    <thetext>Created attachment 420023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728258</commentid>
    <comment_count>2</comment_count>
      <attachid>420035</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-11 13:24:11 -0800</bug_when>
    <thetext>Created attachment 420035
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728283</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-02-11 13:54:56 -0800</bug_when>
    <thetext>If you want to be even more efficient, you can also consider adopting StringParsingBuffer + ParserUtilities.h, which avoids a bunch of the branches StringView has to do on each call by doing the branch up front. 

Just grep in WebCore for StringParsingBuffer to see some examples of it being used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1728297</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-11 14:20:04 -0800</bug_when>
    <thetext>That&apos;s true, but I don&apos;t think there is much difference in this case because toInt64Strict and toUInt64Strict only have one check for 8-bit or 16-bit, then they call specialized parsers themselves.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730967</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-18 12:12:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/74489102&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737838</commentid>
    <comment_count>6</comment_count>
      <attachid>420035</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-03-09 16:22:23 -0800</bug_when>
    <thetext>Comment on attachment 420035
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737853</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-09 16:37:21 -0800</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 420035 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737856</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-09 16:43:36 -0800</bug_when>
    <thetext>r274187</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420023</attachid>
            <date>2021-02-11 12:12:34 -0800</date>
            <delta_ts>2021-02-11 13:24:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221769-20210211121234.patch</filename>
            <type>text/plain</type>
            <size>10378</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE3NWJmMGM1NGNlMWU1NGZiNTRmMzBm
YWIyNjQ4ZmIzMTQ2OWQ1OTYuLmNhOTRkMGU3M2I5YmQwYWNmNWVhYzg3ZDUzM2ZiZjVhMzVmYTA2
YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDItMTEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZWR1Y2UgdW5uZWNlc3Nhcnkgc3Ry
aW5nIGNvcGllcyBpbiBQYXJzZWRSZXF1ZXN0UmFuZ2UgYW5kIFBhcnNlZENvbnRlbnRSYW5nZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxNzY5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvdGV4
dC9TdHJpbmdWaWV3Lmg6CisgICAgICAgIChXVEY6OlN0cmluZ1ZpZXc6OnRvSW50NjRTdHJpY3Qg
Y29uc3QpOgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0cmluZy5oOgorCiAyMDIxLTAyLTEwICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBIQVZF
KFBFUFBFUl9VSV9DT1JFKSBpbnN0ZWFkIG9mIFBMQVRGT1JNKFdBVENIT1MpIHRvIGd1YXJkIGNv
ZGUgdGhhdCB1c2VzIFBlcHBlclVJQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc3OTNhYTI0NzFkMjIyNTE0
ZmY3MjU3NGQ4OWU2MzlhN2E0N2FkYzkuLmU1ZGNmNzIxYTQ3MDRlMjY0OTU4YWVjYTczYWQ5Y2U4
NGQ1MzIyOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0wMi0xMSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlZHVjZSB1
bm5lY2Vzc2FyeSBzdHJpbmcgY29waWVzIGluIFBhcnNlZFJlcXVlc3RSYW5nZSBhbmQgUGFyc2Vk
Q29udGVudFJhbmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjE3NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUGFyc2VkQ29udGVudFJhbmdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnBhcnNlQ29udGVudFJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhcnNlZENv
bnRlbnRSYW5nZTo6UGFyc2VkQ29udGVudFJhbmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL1BhcnNlZFJlcXVlc3RSYW5nZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXJzZWRSZXF1
ZXN0UmFuZ2U6OnBhcnNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1BhcnNlZFJlcXVl
c3RSYW5nZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFyc2VkUmVxdWVzdFJhbmdlOjpwYXJzZSk6
CisKIDIwMjEtMDItMTAgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXVtJRkNdIExvZ2ljYWwgd2lkdGggb2YgYSBsaW5lIGJveCBpcyBlcXVhbCB0byB0aGUg
aW5uZXIgbG9naWNhbCB3aWR0aCBvZiBpdHMgY29udGFpbmluZyBibG9jawpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdWaWV3LmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0
cmluZ1ZpZXcuaAppbmRleCA5MmYxMzQ2MTAwNjhiYTdmNDUxYmRjYThhZTZkY2VjZmFhY2JmNzY1
Li43YmQxYzc1OTA1Mzg3OTNmZjIzNThhNTRhYjBlYjk5ZjZlMTAyOWQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ1ZpZXcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L1N0cmluZ1ZpZXcuaApAQCAtMTcyLDYgKzE3Miw3IEBAIHB1YmxpYzoKICAgICBpbnQgdG9JbnQo
Ym9vbCYgaXNWYWxpZCkgY29uc3Q7CiAgICAgaW50IHRvSW50U3RyaWN0KGJvb2wmIGlzVmFsaWQp
IGNvbnN0OwogICAgIE9wdGlvbmFsPHVpbnQ2NF90PiB0b1VJbnQ2NFN0cmljdCgpIGNvbnN0Owor
ICAgIE9wdGlvbmFsPGludDY0X3Q+IHRvSW50NjRTdHJpY3QoKSBjb25zdDsKICAgICBmbG9hdCB0
b0Zsb2F0KGJvb2wmIGlzVmFsaWQpIGNvbnN0OwogCiAgICAgc3RhdGljIHZvaWQgaW52YWxpZGF0
ZShjb25zdCBTdHJpbmdJbXBsJik7CkBAIC02MTQsNiArNjE1LDEzIEBAIGlubGluZSBPcHRpb25h
bDx1aW50NjRfdD4gU3RyaW5nVmlldzo6dG9VSW50NjRTdHJpY3QoKSBjb25zdAogICAgIHJldHVy
biBpc1ZhbGlkID8gbWFrZU9wdGlvbmFsKHJlc3VsdCkgOiBXVEY6Om51bGxvcHQ7CiB9CiAKK2lu
bGluZSBPcHRpb25hbDxpbnQ2NF90PiBTdHJpbmdWaWV3Ojp0b0ludDY0U3RyaWN0KCkgY29uc3QK
K3sKKyAgICBib29sIGlzVmFsaWQ7CisgICAgaW50NjRfdCByZXN1bHQgPSBpczhCaXQoKSA/IGNo
YXJhY3RlcnNUb0ludDY0U3RyaWN0KGNoYXJhY3RlcnM4KCksIG1fbGVuZ3RoLCAmaXNWYWxpZCkg
OiBjaGFyYWN0ZXJzVG9JbnQ2NFN0cmljdChjaGFyYWN0ZXJzMTYoKSwgbV9sZW5ndGgsICZpc1Zh
bGlkKTsKKyAgICByZXR1cm4gaXNWYWxpZCA/IG1ha2VPcHRpb25hbChyZXN1bHQpIDogV1RGOjpu
dWxsb3B0OworfQorCiBpbmxpbmUgU3RyaW5nIFN0cmluZ1ZpZXc6OnRvU3RyaW5nV2l0aG91dENv
cHlpbmcoKSBjb25zdAogewogICAgIGlmIChpczhCaXQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3RleHQvV1RGU3RyaW5nLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5o
CmluZGV4IDA1NDEwMjJiZTZhNTU1MmVmZWYxYWExYTVjYjRiZGI3OTVhYjgyZmYuLjIyN2M4ZjEw
ZDJhMDU4NWNhZjBkMzQwMDZkYTAyMzBlMGYwMjRlMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL3RleHQvV1RGU3RyaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcu
aApAQCAtNDYsOCArNDYsOCBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgaW50IGNoYXJhY3RlcnNUb0lu
dFN0cmljdChjb25zdCBMQ2hhciosIHNpemVfdCwgYm9vbCogb2sgPSBudQogV1RGX0VYUE9SVF9Q
UklWQVRFIGludCBjaGFyYWN0ZXJzVG9JbnRTdHJpY3QoY29uc3QgVUNoYXIqLCBzaXplX3QsIGJv
b2wqIG9rID0gbnVsbHB0ciwgaW50IGJhc2UgPSAxMCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdW5z
aWduZWQgY2hhcmFjdGVyc1RvVUludFN0cmljdChjb25zdCBMQ2hhciosIHNpemVfdCwgYm9vbCog
b2sgPSBudWxscHRyLCBpbnQgYmFzZSA9IDEwKTsKIFdURl9FWFBPUlRfUFJJVkFURSB1bnNpZ25l
ZCBjaGFyYWN0ZXJzVG9VSW50U3RyaWN0KGNvbnN0IFVDaGFyKiwgc2l6ZV90LCBib29sKiBvayA9
IG51bGxwdHIsIGludCBiYXNlID0gMTApOwotaW50NjRfdCBjaGFyYWN0ZXJzVG9JbnQ2NFN0cmlj
dChjb25zdCBMQ2hhciosIHNpemVfdCwgYm9vbCogb2sgPSBudWxscHRyLCBpbnQgYmFzZSA9IDEw
KTsKLWludDY0X3QgY2hhcmFjdGVyc1RvSW50NjRTdHJpY3QoY29uc3QgVUNoYXIqLCBzaXplX3Qs
IGJvb2wqIG9rID0gbnVsbHB0ciwgaW50IGJhc2UgPSAxMCk7CitXVEZfRVhQT1JUX1BSSVZBVEUg
aW50NjRfdCBjaGFyYWN0ZXJzVG9JbnQ2NFN0cmljdChjb25zdCBMQ2hhciosIHNpemVfdCwgYm9v
bCogb2sgPSBudWxscHRyLCBpbnQgYmFzZSA9IDEwKTsKK1dURl9FWFBPUlRfUFJJVkFURSBpbnQ2
NF90IGNoYXJhY3RlcnNUb0ludDY0U3RyaWN0KGNvbnN0IFVDaGFyKiwgc2l6ZV90LCBib29sKiBv
ayA9IG51bGxwdHIsIGludCBiYXNlID0gMTApOwogV1RGX0VYUE9SVF9QUklWQVRFIHVpbnQ2NF90
IGNoYXJhY3RlcnNUb1VJbnQ2NFN0cmljdChjb25zdCBMQ2hhciosIHNpemVfdCwgYm9vbCogb2sg
PSBudWxscHRyLCBpbnQgYmFzZSA9IDEwKTsKIFdURl9FWFBPUlRfUFJJVkFURSB1aW50NjRfdCBj
aGFyYWN0ZXJzVG9VSW50NjRTdHJpY3QoY29uc3QgVUNoYXIqLCBzaXplX3QsIGJvb2wqIG9rID0g
bnVsbHB0ciwgaW50IGJhc2UgPSAxMCk7CiBpbnRwdHJfdCBjaGFyYWN0ZXJzVG9JbnRQdHJTdHJp
Y3QoY29uc3QgTENoYXIqLCBzaXplX3QsIGJvb2wqIG9rID0gbnVsbHB0ciwgaW50IGJhc2UgPSAx
MCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BhcnNlZENv
bnRlbnRSYW5nZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BhcnNlZENv
bnRlbnRSYW5nZS5jcHAKaW5kZXggMThkNDY3NTMwMTQ2ZGE1MWRhYmIzNTBhNWZiNjk3ZDQ1NGU2
MWFlOS4uNjFmNjdiNzBkMzBmYTE3ZTBkNWZmZGE3NzkwMWQ1NjBlMzZlNjI1ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QYXJzZWRDb250ZW50UmFuZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGFyc2VkQ29udGVudFJhbmdl
LmNwcApAQCAtNTEsNyArNTEsNyBAQCBzdGF0aWMgYm9vbCBhcmVDb250ZW50UmFuZ2VWYWx1ZXNW
YWxpZChpbnQ2NF90IGZpcnN0Qnl0ZVBvc2l0aW9uLCBpbnQ2NF90IGxhc3RCeQogICAgIHJldHVy
biBsYXN0Qnl0ZVBvc2l0aW9uIDwgaW5zdGFuY2VMZW5ndGg7CiB9CiAKLXN0YXRpYyBib29sIHBh
cnNlQ29udGVudFJhbmdlKGNvbnN0IFN0cmluZyYgaGVhZGVyVmFsdWUsIGludDY0X3QmIGZpcnN0
Qnl0ZVBvc2l0aW9uLCBpbnQ2NF90JiBsYXN0Qnl0ZVBvc2l0aW9uLCBpbnQ2NF90JiBpbnN0YW5j
ZUxlbmd0aCkKK3N0YXRpYyBib29sIHBhcnNlQ29udGVudFJhbmdlKFN0cmluZ1ZpZXcgaGVhZGVy
VmFsdWUsIGludDY0X3QmIGZpcnN0Qnl0ZVBvc2l0aW9uLCBpbnQ2NF90JiBsYXN0Qnl0ZVBvc2l0
aW9uLCBpbnQ2NF90JiBpbnN0YW5jZUxlbmd0aCkKIHsKICAgICAvLyBGcm9tIDxodHRwOi8vd3d3
LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2LXNlYzE0Lmh0bWw+CiAgICAgLy8gMTQu
MTYgQ29udGVudC1SYW5nZQpAQCAtNzksMzMgKzc5LDM1IEBAIHN0YXRpYyBib29sIHBhcnNlQ29u
dGVudFJhbmdlKGNvbnN0IFN0cmluZyYgaGVhZGVyVmFsdWUsIGludDY0X3QmIGZpcnN0Qnl0ZVBv
c2l0CiAgICAgaWYgKGluc3RhbmNlTGVuZ3RoU2VwYXJhdG9yVG9rZW4gPT0gbm90Rm91bmQpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGJvb2wgaXNPayA9IHRydWU7Ci0gICAgU3RyaW5n
IGZpcnN0Qnl0ZVN0cmluZyA9IGhlYWRlclZhbHVlLnN1YnN0cmluZyhwcmVmaXhMZW5ndGgsIGJ5
dGVTZXBhcmF0b3JUb2tlbkxvYyAtIHByZWZpeExlbmd0aCk7CisgICAgYXV0byBmaXJzdEJ5dGVT
dHJpbmcgPSBoZWFkZXJWYWx1ZS5zdWJzdHJpbmcocHJlZml4TGVuZ3RoLCBieXRlU2VwYXJhdG9y
VG9rZW5Mb2MgLSBwcmVmaXhMZW5ndGgpOwogICAgIGlmICghZmlyc3RCeXRlU3RyaW5nLmlzQWxs
U3BlY2lhbENoYXJhY3RlcnM8aXNBU0NJSURpZ2l0PigpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICBmaXJzdEJ5dGVQb3NpdGlvbiA9IGZpcnN0Qnl0ZVN0cmluZy50b0ludDY0U3RyaWN0
KCZpc09rKTsKLSAgICBpZiAoIWlzT2spCisgICAgYXV0byBvcHRpb25hbEZpcnN0Qnl0ZVBvc2l0
aW9uID0gZmlyc3RCeXRlU3RyaW5nLnRvSW50NjRTdHJpY3QoKTsKKyAgICBpZiAoIW9wdGlvbmFs
Rmlyc3RCeXRlUG9zaXRpb24pCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBmaXJzdEJ5dGVQ
b3NpdGlvbiA9ICpvcHRpb25hbEZpcnN0Qnl0ZVBvc2l0aW9uOwogCi0gICAgU3RyaW5nIGxhc3RC
eXRlU3RyaW5nID0gaGVhZGVyVmFsdWUuc3Vic3RyaW5nKGJ5dGVTZXBhcmF0b3JUb2tlbkxvYyAr
IDEsIGluc3RhbmNlTGVuZ3RoU2VwYXJhdG9yVG9rZW4gLSAoYnl0ZVNlcGFyYXRvclRva2VuTG9j
ICsgMSkpOworICAgIGF1dG8gbGFzdEJ5dGVTdHJpbmcgPSBoZWFkZXJWYWx1ZS5zdWJzdHJpbmco
Ynl0ZVNlcGFyYXRvclRva2VuTG9jICsgMSwgaW5zdGFuY2VMZW5ndGhTZXBhcmF0b3JUb2tlbiAt
IChieXRlU2VwYXJhdG9yVG9rZW5Mb2MgKyAxKSk7CiAgICAgaWYgKCFsYXN0Qnl0ZVN0cmluZy5p
c0FsbFNwZWNpYWxDaGFyYWN0ZXJzPGlzQVNDSUlEaWdpdD4oKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgbGFzdEJ5dGVQb3NpdGlvbiA9IGxhc3RCeXRlU3RyaW5nLnRvSW50NjRTdHJp
Y3QoJmlzT2spOwotICAgIGlmICghaXNPaykKKyAgICBhdXRvIG9wdGlvbmFsTGFzdEJ5dGVQb3Np
dGlvbiA9IGxhc3RCeXRlU3RyaW5nLnRvSW50NjRTdHJpY3QoKTsKKyAgICBpZiAoIW9wdGlvbmFs
TGFzdEJ5dGVQb3NpdGlvbikKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGxhc3RCeXRlUG9z
aXRpb24gPSAqb3B0aW9uYWxMYXN0Qnl0ZVBvc2l0aW9uOwogCi0gICAgU3RyaW5nIGluc3RhbmNl
U3RyaW5nID0gaGVhZGVyVmFsdWUuc3Vic3RyaW5nKGluc3RhbmNlTGVuZ3RoU2VwYXJhdG9yVG9r
ZW4gKyAxKTsKKyAgICBhdXRvIGluc3RhbmNlU3RyaW5nID0gaGVhZGVyVmFsdWUuc3Vic3RyaW5n
KGluc3RhbmNlTGVuZ3RoU2VwYXJhdG9yVG9rZW4gKyAxKTsKICAgICBpZiAoaW5zdGFuY2VTdHJp
bmcgPT0gIioiKQogICAgICAgICBpbnN0YW5jZUxlbmd0aCA9IFBhcnNlZENvbnRlbnRSYW5nZTo6
dW5rbm93bkxlbmd0aDsKICAgICBlbHNlIHsKICAgICAgICAgaWYgKCFpbnN0YW5jZVN0cmluZy5p
c0FsbFNwZWNpYWxDaGFyYWN0ZXJzPGlzQVNDSUlEaWdpdD4oKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgICAgICBpbnN0YW5jZUxlbmd0aCA9IGluc3RhbmNlU3RyaW5nLnRvSW50
NjRTdHJpY3QoJmlzT2spOwotICAgICAgICBpZiAoIWlzT2spCisgICAgICAgIGF1dG8gb3B0aW9u
YWxJbnN0YW5jZUxlbmd0aCA9IGluc3RhbmNlU3RyaW5nLnRvSW50NjRTdHJpY3QoKTsKKyAgICAg
ICAgaWYgKCFvcHRpb25hbEluc3RhbmNlTGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICBpbnN0YW5jZUxlbmd0aCA9ICpvcHRpb25hbEluc3RhbmNlTGVuZ3RoOwogICAg
IH0KIAogICAgIHJldHVybiBhcmVDb250ZW50UmFuZ2VWYWx1ZXNWYWxpZChmaXJzdEJ5dGVQb3Np
dGlvbiwgbGFzdEJ5dGVQb3NpdGlvbiwgaW5zdGFuY2VMZW5ndGgpOwpAQCAtMTEzLDcgKzExNSw3
IEBAIHN0YXRpYyBib29sIHBhcnNlQ29udGVudFJhbmdlKGNvbnN0IFN0cmluZyYgaGVhZGVyVmFs
dWUsIGludDY0X3QmIGZpcnN0Qnl0ZVBvc2l0CiAKIFBhcnNlZENvbnRlbnRSYW5nZTo6UGFyc2Vk
Q29udGVudFJhbmdlKGNvbnN0IFN0cmluZyYgaGVhZGVyVmFsdWUpCiB7Ci0gICAgaWYgKCFwYXJz
ZUNvbnRlbnRSYW5nZShoZWFkZXJWYWx1ZSwgbV9maXJzdEJ5dGVQb3NpdGlvbiwgbV9sYXN0Qnl0
ZVBvc2l0aW9uLCBtX2luc3RhbmNlTGVuZ3RoKSkKKyAgICBpZiAoIXBhcnNlQ29udGVudFJhbmdl
KFN0cmluZ1ZpZXcoaGVhZGVyVmFsdWUpLCBtX2ZpcnN0Qnl0ZVBvc2l0aW9uLCBtX2xhc3RCeXRl
UG9zaXRpb24sIG1faW5zdGFuY2VMZW5ndGgpKQogICAgICAgICBtX2luc3RhbmNlTGVuZ3RoID0g
aW52YWxpZExlbmd0aDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9QYXJzZWRSZXF1ZXN0UmFuZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9QYXJzZWRSZXF1ZXN0UmFuZ2UuY3BwCmluZGV4IGJkOWFjZmE5YWYxYTZhYmIwOWFj
NWVlMjExYjg3MmQ4NTFiMTQ5YTQuLjU0MmYxNTdjZDk0NzMyODQ1ODZiOGQwMzg3OWRkOWU2MWUx
NDJjMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGFyc2Vk
UmVxdWVzdFJhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Bh
cnNlZFJlcXVlc3RSYW5nZS5jcHAKQEAgLTMwLDEwICszMCwxMCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLU9wdGlvbmFsPFBhcnNlZFJlcXVlc3RSYW5nZT4gUGFyc2VkUmVxdWVzdFJhbmdl
OjpwYXJzZShjb25zdCBTdHJpbmcmIGlucHV0KQorT3B0aW9uYWw8UGFyc2VkUmVxdWVzdFJhbmdl
PiBQYXJzZWRSZXF1ZXN0UmFuZ2U6OnBhcnNlKFN0cmluZ1ZpZXcgaW5wdXQpCiB7CiAgICAgLy8g
aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzMjc2VjdGlvbi0yLjEgYnV0IGFzc3Vt
aW5nIHRoZXJlIHdpbGwgYWx3YXlzIGJlIGEgYmVnaW4gYW5kIGFuIGVuZCBvciBwYXJzaW5nIHdp
bGwgZmFpbAotICAgIGlmICghaW5wdXQuc3RhcnRzV2l0aCgiYnl0ZXM9Il9zKSkKKyAgICBpZiAo
IWlucHV0LnN0YXJ0c1dpdGgoU3RyaW5nVmlldygiYnl0ZXM9Il9zKSkpCiAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CiAKICAgICBzaXplX3QgYmVnaW4geyAwIH07CkBAIC00MywxOCArNDMs
MTcgQEAgT3B0aW9uYWw8UGFyc2VkUmVxdWVzdFJhbmdlPiBQYXJzZWRSZXF1ZXN0UmFuZ2U6OnBh
cnNlKGNvbnN0IFN0cmluZyYgaW5wdXQpCiAgICAgaWYgKGRhc2hQb3NpdGlvbiA9PSBub3RGb3Vu
ZCkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgIC8vIEZJWE1FOiBBZGQgU3Ry
aW5nVmlldy50b1VJbnQ2NFN0cmljdCB0byBhdm9pZCB0aGVzZSB1bm5lY2Vzc2FyeSBTdHJpbmcg
Y29waWVzLgotICAgIC8vIFNhbWUgaW4gUGFyc2VkQ29udGVudFJhbmdlLgotICAgIGJvb2wgb2sg
PSB0cnVlOwotICAgIFN0cmluZyBiZWdpblN0cmluZyA9IGlucHV0LnN1YnN0cmluZyhyYW5nZUJl
Z2luUG9zaXRpb24sIGRhc2hQb3NpdGlvbiAtIHJhbmdlQmVnaW5Qb3NpdGlvbik7Ci0gICAgYmVn
aW4gPSBiZWdpblN0cmluZy50b1VJbnQ2NFN0cmljdCgmb2spOwotICAgIGlmICghb2spCisgICAg
YXV0byBiZWdpblN0cmluZyA9IGlucHV0LnN1YnN0cmluZyhyYW5nZUJlZ2luUG9zaXRpb24sIGRh
c2hQb3NpdGlvbiAtIHJhbmdlQmVnaW5Qb3NpdGlvbik7CisgICAgYXV0byBvcHRpb25hbEJlZ2lu
ID0gYmVnaW5TdHJpbmcudG9VSW50NjRTdHJpY3QoKTsKKyAgICBpZiAoIW9wdGlvbmFsQmVnaW4p
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgYmVnaW4gPSAqb3B0aW9uYWxCZWdp
bjsKIAotICAgIFN0cmluZyBlbmRTdHJpbmcgPSBpbnB1dC5zdWJzdHJpbmcoZGFzaFBvc2l0aW9u
ICsgMSk7Ci0gICAgZW5kID0gZW5kU3RyaW5nLnRvVUludDY0U3RyaWN0KCZvayk7Ci0gICAgaWYg
KCFvaykKKyAgICBhdXRvIGVuZFN0cmluZyA9IGlucHV0LnN1YnN0cmluZyhkYXNoUG9zaXRpb24g
KyAxKTsKKyAgICBhdXRvIG9wdGlvbmFsRW5kID0gZW5kU3RyaW5nLnRvVUludDY0U3RyaWN0KCk7
CisgICAgaWYgKCFvcHRpb25hbEVuZCkKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAg
ICBlbmQgPSAqb3B0aW9uYWxFbmQ7CiAKICAgICBpZiAoYmVnaW4gPiBlbmQpCiAgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1BhcnNlZFJlcXVlc3RSYW5nZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9QYXJzZWRSZXF1ZXN0UmFuZ2UuaAppbmRleCA4YWJkYjYzZWFkNWVlZjEzZDkyODU1MDQ5
ZjZmMTNmZThlMTY5YjVlLi5iZWNhYWJmYWZmZTNmNjQzODMxMDc4NTdmNzIwNWYwYTk4YjIwNThj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BhcnNlZFJlcXVl
c3RSYW5nZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGFyc2VkUmVx
dWVzdFJhbmdlLmgKQEAgLTI1LDEzICsyNSwxNSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hUcmFpdHMuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYXJzZWRSZXF1ZXN0UmFuZ2UgewogcHVibGljOgotICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBPcHRpb25hbDxQYXJzZWRSZXF1ZXN0UmFuZ2U+IHBhcnNl
KGNvbnN0IFN0cmluZyYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBPcHRpb25hbDxQYXJz
ZWRSZXF1ZXN0UmFuZ2U+IHBhcnNlKFN0cmluZ1ZpZXcpOworICAgIHN0YXRpYyBPcHRpb25hbDxQ
YXJzZWRSZXF1ZXN0UmFuZ2U+IHBhcnNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBw
YXJzZShTdHJpbmdWaWV3KHN0cmluZykpOyB9CiAKICAgICBzaXplX3QgYmVnaW4oKSBjb25zdCB7
IHJldHVybiBtX2JlZ2luOyB9CiAgICAgc2l6ZV90IGVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5k
OyB9Cg==
</data>
<flag name="commit-queue"
          id="438432"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420035</attachid>
            <date>2021-02-11 13:24:11 -0800</date>
            <delta_ts>2021-03-09 16:37:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221769-20210211132410.patch</filename>
            <type>text/plain</type>
            <size>10351</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNzQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDlmYzU3MDJiYTJjNGQxMDQ4MDY1NjQx
NzY5OGY0N2IwMzRhOWQ5ZDMuLmM3ZmI3YjQxZGY4MGM1Y2M4YWQ5MWMwNjIwYWU5ZDk1ZGVmMWJk
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDItMTEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZWR1Y2UgdW5uZWNlc3Nhcnkgc3Ry
aW5nIGNvcGllcyBpbiBQYXJzZWRSZXF1ZXN0UmFuZ2UgYW5kIFBhcnNlZENvbnRlbnRSYW5nZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxNzY5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvdGV4
dC9TdHJpbmdWaWV3Lmg6CisgICAgICAgIChXVEY6OlN0cmluZ1ZpZXc6OnRvSW50NjRTdHJpY3Qg
Y29uc3QpOgorICAgICAgICAqIHd0Zi90ZXh0L1dURlN0cmluZy5oOgorCiAyMDIxLTAyLTExICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXR1cm5pbmcgc1JHQiBm
cm9tIENHIGNvbG9yIHNwYWNlIGZ1bmN0aW9ucyBvbiBmYWlsdXJlIGlzIHRvbyBlcnJvciBwcm9u
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGRjMTJjZDk0YzE2M2Q3NGI3NmVlNWRkY2NjM2UyMDNiMThkZTdiNzgu
LjFkNTY0MzA5NmNmYjhlOTA4OWVkY2I2MGM4NjU5YmFiMmFkZTM0YjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAyMS0wMi0xMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlZHVjZSB1bm5lY2Vzc2FyeSBzdHJpbmcgY29waWVz
IGluIFBhcnNlZFJlcXVlc3RSYW5nZSBhbmQgUGFyc2VkQ29udGVudFJhbmdlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE3NjkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
UGFyc2VkQ29udGVudFJhbmdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ29udGVudFJh
bmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhcnNlZENvbnRlbnRSYW5nZTo6UGFyc2VkQ29udGVu
dFJhbmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1BhcnNlZFJlcXVlc3RSYW5nZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQYXJzZWRSZXF1ZXN0UmFuZ2U6OnBhcnNlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1BhcnNlZFJlcXVlc3RSYW5nZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGFyc2VkUmVxdWVzdFJhbmdlOjpwYXJzZSk6CisKIDIwMjEtMDItMTEgIEFkaXR5YSBL
ZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdW0ZDUl0gUmFuZ2Ug
aW5wdXRzIGhhdmUgYW4gaW5jb3JyZWN0IFJUTCBhcHBlYXJhbmNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L1N0cmluZ1ZpZXcuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5n
Vmlldy5oCmluZGV4IDkyZjEzNDYxMDA2OGJhN2Y0NTFiZGNhOGFlNmRjZWNmYWFjYmY3NjUuLjdi
ZDFjNzU5MDUzODc5M2ZmMjM1OGE1NGFiMGViOTlmNmUxMDI5ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL3RleHQvU3RyaW5nVmlldy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3Ry
aW5nVmlldy5oCkBAIC0xNzIsNiArMTcyLDcgQEAgcHVibGljOgogICAgIGludCB0b0ludChib29s
JiBpc1ZhbGlkKSBjb25zdDsKICAgICBpbnQgdG9JbnRTdHJpY3QoYm9vbCYgaXNWYWxpZCkgY29u
c3Q7CiAgICAgT3B0aW9uYWw8dWludDY0X3Q+IHRvVUludDY0U3RyaWN0KCkgY29uc3Q7CisgICAg
T3B0aW9uYWw8aW50NjRfdD4gdG9JbnQ2NFN0cmljdCgpIGNvbnN0OwogICAgIGZsb2F0IHRvRmxv
YXQoYm9vbCYgaXNWYWxpZCkgY29uc3Q7CiAKICAgICBzdGF0aWMgdm9pZCBpbnZhbGlkYXRlKGNv
bnN0IFN0cmluZ0ltcGwmKTsKQEAgLTYxNCw2ICs2MTUsMTMgQEAgaW5saW5lIE9wdGlvbmFsPHVp
bnQ2NF90PiBTdHJpbmdWaWV3Ojp0b1VJbnQ2NFN0cmljdCgpIGNvbnN0CiAgICAgcmV0dXJuIGlz
VmFsaWQgPyBtYWtlT3B0aW9uYWwocmVzdWx0KSA6IFdURjo6bnVsbG9wdDsKIH0KIAoraW5saW5l
IE9wdGlvbmFsPGludDY0X3Q+IFN0cmluZ1ZpZXc6OnRvSW50NjRTdHJpY3QoKSBjb25zdAorewor
ICAgIGJvb2wgaXNWYWxpZDsKKyAgICBpbnQ2NF90IHJlc3VsdCA9IGlzOEJpdCgpID8gY2hhcmFj
dGVyc1RvSW50NjRTdHJpY3QoY2hhcmFjdGVyczgoKSwgbV9sZW5ndGgsICZpc1ZhbGlkKSA6IGNo
YXJhY3RlcnNUb0ludDY0U3RyaWN0KGNoYXJhY3RlcnMxNigpLCBtX2xlbmd0aCwgJmlzVmFsaWQp
OworICAgIHJldHVybiBpc1ZhbGlkID8gbWFrZU9wdGlvbmFsKHJlc3VsdCkgOiBXVEY6Om51bGxv
cHQ7Cit9CisKIGlubGluZSBTdHJpbmcgU3RyaW5nVmlldzo6dG9TdHJpbmdXaXRob3V0Q29weWlu
ZygpIGNvbnN0CiB7CiAgICAgaWYgKGlzOEJpdCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvdGV4dC9XVEZTdHJpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmgKaW5k
ZXggMDU0MTAyMmJlNmE1NTUyZWZlZjFhYTFhNWNiNGJkYjc5NWFiODJmZi4uMjI3YzhmMTBkMmEw
NTg1Y2FmMGQzNDAwNmRhMDIzMGUwZjAyNGUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
dGV4dC9XVEZTdHJpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oCkBA
IC00Niw4ICs0Niw4IEBAIFdURl9FWFBPUlRfUFJJVkFURSBpbnQgY2hhcmFjdGVyc1RvSW50U3Ry
aWN0KGNvbnN0IExDaGFyKiwgc2l6ZV90LCBib29sKiBvayA9IG51CiBXVEZfRVhQT1JUX1BSSVZB
VEUgaW50IGNoYXJhY3RlcnNUb0ludFN0cmljdChjb25zdCBVQ2hhciosIHNpemVfdCwgYm9vbCog
b2sgPSBudWxscHRyLCBpbnQgYmFzZSA9IDEwKTsKIFdURl9FWFBPUlRfUFJJVkFURSB1bnNpZ25l
ZCBjaGFyYWN0ZXJzVG9VSW50U3RyaWN0KGNvbnN0IExDaGFyKiwgc2l6ZV90LCBib29sKiBvayA9
IG51bGxwdHIsIGludCBiYXNlID0gMTApOwogV1RGX0VYUE9SVF9QUklWQVRFIHVuc2lnbmVkIGNo
YXJhY3RlcnNUb1VJbnRTdHJpY3QoY29uc3QgVUNoYXIqLCBzaXplX3QsIGJvb2wqIG9rID0gbnVs
bHB0ciwgaW50IGJhc2UgPSAxMCk7Ci1pbnQ2NF90IGNoYXJhY3RlcnNUb0ludDY0U3RyaWN0KGNv
bnN0IExDaGFyKiwgc2l6ZV90LCBib29sKiBvayA9IG51bGxwdHIsIGludCBiYXNlID0gMTApOwot
aW50NjRfdCBjaGFyYWN0ZXJzVG9JbnQ2NFN0cmljdChjb25zdCBVQ2hhciosIHNpemVfdCwgYm9v
bCogb2sgPSBudWxscHRyLCBpbnQgYmFzZSA9IDEwKTsKK1dURl9FWFBPUlRfUFJJVkFURSBpbnQ2
NF90IGNoYXJhY3RlcnNUb0ludDY0U3RyaWN0KGNvbnN0IExDaGFyKiwgc2l6ZV90LCBib29sKiBv
ayA9IG51bGxwdHIsIGludCBiYXNlID0gMTApOworV1RGX0VYUE9SVF9QUklWQVRFIGludDY0X3Qg
Y2hhcmFjdGVyc1RvSW50NjRTdHJpY3QoY29uc3QgVUNoYXIqLCBzaXplX3QsIGJvb2wqIG9rID0g
bnVsbHB0ciwgaW50IGJhc2UgPSAxMCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdWludDY0X3QgY2hh
cmFjdGVyc1RvVUludDY0U3RyaWN0KGNvbnN0IExDaGFyKiwgc2l6ZV90LCBib29sKiBvayA9IG51
bGxwdHIsIGludCBiYXNlID0gMTApOwogV1RGX0VYUE9SVF9QUklWQVRFIHVpbnQ2NF90IGNoYXJh
Y3RlcnNUb1VJbnQ2NFN0cmljdChjb25zdCBVQ2hhciosIHNpemVfdCwgYm9vbCogb2sgPSBudWxs
cHRyLCBpbnQgYmFzZSA9IDEwKTsKIGludHB0cl90IGNoYXJhY3RlcnNUb0ludFB0clN0cmljdChj
b25zdCBMQ2hhciosIHNpemVfdCwgYm9vbCogb2sgPSBudWxscHRyLCBpbnQgYmFzZSA9IDEwKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGFyc2VkQ29udGVu
dFJhbmdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGFyc2VkQ29udGVu
dFJhbmdlLmNwcAppbmRleCAxOGQ0Njc1MzAxNDZkYTUxZGFiYjM1MGE1ZmI2OTdkNDU0ZTYxYWU5
Li42MWY2N2I3MGQzMGZhMTdlMGQ1ZmZkYTc3OTAxZDU2MGUzNmU2MjVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1BhcnNlZENvbnRlbnRSYW5nZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QYXJzZWRDb250ZW50UmFuZ2UuY3Bw
CkBAIC01MSw3ICs1MSw3IEBAIHN0YXRpYyBib29sIGFyZUNvbnRlbnRSYW5nZVZhbHVlc1ZhbGlk
KGludDY0X3QgZmlyc3RCeXRlUG9zaXRpb24sIGludDY0X3QgbGFzdEJ5CiAgICAgcmV0dXJuIGxh
c3RCeXRlUG9zaXRpb24gPCBpbnN0YW5jZUxlbmd0aDsKIH0KIAotc3RhdGljIGJvb2wgcGFyc2VD
b250ZW50UmFuZ2UoY29uc3QgU3RyaW5nJiBoZWFkZXJWYWx1ZSwgaW50NjRfdCYgZmlyc3RCeXRl
UG9zaXRpb24sIGludDY0X3QmIGxhc3RCeXRlUG9zaXRpb24sIGludDY0X3QmIGluc3RhbmNlTGVu
Z3RoKQorc3RhdGljIGJvb2wgcGFyc2VDb250ZW50UmFuZ2UoU3RyaW5nVmlldyBoZWFkZXJWYWx1
ZSwgaW50NjRfdCYgZmlyc3RCeXRlUG9zaXRpb24sIGludDY0X3QmIGxhc3RCeXRlUG9zaXRpb24s
IGludDY0X3QmIGluc3RhbmNlTGVuZ3RoKQogewogICAgIC8vIEZyb20gPGh0dHA6Ly93d3cudzMu
b3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMTQuaHRtbD4KICAgICAvLyAxNC4xNiBD
b250ZW50LVJhbmdlCkBAIC03OSwzMyArNzksMzUgQEAgc3RhdGljIGJvb2wgcGFyc2VDb250ZW50
UmFuZ2UoY29uc3QgU3RyaW5nJiBoZWFkZXJWYWx1ZSwgaW50NjRfdCYgZmlyc3RCeXRlUG9zaXQK
ICAgICBpZiAoaW5zdGFuY2VMZW5ndGhTZXBhcmF0b3JUb2tlbiA9PSBub3RGb3VuZCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYm9vbCBpc09rID0gdHJ1ZTsKLSAgICBTdHJpbmcgZmly
c3RCeXRlU3RyaW5nID0gaGVhZGVyVmFsdWUuc3Vic3RyaW5nKHByZWZpeExlbmd0aCwgYnl0ZVNl
cGFyYXRvclRva2VuTG9jIC0gcHJlZml4TGVuZ3RoKTsKKyAgICBhdXRvIGZpcnN0Qnl0ZVN0cmlu
ZyA9IGhlYWRlclZhbHVlLnN1YnN0cmluZyhwcmVmaXhMZW5ndGgsIGJ5dGVTZXBhcmF0b3JUb2tl
bkxvYyAtIHByZWZpeExlbmd0aCk7CiAgICAgaWYgKCFmaXJzdEJ5dGVTdHJpbmcuaXNBbGxTcGVj
aWFsQ2hhcmFjdGVyczxpc0FTQ0lJRGlnaXQ+KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIGZpcnN0Qnl0ZVBvc2l0aW9uID0gZmlyc3RCeXRlU3RyaW5nLnRvSW50NjRTdHJpY3QoJmlz
T2spOwotICAgIGlmICghaXNPaykKKyAgICBhdXRvIG9wdGlvbmFsRmlyc3RCeXRlUG9zaXRpb24g
PSBmaXJzdEJ5dGVTdHJpbmcudG9JbnQ2NFN0cmljdCgpOworICAgIGlmICghb3B0aW9uYWxGaXJz
dEJ5dGVQb3NpdGlvbikKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGZpcnN0Qnl0ZVBvc2l0
aW9uID0gKm9wdGlvbmFsRmlyc3RCeXRlUG9zaXRpb247CiAKLSAgICBTdHJpbmcgbGFzdEJ5dGVT
dHJpbmcgPSBoZWFkZXJWYWx1ZS5zdWJzdHJpbmcoYnl0ZVNlcGFyYXRvclRva2VuTG9jICsgMSwg
aW5zdGFuY2VMZW5ndGhTZXBhcmF0b3JUb2tlbiAtIChieXRlU2VwYXJhdG9yVG9rZW5Mb2MgKyAx
KSk7CisgICAgYXV0byBsYXN0Qnl0ZVN0cmluZyA9IGhlYWRlclZhbHVlLnN1YnN0cmluZyhieXRl
U2VwYXJhdG9yVG9rZW5Mb2MgKyAxLCBpbnN0YW5jZUxlbmd0aFNlcGFyYXRvclRva2VuIC0gKGJ5
dGVTZXBhcmF0b3JUb2tlbkxvYyArIDEpKTsKICAgICBpZiAoIWxhc3RCeXRlU3RyaW5nLmlzQWxs
U3BlY2lhbENoYXJhY3RlcnM8aXNBU0NJSURpZ2l0PigpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICBsYXN0Qnl0ZVBvc2l0aW9uID0gbGFzdEJ5dGVTdHJpbmcudG9JbnQ2NFN0cmljdCgm
aXNPayk7Ci0gICAgaWYgKCFpc09rKQorICAgIGF1dG8gb3B0aW9uYWxMYXN0Qnl0ZVBvc2l0aW9u
ID0gbGFzdEJ5dGVTdHJpbmcudG9JbnQ2NFN0cmljdCgpOworICAgIGlmICghb3B0aW9uYWxMYXN0
Qnl0ZVBvc2l0aW9uKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgbGFzdEJ5dGVQb3NpdGlv
biA9ICpvcHRpb25hbExhc3RCeXRlUG9zaXRpb247CiAKLSAgICBTdHJpbmcgaW5zdGFuY2VTdHJp
bmcgPSBoZWFkZXJWYWx1ZS5zdWJzdHJpbmcoaW5zdGFuY2VMZW5ndGhTZXBhcmF0b3JUb2tlbiAr
IDEpOworICAgIGF1dG8gaW5zdGFuY2VTdHJpbmcgPSBoZWFkZXJWYWx1ZS5zdWJzdHJpbmcoaW5z
dGFuY2VMZW5ndGhTZXBhcmF0b3JUb2tlbiArIDEpOwogICAgIGlmIChpbnN0YW5jZVN0cmluZyA9
PSAiKiIpCiAgICAgICAgIGluc3RhbmNlTGVuZ3RoID0gUGFyc2VkQ29udGVudFJhbmdlOjp1bmtu
b3duTGVuZ3RoOwogICAgIGVsc2UgewogICAgICAgICBpZiAoIWluc3RhbmNlU3RyaW5nLmlzQWxs
U3BlY2lhbENoYXJhY3RlcnM8aXNBU0NJSURpZ2l0PigpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgICAgIGluc3RhbmNlTGVuZ3RoID0gaW5zdGFuY2VTdHJpbmcudG9JbnQ2NFN0
cmljdCgmaXNPayk7Ci0gICAgICAgIGlmICghaXNPaykKKyAgICAgICAgYXV0byBvcHRpb25hbElu
c3RhbmNlTGVuZ3RoID0gaW5zdGFuY2VTdHJpbmcudG9JbnQ2NFN0cmljdCgpOworICAgICAgICBp
ZiAoIW9wdGlvbmFsSW5zdGFuY2VMZW5ndGgpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIGluc3RhbmNlTGVuZ3RoID0gKm9wdGlvbmFsSW5zdGFuY2VMZW5ndGg7CiAgICAgfQog
CiAgICAgcmV0dXJuIGFyZUNvbnRlbnRSYW5nZVZhbHVlc1ZhbGlkKGZpcnN0Qnl0ZVBvc2l0aW9u
LCBsYXN0Qnl0ZVBvc2l0aW9uLCBpbnN0YW5jZUxlbmd0aCk7CkBAIC0xMTMsNyArMTE1LDcgQEAg
c3RhdGljIGJvb2wgcGFyc2VDb250ZW50UmFuZ2UoY29uc3QgU3RyaW5nJiBoZWFkZXJWYWx1ZSwg
aW50NjRfdCYgZmlyc3RCeXRlUG9zaXQKIAogUGFyc2VkQ29udGVudFJhbmdlOjpQYXJzZWRDb250
ZW50UmFuZ2UoY29uc3QgU3RyaW5nJiBoZWFkZXJWYWx1ZSkKIHsKLSAgICBpZiAoIXBhcnNlQ29u
dGVudFJhbmdlKGhlYWRlclZhbHVlLCBtX2ZpcnN0Qnl0ZVBvc2l0aW9uLCBtX2xhc3RCeXRlUG9z
aXRpb24sIG1faW5zdGFuY2VMZW5ndGgpKQorICAgIGlmICghcGFyc2VDb250ZW50UmFuZ2UoU3Ry
aW5nVmlldyhoZWFkZXJWYWx1ZSksIG1fZmlyc3RCeXRlUG9zaXRpb24sIG1fbGFzdEJ5dGVQb3Np
dGlvbiwgbV9pbnN0YW5jZUxlbmd0aCkpCiAgICAgICAgIG1faW5zdGFuY2VMZW5ndGggPSBpbnZh
bGlkTGVuZ3RoOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1BhcnNlZFJlcXVlc3RSYW5nZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1BhcnNlZFJlcXVlc3RSYW5nZS5jcHAKaW5kZXggYmQ5YWNmYTlhZjFhNmFiYjA5YWM1ZWUy
MTFiODcyZDg1MWIxNDlhNC4uNTQyZjE1N2NkOTQ3MzI4NDU4NmI4ZDAzODc5ZGQ5ZTYxZTE0MmMz
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QYXJzZWRSZXF1
ZXN0UmFuZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGFyc2Vk
UmVxdWVzdFJhbmdlLmNwcApAQCAtMzAsMTAgKzMwLDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotT3B0aW9uYWw8UGFyc2VkUmVxdWVzdFJhbmdlPiBQYXJzZWRSZXF1ZXN0UmFuZ2U6OnBh
cnNlKGNvbnN0IFN0cmluZyYgaW5wdXQpCitPcHRpb25hbDxQYXJzZWRSZXF1ZXN0UmFuZ2U+IFBh
cnNlZFJlcXVlc3RSYW5nZTo6cGFyc2UoU3RyaW5nVmlldyBpbnB1dCkKIHsKICAgICAvLyBodHRw
czovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzMyNzZWN0aW9uLTIuMSBidXQgYXNzdW1pbmcg
dGhlcmUgd2lsbCBhbHdheXMgYmUgYSBiZWdpbiBhbmQgYW4gZW5kIG9yIHBhcnNpbmcgd2lsbCBm
YWlsCi0gICAgaWYgKCFpbnB1dC5zdGFydHNXaXRoKCJieXRlcz0iX3MpKQorICAgIGlmICghaW5w
dXQuc3RhcnRzV2l0aChTdHJpbmdWaWV3KCJieXRlcz0iX3MpKSkKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKIAogICAgIHNpemVfdCBiZWdpbiB7IDAgfTsKQEAgLTQzLDE4ICs0MywxNyBA
QCBPcHRpb25hbDxQYXJzZWRSZXF1ZXN0UmFuZ2U+IFBhcnNlZFJlcXVlc3RSYW5nZTo6cGFyc2Uo
Y29uc3QgU3RyaW5nJiBpbnB1dCkKICAgICBpZiAoZGFzaFBvc2l0aW9uID09IG5vdEZvdW5kKQog
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgLy8gRklYTUU6IEFkZCBTdHJpbmdW
aWV3LnRvVUludDY0U3RyaWN0IHRvIGF2b2lkIHRoZXNlIHVubmVjZXNzYXJ5IFN0cmluZyBjb3Bp
ZXMuCi0gICAgLy8gU2FtZSBpbiBQYXJzZWRDb250ZW50UmFuZ2UuCi0gICAgYm9vbCBvayA9IHRy
dWU7Ci0gICAgU3RyaW5nIGJlZ2luU3RyaW5nID0gaW5wdXQuc3Vic3RyaW5nKHJhbmdlQmVnaW5Q
b3NpdGlvbiwgZGFzaFBvc2l0aW9uIC0gcmFuZ2VCZWdpblBvc2l0aW9uKTsKLSAgICBiZWdpbiA9
IGJlZ2luU3RyaW5nLnRvVUludDY0U3RyaWN0KCZvayk7Ci0gICAgaWYgKCFvaykKKyAgICBhdXRv
IGJlZ2luU3RyaW5nID0gaW5wdXQuc3Vic3RyaW5nKHJhbmdlQmVnaW5Qb3NpdGlvbiwgZGFzaFBv
c2l0aW9uIC0gcmFuZ2VCZWdpblBvc2l0aW9uKTsKKyAgICBhdXRvIG9wdGlvbmFsQmVnaW4gPSBi
ZWdpblN0cmluZy50b1VJbnQ2NFN0cmljdCgpOworICAgIGlmICghb3B0aW9uYWxCZWdpbikKICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICBiZWdpbiA9ICpvcHRpb25hbEJlZ2luOwog
Ci0gICAgU3RyaW5nIGVuZFN0cmluZyA9IGlucHV0LnN1YnN0cmluZyhkYXNoUG9zaXRpb24gKyAx
KTsKLSAgICBlbmQgPSBlbmRTdHJpbmcudG9VSW50NjRTdHJpY3QoJm9rKTsKLSAgICBpZiAoIW9r
KQorICAgIGF1dG8gZW5kU3RyaW5nID0gaW5wdXQuc3Vic3RyaW5nKGRhc2hQb3NpdGlvbiArIDEp
OworICAgIGF1dG8gb3B0aW9uYWxFbmQgPSBlbmRTdHJpbmcudG9VSW50NjRTdHJpY3QoKTsKKyAg
ICBpZiAoIW9wdGlvbmFsRW5kKQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIGVu
ZCA9ICpvcHRpb25hbEVuZDsKIAogICAgIGlmIChiZWdpbiA+IGVuZCkKICAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUGFyc2VkUmVxdWVzdFJhbmdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1BhcnNlZFJlcXVlc3RSYW5nZS5oCmluZGV4IDhhYmRiNjNlYWQ1ZWVmMTNkOTI4NTUwNDlmNmYx
M2ZlOGUxNjliNWUuLmE5NmU1ZDY2OTFlYTNhOWIyZTRlZTBjODJjMzhkYzhiMzcwMTZkNDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUGFyc2VkUmVxdWVzdFJh
bmdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9QYXJzZWRSZXF1ZXN0
UmFuZ2UuaApAQCAtMjUsMTMgKzI1LDE2IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYXJz
ZWRSZXF1ZXN0UmFuZ2UgewogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBPcHRp
b25hbDxQYXJzZWRSZXF1ZXN0UmFuZ2U+IHBhcnNlKGNvbnN0IFN0cmluZyYpOworICAgIFdFQkNP
UkVfRVhQT1JUIHN0YXRpYyBPcHRpb25hbDxQYXJzZWRSZXF1ZXN0UmFuZ2U+IHBhcnNlKFN0cmlu
Z1ZpZXcpOworICAgIHN0YXRpYyBPcHRpb25hbDxQYXJzZWRSZXF1ZXN0UmFuZ2U+IHBhcnNlKGNv
bnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBwYXJzZShTdHJpbmdWaWV3KHN0cmluZykpOyB9
CiAKICAgICBzaXplX3QgYmVnaW4oKSBjb25zdCB7IHJldHVybiBtX2JlZ2luOyB9CiAgICAgc2l6
ZV90IGVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5kOyB9Cg==
</data>
<flag name="review"
          id="438431"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="441938"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>