<?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>206288</bug_id>
          
          <creation_ts>2020-01-15 07:11:54 -0800</creation_ts>
          <short_desc>[LFC] Cache display box for the first LayoutState to Layout::Box</short_desc>
          <delta_ts>2020-01-15 13:50:15 -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>Layout and Rendering</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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</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>1606914</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-01-15 07:11:54 -0800</bug_when>
    <thetext>Add a single item cache for the common case to avoid using the hash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606932</commentid>
    <comment_count>1</comment_count>
      <attachid>387791</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-01-15 08:31:37 -0800</bug_when>
    <thetext>Created attachment 387791
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606937</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-01-15 08:50:03 -0800</bug_when>
    <thetext>This pattern needs to be revisited when we start adding support for multiple LayoutStates such as printing, snapshots etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606952</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-01-15 09:23:31 -0800</bug_when>
    <thetext>(In reply to zalan from comment #2)
&gt; This pattern needs to be revisited when we start adding support for multiple
&gt; LayoutStates such as printing, snapshots etc.

The pattern does work with multiple LayoutStates. It just only helps when there is 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606953</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-01-15 09:25:14 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #3)
&gt; (In reply to zalan from comment #2)
&gt; &gt; This pattern needs to be revisited when we start adding support for multiple
&gt; &gt; LayoutStates such as printing, snapshots etc.
&gt; 
&gt; The pattern does work with multiple LayoutStates. It just only helps when
&gt; there is 1.
I guess I should have read it more carefully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606983</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-15 10:22:18 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 387791:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1606988</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-15 10:22:23 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 387791:

media/track/track-in-band-metadata-display-order.html bug 206226 (author: jer.noble@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607050</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-15 11:43:42 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 387791:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607053</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-15 11:44:02 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 387791:

media/track/track-cues-sorted-before-dispatch.html bug 206225 (authors: simon.pena@samsung.com and vcarbune@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607145</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-15 13:49:05 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 387791:

editing/spelling/spellcheck-attribute.html bug 206178 (authors: g.czajkowski@samsung.com, mark.lam@apple.com, and rniwa@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607146</commentid>
    <comment_count>10</comment_count>
      <attachid>387791</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-15 13:49:42 -0800</bug_when>
    <thetext>Comment on attachment 387791
patch

Clearing flags on attachment: 387791

Committed r254634: &lt;https://trac.webkit.org/changeset/254634&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607147</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-15 13:49:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607148</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-15 13:50:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/58617833&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387791</attachid>
            <date>2020-01-15 08:31:37 -0800</date>
            <delta_ts>2020-01-15 13:49:42 -0800</delta_ts>
            <desc>patch</desc>
            <filename>lfc-displaybox-cache.patch</filename>
            <type>text/plain</type>
            <size>9192</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkYzI3YzM3MzZiNC4uYjRlNWE3MzUxYjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMCBAQAorMjAyMC0wMS0xNSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgW0xGQ10gQ2FjaGUgZGlzcGxheSBib3ggZm9yIHRoZSBmaXJzdCBMYXlvdXRT
dGF0ZSB0byBMYXlvdXQ6OkJveAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA2Mjg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIGEgc2luZ2xlIGl0ZW0gY2FjaGUgZm9yIHRoZSBjb21tb24gY2FzZSB0
byBhdm9pZCB1c2luZyB0aGUgaGFzaC4KKworICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nU3Rh
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nU3RhdGU6OmRpc3Bs
YXlCb3gpOgorICAgICAgICAqIGxheW91dC9MYXlvdXRTdGF0ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjpkaXNwbGF5Qm94Rm9yUm9vdExheW91dEJveCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjplbnN1cmVEaXNwbGF5Qm94Rm9y
TGF5b3V0Qm94U2xvdyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjpk
aXNwbGF5Qm94Rm9yTGF5b3V0Qm94KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGF5b3V0U3RhdGU6OmRpc3BsYXlCb3hGb3JMYXlvdXRCb3ggY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIGxheW91dC9MYXlvdXRTdGF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpCb3g6OmNhY2hlZERpc3BsYXlCb3hGb3JMYXlvdXRTdGF0ZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkxheW91dFN0YXRlOjpoYXNEaXNwbGF5Qm94IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0U3RhdGU6OmVuc3VyZURpc3BsYXlCb3hGb3JMYXlv
dXRCb3gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRTdGF0ZTo6ZGlzcGxheUJv
eEZvckxheW91dEJveCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0
Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94OjpzZXRDYWNoZWREaXNwbGF5
Qm94Rm9yTGF5b3V0U3RhdGUgY29uc3QpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xh
eW91dEJveC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3g6Omhhc0NhY2hlZERpc3Bs
YXlCb3ggY29uc3QpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWls
ZGVyLmg6CisKIDIwMjAtMDEtMTQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBMb25nIGNvbnRpbnVhdGlvbiBjaGFpbiBjb3VsZCBsZWFkIHRvIHN0YWNrIGV4aGF1
c3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nU3RhdGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdTdGF0ZS5jcHAKaW5kZXggODQ5
NTRkZWMyOGYuLjAyM2UwYjMwOGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Rm9ybWF0dGluZ1N0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGlu
Z1N0YXRlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBEaXNwbGF5OjpCb3gmIEZvcm1hdHRpbmdTdGF0
ZTo6ZGlzcGxheUJveChjb25zdCBCb3gmIGxheW91dEJveCkKIHsKICAgICAvLyBTaG91bGQgbmV2
ZXIgbmVlZCB0byBtdXRhdGUgYSBkaXNwbGF5IGJveCBvdXRzaWRlIG9mIHRoZSBmb3JtYXR0aW5n
IGNvbnRleHQuCiAgICAgQVNTRVJUKCZsYXlvdXRTdGF0ZSgpLmVzdGFibGlzaGVkRm9ybWF0dGlu
Z1N0YXRlKGxheW91dEJveC5mb3JtYXR0aW5nQ29udGV4dFJvb3QoKSkgPT0gdGhpcyk7Ci0gICAg
cmV0dXJuIGxheW91dFN0YXRlKCkuZGlzcGxheUJveEZvckxheW91dEJveChsYXlvdXRCb3gpOwor
ICAgIHJldHVybiBsYXlvdXRTdGF0ZSgpLmVuc3VyZURpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5
b3V0Qm94KTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91
dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRTdGF0ZS5jcHAKaW5kZXgg
NTE5NDkzZmQ5MjMuLjFhZWNlZmE2ODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvTGF5b3V0U3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRTdGF0
ZS5jcHAKQEAgLTYwLDIyICs2MCwyNCBAQCBMYXlvdXRTdGF0ZTo6fkxheW91dFN0YXRlKCkgPSBk
ZWZhdWx0OwogCiBEaXNwbGF5OjpCb3gmIExheW91dFN0YXRlOjpkaXNwbGF5Qm94Rm9yUm9vdExh
eW91dEJveCgpCiB7Ci0gICAgcmV0dXJuIGRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobV9sYXlvdXRU
cmVlQ29udGVudC0+cm9vdExheW91dEJveCgpKTsKKyAgICByZXR1cm4gZW5zdXJlRGlzcGxheUJv
eEZvckxheW91dEJveChtX2xheW91dFRyZWVDb250ZW50LT5yb290TGF5b3V0Qm94KCkpOwogfQog
Ci1EaXNwbGF5OjpCb3gmIExheW91dFN0YXRlOjpkaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGNvbnN0
IEJveCYgbGF5b3V0Qm94KQorRGlzcGxheTo6Qm94JiBMYXlvdXRTdGF0ZTo6ZW5zdXJlRGlzcGxh
eUJveEZvckxheW91dEJveFNsb3coY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CisgICAgaWYgKGxh
eW91dEJveC5jYW5DYWNoZUZvckxheW91dFN0YXRlKCp0aGlzKSkgeworICAgICAgICBBU1NFUlQo
IWxheW91dEJveC5jYWNoZWREaXNwbGF5Qm94Rm9yTGF5b3V0U3RhdGUoKnRoaXMpKTsKKyAgICAg
ICAgYXV0byBuZXdCb3ggPSBtYWtlVW5pcXVlPERpc3BsYXk6OkJveD4oKTsKKyAgICAgICAgYXV0
byYgbmV3Qm94UHRyID0gKm5ld0JveDsKKyAgICAgICAgbGF5b3V0Qm94LnNldENhY2hlZERpc3Bs
YXlCb3hGb3JMYXlvdXRTdGF0ZSgqdGhpcywgV1RGTW92ZShuZXdCb3gpKTsKKyAgICAgICAgcmV0
dXJuIG5ld0JveFB0cjsKKyAgICB9CisKICAgICByZXR1cm4gKm1fbGF5b3V0VG9EaXNwbGF5Qm94
LmVuc3VyZSgmbGF5b3V0Qm94LCBbXSB7CiAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPERpc3Bs
YXk6OkJveD4oKTsKICAgICB9KS5pdGVyYXRvci0+dmFsdWU7CiB9CiAKLWNvbnN0IERpc3BsYXk6
OkJveCYgTGF5b3V0U3RhdGU6OmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goY29uc3QgQm94JiBsYXlv
dXRCb3gpIGNvbnN0Ci17Ci0gICAgQVNTRVJUKGhhc0Rpc3BsYXlCb3gobGF5b3V0Qm94KSk7Ci0g
ICAgcmV0dXJuICptX2xheW91dFRvRGlzcGxheUJveC5nZXQoJmxheW91dEJveCk7Ci19Ci0KIEZv
cm1hdHRpbmdTdGF0ZSYgTGF5b3V0U3RhdGU6OmZvcm1hdHRpbmdTdGF0ZUZvckJveChjb25zdCBC
b3gmIGxheW91dEJveCkgY29uc3QKIHsKICAgICBhdXRvJiByb290ID0gbGF5b3V0Qm94LmZvcm1h
dHRpbmdDb250ZXh0Um9vdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xh
eW91dFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0U3RhdGUuaAppbmRleCA4
NDAyM2QwMzIxNS4uYjcxYmU0MGNkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9MYXlvdXRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRTdGF0ZS5o
CkBAIC00MiwxMSArNDIsMTAgQEAgY2xhc3MgQm94OwogCiBuYW1lc3BhY2UgTGF5b3V0IHsKIAot
Y2xhc3MgQm94OwogY2xhc3MgRm9ybWF0dGluZ0NvbnRleHQ7CiBjbGFzcyBGb3JtYXR0aW5nU3Rh
dGU7CiAKLWNsYXNzIExheW91dFN0YXRlIHsKK2NsYXNzIExheW91dFN0YXRlIDogcHVibGljIENh
bk1ha2VXZWFrUHRyPExheW91dFN0YXRlPiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChM
YXlvdXRTdGF0ZSk7CiBwdWJsaWM6CiAgICAgTGF5b3V0U3RhdGUoY29uc3QgTGF5b3V0VHJlZUNv
bnRlbnQmKTsKQEAgLTYzLDkgKzYyLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgRGlzcGxh
eTo6Qm94JiBkaXNwbGF5Qm94Rm9yUm9vdExheW91dEJveCgpOwotICAgIERpc3BsYXk6OkJveCYg
ZGlzcGxheUJveEZvckxheW91dEJveChjb25zdCBCb3gmIGxheW91dEJveCk7Ci0gICAgY29uc3Qg
RGlzcGxheTo6Qm94JiBkaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGNvbnN0IEJveCYgbGF5b3V0Qm94
KSBjb25zdDsKLSAgICBib29sIGhhc0Rpc3BsYXlCb3goY29uc3QgQm94JiBsYXlvdXRCb3gpIGNv
bnN0IHsgcmV0dXJuIG1fbGF5b3V0VG9EaXNwbGF5Qm94LmNvbnRhaW5zKCZsYXlvdXRCb3gpOyB9
CisgICAgRGlzcGxheTo6Qm94JiBlbnN1cmVEaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGNvbnN0IEJv
eCYpOworICAgIGNvbnN0IERpc3BsYXk6OkJveCYgZGlzcGxheUJveEZvckxheW91dEJveChjb25z
dCBCb3gmKSBjb25zdDsKKworICAgIGJvb2wgaGFzRGlzcGxheUJveChjb25zdCBCb3gmKSBjb25z
dDsKIAogICAgIGVudW0gY2xhc3MgUXVpcmtzTW9kZSB7IE5vLCBMaW1pdGVkLCBZZXMgfTsKICAg
ICBib29sIGluUXVpcmtzTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fcXVpcmtzTW9kZSA9PSBRdWly
a3NNb2RlOjpZZXM7IH0KQEAgLTg0LDYgKzg0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAg
IHZvaWQgc2V0UXVpcmtzTW9kZShRdWlya3NNb2RlIHF1aXJrc01vZGUpIHsgbV9xdWlya3NNb2Rl
ID0gcXVpcmtzTW9kZTsgfQorICAgIERpc3BsYXk6OkJveCYgZW5zdXJlRGlzcGxheUJveEZvckxh
eW91dEJveFNsb3coY29uc3QgQm94Jik7CiAKICAgICBIYXNoTWFwPGNvbnN0IENvbnRhaW5lcios
IHN0ZDo6dW5pcXVlX3B0cjxGb3JtYXR0aW5nU3RhdGU+PiBtX2Zvcm1hdHRpbmdTdGF0ZXM7CiAj
aWZuZGVmIE5ERUJVRwpAQCAtOTcsNiArOTgsMjggQEAgcHJpdmF0ZToKICAgICBMYXlvdXRTaXpl
IG1fdmlld3BvcnRTaXplOwogfTsKIAoraW5saW5lIGJvb2wgTGF5b3V0U3RhdGU6Omhhc0Rpc3Bs
YXlCb3goY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0Cit7CisgICAgaWYgKGxheW91dEJveC5j
YWNoZWREaXNwbGF5Qm94Rm9yTGF5b3V0U3RhdGUoKnRoaXMpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICByZXR1cm4gbV9sYXlvdXRUb0Rpc3BsYXlCb3guY29udGFpbnMoJmxheW91dEJveCk7
Cit9CisKK2lubGluZSBEaXNwbGF5OjpCb3gmIExheW91dFN0YXRlOjplbnN1cmVEaXNwbGF5Qm94
Rm9yTGF5b3V0Qm94KGNvbnN0IEJveCYgbGF5b3V0Qm94KQoreworICAgIGlmIChhdXRvKiBkaXNw
bGF5Qm94ID0gbGF5b3V0Qm94LmNhY2hlZERpc3BsYXlCb3hGb3JMYXlvdXRTdGF0ZSgqdGhpcykp
CisgICAgICAgIHJldHVybiAqZGlzcGxheUJveDsKKyAgICByZXR1cm4gZW5zdXJlRGlzcGxheUJv
eEZvckxheW91dEJveFNsb3cobGF5b3V0Qm94KTsKK30KKworaW5saW5lIGNvbnN0IERpc3BsYXk6
OkJveCYgTGF5b3V0U3RhdGU6OmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goY29uc3QgQm94JiBsYXlv
dXRCb3gpIGNvbnN0Cit7CisgICAgaWYgKGF1dG8qIGRpc3BsYXlCb3ggPSBsYXlvdXRCb3guY2Fj
aGVkRGlzcGxheUJveEZvckxheW91dFN0YXRlKCp0aGlzKSkKKyAgICAgICAgcmV0dXJuICpkaXNw
bGF5Qm94OworICAgIEFTU0VSVChtX2xheW91dFRvRGlzcGxheUJveC5jb250YWlucygmbGF5b3V0
Qm94KSk7CisgICAgcmV0dXJuICptX2xheW91dFRvRGlzcGxheUJveC5nZXQoJmxheW91dEJveCk7
Cit9CisKICNpZm5kZWYgTkRFQlVHCiBpbmxpbmUgdm9pZCBMYXlvdXRTdGF0ZTo6cmVnaXN0ZXJG
b3JtYXR0aW5nQ29udGV4dChjb25zdCBGb3JtYXR0aW5nQ29udGV4dCYgZm9ybWF0dGluZ0NvbnRl
eHQpCiB7CkBAIC0xMDYsNiArMTI5LDE5IEBAIGlubGluZSB2b2lkIExheW91dFN0YXRlOjpyZWdp
c3RlckZvcm1hdHRpbmdDb250ZXh0KGNvbnN0IEZvcm1hdHRpbmdDb250ZXh0JiBmb3JtCiB9CiAj
ZW5kaWYKIAorLy8gVGhlc2UgTGF5b3V0OjpCb3ggZnVuY3Rpb24gYXJlIGhlcmUgdG8gYWxsb3cg
aW5saW5pbmcuCitpbmxpbmUgYm9vbCBCb3g6OmNhbkNhY2hlRm9yTGF5b3V0U3RhdGUoY29uc3Qg
TGF5b3V0U3RhdGUmIGxheW91dFN0YXRlKSBjb25zdAoreworICAgIHJldHVybiAhbV9jYWNoZWRM
YXlvdXRTdGF0ZSB8fCBtX2NhY2hlZExheW91dFN0YXRlLmdldCgpID09ICZsYXlvdXRTdGF0ZTsK
K30KKworaW5saW5lIERpc3BsYXk6OkJveCogQm94OjpjYWNoZWREaXNwbGF5Qm94Rm9yTGF5b3V0
U3RhdGUoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlKSBjb25zdAoreworICAgIGlmICht
X2NhY2hlZExheW91dFN0YXRlLmdldCgpICE9ICZsYXlvdXRTdGF0ZSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgcmV0dXJuIG1fY2FjaGVkRGlzcGxheUJveEZvckxheW91dFN0YXRlLmdl
dCgpOworfQorCiB9CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0
dHJlZS9MYXlvdXRCb3guY3BwCmluZGV4IDZkYjZmOTJjMzYyLi4xNDk5ZDU4ZWU0NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guY3BwCkBAIC0zMCw2
ICszMCw3IEBACiAKICNpbmNsdWRlICJMYXlvdXRDb250YWluZXIuaCIKICNpbmNsdWRlICJMYXlv
dXRQaGFzZS5oIgorI2luY2x1ZGUgIkxheW91dFN0YXRlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5
bGUuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC00NDQsNiArNDQ1
LDEzIEBAIE9wdGlvbmFsPExheW91dFVuaXQ+IEJveDo6Y29sdW1uV2lkdGgoKSBjb25zdAogICAg
IHJldHVybiByYXJlRGF0YSgpLmNvbHVtbldpZHRoOwogfQogCit2b2lkIEJveDo6c2V0Q2FjaGVk
RGlzcGxheUJveEZvckxheW91dFN0YXRlKExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgc3RkOjp1
bmlxdWVfcHRyPERpc3BsYXk6OkJveD4gYm94KSBjb25zdAoreworICAgIEFTU0VSVCghbV9jYWNo
ZWRMYXlvdXRTdGF0ZSk7CisgICAgbV9jYWNoZWRMYXlvdXRTdGF0ZSA9IG1ha2VXZWFrUHRyKGxh
eW91dFN0YXRlKTsKKyAgICBtX2NhY2hlZERpc3BsYXlCb3hGb3JMYXlvdXRTdGF0ZSA9IFdURk1v
dmUoYm94KTsKK30KKwogQm94OjpSYXJlRGF0YU1hcCYgQm94OjpyYXJlRGF0YU1hcCgpCiB7CiAg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJhcmVEYXRhTWFwPiBtYXA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guaCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5oCmluZGV4IGJjMmUzYTBiNmZlLi5iYTJi
MmM2YTViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94
LmgKQEAgLTM0LDkgKzM0LDE1IEBACiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgRGlzcGxheSB7CitjbGFzcyBCb3g7Cit9CisKIG5h
bWVzcGFjZSBMYXlvdXQgewogCiBjbGFzcyBDb250YWluZXI7CitjbGFzcyBMYXlvdXRTdGF0ZTsK
IGNsYXNzIFRyZWVCdWlsZGVyOwogCiBjbGFzcyBCb3ggOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
Qm94PiB7CkBAIC0xNjcsNiArMTczLDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SXNBbm9u
eW1vdXMoKSB7IG1faXNBbm9ueW1vdXMgPSB0cnVlOyB9CiAKKyAgICBib29sIGNhbkNhY2hlRm9y
TGF5b3V0U3RhdGUoY29uc3QgTGF5b3V0U3RhdGUmKSBjb25zdDsKKyAgICBEaXNwbGF5OjpCb3gq
IGNhY2hlZERpc3BsYXlCb3hGb3JMYXlvdXRTdGF0ZShjb25zdCBMYXlvdXRTdGF0ZSYpIGNvbnN0
OworICAgIHZvaWQgc2V0Q2FjaGVkRGlzcGxheUJveEZvckxheW91dFN0YXRlKExheW91dFN0YXRl
Jiwgc3RkOjp1bmlxdWVfcHRyPERpc3BsYXk6OkJveD4pIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAg
ICAgQm94KE9wdGlvbmFsPEVsZW1lbnRBdHRyaWJ1dGVzPiwgT3B0aW9uYWw8VGV4dENvbnRleHQ+
LCBSZW5kZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdzKTsKIApAQCAtMjAxLDYgKzIxMSwxMCBAQCBw
cml2YXRlOgogICAgIAogICAgIGNvbnN0IE9wdGlvbmFsPFRleHRDb250ZXh0PiBtX3RleHRDb250
ZXh0OwogCisgICAgLy8gRmlyc3QgTGF5b3V0U3RhdGUgZ2V0cyBhIGRpcmVjdCBjYWNoZS4KKyAg
ICBtdXRhYmxlIFdlYWtQdHI8TGF5b3V0U3RhdGU+IG1fY2FjaGVkTGF5b3V0U3RhdGU7CisgICAg
bXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8RGlzcGxheTo6Qm94PiBtX2NhY2hlZERpc3BsYXlCb3hG
b3JMYXlvdXRTdGF0ZTsKKwogICAgIHVuc2lnbmVkIG1fYmFzZVR5cGVGbGFncyA6IDY7CiAgICAg
Ym9vbCBtX2hhc1JhcmVEYXRhIDogMTsKICAgICBib29sIG1faXNBbm9ueW1vdXMgOiAxOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVy
LmgKaW5kZXggNzRjNDU1MzA3NDQuLjUwMDQxOWRkNTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmgKQEAgLTI3LDcgKzI3
LDYgQEAKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQogCi0jaW5jbHVk
ZSAiTGF5b3V0Qm94LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgogI2luY2x1ZGUgPHd0
Zi9XZWFrUHRyLmg+CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>