<?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>208419</bug_id>
          
          <creation_ts>2020-02-29 16:18:53 -0800</creation_ts>
          <short_desc>[LFC][MarginCollapsing] Do not re-compute PositiveAndNegativeVerticalMargin values</short_desc>
          <delta_ts>2020-03-01 09:56:04 -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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</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>1624341</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-02-29 16:18:53 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624342</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-29 16:19:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/59923666&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624343</commentid>
    <comment_count>2</comment_count>
      <attachid>392079</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-02-29 16:22:06 -0800</bug_when>
    <thetext>Created attachment 392079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624370</commentid>
    <comment_count>3</comment_count>
      <attachid>392079</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-02-29 21:58:59 -0800</bug_when>
    <thetext>Comment on attachment 392079
Patch

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

&gt; Source/WebCore/layout/blockformatting/BlockMarginCollapse.cpp:588
&gt; +    auto beforeMarginIsCollapsed = marginBeforeCollapsesWithFirstInFlowChildMarginBefore(layoutBox) || marginBeforeCollapsesWithPreviousSiblingMarginAfter(layoutBox);

hasCollapsedMarginBefore may read better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624378</commentid>
    <comment_count>4</comment_count>
      <attachid>392097</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-03-01 08:22:58 -0800</bug_when>
    <thetext>Created attachment 392097
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624379</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-03-01 08:23:13 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #3)
&gt; Comment on attachment 392079 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=392079&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/layout/blockformatting/BlockMarginCollapse.cpp:588
&gt; &gt; +    auto beforeMarginIsCollapsed = marginBeforeCollapsesWithFirstInFlowChildMarginBefore(layoutBox) || marginBeforeCollapsesWithPreviousSiblingMarginAfter(layoutBox);
&gt; 
&gt; hasCollapsedMarginBefore may read better.
Indeed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624388</commentid>
    <comment_count>6</comment_count>
      <attachid>392097</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-01 09:56:02 -0800</bug_when>
    <thetext>Comment on attachment 392097
Patch

Clearing flags on attachment: 392097

Committed r257690: &lt;https://trac.webkit.org/changeset/257690&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624389</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-01 09:56:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392079</attachid>
            <date>2020-02-29 16:22:06 -0800</date>
            <delta_ts>2020-03-01 08:33:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208419-20200229162206.patch</filename>
            <type>text/plain</type>
            <size>14695</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3NTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGRkYzRmZTA5M2QyMWY4
MmZhMjUzZDVhZjEwNDVjN2VkZDRjNDQ2MS4uZmNlM2VjZmI0OTlmMzZlYWRjZWQ3NmU4MjcyN2M0
YTUwMDQ1Yzg4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTAyLTI5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bTWFyZ2luQ29sbGFw
c2luZ10gRG8gbm90IHJlLWNvbXB1dGUgUG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2lu
IHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA4NDE5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTkyMzY2Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXJnaW5Db2xsYXBzZTo6Y29sbGFw
c2VkVmVydGljYWxWYWx1ZXMoKSBhbHJlYWR5IGNvbXB1dGVzIHRoZSBwb3NpdGl2ZS9uZWdhdGl2
ZSBiZWZvcmUvYWZ0ZXIgcGFpcnMuCisKKyAgICAgICAgKiBsYXlvdXQvTWFyZ2luVHlwZXMuaDoK
KyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpw
cmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckJveEFuZEFuY2VzdG9ycyk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVIZWlnaHRBbmRN
YXJnaW4pOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5n
Q29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0
aW5nQ29udGV4dFF1aXJrcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6c3RyZXRjaGVkSW5GbG93SGVpZ2h0KToKKyAgICAgICAg
KiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBz
ZTo6cG9zaXRpdmVOZWdhdGl2ZVZhbHVlcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpjb2xsYXBzZWRWZXJ0
aWNhbFZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpyZXNvbHZlZFBvc2l0aXZlTmVnYXRpdmVNYXJnaW5WYWx1
ZXMpOiBEZWxldGVkLgorCiAyMDIwLTAyLTI5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0xGQ11bQkZDXSBDb25zb2xpZGF0ZSBwcmVjb21wdXRlVmVydGljYWxQ
b3NpdGlvbkZvckFuY2VzdG9ycyBhbmQgcHJlY29tcHV0ZVZlcnRpY2FsUG9zaXRpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9NYXJnaW5UeXBlcy5oIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L01hcmdpblR5cGVzLmgKaW5kZXggMDUwMDI0YzJjZGE5ODQxOTM5NjNiZjdiMGU1
MDMxZjllYWYwMjQzNS4uZjY1ZjI0Y2Y5ZTczYjMyNTYwMjc5MzI3M2ZlZTM4YzNiMmRmMWNlYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L01hcmdpblR5cGVzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L01hcmdpblR5cGVzLmgKQEAgLTg2LDggKzg2LDggQEAgc3RydWN0
IFByZWNvbXB1dGVkTWFyZ2luQmVmb3JlIHsKIC8vIFRoaXMgb25seSBtYXR0ZXJzIGluIGNhc2Ug
b2YgY29sbGFwc2UgdGhyb3VnaCBtYXJnaW5zIHdoZW4gdGhleSBjb2xsYXBzZSBpbnRvIGFub3Ro
ZXIgc2libGluZyBib3guCiAvLyA8ZGl2IHN0eWxlPSJtYXJnaW46IDFweCI+PC9kaXY+PGRpdiBz
dHlsZT0ibWFyZ2luOiAxMHB4Ij48L2Rpdj4gPC0gdGhlIHNlY29uZCBkaXYncyBiZWZvcmUvYWZ0
ZXIgbWFyaW5ncyBjb2xsYXBzZSB0aHJvdWdoIGFuZCB0aGUgc2FtZSB0aW1lIHRoZXkgY29sbGFw
c2UgaW50bwogLy8gdGhlIGZpcnN0IGRpdi4gV2hlbiB0aGUgcGFyZW50IGNvbXB1dGVzIGl0cyBi
ZWZvcmUgbWFyZ2luLCBpdCBzaG91bGQgc2VlIHRoZSBzZWNvbmQgZGl2J3MgY29sbGFwc2VkIHRo
cm91Z2ggbWFyZ2luIGFzIHRoZSB2YWx1ZSB0byBjb2xsYXBzZSB3aWR0aCAoYWRqb2luaW5nIG1h
cmdpbiB2YWx1ZSkuCi0vLyBTbyB3aGlsZSB0aGUgZmlyc3QgZGl2J3MgYmVmb3JlIG1hcmdpbiBp
cyBub3QgMTBweCwgdGhlIGNhY2hlZCB2YWx1ZSBpcyAxMHB4IHNvIHRoYXQgd2hlbiB3ZSBjb21w
dXRlIHRoZSBwYXJlbnQncyBtYXJnaW4gd2UganVzdCBuZWVkIHRvIGNoZWNrIHRoZSBmaXN0Ci0v
LyBpbmZsb3cgY2hpbGQncyBjYWNoZWQgbWFyZ2luIHZhbHVlLgorLy8gU28gd2hpbGUgdGhlIGZp
cnN0IGRpdidzIGJlZm9yZSBtYXJnaW4gaXMgbm90IDEwcHgsIHRoZSBjYWNoZWQgdmFsdWUgaXMg
MTBweCBzbyB0aGF0IHdoZW4gd2UgY29tcHV0ZSB0aGUgcGFyZW50J3MgbWFyZ2luIHdlIGp1c3Qg
bmVlZCB0byBjaGVjayB0aGUgZmlyc3QKKy8vIGluZmxvdyBjaGlsZCdzIGNhY2hlZCBtYXJnaW4g
dmFsdWVzLgogc3RydWN0IFBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdpbiB7CiAgICAg
c3RydWN0IFZhbHVlcyB7CiAgICAgICAgIGJvb2wgaXNOb25aZXJvKCkgY29uc3QgeyByZXR1cm4g
cG9zaXRpdmUudmFsdWVPcigwKSB8fCBuZWdhdGl2ZS52YWx1ZU9yKDApOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0Nv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zv
cm1hdHRpbmdDb250ZXh0LmNwcAppbmRleCAwODViZGJkNzQ4NDMxODMyZWZjZTlkYTVjNDlmMDZm
NDY4NjRkNjAyLi43MTU5ZDY2ODU0ZWNlY2Q4NmM4OWEzZmZiYjZkYmRjZDBmODMwMjVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0
dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRp
bmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQyMywxMyArNDIzLDE2IEBAIHZvaWQg
QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUhlaWdodEFuZE1hcmdpbihjb25zdCBCb3gm
IGxheW91dEJveCwgY29uc3QKICAgICAvLyAxLiBDb21wdXRlIGNvbGxhcHNlZCBtYXJnaW5zLgog
ICAgIC8vIDIuIEFkanVzdCB2ZXJ0aWNhbCBwb3NpdGlvbiB1c2luZyB0aGUgY29sbGFwc2VkIHZh
bHVlcwogICAgIC8vIDMuIEFkanVzdCBwcmV2aW91cyBpbi1mbG93IHNpYmxpbmcgbWFyZ2luIGFm
dGVyIHVzaW5nIHRoaXMgbWFyZ2luLgotICAgIGF1dG8gY29sbGFwc2VkTWFyZ2luID0gbWFyZ2lu
Q29sbGFwc2UoKS5jb2xsYXBzZWRWZXJ0aWNhbFZhbHVlcyhsYXlvdXRCb3gsIGNvbnRlbnRIZWln
aHRBbmRNYXJnaW4ubm9uQ29sbGFwc2VkTWFyZ2luKTsKLSAgICBhdXRvIHZlcnRpY2FsTWFyZ2lu
ID0gVXNlZFZlcnRpY2FsTWFyZ2luIHsgY29udGVudEhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBz
ZWRNYXJnaW4sIGNvbGxhcHNlZE1hcmdpbiB9OwotICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBmb3Jt
YXR0aW5nU3RhdGUoKS5kaXNwbGF5Qm94KGxheW91dEJveCk7CisgICAgYXV0byBtYXJnaW5Db2xs
YXBzZSA9IHRoaXMtPm1hcmdpbkNvbGxhcHNlKCk7CisgICAgYXV0byBjb2xsYXBzZWRBbmRQb3Np
dGl2ZU5lZ2F0aXZlVmFsdWVzID0gbWFyZ2luQ29sbGFwc2UuY29sbGFwc2VkVmVydGljYWxWYWx1
ZXMobGF5b3V0Qm94LCBjb250ZW50SGVpZ2h0QW5kTWFyZ2luLm5vbkNvbGxhcHNlZE1hcmdpbik7
CisgICAgLy8gQ2FjaGUgdGhlIGNvbXB1dGVkIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBtYXJnaW4g
dmFsdWUgcGFpci4KKyAgICBmb3JtYXR0aW5nU3RhdGUoKS5zZXRQb3NpdGl2ZUFuZE5lZ2F0aXZl
VmVydGljYWxNYXJnaW4obGF5b3V0Qm94LCBjb2xsYXBzZWRBbmRQb3NpdGl2ZU5lZ2F0aXZlVmFs
dWVzLnBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbFZhbHVlcyk7CisgICAgYXV0byB2ZXJ0aWNh
bE1hcmdpbiA9IFVzZWRWZXJ0aWNhbE1hcmdpbiB7IGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9u
Q29sbGFwc2VkTWFyZ2luLCBjb2xsYXBzZWRBbmRQb3NpdGl2ZU5lZ2F0aXZlVmFsdWVzLmNvbGxh
cHNlZFZhbHVlcyB9OwogCiAgICAgLy8gT3V0IG9mIGZsb3cgYm94ZXMgZG9uJ3QgbmVlZCB2ZXJ0
aWNhbCBhZGp1c3RtZW50IGFmdGVyIG1hcmdpbiBjb2xsYXBzaW5nLgogICAgIGlmIChsYXlvdXRC
b3guaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpIHsKICAgICAgICAgQVNTRVJUKCFoYXNQcmVjb21w
dXRlZE1hcmdpbkJlZm9yZShsYXlvdXRCb3gpKTsKKyAgICAgICAgYXV0byYgZGlzcGxheUJveCA9
IGZvcm1hdHRpbmdTdGF0ZSgpLmRpc3BsYXlCb3gobGF5b3V0Qm94KTsKICAgICAgICAgZGlzcGxh
eUJveC5zZXRDb250ZW50Qm94SGVpZ2h0KGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4uY29udGVudEhl
aWdodCk7CiAgICAgICAgIGRpc3BsYXlCb3guc2V0VmVydGljYWxNYXJnaW4odmVydGljYWxNYXJn
aW4pOwogICAgICAgICByZXR1cm47CkBAIC00MzcsMTIgKzQ0MCwxMCBAQCB2b2lkIEJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVIZWlnaHRBbmRNYXJnaW4oY29uc3QgQm94JiBsYXlvdXRC
b3gsIGNvbnN0CiAKICAgICBBU1NFUlQoIWhhc1ByZWNvbXB1dGVkTWFyZ2luQmVmb3JlKGxheW91
dEJveCkgfHwgcHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUobGF5b3V0Qm94KS51c2VkVmFsdWUoKSA9
PSB2ZXJ0aWNhbE1hcmdpbi5iZWZvcmUoKSk7CiAgICAgcmVtb3ZlUHJlY29tcHV0ZWRNYXJnaW5C
ZWZvcmUobGF5b3V0Qm94KTsKKyAgICBhdXRvJiBkaXNwbGF5Qm94ID0gZm9ybWF0dGluZ1N0YXRl
KCkuZGlzcGxheUJveChsYXlvdXRCb3gpOwogICAgIGRpc3BsYXlCb3guc2V0VG9wKHZlcnRpY2Fs
UG9zaXRpb25XaXRoTWFyZ2luKGxheW91dEJveCwgdmVydGljYWxNYXJnaW4sIHZlcnRpY2FsQ29u
c3RyYWludHMpKTsKICAgICBkaXNwbGF5Qm94LnNldENvbnRlbnRCb3hIZWlnaHQoY29udGVudEhl
aWdodEFuZE1hcmdpbi5jb250ZW50SGVpZ2h0KTsKICAgICBkaXNwbGF5Qm94LnNldFZlcnRpY2Fs
TWFyZ2luKHZlcnRpY2FsTWFyZ2luKTsKLQotICAgIGF1dG8gbWFyZ2luQ29sbGFwc2UgPSB0aGlz
LT5tYXJnaW5Db2xsYXBzZSgpOwotICAgIGZvcm1hdHRpbmdTdGF0ZSgpLnNldFBvc2l0aXZlQW5k
TmVnYXRpdmVWZXJ0aWNhbE1hcmdpbihsYXlvdXRCb3gsIG1hcmdpbkNvbGxhcHNlLnJlc29sdmVk
UG9zaXRpdmVOZWdhdGl2ZU1hcmdpblZhbHVlcyhsYXlvdXRCb3gsIGNvbnRlbnRIZWlnaHRBbmRN
YXJnaW4ubm9uQ29sbGFwc2VkTWFyZ2luKSk7CiAgICAgLy8gQWRqdXN0IHRoZSBwcmV2aW91cyBz
aWJsaW5nJ3MgbWFyZ2luIGJvdHRvbSBub3cgdGhhdCB0aGlzIGJveCdzIHZlcnRpY2FsIG1hcmdp
biBpcyBjb21wdXRlZC4KICAgICBNYXJnaW5Db2xsYXBzZTo6dXBkYXRlTWFyZ2luQWZ0ZXJGb3JQ
cmV2aW91c1NpYmxpbmcoKnRoaXMsIG1hcmdpbkNvbGxhcHNlLCBsYXlvdXRCb3gpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1h
dHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Js
b2NrRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCAyNWZhNWU2ODUzODE0OGM4ODMzOTJhNDg2MDVi
OWJiYTVmZTA5MDBhLi5iMGQ1YWJkMWU0Yzc4Njg1MGM1MGM5ZmM3M2M5MWU3ZTcwMGZiMzdlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9y
bWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0
aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtMTAxLDEyICsxMDEsMTUgQEAgcHJpdmF0
ZToKICAgICAvLyBUaGlzIGNsYXNzIGltcGxlbWVudHMgbWFyZ2luIGNvbGxhcHNpbmcgZm9yIGJs
b2NrIGZvcm1hdHRpbmcgY29udGV4dC4KICAgICBjbGFzcyBNYXJnaW5Db2xsYXBzZSB7CiAgICAg
cHVibGljOgotICAgICAgICBVc2VkVmVydGljYWxNYXJnaW46OkNvbGxhcHNlZFZhbHVlcyBjb2xs
YXBzZWRWZXJ0aWNhbFZhbHVlcyhjb25zdCBCb3gmLCBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNv
bGxhcHNlZFZhbHVlcyk7CisgICAgICAgIHN0cnVjdCBDb2xsYXBzZWRBbmRQb3NpdGl2ZU5lZ2F0
aXZlVmFsdWVzIHsKKyAgICAgICAgICAgIFVzZWRWZXJ0aWNhbE1hcmdpbjo6Q29sbGFwc2VkVmFs
dWVzIGNvbGxhcHNlZFZhbHVlczsKKyAgICAgICAgICAgIFBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0
aWNhbE1hcmdpbiBwb3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxWYWx1ZXM7ICAgIAorICAgICAg
ICB9OworICAgICAgICBDb2xsYXBzZWRBbmRQb3NpdGl2ZU5lZ2F0aXZlVmFsdWVzIGNvbGxhcHNl
ZFZlcnRpY2FsVmFsdWVzKGNvbnN0IEJveCYsIFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFw
c2VkVmFsdWVzKTsKIAogICAgICAgICBQcmVjb21wdXRlZE1hcmdpbkJlZm9yZSBwcmVjb21wdXRl
ZE1hcmdpbkJlZm9yZShjb25zdCBCb3gmLCBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNl
ZFZhbHVlcyk7CiAgICAgICAgIExheW91dFVuaXQgbWFyZ2luQmVmb3JlSWdub3JpbmdDb2xsYXBz
aW5nVGhyb3VnaChjb25zdCBCb3gmLCBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZh
bHVlcyk7CiAgICAgICAgIHN0YXRpYyB2b2lkIHVwZGF0ZU1hcmdpbkFmdGVyRm9yUHJldmlvdXNT
aWJsaW5nKEJsb2NrRm9ybWF0dGluZ0NvbnRleHQmLCBjb25zdCBNYXJnaW5Db2xsYXBzZSYsIGNv
bnN0IEJveCYpOwotICAgICAgICBQb3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW4gcmVz
b2x2ZWRQb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luVmFsdWVzKGNvbnN0IEJveCYsIGNvbnN0IFVzZWRW
ZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVzJik7CiAKICAgICAgICAgYm9vbCBtYXJn
aW5CZWZvcmVDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQmVmb3JlKGNvbnN0IEJveCYpIGNvbnN0
OwogICAgICAgICBib29sIG1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhGaXJzdEluRmxvd0NoaWxk
TWFyZ2luQmVmb3JlKGNvbnN0IEJveCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0UXVpcmtzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5n
Q29udGV4dFF1aXJrcy5jcHAKaW5kZXggNDlmNDRhNGY2N2YzYTdiMjM4YjIyN2U3NTI1M2VmNWNj
NWE5NjEwOC4uYTcxODBiYjc3OWVjNzIzYjZjY2ViODU1NDhlOGQ1OTE3OTA4NDJiYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRp
bmdDb250ZXh0UXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3Jt
YXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3MuY3BwCkBAIC04OCw3ICs4OCw3IEBA
IExheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpzdHJldGNoZWRJbkZs
b3dIZWlnaHQoY29uc3QgQm94JiBsYXlvCiAgICAgYm9keUJveENvbnRlbnRIZWlnaHQgLT0gYm9k
eUJveEdlb21ldHJ5LnZlcnRpY2FsQm9yZGVyKCkgKyBib2R5Qm94R2VvbWV0cnkudmVydGljYWxQ
YWRkaW5nKCkudmFsdWVPcigwKTsKICAgICAvLyBCb2R5IGJveCBuZXZlciBjb2xsYXBzZXMgaXRz
IHZlcnRpY2FsIG1hcmdpbnMgd2l0aCB0aGUgZG9jdW1lbnQgYm94IGJ1dCBpdCBtaWdodCBjb2xs
YXBzZSBpdHMgbWFyZ2luIHdpdGggaXRzIGRlc2NlbmRhbnRzLgogICAgIGF1dG8gbm9uQ29sbGFw
c2VkTWFyZ2luID0gY29udGVudEhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBzZWRNYXJnaW47Ci0g
ICAgYXV0byBjb2xsYXBzZWRNYXJnaW4gPSBmb3JtYXR0aW5nQ29udGV4dC5tYXJnaW5Db2xsYXBz
ZSgpLmNvbGxhcHNlZFZlcnRpY2FsVmFsdWVzKGxheW91dEJveCwgbm9uQ29sbGFwc2VkTWFyZ2lu
KTsKKyAgICBhdXRvIGNvbGxhcHNlZE1hcmdpbiA9IGZvcm1hdHRpbmdDb250ZXh0Lm1hcmdpbkNv
bGxhcHNlKCkuY29sbGFwc2VkVmVydGljYWxWYWx1ZXMobGF5b3V0Qm94LCBub25Db2xsYXBzZWRN
YXJnaW4pLmNvbGxhcHNlZFZhbHVlczsKICAgICBhdXRvIHVzZWRWZXJ0aWNhbE1hcmdpbiA9IGNv
bGxhcHNlZE1hcmdpbi5iZWZvcmUudmFsdWVPcihub25Db2xsYXBzZWRNYXJnaW4uYmVmb3JlKTsK
ICAgICB1c2VkVmVydGljYWxNYXJnaW4gKz0gY29sbGFwc2VkTWFyZ2luLmlzQ29sbGFwc2VkVGhy
b3VnaCA/IG5vbkNvbGxhcHNlZE1hcmdpbi5hZnRlciA6IGNvbGxhcHNlZE1hcmdpbi5hZnRlci52
YWx1ZU9yKG5vbkNvbGxhcHNlZE1hcmdpbi5hZnRlcik7CiAgICAgYm9keUJveENvbnRlbnRIZWln
aHQgLT0gdXNlZFZlcnRpY2FsTWFyZ2luOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5jcHAKaW5kZXgg
YTVlNzBiNjBiZmY0ODA4M2RiNWFiNTc4MGE5ZGM2NWU2OWYyN2M0Yy4uY2Y5MzQwYTkxN2Y5YWZh
ZDhlYjc4MjRjNTJhOWZiOWFhODgxOWFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuY3BwCkBA
IC01MDgsOCArNTA4LDggQEAgdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xs
YXBzZTo6dXBkYXRlTWFyZ2luQWZ0ZXJGb3JQcmV2aW91c1NpYmxpbmcKIFBvc2l0aXZlQW5kTmVn
YXRpdmVWZXJ0aWNhbE1hcmdpbjo6VmFsdWVzIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdp
bkNvbGxhcHNlOjpwb3NpdGl2ZU5lZ2F0aXZlVmFsdWVzKGNvbnN0IEJveCYgbGF5b3V0Qm94LCBN
YXJnaW5UeXBlIG1hcmdpblR5cGUpIGNvbnN0CiB7CiAgICAgYXV0byYgYmxvY2tGb3JtYXR0aW5n
U3RhdGUgPSBkb3duY2FzdDxCbG9ja0Zvcm1hdHRpbmdTdGF0ZT4obGF5b3V0U3RhdGUoKS5mb3Jt
YXR0aW5nU3RhdGVGb3JCb3gobGF5b3V0Qm94KSk7Ci0gICAgLy8gQnkgdGhlIHRpbWUgd2UgZ2V0
IGhlcmUgaW4gQkZDIGxheW91dCB0byBnYXRoZXIgcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIG1hcmdp
biB2YWx1ZXMgZm9yIGEgZWl0aGVyIGEgcHJldmlvdXMgc2libGluZyBvciBhIGNoaWxkIGJveCwK
LSAgICAvLyB3ZSBtdXNoIGhhdmUgY29tcHV0ZWQgYW5kIGNhY2hlZCB0aG9zZSB2YWx1ZWQuCisg
ICAgLy8gQnkgdGhlIHRpbWUgd2UgZ2V0IGhlcmUgaW4gQkZDIGxheW91dCB0byBnYXRoZXIgcG9z
aXRpdmUgYW5kIG5lZ2F0aXZlIG1hcmdpbiB2YWx1ZXMgZm9yIGVpdGhlciBhIHByZXZpb3VzIHNp
Ymxpbmcgb3IgYSBjaGlsZCBib3gsCisgICAgLy8gd2UgbXVzaCBoYXZlIGNvbXB1dGVkIGFuZCBj
YWNoZWQgdGhvc2UgdmFsdWVzLgogICAgIEFTU0VSVChibG9ja0Zvcm1hdHRpbmdTdGF0ZS5oYXNQ
b3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW4obGF5b3V0Qm94KSk7CiAgICAgYXV0byBw
b3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW4gPSBibG9ja0Zvcm1hdHRpbmdTdGF0ZS5w
b3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW4obGF5b3V0Qm94KTsKICAgICByZXR1cm4g
bWFyZ2luVHlwZSA9PSBNYXJnaW5UeXBlOjpCZWZvcmUgPyBwb3NpdGl2ZUFuZE5lZ2F0aXZlVmVy
dGljYWxNYXJnaW4uYmVmb3JlIDogcG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luLmFm
dGVyOyAKQEAgLTU3MCw0MyArNTcwLDI5IEBAIExheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dDo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkJlZm9yZUlnbm9yaW5nQ29sbGFwc2luCiAgICAg
cmV0dXJuIG1hcmdpblZhbHVlKHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5CZWZvcmUobGF5b3V0Qm94
LCBub25Db2xsYXBzZWRWYWx1ZXMpKS52YWx1ZU9yKG5vbkNvbGxhcHNlZFZhbHVlcy5iZWZvcmUp
OwogfQogCi1Qb3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW4gQmxvY2tGb3JtYXR0aW5n
Q29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OnJlc29sdmVkUG9zaXRpdmVOZWdhdGl2ZU1hcmdpblZh
bHVlcyhjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgVXNlZFZlcnRpY2FsTWFyZ2luOjpOb25D
b2xsYXBzZWRWYWx1ZXMmIG5vbkNvbGxhcHNlZFZhbHVlcykKLXsKLSAgICBBU1NFUlQobGF5b3V0
Qm94LmlzQmxvY2tMZXZlbEJveCgpKTsKLSAgICBhdXRvIHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5C
ZWZvcmUgPSB0aGlzLT5wb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQmVmb3JlKGxheW91dEJveCwgbm9u
Q29sbGFwc2VkVmFsdWVzKTsKLSAgICBhdXRvIHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5BZnRlciA9
IHRoaXMtPnBvc2l0aXZlTmVnYXRpdmVNYXJnaW5BZnRlcihsYXlvdXRCb3gsIG5vbkNvbGxhcHNl
ZFZhbHVlcyk7Ci0KLSAgICBpZiAobWFyZ2luc0NvbGxhcHNlVGhyb3VnaChsYXlvdXRCb3gpKSB7
Ci0gICAgICAgIHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5CZWZvcmUgPSBjb21wdXRlZFBvc2l0aXZl
QW5kTmVnYXRpdmVNYXJnaW4ocG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZSwgcG9zaXRpdmVO
ZWdhdGl2ZU1hcmdpbkFmdGVyKTsKLSAgICAgICAgcG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkFmdGVy
ID0gcG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZTsKLSAgICB9Ci0gICAgcmV0dXJuIHsgcG9z
aXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZSwgcG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkFmdGVyIH07
Ci19Ci0KLVVzZWRWZXJ0aWNhbE1hcmdpbjo6Q29sbGFwc2VkVmFsdWVzIEJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpjb2xsYXBzZWRWZXJ0aWNhbFZhbHVlcyhjb25zdCBC
b3gmIGxheW91dEJveCwgVXNlZFZlcnRpY2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1ZXMgbm9u
Q29sbGFwc2VkVmFsdWVzKQorQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6
OkNvbGxhcHNlZEFuZFBvc2l0aXZlTmVnYXRpdmVWYWx1ZXMgQmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZFZlcnRpY2FsVmFsdWVzKGNvbnN0IEJveCYgbGF5
b3V0Qm94LCBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZhbHVlcyBub25Db2xsYXBz
ZWRWYWx1ZXMpCiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7CiAg
ICAgLy8gMS4gR2V0IG1pbi9tYXggbWFyZ2luIHRvcCB2YWx1ZXMgZnJvbSB0aGUgZmlyc3QgaW4t
ZmxvdyBjaGlsZCBpZiB3ZSBhcmUgY29sbGFwc2luZyBtYXJnaW4gdG9wIHdpdGggaXQuCiAgICAg
Ly8gMi4gR2V0IG1pbi9tYXggbWFyZ2luIHRvcCB2YWx1ZXMgZnJvbSB0aGUgcHJldmlvdXMgaW4t
ZmxvdyBzaWJsaW5nLCBpZiB3ZSBhcmUgY29sbGFwc2luZyBtYXJnaW4gdG9wIHdpdGggaXQuCiAg
ICAgLy8gMy4gR2V0IHRoaXMgbGF5b3V0IGJveCdzIGNvbXB1dGVkIG1hcmdpbiB0b3AgdmFsdWUu
CiAgICAgLy8gNC4gVXBkYXRlIHRoZSBtaW4vbWF4IHZhbHVlIGFuZCBjb21wdXRlIHRoZSBmaW5h
bCBtYXJnaW4uCi0gICAgYXV0byBwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQmVmb3JlID0gdGhpcy0+
cG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZShsYXlvdXRCb3gsIG5vbkNvbGxhcHNlZFZhbHVl
cyk7Ci0gICAgYXV0byBwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQWZ0ZXIgPSB0aGlzLT5wb3NpdGl2
ZU5lZ2F0aXZlTWFyZ2luQWZ0ZXIobGF5b3V0Qm94LCBub25Db2xsYXBzZWRWYWx1ZXMpOworICAg
IGF1dG8gcG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luID0gUG9zaXRpdmVBbmROZWdh
dGl2ZVZlcnRpY2FsTWFyZ2luIHsgdGhpcy0+cG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZShs
YXlvdXRCb3gsIG5vbkNvbGxhcHNlZFZhbHVlcyksIHRoaXMtPnBvc2l0aXZlTmVnYXRpdmVNYXJn
aW5BZnRlcihsYXlvdXRCb3gsIG5vbkNvbGxhcHNlZFZhbHVlcykgfTsKIAogICAgIGF1dG8gbWFy
Z2luc0NvbGxhcHNlVGhyb3VnaCA9IHRoaXMtPm1hcmdpbnNDb2xsYXBzZVRocm91Z2gobGF5b3V0
Qm94KTsKICAgICBpZiAobWFyZ2luc0NvbGxhcHNlVGhyb3VnaCkgewotICAgICAgICBwb3NpdGl2
ZU5lZ2F0aXZlTWFyZ2luQmVmb3JlID0gY29tcHV0ZWRQb3NpdGl2ZUFuZE5lZ2F0aXZlTWFyZ2lu
KHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5CZWZvcmUsIHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5BZnRl
cik7Ci0gICAgICAgIHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5BZnRlciA9IHBvc2l0aXZlTmVnYXRp
dmVNYXJnaW5CZWZvcmU7CisgICAgICAgIHBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdp
bi5iZWZvcmUgPSBjb21wdXRlZFBvc2l0aXZlQW5kTmVnYXRpdmVNYXJnaW4ocG9zaXRpdmVBbmRO
ZWdhdGl2ZVZlcnRpY2FsTWFyZ2luLmJlZm9yZSwgcG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2Fs
TWFyZ2luLmFmdGVyKTsKKyAgICAgICAgcG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2lu
LmFmdGVyID0gcG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luLmJlZm9yZTsKICAgICB9
CiAKLSAgICBhdXRvIGJlZm9yZU1hcmdpbklzQ29sbGFwc2VkVmFsdWUgPSBtYXJnaW5CZWZvcmVD
b2xsYXBzZXNXaXRoRmlyc3RJbkZsb3dDaGlsZE1hcmdpbkJlZm9yZShsYXlvdXRCb3gpIHx8IG1h
cmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQcmV2aW91c1NpYmxpbmdNYXJnaW5BZnRlcihsYXlvdXRC
b3gpOwotICAgIGF1dG8gYWZ0ZXJNYXJnaW5Jc0NvbGxhcHNlZFZhbHVlID0gbWFyZ2luQWZ0ZXJD
b2xsYXBzZXNXaXRoTGFzdEluRmxvd0NoaWxkTWFyZ2luQWZ0ZXIobGF5b3V0Qm94KTsKKyAgICBh
dXRvIGJlZm9yZU1hcmdpbklzQ29sbGFwc2VkID0gbWFyZ2luQmVmb3JlQ29sbGFwc2VzV2l0aEZp
cnN0SW5GbG93Q2hpbGRNYXJnaW5CZWZvcmUobGF5b3V0Qm94KSB8fCBtYXJnaW5CZWZvcmVDb2xs
YXBzZXNXaXRoUHJldmlvdXNTaWJsaW5nTWFyZ2luQWZ0ZXIobGF5b3V0Qm94KTsKKyAgICBhdXRv
IGFmdGVyTWFyZ2luSXNDb2xsYXBzZWQgPSBtYXJnaW5BZnRlckNvbGxhcHNlc1dpdGhMYXN0SW5G
bG93Q2hpbGRNYXJnaW5BZnRlcihsYXlvdXRCb3gpOwogCi0gICAgaWYgKChiZWZvcmVNYXJnaW5J
c0NvbGxhcHNlZFZhbHVlICYmIGFmdGVyTWFyZ2luSXNDb2xsYXBzZWRWYWx1ZSkgfHwgbWFyZ2lu
c0NvbGxhcHNlVGhyb3VnaCkKLSAgICAgICAgcmV0dXJuIHsgbWFyZ2luVmFsdWUocG9zaXRpdmVO
ZWdhdGl2ZU1hcmdpbkJlZm9yZSksIG1hcmdpblZhbHVlKHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5B
ZnRlciksIG1hcmdpbnNDb2xsYXBzZVRocm91Z2ggfTsKLSAgICBpZiAoYmVmb3JlTWFyZ2luSXND
b2xsYXBzZWRWYWx1ZSkKLSAgICAgICAgcmV0dXJuIHsgbWFyZ2luVmFsdWUocG9zaXRpdmVOZWdh
dGl2ZU1hcmdpbkJlZm9yZSksIHsgfSwgZmFsc2UgfTsKLSAgICByZXR1cm4geyB7IH0sIG1hcmdp
blZhbHVlKHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5BZnRlciksIGZhbHNlIH07CisgICAgaWYgKChi
ZWZvcmVNYXJnaW5Jc0NvbGxhcHNlZCAmJiBhZnRlck1hcmdpbklzQ29sbGFwc2VkKSB8fCBtYXJn
aW5zQ29sbGFwc2VUaHJvdWdoKSAKKyAgICAgICAgcmV0dXJuIHsgeyBtYXJnaW5WYWx1ZShwb3Np
dGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW4uYmVmb3JlKSwgbWFyZ2luVmFsdWUocG9zaXRp
dmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luLmFmdGVyKSwgbWFyZ2luc0NvbGxhcHNlVGhyb3Vn
aCB9LCBwb3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW4gfTsKKyAgICBpZiAoYmVmb3Jl
TWFyZ2luSXNDb2xsYXBzZWQpCisgICAgICAgIHJldHVybiB7IHsgbWFyZ2luVmFsdWUocG9zaXRp
dmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luLmJlZm9yZSksIHsgfSwgZmFsc2UgfSwgcG9zaXRp
dmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luIH07CisgICAgcmV0dXJuIHsgeyB7IH0sIG1hcmdp
blZhbHVlKHBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdpbi5hZnRlciksIGZhbHNlIH0s
IHBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdpbiB9OwogfQogCiB9Cg==
</data>
<flag name="commit-queue"
          id="407585"
          type_id="3"
          status="+"
          setter="zalan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392097</attachid>
            <date>2020-03-01 08:22:58 -0800</date>
            <delta_ts>2020-03-01 09:56:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208419-20200301082257.patch</filename>
            <type>text/plain</type>
            <size>14628</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3Njg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYThhODA1YmM3YzU5MmQ2
MmRkYjI2ZWVhNTE3MzdlM2IyZmVkNDJjOC4uYmQ3MWE5MmQ3Y2EyNzg5OGZhNTE1NDdiOWNmMTNm
NmM5ZDZiZjJkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTAzLTAxICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bTWFyZ2luQ29sbGFw
c2luZ10gRG8gbm90IHJlLWNvbXB1dGUgUG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2lu
IHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA4NDE5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTkyMzY2Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBNYXJnaW5Db2xsYXBzZTo6Y29sbGFw
c2VkVmVydGljYWxWYWx1ZXMoKSBhbHJlYWR5IGNvbXB1dGVzIHRoZSBwb3NpdGl2ZS9uZWdhdGl2
ZSBiZWZvcmUvYWZ0ZXIgcGFpcnMuCisKKyAgICAgICAgKiBsYXlvdXQvTWFyZ2luVHlwZXMuaDoK
KyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpw
cmVjb21wdXRlVmVydGljYWxQb3NpdGlvbkZvckJveEFuZEFuY2VzdG9ycyk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVIZWlnaHRBbmRN
YXJnaW4pOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5n
Q29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0
aW5nQ29udGV4dFF1aXJrcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6c3RyZXRjaGVkSW5GbG93SGVpZ2h0KToKKyAgICAgICAg
KiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBz
ZTo6cG9zaXRpdmVOZWdhdGl2ZVZhbHVlcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpjb2xsYXBzZWRWZXJ0
aWNhbFZhbHVlcyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpyZXNvbHZlZFBvc2l0aXZlTmVnYXRpdmVNYXJnaW5WYWx1
ZXMpOiBEZWxldGVkLgorCiAyMDIwLTAyLTI5ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHN0ZDo6bG9ja19ndWFyZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L01hcmdpblR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
TWFyZ2luVHlwZXMuaAppbmRleCAwNTAwMjRjMmNkYTk4NDE5Mzk2M2JmN2IwZTUwMzFmOWVhZjAy
NDM1Li5mNjVmMjRjZjllNzNiMzI1NjAyNzkzMjczZmVlMzhjM2IyZGYxY2ViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTWFyZ2luVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvTWFyZ2luVHlwZXMuaApAQCAtODYsOCArODYsOCBAQCBzdHJ1Y3QgUHJlY29tcHV0
ZWRNYXJnaW5CZWZvcmUgewogLy8gVGhpcyBvbmx5IG1hdHRlcnMgaW4gY2FzZSBvZiBjb2xsYXBz
ZSB0aHJvdWdoIG1hcmdpbnMgd2hlbiB0aGV5IGNvbGxhcHNlIGludG8gYW5vdGhlciBzaWJsaW5n
IGJveC4KIC8vIDxkaXYgc3R5bGU9Im1hcmdpbjogMXB4Ij48L2Rpdj48ZGl2IHN0eWxlPSJtYXJn
aW46IDEwcHgiPjwvZGl2PiA8LSB0aGUgc2Vjb25kIGRpdidzIGJlZm9yZS9hZnRlciBtYXJpbmdz
IGNvbGxhcHNlIHRocm91Z2ggYW5kIHRoZSBzYW1lIHRpbWUgdGhleSBjb2xsYXBzZSBpbnRvCiAv
LyB0aGUgZmlyc3QgZGl2LiBXaGVuIHRoZSBwYXJlbnQgY29tcHV0ZXMgaXRzIGJlZm9yZSBtYXJn
aW4sIGl0IHNob3VsZCBzZWUgdGhlIHNlY29uZCBkaXYncyBjb2xsYXBzZWQgdGhyb3VnaCBtYXJn
aW4gYXMgdGhlIHZhbHVlIHRvIGNvbGxhcHNlIHdpZHRoIChhZGpvaW5pbmcgbWFyZ2luIHZhbHVl
KS4KLS8vIFNvIHdoaWxlIHRoZSBmaXJzdCBkaXYncyBiZWZvcmUgbWFyZ2luIGlzIG5vdCAxMHB4
LCB0aGUgY2FjaGVkIHZhbHVlIGlzIDEwcHggc28gdGhhdCB3aGVuIHdlIGNvbXB1dGUgdGhlIHBh
cmVudCdzIG1hcmdpbiB3ZSBqdXN0IG5lZWQgdG8gY2hlY2sgdGhlIGZpc3QKLS8vIGluZmxvdyBj
aGlsZCdzIGNhY2hlZCBtYXJnaW4gdmFsdWUuCisvLyBTbyB3aGlsZSB0aGUgZmlyc3QgZGl2J3Mg
YmVmb3JlIG1hcmdpbiBpcyBub3QgMTBweCwgdGhlIGNhY2hlZCB2YWx1ZSBpcyAxMHB4IHNvIHRo
YXQgd2hlbiB3ZSBjb21wdXRlIHRoZSBwYXJlbnQncyBtYXJnaW4gd2UganVzdCBuZWVkIHRvIGNo
ZWNrIHRoZSBmaXJzdAorLy8gaW5mbG93IGNoaWxkJ3MgY2FjaGVkIG1hcmdpbiB2YWx1ZXMuCiBz
dHJ1Y3QgUG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luIHsKICAgICBzdHJ1Y3QgVmFs
dWVzIHsKICAgICAgICAgYm9vbCBpc05vblplcm8oKSBjb25zdCB7IHJldHVybiBwb3NpdGl2ZS52
YWx1ZU9yKDApIHx8IG5lZ2F0aXZlLnZhbHVlT3IoMCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0Nv
bnRleHQuY3BwCmluZGV4IDA4NWJkYmQ3NDg0MzE4MzJlZmNlOWRhNWM0OWYwNmY0Njg2NGQ2MDIu
LjcxNTlkNjY4NTRlY2VjZDg2Yzg5YTNmZmJiNmRiZGNkMGY4MzAyNWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zv
cm1hdHRpbmdDb250ZXh0LmNwcApAQCAtNDIzLDEzICs0MjMsMTYgQEAgdm9pZCBCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0Ojpjb21wdXRlSGVpZ2h0QW5kTWFyZ2luKGNvbnN0IEJveCYgbGF5b3V0Qm94
LCBjb25zdAogICAgIC8vIDEuIENvbXB1dGUgY29sbGFwc2VkIG1hcmdpbnMuCiAgICAgLy8gMi4g
QWRqdXN0IHZlcnRpY2FsIHBvc2l0aW9uIHVzaW5nIHRoZSBjb2xsYXBzZWQgdmFsdWVzCiAgICAg
Ly8gMy4gQWRqdXN0IHByZXZpb3VzIGluLWZsb3cgc2libGluZyBtYXJnaW4gYWZ0ZXIgdXNpbmcg
dGhpcyBtYXJnaW4uCi0gICAgYXV0byBjb2xsYXBzZWRNYXJnaW4gPSBtYXJnaW5Db2xsYXBzZSgp
LmNvbGxhcHNlZFZlcnRpY2FsVmFsdWVzKGxheW91dEJveCwgY29udGVudEhlaWdodEFuZE1hcmdp
bi5ub25Db2xsYXBzZWRNYXJnaW4pOwotICAgIGF1dG8gdmVydGljYWxNYXJnaW4gPSBVc2VkVmVy
dGljYWxNYXJnaW4geyBjb250ZW50SGVpZ2h0QW5kTWFyZ2luLm5vbkNvbGxhcHNlZE1hcmdpbiwg
Y29sbGFwc2VkTWFyZ2luIH07Ci0gICAgYXV0byYgZGlzcGxheUJveCA9IGZvcm1hdHRpbmdTdGF0
ZSgpLmRpc3BsYXlCb3gobGF5b3V0Qm94KTsKKyAgICBhdXRvIG1hcmdpbkNvbGxhcHNlID0gdGhp
cy0+bWFyZ2luQ29sbGFwc2UoKTsKKyAgICBhdXRvIGNvbGxhcHNlZEFuZFBvc2l0aXZlTmVnYXRp
dmVWYWx1ZXMgPSBtYXJnaW5Db2xsYXBzZS5jb2xsYXBzZWRWZXJ0aWNhbFZhbHVlcyhsYXlvdXRC
b3gsIGNvbnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9uQ29sbGFwc2VkTWFyZ2luKTsKKyAgICAvLyBD
YWNoZSB0aGUgY29tcHV0ZWQgcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIG1hcmdpbiB2YWx1ZSBwYWly
LgorICAgIGZvcm1hdHRpbmdTdGF0ZSgpLnNldFBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1h
cmdpbihsYXlvdXRCb3gsIGNvbGxhcHNlZEFuZFBvc2l0aXZlTmVnYXRpdmVWYWx1ZXMucG9zaXRp
dmVBbmROZWdhdGl2ZVZlcnRpY2FsVmFsdWVzKTsKKyAgICBhdXRvIHZlcnRpY2FsTWFyZ2luID0g
VXNlZFZlcnRpY2FsTWFyZ2luIHsgY29udGVudEhlaWdodEFuZE1hcmdpbi5ub25Db2xsYXBzZWRN
YXJnaW4sIGNvbGxhcHNlZEFuZFBvc2l0aXZlTmVnYXRpdmVWYWx1ZXMuY29sbGFwc2VkVmFsdWVz
IH07CiAKICAgICAvLyBPdXQgb2YgZmxvdyBib3hlcyBkb24ndCBuZWVkIHZlcnRpY2FsIGFkanVz
dG1lbnQgYWZ0ZXIgbWFyZ2luIGNvbGxhcHNpbmcuCiAgICAgaWYgKGxheW91dEJveC5pc091dE9m
Rmxvd1Bvc2l0aW9uZWQoKSkgewogICAgICAgICBBU1NFUlQoIWhhc1ByZWNvbXB1dGVkTWFyZ2lu
QmVmb3JlKGxheW91dEJveCkpOworICAgICAgICBhdXRvJiBkaXNwbGF5Qm94ID0gZm9ybWF0dGlu
Z1N0YXRlKCkuZGlzcGxheUJveChsYXlvdXRCb3gpOwogICAgICAgICBkaXNwbGF5Qm94LnNldENv
bnRlbnRCb3hIZWlnaHQoY29udGVudEhlaWdodEFuZE1hcmdpbi5jb250ZW50SGVpZ2h0KTsKICAg
ICAgICAgZGlzcGxheUJveC5zZXRWZXJ0aWNhbE1hcmdpbih2ZXJ0aWNhbE1hcmdpbik7CiAgICAg
ICAgIHJldHVybjsKQEAgLTQzNywxMiArNDQwLDEwIEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dDo6Y29tcHV0ZUhlaWdodEFuZE1hcmdpbihjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QK
IAogICAgIEFTU0VSVCghaGFzUHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUobGF5b3V0Qm94KSB8fCBw
cmVjb21wdXRlZE1hcmdpbkJlZm9yZShsYXlvdXRCb3gpLnVzZWRWYWx1ZSgpID09IHZlcnRpY2Fs
TWFyZ2luLmJlZm9yZSgpKTsKICAgICByZW1vdmVQcmVjb21wdXRlZE1hcmdpbkJlZm9yZShsYXlv
dXRCb3gpOworICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBmb3JtYXR0aW5nU3RhdGUoKS5kaXNwbGF5
Qm94KGxheW91dEJveCk7CiAgICAgZGlzcGxheUJveC5zZXRUb3AodmVydGljYWxQb3NpdGlvbldp
dGhNYXJnaW4obGF5b3V0Qm94LCB2ZXJ0aWNhbE1hcmdpbiwgdmVydGljYWxDb25zdHJhaW50cykp
OwogICAgIGRpc3BsYXlCb3guc2V0Q29udGVudEJveEhlaWdodChjb250ZW50SGVpZ2h0QW5kTWFy
Z2luLmNvbnRlbnRIZWlnaHQpOwogICAgIGRpc3BsYXlCb3guc2V0VmVydGljYWxNYXJnaW4odmVy
dGljYWxNYXJnaW4pOwotCi0gICAgYXV0byBtYXJnaW5Db2xsYXBzZSA9IHRoaXMtPm1hcmdpbkNv
bGxhcHNlKCk7Ci0gICAgZm9ybWF0dGluZ1N0YXRlKCkuc2V0UG9zaXRpdmVBbmROZWdhdGl2ZVZl
cnRpY2FsTWFyZ2luKGxheW91dEJveCwgbWFyZ2luQ29sbGFwc2UucmVzb2x2ZWRQb3NpdGl2ZU5l
Z2F0aXZlTWFyZ2luVmFsdWVzKGxheW91dEJveCwgY29udGVudEhlaWdodEFuZE1hcmdpbi5ub25D
b2xsYXBzZWRNYXJnaW4pKTsKICAgICAvLyBBZGp1c3QgdGhlIHByZXZpb3VzIHNpYmxpbmcncyBt
YXJnaW4gYm90dG9tIG5vdyB0aGF0IHRoaXMgYm94J3MgdmVydGljYWwgbWFyZ2luIGlzIGNvbXB1
dGVkLgogICAgIE1hcmdpbkNvbGxhcHNlOjp1cGRhdGVNYXJnaW5BZnRlckZvclByZXZpb3VzU2li
bGluZygqdGhpcywgbWFyZ2luQ29sbGFwc2UsIGxheW91dEJveCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRl
eHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0
aW5nQ29udGV4dC5oCmluZGV4IDFhMjAzNmRhNjg5NWMyNTM3MDgxY2RiMjZjZGNiOTk3YjZlZWM4
MDYuLmJlN2YyOGY2NmY4YjA5YmUwNWIxZDg1NDgxYWY0Yzc2YTExM2E0ZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tG
b3JtYXR0aW5nQ29udGV4dC5oCkBAIC0xMDEsMTIgKzEwMSwxNSBAQCBwcml2YXRlOgogICAgIC8v
IFRoaXMgY2xhc3MgaW1wbGVtZW50cyBtYXJnaW4gY29sbGFwc2luZyBmb3IgYmxvY2sgZm9ybWF0
dGluZyBjb250ZXh0LgogICAgIGNsYXNzIE1hcmdpbkNvbGxhcHNlIHsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIFVzZWRWZXJ0aWNhbE1hcmdpbjo6Q29sbGFwc2VkVmFsdWVzIGNvbGxhcHNlZFZlcnRp
Y2FsVmFsdWVzKGNvbnN0IEJveCYsIFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFs
dWVzKTsKKyAgICAgICAgc3RydWN0IENvbGxhcHNlZEFuZFBvc2l0aXZlTmVnYXRpdmVWYWx1ZXMg
eworICAgICAgICAgICAgVXNlZFZlcnRpY2FsTWFyZ2luOjpDb2xsYXBzZWRWYWx1ZXMgY29sbGFw
c2VkVmFsdWVzOworICAgICAgICAgICAgUG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2lu
IHBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbFZhbHVlczsKKyAgICAgICAgfTsKKyAgICAgICAg
Q29sbGFwc2VkQW5kUG9zaXRpdmVOZWdhdGl2ZVZhbHVlcyBjb2xsYXBzZWRWZXJ0aWNhbFZhbHVl
cyhjb25zdCBCb3gmLCBVc2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZhbHVlcyk7CiAK
ICAgICAgICAgUHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUgcHJlY29tcHV0ZWRNYXJnaW5CZWZvcmUo
Y29uc3QgQm94JiwgVXNlZFZlcnRpY2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1ZXMpOwogICAg
ICAgICBMYXlvdXRVbml0IG1hcmdpbkJlZm9yZUlnbm9yaW5nQ29sbGFwc2luZ1Rocm91Z2goY29u
c3QgQm94JiwgVXNlZFZlcnRpY2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1ZXMpOwogICAgICAg
ICBzdGF0aWMgdm9pZCB1cGRhdGVNYXJnaW5BZnRlckZvclByZXZpb3VzU2libGluZyhCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0JiwgY29uc3QgTWFyZ2luQ29sbGFwc2UmLCBjb25zdCBCb3gmKTsKLSAg
ICAgICAgUG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luIHJlc29sdmVkUG9zaXRpdmVO
ZWdhdGl2ZU1hcmdpblZhbHVlcyhjb25zdCBCb3gmLCBjb25zdCBVc2VkVmVydGljYWxNYXJnaW46
Ok5vbkNvbGxhcHNlZFZhbHVlcyYpOwogCiAgICAgICAgIGJvb2wgbWFyZ2luQmVmb3JlQ29sbGFw
c2VzV2l0aFBhcmVudE1hcmdpbkJlZm9yZShjb25zdCBCb3gmKSBjb25zdDsKICAgICAgICAgYm9v
bCBtYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoRmlyc3RJbkZsb3dDaGlsZE1hcmdpbkJlZm9yZShj
b25zdCBCb3gmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9j
a2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dFF1aXJrcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRRdWlya3Mu
Y3BwCmluZGV4IDQ5ZjQ0YTRmNjdmM2E3YjIzOGIyMjdlNzUyNTNlZjVjYzVhOTYxMDguLmE3MTgw
YmI3NzllYzcyM2I2Y2NlYjg1NTQ4ZThkNTkxNzkwODQyYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dFF1aXJr
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zv
cm1hdHRpbmdDb250ZXh0UXVpcmtzLmNwcApAQCAtODgsNyArODgsNyBAQCBMYXlvdXRVbml0IEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6OlF1aXJrczo6c3RyZXRjaGVkSW5GbG93SGVpZ2h0KGNvbnN0
IEJveCYgbGF5bwogICAgIGJvZHlCb3hDb250ZW50SGVpZ2h0IC09IGJvZHlCb3hHZW9tZXRyeS52
ZXJ0aWNhbEJvcmRlcigpICsgYm9keUJveEdlb21ldHJ5LnZlcnRpY2FsUGFkZGluZygpLnZhbHVl
T3IoMCk7CiAgICAgLy8gQm9keSBib3ggbmV2ZXIgY29sbGFwc2VzIGl0cyB2ZXJ0aWNhbCBtYXJn
aW5zIHdpdGggdGhlIGRvY3VtZW50IGJveCBidXQgaXQgbWlnaHQgY29sbGFwc2UgaXRzIG1hcmdp
biB3aXRoIGl0cyBkZXNjZW5kYW50cy4KICAgICBhdXRvIG5vbkNvbGxhcHNlZE1hcmdpbiA9IGNv
bnRlbnRIZWlnaHRBbmRNYXJnaW4ubm9uQ29sbGFwc2VkTWFyZ2luOwotICAgIGF1dG8gY29sbGFw
c2VkTWFyZ2luID0gZm9ybWF0dGluZ0NvbnRleHQubWFyZ2luQ29sbGFwc2UoKS5jb2xsYXBzZWRW
ZXJ0aWNhbFZhbHVlcyhsYXlvdXRCb3gsIG5vbkNvbGxhcHNlZE1hcmdpbik7CisgICAgYXV0byBj
b2xsYXBzZWRNYXJnaW4gPSBmb3JtYXR0aW5nQ29udGV4dC5tYXJnaW5Db2xsYXBzZSgpLmNvbGxh
cHNlZFZlcnRpY2FsVmFsdWVzKGxheW91dEJveCwgbm9uQ29sbGFwc2VkTWFyZ2luKS5jb2xsYXBz
ZWRWYWx1ZXM7CiAgICAgYXV0byB1c2VkVmVydGljYWxNYXJnaW4gPSBjb2xsYXBzZWRNYXJnaW4u
YmVmb3JlLnZhbHVlT3Iobm9uQ29sbGFwc2VkTWFyZ2luLmJlZm9yZSk7CiAgICAgdXNlZFZlcnRp
Y2FsTWFyZ2luICs9IGNvbGxhcHNlZE1hcmdpbi5pc0NvbGxhcHNlZFRocm91Z2ggPyBub25Db2xs
YXBzZWRNYXJnaW4uYWZ0ZXIgOiBjb2xsYXBzZWRNYXJnaW4uYWZ0ZXIudmFsdWVPcihub25Db2xs
YXBzZWRNYXJnaW4uYWZ0ZXIpOwogICAgIGJvZHlCb3hDb250ZW50SGVpZ2h0IC09IHVzZWRWZXJ0
aWNhbE1hcmdpbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1h
dHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuY3BwCmluZGV4IDY4ZDYzYWQ0NWJkY2Ni
N2JmY2QwMjRhNDBlOTQ0MjdjYjNmMjExZDEuLjVjNDA1N2FhYzk2N2VlMGVjMGIzYmY0MDgyODk0
NGJjM2IzNjJlNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1h
dHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcApAQCAtNTA4LDggKzUwOCw4
IEBAIHZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OnVwZGF0ZU1h
cmdpbkFmdGVyRm9yUHJldmlvdXNTaWJsaW5nCiBQb3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxN
YXJnaW46OlZhbHVlcyBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6cG9z
aXRpdmVOZWdhdGl2ZVZhbHVlcyhjb25zdCBCb3gmIGxheW91dEJveCwgTWFyZ2luVHlwZSBtYXJn
aW5UeXBlKSBjb25zdAogewogICAgIGF1dG8mIGJsb2NrRm9ybWF0dGluZ1N0YXRlID0gZG93bmNh
c3Q8QmxvY2tGb3JtYXR0aW5nU3RhdGU+KGxheW91dFN0YXRlKCkuZm9ybWF0dGluZ1N0YXRlRm9y
Qm94KGxheW91dEJveCkpOwotICAgIC8vIEJ5IHRoZSB0aW1lIHdlIGdldCBoZXJlIGluIEJGQyBs
YXlvdXQgdG8gZ2F0aGVyIHBvc2l0aXZlIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdmFsdWVzIGZvciBh
IGVpdGhlciBhIHByZXZpb3VzIHNpYmxpbmcgb3IgYSBjaGlsZCBib3gsCi0gICAgLy8gd2UgbXVz
aCBoYXZlIGNvbXB1dGVkIGFuZCBjYWNoZWQgdGhvc2UgdmFsdWVkLgorICAgIC8vIEJ5IHRoZSB0
aW1lIHdlIGdldCBoZXJlIGluIEJGQyBsYXlvdXQgdG8gZ2F0aGVyIHBvc2l0aXZlIGFuZCBuZWdh
dGl2ZSBtYXJnaW4gdmFsdWVzIGZvciBlaXRoZXIgYSBwcmV2aW91cyBzaWJsaW5nIG9yIGEgY2hp
bGQgYm94LAorICAgIC8vIHdlIG11c2ggaGF2ZSBjb21wdXRlZCBhbmQgY2FjaGVkIHRob3NlIHZh
bHVlcy4KICAgICBBU1NFUlQoYmxvY2tGb3JtYXR0aW5nU3RhdGUuaGFzUG9zaXRpdmVBbmROZWdh
dGl2ZVZlcnRpY2FsTWFyZ2luKGxheW91dEJveCkpOwogICAgIGF1dG8gcG9zaXRpdmVBbmROZWdh
dGl2ZVZlcnRpY2FsTWFyZ2luID0gYmxvY2tGb3JtYXR0aW5nU3RhdGUucG9zaXRpdmVBbmROZWdh
dGl2ZVZlcnRpY2FsTWFyZ2luKGxheW91dEJveCk7CiAgICAgcmV0dXJuIG1hcmdpblR5cGUgPT0g
TWFyZ2luVHlwZTo6QmVmb3JlID8gcG9zaXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luLmJl
Zm9yZSA6IHBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdpbi5hZnRlcjsgCkBAIC01NzAs
NDMgKzU3MCwyOSBAQCBMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNv
bGxhcHNlOjptYXJnaW5CZWZvcmVJZ25vcmluZ0NvbGxhcHNpbgogICAgIHJldHVybiBtYXJnaW5W
YWx1ZShwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQmVmb3JlKGxheW91dEJveCwgbm9uQ29sbGFwc2Vk
VmFsdWVzKSkudmFsdWVPcihub25Db2xsYXBzZWRWYWx1ZXMuYmVmb3JlKTsKIH0KIAotUG9zaXRp
dmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdp
bkNvbGxhcHNlOjpyZXNvbHZlZFBvc2l0aXZlTmVnYXRpdmVNYXJnaW5WYWx1ZXMoY29uc3QgQm94
JiBsYXlvdXRCb3gsIGNvbnN0IFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVz
JiBub25Db2xsYXBzZWRWYWx1ZXMpCi17Ci0gICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2NrTGV2
ZWxCb3goKSk7Ci0gICAgYXV0byBwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQmVmb3JlID0gdGhpcy0+
cG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZShsYXlvdXRCb3gsIG5vbkNvbGxhcHNlZFZhbHVl
cyk7Ci0gICAgYXV0byBwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQWZ0ZXIgPSB0aGlzLT5wb3NpdGl2
ZU5lZ2F0aXZlTWFyZ2luQWZ0ZXIobGF5b3V0Qm94LCBub25Db2xsYXBzZWRWYWx1ZXMpOwotCi0g
ICAgaWYgKG1hcmdpbnNDb2xsYXBzZVRocm91Z2gobGF5b3V0Qm94KSkgewotICAgICAgICBwb3Np
dGl2ZU5lZ2F0aXZlTWFyZ2luQmVmb3JlID0gY29tcHV0ZWRQb3NpdGl2ZUFuZE5lZ2F0aXZlTWFy
Z2luKHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5CZWZvcmUsIHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5B
ZnRlcik7Ci0gICAgICAgIHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5BZnRlciA9IHBvc2l0aXZlTmVn
YXRpdmVNYXJnaW5CZWZvcmU7Ci0gICAgfQotICAgIHJldHVybiB7IHBvc2l0aXZlTmVnYXRpdmVN
YXJnaW5CZWZvcmUsIHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5BZnRlciB9OwotfQotCi1Vc2VkVmVy
dGljYWxNYXJnaW46OkNvbGxhcHNlZFZhbHVlcyBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJn
aW5Db2xsYXBzZTo6Y29sbGFwc2VkVmVydGljYWxWYWx1ZXMoY29uc3QgQm94JiBsYXlvdXRCb3gs
IFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVzIG5vbkNvbGxhcHNlZFZhbHVl
cykKK0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpDb2xsYXBzZWRBbmRQ
b3NpdGl2ZU5lZ2F0aXZlVmFsdWVzIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxh
cHNlOjpjb2xsYXBzZWRWZXJ0aWNhbFZhbHVlcyhjb25zdCBCb3gmIGxheW91dEJveCwgVXNlZFZl
cnRpY2FsTWFyZ2luOjpOb25Db2xsYXBzZWRWYWx1ZXMgbm9uQ29sbGFwc2VkVmFsdWVzKQogewog
ICAgIEFTU0VSVChsYXlvdXRCb3guaXNCbG9ja0xldmVsQm94KCkpOwogICAgIC8vIDEuIEdldCBt
aW4vbWF4IG1hcmdpbiB0b3AgdmFsdWVzIGZyb20gdGhlIGZpcnN0IGluLWZsb3cgY2hpbGQgaWYg
d2UgYXJlIGNvbGxhcHNpbmcgbWFyZ2luIHRvcCB3aXRoIGl0LgogICAgIC8vIDIuIEdldCBtaW4v
bWF4IG1hcmdpbiB0b3AgdmFsdWVzIGZyb20gdGhlIHByZXZpb3VzIGluLWZsb3cgc2libGluZywg
aWYgd2UgYXJlIGNvbGxhcHNpbmcgbWFyZ2luIHRvcCB3aXRoIGl0LgogICAgIC8vIDMuIEdldCB0
aGlzIGxheW91dCBib3gncyBjb21wdXRlZCBtYXJnaW4gdG9wIHZhbHVlLgogICAgIC8vIDQuIFVw
ZGF0ZSB0aGUgbWluL21heCB2YWx1ZSBhbmQgY29tcHV0ZSB0aGUgZmluYWwgbWFyZ2luLgotICAg
IGF1dG8gcG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJlZm9yZSA9IHRoaXMtPnBvc2l0aXZlTmVnYXRp
dmVNYXJnaW5CZWZvcmUobGF5b3V0Qm94LCBub25Db2xsYXBzZWRWYWx1ZXMpOwotICAgIGF1dG8g
cG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkFmdGVyID0gdGhpcy0+cG9zaXRpdmVOZWdhdGl2ZU1hcmdp
bkFmdGVyKGxheW91dEJveCwgbm9uQ29sbGFwc2VkVmFsdWVzKTsKKyAgICBhdXRvIHBvc2l0aXZl
QW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdpbiA9IFBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1h
cmdpbiB7IHRoaXMtPnBvc2l0aXZlTmVnYXRpdmVNYXJnaW5CZWZvcmUobGF5b3V0Qm94LCBub25D
b2xsYXBzZWRWYWx1ZXMpLCB0aGlzLT5wb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQWZ0ZXIobGF5b3V0
Qm94LCBub25Db2xsYXBzZWRWYWx1ZXMpIH07CiAKICAgICBhdXRvIG1hcmdpbnNDb2xsYXBzZVRo
cm91Z2ggPSB0aGlzLT5tYXJnaW5zQ29sbGFwc2VUaHJvdWdoKGxheW91dEJveCk7CiAgICAgaWYg
KG1hcmdpbnNDb2xsYXBzZVRocm91Z2gpIHsKLSAgICAgICAgcG9zaXRpdmVOZWdhdGl2ZU1hcmdp
bkJlZm9yZSA9IGNvbXB1dGVkUG9zaXRpdmVBbmROZWdhdGl2ZU1hcmdpbihwb3NpdGl2ZU5lZ2F0
aXZlTWFyZ2luQmVmb3JlLCBwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQWZ0ZXIpOwotICAgICAgICBw
b3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQWZ0ZXIgPSBwb3NpdGl2ZU5lZ2F0aXZlTWFyZ2luQmVmb3Jl
OworICAgICAgICBwb3NpdGl2ZUFuZE5lZ2F0aXZlVmVydGljYWxNYXJnaW4uYmVmb3JlID0gY29t
cHV0ZWRQb3NpdGl2ZUFuZE5lZ2F0aXZlTWFyZ2luKHBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNh
bE1hcmdpbi5iZWZvcmUsIHBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdpbi5hZnRlcik7
CisgICAgICAgIHBvc2l0aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdpbi5hZnRlciA9IHBvc2l0
aXZlQW5kTmVnYXRpdmVWZXJ0aWNhbE1hcmdpbi5iZWZvcmU7CiAgICAgfQogCi0gICAgYXV0byBi
ZWZvcmVNYXJnaW5Jc0NvbGxhcHNlZFZhbHVlID0gbWFyZ2luQmVmb3JlQ29sbGFwc2VzV2l0aEZp
cnN0SW5GbG93Q2hpbGRNYXJnaW5CZWZvcmUobGF5b3V0Qm94KSB8fCBtYXJnaW5CZWZvcmVDb2xs
YXBzZXNXaXRoUHJldmlvdXNTaWJsaW5nTWFyZ2luQWZ0ZXIobGF5b3V0Qm94KTsKLSAgICBhdXRv
IGFmdGVyTWFyZ2luSXNDb2xsYXBzZWRWYWx1ZSA9IG1hcmdpbkFmdGVyQ29sbGFwc2VzV2l0aExh
c3RJbkZsb3dDaGlsZE1hcmdpbkFmdGVyKGxheW91dEJveCk7CisgICAgYXV0byBoYXNDb2xsYXBz
ZWRNYXJnaW5CZWZvcmUgPSBtYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoRmlyc3RJbkZsb3dDaGls
ZE1hcmdpbkJlZm9yZShsYXlvdXRCb3gpIHx8IG1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQcmV2
aW91c1NpYmxpbmdNYXJnaW5BZnRlcihsYXlvdXRCb3gpOworICAgIGF1dG8gaGFzQ29sbGFwc2Vk
TWFyZ2luQWZ0ZXIgPSBtYXJnaW5BZnRlckNvbGxhcHNlc1dpdGhMYXN0SW5GbG93Q2hpbGRNYXJn
aW5BZnRlcihsYXlvdXRCb3gpOwogCi0gICAgaWYgKChiZWZvcmVNYXJnaW5Jc0NvbGxhcHNlZFZh
bHVlICYmIGFmdGVyTWFyZ2luSXNDb2xsYXBzZWRWYWx1ZSkgfHwgbWFyZ2luc0NvbGxhcHNlVGhy
b3VnaCkKLSAgICAgICAgcmV0dXJuIHsgbWFyZ2luVmFsdWUocG9zaXRpdmVOZWdhdGl2ZU1hcmdp
bkJlZm9yZSksIG1hcmdpblZhbHVlKHBvc2l0aXZlTmVnYXRpdmVNYXJnaW5BZnRlciksIG1hcmdp
bnNDb2xsYXBzZVRocm91Z2ggfTsKLSAgICBpZiAoYmVmb3JlTWFyZ2luSXNDb2xsYXBzZWRWYWx1
ZSkKLSAgICAgICAgcmV0dXJuIHsgbWFyZ2luVmFsdWUocG9zaXRpdmVOZWdhdGl2ZU1hcmdpbkJl
Zm9yZSksIHsgfSwgZmFsc2UgfTsKLSAgICByZXR1cm4geyB7IH0sIG1hcmdpblZhbHVlKHBvc2l0
aXZlTmVnYXRpdmVNYXJnaW5BZnRlciksIGZhbHNlIH07CisgICAgaWYgKChoYXNDb2xsYXBzZWRN
YXJnaW5CZWZvcmUgJiYgaGFzQ29sbGFwc2VkTWFyZ2luQWZ0ZXIpIHx8IG1hcmdpbnNDb2xsYXBz
ZVRocm91Z2gpCisgICAgICAgIHJldHVybiB7IHsgbWFyZ2luVmFsdWUocG9zaXRpdmVBbmROZWdh
dGl2ZVZlcnRpY2FsTWFyZ2luLmJlZm9yZSksIG1hcmdpblZhbHVlKHBvc2l0aXZlQW5kTmVnYXRp
dmVWZXJ0aWNhbE1hcmdpbi5hZnRlciksIG1hcmdpbnNDb2xsYXBzZVRocm91Z2ggfSwgcG9zaXRp
dmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luIH07CisgICAgaWYgKGhhc0NvbGxhcHNlZE1hcmdp
bkJlZm9yZSkKKyAgICAgICAgcmV0dXJuIHsgeyBtYXJnaW5WYWx1ZShwb3NpdGl2ZUFuZE5lZ2F0
aXZlVmVydGljYWxNYXJnaW4uYmVmb3JlKSwgeyB9LCBmYWxzZSB9LCBwb3NpdGl2ZUFuZE5lZ2F0
aXZlVmVydGljYWxNYXJnaW4gfTsKKyAgICByZXR1cm4geyB7IHsgfSwgbWFyZ2luVmFsdWUocG9z
aXRpdmVBbmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luLmFmdGVyKSwgZmFsc2UgfSwgcG9zaXRpdmVB
bmROZWdhdGl2ZVZlcnRpY2FsTWFyZ2luIH07CiB9CiAKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>