<?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>224160</bug_id>
          
          <creation_ts>2021-04-03 13:34:01 -0700</creation_ts>
          <short_desc>Reduce Vector&lt;&gt; wasted capacity in some RuleSet code</short_desc>
          <delta_ts>2021-08-04 10:39:59 -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>CSS</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>
          <dependson>227373</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1746816</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-04-03 13:34:01 -0700</bug_when>
    <thetext>Reduce Vector&lt;&gt; wasted capacity in some RuleSet code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746817</commentid>
    <comment_count>1</comment_count>
      <attachid>425109</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-04-03 13:36:44 -0700</bug_when>
    <thetext>Created attachment 425109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747208</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-05 18:27:40 -0700</bug_when>
    <thetext>commit-queue failed to commit attachment 425109 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747268</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-05 21:12:51 -0700</bug_when>
    <thetext>commit-queue failed to commit attachment 425109 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748108</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-04-07 15:48:08 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/275633/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748114</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-07 15:50:07 -0700</bug_when>
    <thetext>&lt;rdar://problem/76369555&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772410</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-06-24 12:12:19 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 227373</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781867</commentid>
    <comment_count>7</comment_count>
      <attachid>434899</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-08-04 05:08:25 -0700</bug_when>
    <thetext>Created attachment 434899
reland</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781874</commentid>
    <comment_count>8</comment_count>
      <attachid>434901</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-08-04 06:56:43 -0700</bug_when>
    <thetext>Created attachment 434901
reland</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781929</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-04 10:39:58 -0700</bug_when>
    <thetext>Committed r280638 (240251@main): &lt;https://commits.webkit.org/240251@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 434901.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425109</attachid>
            <date>2021-04-03 13:36:44 -0700</date>
            <delta_ts>2021-04-05 21:12:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224160-20210403133643.patch</filename>
            <type>text/plain</type>
            <size>6550</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIxMzc3OThjZDJiZWEw
NDUwNzZhZmEzYTc1ODFkMTUxN2NjODljYS4uZGFhZDBkODcxNGVjMDkxZmY2Y2RmZjczZjU2NGYz
YzM2YjJmMTBhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA0LTAzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlZHVjZSBWZWN0
b3I8PiB3YXN0ZWQgY2FwYWNpdHkgaW4gc29tZSBSdWxlU2V0IGNvZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDE2MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER5bmFtaWMgbWVkaWEgcnVsZS1yZWxh
dGVkIHZlY3RvcnMgd2VyZSBub3QgZ2V0dGluZyBzaHJ1bmsgYmVjYXVzZSBtX2R5bmFtaWNNZWRp
YVF1ZXJ5UnVsZXMKKyAgICAgICAgd2FzIGNvbnN0cnVjdGVkIGFmdGVyIHRoZSBzaHJpbmtUb0Zp
dCgpIGNhbGxzLCBhbmQgaXRzZWxmIHdhcyBub3Qgc2hydW5rLgorCisgICAgICAgIEFsc28gcmUt
b3JkZXIgbWVtYmVyIHZhcmlhYmxlcyB0byByZWR1Y2UgcGFkZGluZy4KKworICAgICAgICBTYXZl
cyA2MC0xMjBLQiBvbiBhIG55dGltZXMgcGFnZS4KKworICAgICAgICAqIHN0eWxlL1J1bGVTZXQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0OjpldmFsdWF0ZUR5bmFtaWNNZWRp
YVF1ZXJ5UnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OnNocmlua0R5bmFtaWNSdWxl
cyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6c2hyaW5rVG9GaXQpOgorICAg
ICAgICAqIHN0eWxlL1J1bGVTZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0
OjpEeW5hbWljTWVkaWFRdWVyeVJ1bGVzOjpzaHJpbmtUb0ZpdCk6CisKIDIwMjEtMDQtMDMgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgU2hyaW5rIHRo
ZSBWZWN0b3I8PiBvZiBrZXlmcmFtZSB2YWx1ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAKaW5k
ZXggM2E1YjU2MTBiYTc2YzM5Njc0MGY2MTAwMWNlYjhkMmYwYTNkOThjOS4uNmRkNGU4ODhmZGQ4
ZDlmZWE4N2YwY2UzMThhZjJmMzllZmVlODhiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvUnVsZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAK
QEAgLTMxMyw2ICszMTMsOSBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0KFN0eWxl
U2hlZXRDb250ZW50cyYgc2hlZXQsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdQogewogICAgIGF1dG8g
bWVkaWFRdWVyeUNvbGxlY3RvciA9IE1lZGlhUXVlcnlDb2xsZWN0b3IgeyBldmFsdWF0b3IgfTsK
ICAgICBhZGRSdWxlc0Zyb21TaGVldChzaGVldCwgbWVkaWFRdWVyeUNvbGxlY3RvciwgbnVsbHB0
ciwgQWRkUnVsZXNNb2RlOjpOb3JtYWwpOworCisgICAgaWYgKG1fYXV0b1Nocmlua1RvRml0RW5h
YmxlZCkKKyAgICAgICAgc2hyaW5rVG9GaXQoKTsKIH0KIAogdm9pZCBSdWxlU2V0OjphZGRSdWxl
c0Zyb21TaGVldChTdHlsZVNoZWV0Q29udGVudHMmIHNoZWV0LCBNZWRpYVF1ZXJ5U2V0KiBzaGVl
dFF1ZXJ5LCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3IsIFN0eWxlOjpSZXNv
bHZlciYgcmVzb2x2ZXIpCkBAIC0zMzMsMTQgKzMzNiwxNiBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJ1
bGVzRnJvbVNoZWV0KFN0eWxlU2hlZXRDb250ZW50cyYgc2hlZXQsIE1lZGlhUXVlcnlTZXQqIHNo
ZWV0UQogCiAgICAgbV9oYXNWaWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcmllcyA9IG1lZGlhUXVl
cnlDb2xsZWN0b3IuaGFzVmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJpZXM7CiAKLSAgICBpZiAo
bWVkaWFRdWVyeUNvbGxlY3Rvci5keW5hbWljTWVkaWFRdWVyeVJ1bGVzLmlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuOworICAgIGlmICghbWVkaWFRdWVyeUNvbGxlY3Rvci5keW5hbWljTWVkaWFR
dWVyeVJ1bGVzLmlzRW1wdHkoKSkgeworICAgICAgICBhdXRvIGZpcnN0TmV3SW5kZXggPSBtX2R5
bmFtaWNNZWRpYVF1ZXJ5UnVsZXMuc2l6ZSgpOworICAgICAgICBtX2R5bmFtaWNNZWRpYVF1ZXJ5
UnVsZXMuYXBwZW5kVmVjdG9yKFdURk1vdmUobWVkaWFRdWVyeUNvbGxlY3Rvci5keW5hbWljTWVk
aWFRdWVyeVJ1bGVzKSk7CiAKLSAgICBhdXRvIGZpcnN0TmV3SW5kZXggPSBtX2R5bmFtaWNNZWRp
YVF1ZXJ5UnVsZXMuc2l6ZSgpOwotICAgIG1fZHluYW1pY01lZGlhUXVlcnlSdWxlcy5hcHBlbmRW
ZWN0b3IoV1RGTW92ZShtZWRpYVF1ZXJ5Q29sbGVjdG9yLmR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMp
KTsKKyAgICAgICAgLy8gU2V0IHRoZSBpbml0aWFsIHZhbHVlcy4KKyAgICAgICAgZXZhbHVhdGVE
eW5hbWljTWVkaWFRdWVyeVJ1bGVzKGV2YWx1YXRvciwgZmlyc3ROZXdJbmRleCk7CisgICAgfQog
Ci0gICAgLy8gU2V0IHRoZSBpbml0aWFsIHZhbHVlcy4KLSAgICBldmFsdWF0ZUR5bmFtaWNNZWRp
YVF1ZXJ5UnVsZXMoZXZhbHVhdG9yLCBmaXJzdE5ld0luZGV4KTsKKyAgICBpZiAobV9hdXRvU2hy
aW5rVG9GaXRFbmFibGVkKQorICAgICAgICBzaHJpbmtUb0ZpdCgpOwogfQogCiB2b2lkIFJ1bGVT
ZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0KFN0eWxlU2hlZXRDb250ZW50cyYgc2hlZXQsIE1lZGlhUXVl
cnlDb2xsZWN0b3ImIG1lZGlhUXVlcnlDb2xsZWN0b3IsIFJlc29sdmVyKiByZXNvbHZlciwgQWRk
UnVsZXNNb2RlIG1vZGUpCkBAIC0zNTUsOSArMzYwLDYgQEAgdm9pZCBSdWxlU2V0OjphZGRSdWxl
c0Zyb21TaGVldChTdHlsZVNoZWV0Q29udGVudHMmIHNoZWV0LCBNZWRpYVF1ZXJ5Q29sbGVjdG9y
JgogICAgIH0KIAogICAgIGFkZENoaWxkUnVsZXMoc2hlZXQuY2hpbGRSdWxlcygpLCBtZWRpYVF1
ZXJ5Q29sbGVjdG9yLCByZXNvbHZlciwgbW9kZSk7Ci0KLSAgICBpZiAobV9hdXRvU2hyaW5rVG9G
aXRFbmFibGVkICYmIG1vZGUgPT0gQWRkUnVsZXNNb2RlOjpOb3JtYWwpCi0gICAgICAgIHNocmlu
a1RvRml0KCk7CiB9CiAKIHZvaWQgUnVsZVNldDo6YWRkU3R5bGVSdWxlKGNvbnN0IFN0eWxlUnVs
ZSYgcnVsZSwgTWVkaWFRdWVyeUNvbGxlY3RvciYgbWVkaWFRdWVyeUNvbGxlY3RvcikKQEAgLTQx
NSw2ICs0MTcsNyBAQCBPcHRpb25hbDxEeW5hbWljTWVkaWFRdWVyeUV2YWx1YXRpb25DaGFuZ2Vz
PiBSdWxlU2V0OjpldmFsdWF0ZUR5bmFtaWNNZWRpYVF1ZXJ5UgogICAgICAgICAgICAgZm9yIChh
dXRvJiBmZWF0dXJlIDogKmZlYXR1cmVWZWN0b3IpCiAgICAgICAgICAgICAgICAgcnVsZVNldC0+
YWRkUnVsZSgqZmVhdHVyZS5zdHlsZVJ1bGUsIGZlYXR1cmUuc2VsZWN0b3JJbmRleCwgZmVhdHVy
ZS5zZWxlY3Rvckxpc3RJbmRleCk7CiAgICAgICAgIH0KKyAgICAgICAgcnVsZVNldC0+c2hyaW5r
VG9GaXQoKTsKICAgICAgICAgcmV0dXJuIHJ1bGVTZXQ7CiAgICAgfSkuaXRlcmF0b3ItPnZhbHVl
OwogCkBAIC00ODMsNiArNDg2LDE0IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzaHJpbmtNYXBWZWN0
b3JzVG9GaXQoUnVsZVNldDo6QXRvbVJ1bGVNYXAmIG1hcCkKICAgICAgICAgdmVjdG9yLT5zaHJp
bmtUb0ZpdCgpOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgc2hyaW5rRHluYW1pY1J1bGVzKFZl
Y3RvcjxSdWxlU2V0OjpEeW5hbWljTWVkaWFRdWVyeVJ1bGVzPiYgZHluYW1pY1J1bGVzKQorewor
ICAgIGZvciAoYXV0byYgcnVsZSA6IGR5bmFtaWNSdWxlcykKKyAgICAgICAgcnVsZS5zaHJpbmtU
b0ZpdCgpOworCisgICAgZHluYW1pY1J1bGVzLnNocmlua1RvRml0KCk7Cit9CisKIHZvaWQgUnVs
ZVNldDo6c2hyaW5rVG9GaXQoKQogewogICAgIHNocmlua01hcFZlY3RvcnNUb0ZpdChtX2lkUnVs
ZXMpOwpAQCAtNDkwLDE2ICs1MDEsMjEgQEAgdm9pZCBSdWxlU2V0OjpzaHJpbmtUb0ZpdCgpCiAg
ICAgc2hyaW5rTWFwVmVjdG9yc1RvRml0KG1fdGFnTG9jYWxOYW1lUnVsZXMpOwogICAgIHNocmlu
a01hcFZlY3RvcnNUb0ZpdChtX3RhZ0xvd2VyY2FzZUxvY2FsTmFtZVJ1bGVzKTsKICAgICBzaHJp
bmtNYXBWZWN0b3JzVG9GaXQobV9zaGFkb3dQc2V1ZG9FbGVtZW50UnVsZXMpOworCiAgICAgbV9s
aW5rUHNldWRvQ2xhc3NSdWxlcy5zaHJpbmtUb0ZpdCgpOwogI2lmIEVOQUJMRShWSURFTykKICAg
ICBtX2N1ZVBzZXVkb1J1bGVzLnNocmlua1RvRml0KCk7CiAjZW5kaWYKICAgICBtX2hvc3RQc2V1
ZG9DbGFzc1J1bGVzLnNocmlua1RvRml0KCk7CiAgICAgbV9zbG90dGVkUHNldWRvRWxlbWVudFJ1
bGVzLnNocmlua1RvRml0KCk7CisgICAgbV9wYXJ0UHNldWRvRWxlbWVudFJ1bGVzLnNocmlua1Rv
Rml0KCk7CiAgICAgbV9mb2N1c1BzZXVkb0NsYXNzUnVsZXMuc2hyaW5rVG9GaXQoKTsKICAgICBt
X3VuaXZlcnNhbFJ1bGVzLnNocmlua1RvRml0KCk7CisKICAgICBtX3BhZ2VSdWxlcy5zaHJpbmtU
b0ZpdCgpOwogICAgIG1fZmVhdHVyZXMuc2hyaW5rVG9GaXQoKTsKKworICAgIHNocmlua0R5bmFt
aWNSdWxlcyhtX2R5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMpOwogfQogCiBSdWxlU2V0OjpNZWRpYVF1
ZXJ5Q29sbGVjdG9yOjp+TWVkaWFRdWVyeUNvbGxlY3RvcigpID0gZGVmYXVsdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1J1bGVTZXQuaAppbmRleCA5OWFhMTYwZDkwNjg0NGZhZDM0ZGMxYTI3MDE2YTAwMzZiZGUzMDc5
Li4wY2I4NmRiMjdhMTU4ZmU5OWQ3NGU2N2E0NmE2NWRjMTQ0NzliOWIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
UnVsZVNldC5oCkBAIC03Niw2ICs3NiwxMyBAQCBwdWJsaWM6CiAgICAgICAgIFZlY3RvcjxSdWxl
RmVhdHVyZT4gcnVsZUZlYXR1cmVzOwogICAgICAgICBib29sIHJlcXVpcmVzRnVsbFJlc2V0IHsg
ZmFsc2UgfTsKICAgICAgICAgYm9vbCByZXN1bHQgeyB0cnVlIH07CisgICAgICAgIAorICAgICAg
ICB2b2lkIHNocmlua1RvRml0KCkKKyAgICAgICAgeworICAgICAgICAgICAgbWVkaWFRdWVyeVNl
dHMuc2hyaW5rVG9GaXQoKTsKKyAgICAgICAgICAgIGFmZmVjdGVkUnVsZVBvc2l0aW9ucy5zaHJp
bmtUb0ZpdCgpOworICAgICAgICAgICAgcnVsZUZlYXR1cmVzLnNocmlua1RvRml0KCk7CisgICAg
ICAgIH0KICAgICB9OwogCiAgICAgc3RydWN0IE1lZGlhUXVlcnlDb2xsZWN0b3IgewpAQCAtMTUz
LDcgKzE2MCw2IEBAIHByaXZhdGU6CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvbj4g
dm9pZCB0cmF2ZXJzZVJ1bGVEYXRhcyhGdW5jdGlvbiYmKTsKIAotCiAgICAgQXRvbVJ1bGVNYXAg
bV9pZFJ1bGVzOwogICAgIEF0b21SdWxlTWFwIG1fY2xhc3NSdWxlczsKICAgICBBdG9tUnVsZU1h
cCBtX3RhZ0xvY2FsTmFtZVJ1bGVzOwpAQCAtMTY5LDEzICsxNzUsMTMgQEAgcHJpdmF0ZToKICAg
ICBSdWxlRGF0YVZlY3RvciBtX2ZvY3VzUHNldWRvQ2xhc3NSdWxlczsKICAgICBSdWxlRGF0YVZl
Y3RvciBtX3VuaXZlcnNhbFJ1bGVzOwogICAgIFZlY3RvcjxTdHlsZVJ1bGVQYWdlKj4gbV9wYWdl
UnVsZXM7CisgICAgUnVsZUZlYXR1cmVTZXQgbV9mZWF0dXJlczsKKyAgICBWZWN0b3I8RHluYW1p
Y01lZGlhUXVlcnlSdWxlcz4gbV9keW5hbWljTWVkaWFRdWVyeVJ1bGVzOworICAgIEhhc2hNYXA8
VmVjdG9yPHNpemVfdD4sIFJlZjxjb25zdCBSdWxlU2V0Pj4gbV9tZWRpYVF1ZXJ5SW52YWxpZGF0
aW9uUnVsZVNldENhY2hlOwogICAgIHVuc2lnbmVkIG1fcnVsZUNvdW50IHsgMCB9OwogICAgIGJv
b2wgbV9oYXNIb3N0UHNldWRvQ2xhc3NSdWxlc01hdGNoaW5nSW5TaGFkb3dUcmVlIHsgZmFsc2Ug
fTsKICAgICBib29sIG1fYXV0b1Nocmlua1RvRml0RW5hYmxlZCB7IHRydWUgfTsKLSAgICBSdWxl
RmVhdHVyZVNldCBtX2ZlYXR1cmVzOwogICAgIGJvb2wgbV9oYXNWaWV3cG9ydERlcGVuZGVudE1l
ZGlhUXVlcmllcyB7IGZhbHNlIH07Ci0gICAgVmVjdG9yPER5bmFtaWNNZWRpYVF1ZXJ5UnVsZXM+
IG1fZHluYW1pY01lZGlhUXVlcnlSdWxlczsKLSAgICBIYXNoTWFwPFZlY3RvcjxzaXplX3Q+LCBS
ZWY8Y29uc3QgUnVsZVNldD4+IG1fbWVkaWFRdWVyeUludmFsaWRhdGlvblJ1bGVTZXRDYWNoZTsK
IH07CiAKIGlubGluZSBjb25zdCBSdWxlU2V0OjpSdWxlRGF0YVZlY3RvciogUnVsZVNldDo6dGFn
UnVsZXMoY29uc3QgQXRvbVN0cmluZyYga2V5LCBib29sIGlzSFRNTE5hbWUpIGNvbnN0Cg==
</data>
<flag name="review"
          id="444951"
          type_id="1"
          status="+"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="445062"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434899</attachid>
            <date>2021-08-04 05:08:25 -0700</date>
            <delta_ts>2021-08-04 06:56:43 -0700</delta_ts>
            <desc>reland</desc>
            <filename>rule-shrinktofit-reland.patch</filename>
            <type>text/plain</type>
            <size>5751</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzMjllNzY3NDg2ZWUuLmU2ZGY4MTgxYTQ4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDIxLTA4LTA0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBSZWR1Y2UgVmVjdG9yPD4gd2FzdGVkIGNhcGFjaXR5IGluIHNvbWUgUnVs
ZVNldCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQxNjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc2MzY5NTU1PgorCisgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydGluZyByZXZlcnQgcjI3OTI0Mi4KKworICAgICAgICBSZWxhbmQgYXMg
dGhpcyB3YXMgbm90IHJlbGF0ZWQgdG8gdGhlIGNyYXNoZXMgc2Vlbi4KKworICAgICAgICAqIHN0
eWxlL1J1bGVTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OmFkZFJ1
bGVzRnJvbVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0OjpldmFsdWF0
ZUR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OnNocmlu
a0R5bmFtaWNSdWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6c2hyaW5r
VG9GaXQpOgorICAgICAgICAqIHN0eWxlL1J1bGVTZXQuaDoKKwogMjAyMS0wOC0wMiAgTWFydGlu
IFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW2Nzcy1zY3JvbGwt
c25hcF0gQ29uc2lkZXIgYWxsIHNuYXAgYXJlYXMgYXQgYSBnaXZlbiBzbmFwIG9mZnNldCB3aGVu
IHNuYXBwaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCmluZGV4IDgyY2IxYTliYmE0Zi4uNGRl
NzNhNjI4MWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcApAQCAtMzEzLDYgKzMxMyw5IEBA
IHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5bGVTaGVldENvbnRlbnRzJiBzaGVl
dCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1CiB7CiAgICAgYXV0byBtZWRpYVF1ZXJ5Q29sbGVjdG9y
ID0gTWVkaWFRdWVyeUNvbGxlY3RvciB7IGV2YWx1YXRvciB9OwogICAgIGFkZFJ1bGVzRnJvbVNo
ZWV0KHNoZWV0LCBtZWRpYVF1ZXJ5Q29sbGVjdG9yLCBudWxscHRyLCBBZGRSdWxlc01vZGU6Ok5v
cm1hbCk7CisKKyAgICBpZiAobV9hdXRvU2hyaW5rVG9GaXRFbmFibGVkKQorICAgICAgICBzaHJp
bmtUb0ZpdCgpOwogfQogCiB2b2lkIFJ1bGVTZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0KFN0eWxlU2hl
ZXRDb250ZW50cyYgc2hlZXQsIE1lZGlhUXVlcnlTZXQqIHNoZWV0UXVlcnksIGNvbnN0IE1lZGlh
UXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvciwgU3R5bGU6OlJlc29sdmVyJiByZXNvbHZlcikKQEAg
LTMzMywxNCArMzM2LDE2IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5bGVT
aGVldENvbnRlbnRzJiBzaGVldCwgTWVkaWFRdWVyeVNldCogc2hlZXRRCiAKICAgICBtX2hhc1Zp
ZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyaWVzID0gbWVkaWFRdWVyeUNvbGxlY3Rvci5oYXNWaWV3
cG9ydERlcGVuZGVudE1lZGlhUXVlcmllczsKIAotICAgIGlmIChtZWRpYVF1ZXJ5Q29sbGVjdG9y
LmR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47CisgICAg
aWYgKCFtZWRpYVF1ZXJ5Q29sbGVjdG9yLmR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMuaXNFbXB0eSgp
KSB7CisgICAgICAgIGF1dG8gZmlyc3ROZXdJbmRleCA9IG1fZHluYW1pY01lZGlhUXVlcnlSdWxl
cy5zaXplKCk7CisgICAgICAgIG1fZHluYW1pY01lZGlhUXVlcnlSdWxlcy5hcHBlbmRWZWN0b3Io
V1RGTW92ZShtZWRpYVF1ZXJ5Q29sbGVjdG9yLmR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMpKTsKIAot
ICAgIGF1dG8gZmlyc3ROZXdJbmRleCA9IG1fZHluYW1pY01lZGlhUXVlcnlSdWxlcy5zaXplKCk7
Ci0gICAgbV9keW5hbWljTWVkaWFRdWVyeVJ1bGVzLmFwcGVuZFZlY3RvcihXVEZNb3ZlKG1lZGlh
UXVlcnlDb2xsZWN0b3IuZHluYW1pY01lZGlhUXVlcnlSdWxlcykpOworICAgICAgICAvLyBTZXQg
dGhlIGluaXRpYWwgdmFsdWVzLgorICAgICAgICBldmFsdWF0ZUR5bmFtaWNNZWRpYVF1ZXJ5UnVs
ZXMoZXZhbHVhdG9yLCBmaXJzdE5ld0luZGV4KTsKKyAgICB9CiAKLSAgICAvLyBTZXQgdGhlIGlu
aXRpYWwgdmFsdWVzLgotICAgIGV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyhldmFsdWF0
b3IsIGZpcnN0TmV3SW5kZXgpOworICAgIGlmIChtX2F1dG9TaHJpbmtUb0ZpdEVuYWJsZWQpCisg
ICAgICAgIHNocmlua1RvRml0KCk7CiB9CiAKIHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hl
ZXQoU3R5bGVTaGVldENvbnRlbnRzJiBzaGVldCwgTWVkaWFRdWVyeUNvbGxlY3RvciYgbWVkaWFR
dWVyeUNvbGxlY3RvciwgUmVzb2x2ZXIqIHJlc29sdmVyLCBBZGRSdWxlc01vZGUgbW9kZSkKQEAg
LTM1NSw5ICszNjAsNiBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0KFN0eWxlU2hl
ZXRDb250ZW50cyYgc2hlZXQsIE1lZGlhUXVlcnlDb2xsZWN0b3ImCiAgICAgfQogCiAgICAgYWRk
Q2hpbGRSdWxlcyhzaGVldC5jaGlsZFJ1bGVzKCksIG1lZGlhUXVlcnlDb2xsZWN0b3IsIHJlc29s
dmVyLCBtb2RlKTsKLQotICAgIGlmIChtX2F1dG9TaHJpbmtUb0ZpdEVuYWJsZWQgJiYgbW9kZSA9
PSBBZGRSdWxlc01vZGU6Ok5vcm1hbCkKLSAgICAgICAgc2hyaW5rVG9GaXQoKTsKIH0KIAogdm9p
ZCBSdWxlU2V0OjphZGRTdHlsZVJ1bGUoY29uc3QgU3R5bGVSdWxlJiBydWxlLCBNZWRpYVF1ZXJ5
Q29sbGVjdG9yJiBtZWRpYVF1ZXJ5Q29sbGVjdG9yKQpAQCAtNDE1LDYgKzQxNyw3IEBAIHN0ZDo6
b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gUnVsZVNldDo6ZXZh
bHVhdGVEeW5hbWljTWVkaWFRCiAgICAgICAgICAgICBmb3IgKGF1dG8mIGZlYXR1cmUgOiAqZmVh
dHVyZVZlY3RvcikKICAgICAgICAgICAgICAgICBydWxlU2V0LT5hZGRSdWxlKCpmZWF0dXJlLnN0
eWxlUnVsZSwgZmVhdHVyZS5zZWxlY3RvckluZGV4LCBmZWF0dXJlLnNlbGVjdG9yTGlzdEluZGV4
KTsKICAgICAgICAgfQorICAgICAgICBydWxlU2V0LT5zaHJpbmtUb0ZpdCgpOwogICAgICAgICBy
ZXR1cm4gcnVsZVNldDsKICAgICB9KS5pdGVyYXRvci0+dmFsdWU7CiAKQEAgLTQ3Miw2ICs0NzUs
MTQgQEAgc3RhdGljIGlubGluZSB2b2lkIHNocmlua01hcFZlY3RvcnNUb0ZpdChSdWxlU2V0OjpB
dG9tUnVsZU1hcCYgbWFwKQogICAgICAgICB2ZWN0b3ItPnNocmlua1RvRml0KCk7CiB9CiAKK3N0
YXRpYyBpbmxpbmUgdm9pZCBzaHJpbmtEeW5hbWljUnVsZXMoVmVjdG9yPFJ1bGVTZXQ6OkR5bmFt
aWNNZWRpYVF1ZXJ5UnVsZXM+JiBkeW5hbWljUnVsZXMpCit7CisgICAgZm9yIChhdXRvJiBydWxl
IDogZHluYW1pY1J1bGVzKQorICAgICAgICBydWxlLnNocmlua1RvRml0KCk7CisKKyAgICBkeW5h
bWljUnVsZXMuc2hyaW5rVG9GaXQoKTsKK30KKwogdm9pZCBSdWxlU2V0OjpzaHJpbmtUb0ZpdCgp
CiB7CiAgICAgc2hyaW5rTWFwVmVjdG9yc1RvRml0KG1faWRSdWxlcyk7CkBAIC00NzksMTYgKzQ5
MCwyMSBAQCB2b2lkIFJ1bGVTZXQ6OnNocmlua1RvRml0KCkKICAgICBzaHJpbmtNYXBWZWN0b3Jz
VG9GaXQobV90YWdMb2NhbE5hbWVSdWxlcyk7CiAgICAgc2hyaW5rTWFwVmVjdG9yc1RvRml0KG1f
dGFnTG93ZXJjYXNlTG9jYWxOYW1lUnVsZXMpOwogICAgIHNocmlua01hcFZlY3RvcnNUb0ZpdCht
X3NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyk7CisKICAgICBtX2xpbmtQc2V1ZG9DbGFzc1J1bGVz
LnNocmlua1RvRml0KCk7CiAjaWYgRU5BQkxFKFZJREVPKQogICAgIG1fY3VlUHNldWRvUnVsZXMu
c2hyaW5rVG9GaXQoKTsKICNlbmRpZgogICAgIG1faG9zdFBzZXVkb0NsYXNzUnVsZXMuc2hyaW5r
VG9GaXQoKTsKICAgICBtX3Nsb3R0ZWRQc2V1ZG9FbGVtZW50UnVsZXMuc2hyaW5rVG9GaXQoKTsK
KyAgICBtX3BhcnRQc2V1ZG9FbGVtZW50UnVsZXMuc2hyaW5rVG9GaXQoKTsKICAgICBtX2ZvY3Vz
UHNldWRvQ2xhc3NSdWxlcy5zaHJpbmtUb0ZpdCgpOwogICAgIG1fdW5pdmVyc2FsUnVsZXMuc2hy
aW5rVG9GaXQoKTsKKwogICAgIG1fcGFnZVJ1bGVzLnNocmlua1RvRml0KCk7CiAgICAgbV9mZWF0
dXJlcy5zaHJpbmtUb0ZpdCgpOworCisgICAgc2hyaW5rRHluYW1pY1J1bGVzKG1fZHluYW1pY01l
ZGlhUXVlcnlSdWxlcyk7CiB9CiAKIFJ1bGVTZXQ6Ok1lZGlhUXVlcnlDb2xsZWN0b3I6On5NZWRp
YVF1ZXJ5Q29sbGVjdG9yKCkgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvUnVsZVNldC5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCmluZGV4IGQ1
ODVlMTI2NzIzMS4uZDQ1YTQ0MmRiYWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9SdWxlU2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCkBAIC0xNTMs
NyArMTUzLDYgQEAgcHJpdmF0ZToKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uPiB2
b2lkIHRyYXZlcnNlUnVsZURhdGFzKEZ1bmN0aW9uJiYpOwogCi0KICAgICBBdG9tUnVsZU1hcCBt
X2lkUnVsZXM7CiAgICAgQXRvbVJ1bGVNYXAgbV9jbGFzc1J1bGVzOwogICAgIEF0b21SdWxlTWFw
IG1fdGFnTG9jYWxOYW1lUnVsZXM7CkBAIC0xNjksMTMgKzE2OCwxMyBAQCBwcml2YXRlOgogICAg
IFJ1bGVEYXRhVmVjdG9yIG1fZm9jdXNQc2V1ZG9DbGFzc1J1bGVzOwogICAgIFJ1bGVEYXRhVmVj
dG9yIG1fdW5pdmVyc2FsUnVsZXM7CiAgICAgVmVjdG9yPFN0eWxlUnVsZVBhZ2UqPiBtX3BhZ2VS
dWxlczsKKyAgICBSdWxlRmVhdHVyZVNldCBtX2ZlYXR1cmVzOworICAgIFZlY3RvcjxEeW5hbWlj
TWVkaWFRdWVyeVJ1bGVzPiBtX2R5bmFtaWNNZWRpYVF1ZXJ5UnVsZXM7CisgICAgSGFzaE1hcDxW
ZWN0b3I8c2l6ZV90PiwgUmVmPGNvbnN0IFJ1bGVTZXQ+PiBtX21lZGlhUXVlcnlJbnZhbGlkYXRp
b25SdWxlU2V0Q2FjaGU7CiAgICAgdW5zaWduZWQgbV9ydWxlQ291bnQgeyAwIH07CiAgICAgYm9v
bCBtX2hhc0hvc3RQc2V1ZG9DbGFzc1J1bGVzTWF0Y2hpbmdJblNoYWRvd1RyZWUgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9hdXRvU2hyaW5rVG9GaXRFbmFibGVkIHsgdHJ1ZSB9OwotICAgIFJ1bGVG
ZWF0dXJlU2V0IG1fZmVhdHVyZXM7CiAgICAgYm9vbCBtX2hhc1ZpZXdwb3J0RGVwZW5kZW50TWVk
aWFRdWVyaWVzIHsgZmFsc2UgfTsKLSAgICBWZWN0b3I8RHluYW1pY01lZGlhUXVlcnlSdWxlcz4g
bV9keW5hbWljTWVkaWFRdWVyeVJ1bGVzOwotICAgIEhhc2hNYXA8VmVjdG9yPHNpemVfdD4sIFJl
Zjxjb25zdCBSdWxlU2V0Pj4gbV9tZWRpYVF1ZXJ5SW52YWxpZGF0aW9uUnVsZVNldENhY2hlOwog
fTsKIAogaW5saW5lIGNvbnN0IFJ1bGVTZXQ6OlJ1bGVEYXRhVmVjdG9yKiBSdWxlU2V0Ojp0YWdS
dWxlcyhjb25zdCBBdG9tU3RyaW5nJiBrZXksIGJvb2wgaXNIVE1MTmFtZSkgY29uc3QK
</data>
<flag name="commit-queue"
          id="457547"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434901</attachid>
            <date>2021-08-04 06:56:43 -0700</date>
            <delta_ts>2021-08-04 10:39:58 -0700</delta_ts>
            <desc>reland</desc>
            <filename>rule-shrinktofit-reland-2.patch</filename>
            <type>text/plain</type>
            <size>6123</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzMjllNzY3NDg2ZWUuLmU2ZGY4MTgxYTQ4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDIxLTA4LTA0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KKworICAgICAgICBSZWR1Y2UgVmVjdG9yPD4gd2FzdGVkIGNhcGFjaXR5IGluIHNvbWUgUnVs
ZVNldCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQxNjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc2MzY5NTU1PgorCisgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydGluZyByZXZlcnQgcjI3OTI0Mi4KKworICAgICAgICBSZWxhbmQgYXMg
dGhpcyB3YXMgbm90IHJlbGF0ZWQgdG8gdGhlIGNyYXNoZXMgc2Vlbi4KKworICAgICAgICAqIHN0
eWxlL1J1bGVTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlJ1bGVTZXQ6OmFkZFJ1
bGVzRnJvbVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpSdWxlU2V0OjpldmFsdWF0
ZUR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OnNocmlu
a0R5bmFtaWNSdWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6c2hyaW5r
VG9GaXQpOgorICAgICAgICAqIHN0eWxlL1J1bGVTZXQuaDoKKwogMjAyMS0wOC0wMiAgTWFydGlu
IFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW2Nzcy1zY3JvbGwt
c25hcF0gQ29uc2lkZXIgYWxsIHNuYXAgYXJlYXMgYXQgYSBnaXZlbiBzbmFwIG9mZnNldCB3aGVu
IHNuYXBwaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1J1bGVTZXQuY3BwCmluZGV4IDgyY2IxYTliYmE0Zi4uNGRl
NzNhNjI4MWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcApAQCAtMzEzLDYgKzMxMyw5IEBA
IHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5bGVTaGVldENvbnRlbnRzJiBzaGVl
dCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1CiB7CiAgICAgYXV0byBtZWRpYVF1ZXJ5Q29sbGVjdG9y
ID0gTWVkaWFRdWVyeUNvbGxlY3RvciB7IGV2YWx1YXRvciB9OwogICAgIGFkZFJ1bGVzRnJvbVNo
ZWV0KHNoZWV0LCBtZWRpYVF1ZXJ5Q29sbGVjdG9yLCBudWxscHRyLCBBZGRSdWxlc01vZGU6Ok5v
cm1hbCk7CisKKyAgICBpZiAobV9hdXRvU2hyaW5rVG9GaXRFbmFibGVkKQorICAgICAgICBzaHJp
bmtUb0ZpdCgpOwogfQogCiB2b2lkIFJ1bGVTZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0KFN0eWxlU2hl
ZXRDb250ZW50cyYgc2hlZXQsIE1lZGlhUXVlcnlTZXQqIHNoZWV0UXVlcnksIGNvbnN0IE1lZGlh
UXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRvciwgU3R5bGU6OlJlc29sdmVyJiByZXNvbHZlcikKQEAg
LTMzMywxNCArMzM2LDE2IEBAIHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5bGVT
aGVldENvbnRlbnRzJiBzaGVldCwgTWVkaWFRdWVyeVNldCogc2hlZXRRCiAKICAgICBtX2hhc1Zp
ZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyaWVzID0gbWVkaWFRdWVyeUNvbGxlY3Rvci5oYXNWaWV3
cG9ydERlcGVuZGVudE1lZGlhUXVlcmllczsKIAotICAgIGlmIChtZWRpYVF1ZXJ5Q29sbGVjdG9y
LmR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47CisgICAg
aWYgKCFtZWRpYVF1ZXJ5Q29sbGVjdG9yLmR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMuaXNFbXB0eSgp
KSB7CisgICAgICAgIGF1dG8gZmlyc3ROZXdJbmRleCA9IG1fZHluYW1pY01lZGlhUXVlcnlSdWxl
cy5zaXplKCk7CisgICAgICAgIG1fZHluYW1pY01lZGlhUXVlcnlSdWxlcy5hcHBlbmRWZWN0b3Io
V1RGTW92ZShtZWRpYVF1ZXJ5Q29sbGVjdG9yLmR5bmFtaWNNZWRpYVF1ZXJ5UnVsZXMpKTsKIAot
ICAgIGF1dG8gZmlyc3ROZXdJbmRleCA9IG1fZHluYW1pY01lZGlhUXVlcnlSdWxlcy5zaXplKCk7
Ci0gICAgbV9keW5hbWljTWVkaWFRdWVyeVJ1bGVzLmFwcGVuZFZlY3RvcihXVEZNb3ZlKG1lZGlh
UXVlcnlDb2xsZWN0b3IuZHluYW1pY01lZGlhUXVlcnlSdWxlcykpOworICAgICAgICAvLyBTZXQg
dGhlIGluaXRpYWwgdmFsdWVzLgorICAgICAgICBldmFsdWF0ZUR5bmFtaWNNZWRpYVF1ZXJ5UnVs
ZXMoZXZhbHVhdG9yLCBmaXJzdE5ld0luZGV4KTsKKyAgICB9CiAKLSAgICAvLyBTZXQgdGhlIGlu
aXRpYWwgdmFsdWVzLgotICAgIGV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlSdWxlcyhldmFsdWF0
b3IsIGZpcnN0TmV3SW5kZXgpOworICAgIGlmIChtX2F1dG9TaHJpbmtUb0ZpdEVuYWJsZWQpCisg
ICAgICAgIHNocmlua1RvRml0KCk7CiB9CiAKIHZvaWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hl
ZXQoU3R5bGVTaGVldENvbnRlbnRzJiBzaGVldCwgTWVkaWFRdWVyeUNvbGxlY3RvciYgbWVkaWFR
dWVyeUNvbGxlY3RvciwgUmVzb2x2ZXIqIHJlc29sdmVyLCBBZGRSdWxlc01vZGUgbW9kZSkKQEAg
LTM1NSw5ICszNjAsNiBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0KFN0eWxlU2hl
ZXRDb250ZW50cyYgc2hlZXQsIE1lZGlhUXVlcnlDb2xsZWN0b3ImCiAgICAgfQogCiAgICAgYWRk
Q2hpbGRSdWxlcyhzaGVldC5jaGlsZFJ1bGVzKCksIG1lZGlhUXVlcnlDb2xsZWN0b3IsIHJlc29s
dmVyLCBtb2RlKTsKLQotICAgIGlmIChtX2F1dG9TaHJpbmtUb0ZpdEVuYWJsZWQgJiYgbW9kZSA9
PSBBZGRSdWxlc01vZGU6Ok5vcm1hbCkKLSAgICAgICAgc2hyaW5rVG9GaXQoKTsKIH0KIAogdm9p
ZCBSdWxlU2V0OjphZGRTdHlsZVJ1bGUoY29uc3QgU3R5bGVSdWxlJiBydWxlLCBNZWRpYVF1ZXJ5
Q29sbGVjdG9yJiBtZWRpYVF1ZXJ5Q29sbGVjdG9yKQpAQCAtNDE1LDYgKzQxNyw3IEBAIHN0ZDo6
b3B0aW9uYWw8RHluYW1pY01lZGlhUXVlcnlFdmFsdWF0aW9uQ2hhbmdlcz4gUnVsZVNldDo6ZXZh
bHVhdGVEeW5hbWljTWVkaWFRCiAgICAgICAgICAgICBmb3IgKGF1dG8mIGZlYXR1cmUgOiAqZmVh
dHVyZVZlY3RvcikKICAgICAgICAgICAgICAgICBydWxlU2V0LT5hZGRSdWxlKCpmZWF0dXJlLnN0
eWxlUnVsZSwgZmVhdHVyZS5zZWxlY3RvckluZGV4LCBmZWF0dXJlLnNlbGVjdG9yTGlzdEluZGV4
KTsKICAgICAgICAgfQorICAgICAgICBydWxlU2V0LT5zaHJpbmtUb0ZpdCgpOwogICAgICAgICBy
ZXR1cm4gcnVsZVNldDsKICAgICB9KS5pdGVyYXRvci0+dmFsdWU7CiAKQEAgLTQ3Miw2ICs0NzUs
MTQgQEAgc3RhdGljIGlubGluZSB2b2lkIHNocmlua01hcFZlY3RvcnNUb0ZpdChSdWxlU2V0OjpB
dG9tUnVsZU1hcCYgbWFwKQogICAgICAgICB2ZWN0b3ItPnNocmlua1RvRml0KCk7CiB9CiAKK3N0
YXRpYyBpbmxpbmUgdm9pZCBzaHJpbmtEeW5hbWljUnVsZXMoVmVjdG9yPFJ1bGVTZXQ6OkR5bmFt
aWNNZWRpYVF1ZXJ5UnVsZXM+JiBkeW5hbWljUnVsZXMpCit7CisgICAgZm9yIChhdXRvJiBydWxl
IDogZHluYW1pY1J1bGVzKQorICAgICAgICBydWxlLnNocmlua1RvRml0KCk7CisKKyAgICBkeW5h
bWljUnVsZXMuc2hyaW5rVG9GaXQoKTsKK30KKwogdm9pZCBSdWxlU2V0OjpzaHJpbmtUb0ZpdCgp
CiB7CiAgICAgc2hyaW5rTWFwVmVjdG9yc1RvRml0KG1faWRSdWxlcyk7CkBAIC00NzksMTYgKzQ5
MCwyMSBAQCB2b2lkIFJ1bGVTZXQ6OnNocmlua1RvRml0KCkKICAgICBzaHJpbmtNYXBWZWN0b3Jz
VG9GaXQobV90YWdMb2NhbE5hbWVSdWxlcyk7CiAgICAgc2hyaW5rTWFwVmVjdG9yc1RvRml0KG1f
dGFnTG93ZXJjYXNlTG9jYWxOYW1lUnVsZXMpOwogICAgIHNocmlua01hcFZlY3RvcnNUb0ZpdCht
X3NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlcyk7CisKICAgICBtX2xpbmtQc2V1ZG9DbGFzc1J1bGVz
LnNocmlua1RvRml0KCk7CiAjaWYgRU5BQkxFKFZJREVPKQogICAgIG1fY3VlUHNldWRvUnVsZXMu
c2hyaW5rVG9GaXQoKTsKICNlbmRpZgogICAgIG1faG9zdFBzZXVkb0NsYXNzUnVsZXMuc2hyaW5r
VG9GaXQoKTsKICAgICBtX3Nsb3R0ZWRQc2V1ZG9FbGVtZW50UnVsZXMuc2hyaW5rVG9GaXQoKTsK
KyAgICBtX3BhcnRQc2V1ZG9FbGVtZW50UnVsZXMuc2hyaW5rVG9GaXQoKTsKICAgICBtX2ZvY3Vz
UHNldWRvQ2xhc3NSdWxlcy5zaHJpbmtUb0ZpdCgpOwogICAgIG1fdW5pdmVyc2FsUnVsZXMuc2hy
aW5rVG9GaXQoKTsKKwogICAgIG1fcGFnZVJ1bGVzLnNocmlua1RvRml0KCk7CiAgICAgbV9mZWF0
dXJlcy5zaHJpbmtUb0ZpdCgpOworCisgICAgc2hyaW5rRHluYW1pY1J1bGVzKG1fZHluYW1pY01l
ZGlhUXVlcnlSdWxlcyk7CiB9CiAKIFJ1bGVTZXQ6Ok1lZGlhUXVlcnlDb2xsZWN0b3I6On5NZWRp
YVF1ZXJ5Q29sbGVjdG9yKCkgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvUnVsZVNldC5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCmluZGV4IGQ1
ODVlMTI2NzIzMS4uNWMzODQ2MzY5MWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9SdWxlU2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5oCkBAIC03Niw2
ICs3NiwxMyBAQCBwdWJsaWM6CiAgICAgICAgIFJ1bGVGZWF0dXJlVmVjdG9yIHJ1bGVGZWF0dXJl
czsKICAgICAgICAgYm9vbCByZXF1aXJlc0Z1bGxSZXNldCB7IGZhbHNlIH07CiAgICAgICAgIGJv
b2wgcmVzdWx0IHsgdHJ1ZSB9OworCisgICAgICAgIHZvaWQgc2hyaW5rVG9GaXQoKQorICAgICAg
ICB7CisgICAgICAgICAgICBtZWRpYVF1ZXJ5U2V0cy5zaHJpbmtUb0ZpdCgpOworICAgICAgICAg
ICAgYWZmZWN0ZWRSdWxlUG9zaXRpb25zLnNocmlua1RvRml0KCk7CisgICAgICAgICAgICBydWxl
RmVhdHVyZXMuc2hyaW5rVG9GaXQoKTsKKyAgICAgICAgfQogICAgIH07CiAKICAgICBzdHJ1Y3Qg
TWVkaWFRdWVyeUNvbGxlY3RvciB7CkBAIC0xNTMsNyArMTYwLDYgQEAgcHJpdmF0ZToKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uPiB2b2lkIHRyYXZlcnNlUnVsZURhdGFzKEZ1bmN0
aW9uJiYpOwogCi0KICAgICBBdG9tUnVsZU1hcCBtX2lkUnVsZXM7CiAgICAgQXRvbVJ1bGVNYXAg
bV9jbGFzc1J1bGVzOwogICAgIEF0b21SdWxlTWFwIG1fdGFnTG9jYWxOYW1lUnVsZXM7CkBAIC0x
NjksMTMgKzE3NSwxMyBAQCBwcml2YXRlOgogICAgIFJ1bGVEYXRhVmVjdG9yIG1fZm9jdXNQc2V1
ZG9DbGFzc1J1bGVzOwogICAgIFJ1bGVEYXRhVmVjdG9yIG1fdW5pdmVyc2FsUnVsZXM7CiAgICAg
VmVjdG9yPFN0eWxlUnVsZVBhZ2UqPiBtX3BhZ2VSdWxlczsKKyAgICBSdWxlRmVhdHVyZVNldCBt
X2ZlYXR1cmVzOworICAgIFZlY3RvcjxEeW5hbWljTWVkaWFRdWVyeVJ1bGVzPiBtX2R5bmFtaWNN
ZWRpYVF1ZXJ5UnVsZXM7CisgICAgSGFzaE1hcDxWZWN0b3I8c2l6ZV90PiwgUmVmPGNvbnN0IFJ1
bGVTZXQ+PiBtX21lZGlhUXVlcnlJbnZhbGlkYXRpb25SdWxlU2V0Q2FjaGU7CiAgICAgdW5zaWdu
ZWQgbV9ydWxlQ291bnQgeyAwIH07CiAgICAgYm9vbCBtX2hhc0hvc3RQc2V1ZG9DbGFzc1J1bGVz
TWF0Y2hpbmdJblNoYWRvd1RyZWUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9hdXRvU2hyaW5rVG9G
aXRFbmFibGVkIHsgdHJ1ZSB9OwotICAgIFJ1bGVGZWF0dXJlU2V0IG1fZmVhdHVyZXM7CiAgICAg
Ym9vbCBtX2hhc1ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyaWVzIHsgZmFsc2UgfTsKLSAgICBW
ZWN0b3I8RHluYW1pY01lZGlhUXVlcnlSdWxlcz4gbV9keW5hbWljTWVkaWFRdWVyeVJ1bGVzOwot
ICAgIEhhc2hNYXA8VmVjdG9yPHNpemVfdD4sIFJlZjxjb25zdCBSdWxlU2V0Pj4gbV9tZWRpYVF1
ZXJ5SW52YWxpZGF0aW9uUnVsZVNldENhY2hlOwogfTsKIAogaW5saW5lIGNvbnN0IFJ1bGVTZXQ6
OlJ1bGVEYXRhVmVjdG9yKiBSdWxlU2V0Ojp0YWdSdWxlcyhjb25zdCBBdG9tU3RyaW5nJiBrZXks
IGJvb2wgaXNIVE1MTmFtZSkgY29uc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>