<?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>95299</bug_id>
          
          <creation_ts>2012-08-29 00:09:46 -0700</creation_ts>
          <short_desc>[GTK][WPE] Missing Exif Orientation support</short_desc>
          <delta_ts>2021-03-28 02:52:32 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=201982</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=215164</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=223850</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>101207</dependson>
    
    <dependson>101210</dependson>
          <blocked>201982</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Lauro Moura">lmoura</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>clopez</cc>
    
    <cc>lmoura</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mcrha</cc>
    
    <cc>ossy</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>707160</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-08-29 00:09:46 -0700</bug_when>
    <thetext>EFL port does not support EXIF orientation. This is covered by:
fast/images/exif-orientation.html
fast/images/exif-orientation-css.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755263</commentid>
    <comment_count>1</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-10-31 07:05:21 -0700</bug_when>
    <thetext>*** Bug 100852 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758110</commentid>
    <comment_count>2</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-04 04:18:10 -0800</bug_when>
    <thetext>*** Bug 101035 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758257</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-11-04 23:15:55 -0800</bug_when>
    <thetext>fast/images/exif-orientation-image-document.html was introduced in r132877, failing as well. Already skipped on EFL.
http://trac.webkit.org/changeset/132877</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758411</commentid>
    <comment_count>4</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-11-05 03:58:59 -0800</bug_when>
    <thetext>The decoding side seems alright. The issue is in the graphics backend.

The backend needs to rotate/flip the graphics context and draw the BitmapImage according to ImageFrame orientation. Will handle that for cairo in bug 101207.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316757</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-06-07 19:45:59 -0700</bug_when>
    <thetext>Reassigning some EFL bugs that are likely shared with GTK/WPE to the GTK component.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1638535</commentid>
    <comment_count>6</comment_count>
      <attachid>395680</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-04-07 07:51:24 -0700</bug_when>
    <thetext>Created attachment 395680
WIP patch updating Cairo::drawSurface

drawSurface was ignoring the destRect transformations from drawNativeImage, applying some padding and wrong scaling, presuming src and dest had the same orientation. This first version fixes a bunch of the exif tests, with some failures left for border images and image-orientation tests. Still need to check for side effects in other image tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674384</commentid>
    <comment_count>7</comment_count>
      <attachid>395680</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-07-23 14:52:28 -0700</bug_when>
    <thetext>Comment on attachment 395680
WIP patch updating Cairo::drawSurface

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

&gt; Source/WebCore/platform/graphics/cairo/CairoOperations.cpp:890
&gt; +void drawSurface(PlatformContextCairo&amp; platformContext, cairo_surface_t* surface, const FloatRect&amp; destRect, const FloatRect&amp; originalSrcRect, InterpolationQuality imageInterpolationQuality, float globalAlpha, const ShadowState&amp; shadowState, bool didUseWidthAsHeight)

In general we tend to frown upon boolean flags; instead, it&apos;s better to use
an “enum”, which is more descriptive:

  // Somewhere in the header.
  enum class Sizing { Normal, WidthAsHeight };

  void drawSurface(/* ... */, Sizing sizing = Sizing::Normal);

(Also you may want to have a default value for the parameter, so you don&apos;t need
to add the usual one by hand on some callsites. Also feel free to suggest a better
name for the “enum”, I just wrote down the first thing that came to mind.)

&gt; Source/WebCore/platform/graphics/cairo/CairoOperations.cpp:952
&gt; +        std::fabs(srcRect.height() / destRect.width());

The result of the calculations here are not being stored anywhere,
which means the computed values are not used at all. Same below in
the “else” branch.

&gt; Source/WebKit/Shared/cairo/ShareableBitmapCairo.cpp:79
&gt; +    Cairo::drawSurface(*context.platformContext(), surface.get(), destRect, srcRect, state.imageInterpolationQuality, state.alpha, Cairo::ShadowState(state), false);

If you add a default value to the function prototype as suggested, you
don&apos;t need to modify this callsite.

&gt; Source/WebKit/WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:58
&gt; +    Cairo::drawSurface(*graphicsContext-&gt;platformContext(), surface, IntRect(IntPoint(), imageSize), IntRect(IntPoint(), imageSize), state.imageInterpolationQuality, state.alpha, Cairo::ShadowState(state), false);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678428</commentid>
    <comment_count>8</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-08-06 15:08:14 -0700</bug_when>
    <thetext>*** Bug 215164 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678519</commentid>
    <comment_count>9</comment_count>
      <attachid>406152</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-08-06 21:34:22 -0700</bug_when>
    <thetext>Created attachment 406152
Patch addressing comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1678522</commentid>
    <comment_count>10</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-08-06 21:42:03 -0700</bug_when>
    <thetext>(In reply to Adrian Perez from comment #7)
&gt; Comment on attachment 395680 [details]
&gt; WIP patch updating Cairo::drawSurface
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=395680&amp;action=review

Thanks for the review, Adrian.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cairo/CairoOperations.cpp:890
&gt; &gt; +void drawSurface(PlatformContextCairo&amp; platformContext, cairo_surface_t* surface, const FloatRect&amp; destRect, const FloatRect&amp; originalSrcRect, InterpolationQuality imageInterpolationQuality, float globalAlpha, const ShadowState&amp; shadowState, bool didUseWidthAsHeight)
&gt; 
&gt; In general we tend to frown upon boolean flags; instead, it&apos;s better to use
&gt; an “enum”, which is more descriptive:
&gt; 
&gt;   // Somewhere in the header.
&gt;   enum class Sizing { Normal, WidthAsHeight };
&gt; 
&gt;   void drawSurface(/* ... */, Sizing sizing = Sizing::Normal);
&gt; 
&gt; (Also you may want to have a default value for the parameter, so you don&apos;t
&gt; need
&gt; to add the usual one by hand on some callsites. Also feel free to suggest a
&gt; better
&gt; name for the “enum”, I just wrote down the first thing that came to mind.)

Indeed bools for flags are not that great.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cairo/CairoOperations.cpp:952
&gt; &gt; +        std::fabs(srcRect.height() / destRect.width());
&gt; 
&gt; The result of the calculations here are not being stored anywhere,
&gt; which means the computed values are not used at all. Same below in
&gt; the “else” branch.
&gt; 

Oops. Must have missed adding it when git-add&apos;ing the patch.


The updated version is still working for all tests in fast/images except these two below, which seem to be arriving at drawSurface with some different orientation from FromImage.

fast/images/exif-orientation-border-image.html
fast/images/exif-orientation-background-image-repeat.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1693623</commentid>
    <comment_count>11</comment_count>
      <attachid>406152</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-09-30 19:26:12 -0700</bug_when>
    <thetext>Comment on attachment 406152
Patch addressing comments.

This looks fine to me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1694235</commentid>
    <comment_count>12</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-10-02 14:15:54 -0700</bug_when>
    <thetext>Patch LGTM as well 👍️

Lauro, feel free to go ahead and land the patch, or set the commit
queue flag :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695855</commentid>
    <comment_count>13</comment_count>
      <attachid>406152</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-10-08 05:38:26 -0700</bug_when>
    <thetext>Comment on attachment 406152
Patch addressing comments.

I&apos;m going to do a drive-by cq+ to see if it lands without conflicts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1695856</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-08 05:40:36 -0700</bug_when>
    <thetext>Committed r268176: &lt;https://trac.webkit.org/changeset/268176&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406152.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395680</attachid>
            <date>2020-04-07 07:51:24 -0700</date>
            <delta_ts>2020-08-06 21:34:18 -0700</delta_ts>
            <desc>WIP patch updating Cairo::drawSurface</desc>
            <filename>bug-95299-20200407115122.patch</filename>
            <type>text/plain</type>
            <size>11831</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOThmN2I0ZDRjNzY2N2Q3
ZWU3MzQ0Y2UxMTI0MGViMTgxZDM3NDYzMi4uNTQ1MDM0ODg1ODJkZGFhZTdlYWI3YmQ1YTQxMDc0
NDZkYWU0NWZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTA0LTA3ICBMYXVy
byBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gTWlzc2lu
ZyBFeGlmIE9yaWVudGF0aW9uIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk1Mjk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2Fpcm9PcGVyYXRpb25zOjpkcmF3U3VyZmFjZSBpcyBub3QgdGFr
aW5nIDkwLzI3MCBkZWdyZWVzIG9yaWVudGF0aW9uCisgICAgICAgIGNoYW5nZXMgaW4gYWNjb3Vu
dCBjb3JyZWN0bHkuCisKKyAgICAgICAgQXMgaW4gdGhlc2Ugb3BlcmF0aW9ucyB0aGUgc2l6ZSBv
ZiB0aGUgc3VyZmFjZXMgd2lsbCBiZSB0aGUgc2FtZSBidXQKKyAgICAgICAgbm90IGV4YWN0bHkg
ZXF1YWwgKGJ5IHRyYW5zcG9zaW5nIHdpZHRoIGFuZCBoZWlnaHQpLCBkcmF3U3VyZmFjZQorICAg
ICAgICBjdXJyZW50bHkgd3JvbmdseSBwcmVzdW1lcyB0aGUgbmVlZCBmb3Igc29tZSBzb21lIHBh
ZGRpbmcuIFRoZSBzYW1lCisgICAgICAgIGhhcHBlbnMgdG8gdGhlIHNjYWxlIGZhY3RvcnMuCisK
KyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
YWlybzo6ZHJhd05hdGl2ZUltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhaXJvOjpkcmF3U3Vy
ZmFjZSk6IENoZWNrIGlmIHRoZSBkZXN0aW5hdGlvbiByZWN0CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmg6CisKIDIwMjAtMDQtMDcgIEFuZHJlcyBH
b256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgogCiAgICAgICAgIEluaXRpYWxpemF0aW9u
IG9mIG1vZGFsIG5vZGVzIHNob3VsZCBoYXBwZW4gbGF6aWx5LCBub3QgaW4gdGhlIEFYT2JqZWN0
Q2FjaGUgY29uc3RydWN0b3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM2MDlmNzM3ZDQwYjE2NzEyZmY5Zjk4NzMz
MWI2Y2I3OWE3NDQxNmEuLjdiYzIxOGMwYzkxMWNkYjNlNDBhMDFjOTk4ZmFiYzg3NjVkOGVmNzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDQtMDcgIExhdXJvIE1vdXJhICA8bG1v
dXJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBNaXNzaW5nIEV4aWYgT3JpZW50
YXRpb24gc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTUyOTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVcGRhdGUgQ2Fpcm86OmRyYXdTdXJmYWNlIGNhbGxzIHdpdGggbmV3IHBhcmFtZXRlci4K
KworICAgICAgICAqIFNoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6cGFpbnQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkRyYWdDbGllbnRHdGsuY3BwOgorICAgICAgICAoV2Vi
S2l0Ojpjb252ZXJ0Q2Fpcm9TdXJmYWNlVG9TaGFyZWFibGVCaXRtYXApOgorCiAyMDIwLTA0LTA3
ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgVXNlIEdsb2JhbEZyYW1l
SWRlbnRpZmllciBpbiBOYXZpZ2F0aW9uQWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb09wZXJhdGlvbnMuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmNwcAppbmRleCAw
MzQ4NmMwMTM5MzkxZTM3MmEwZTBjMDI5N2VlNzAzYTE3NzVjMzVkLi43ZDhjMGM5NDc0MDMyYTYw
NDE1NDRkYzIxYzk2NWI3ZTZiNTgwNmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb09wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0aW9ucy5jcHAKQEAgLTg3Nyw3
ICs4NzcsNyBAQCB2b2lkIGRyYXdOYXRpdmVJbWFnZShQbGF0Zm9ybUNvbnRleHRDYWlybyYgcGxh
dGZvcm1Db250ZXh0LCBjYWlyb19zdXJmYWNlX3QqIHN1cgogICAgICAgICB9CiAgICAgfQogCi0g
ICAgZHJhd1N1cmZhY2UocGxhdGZvcm1Db250ZXh0LCBzdXJmYWNlLCBkc3QsIHNyY1JlY3QsIG9w
dGlvbnMuaW50ZXJwb2xhdGlvblF1YWxpdHkoKSwgZ2xvYmFsQWxwaGEsIHNoYWRvd1N0YXRlKTsK
KyAgICBkcmF3U3VyZmFjZShwbGF0Zm9ybUNvbnRleHQsIHN1cmZhY2UsIGRzdCwgc3JjUmVjdCwg
b3B0aW9ucy5pbnRlcnBvbGF0aW9uUXVhbGl0eSgpLCBnbG9iYWxBbHBoYSwgc2hhZG93U3RhdGUs
IG9wdGlvbnMub3JpZW50YXRpb24oKS51c2VzV2lkdGhBc0hlaWdodCgpKTsKICAgICBwbGF0Zm9y
bUNvbnRleHQucmVzdG9yZSgpOwogfQogCkBAIC04ODcsNyArODg3LDcgQEAgdm9pZCBkcmF3UGF0
dGVybihQbGF0Zm9ybUNvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBjYWlyb19zdXJmYWNl
X3QqIHN1cmZhY2UKICAgICBkcmF3UGF0dGVyblRvQ2Fpcm9Db250ZXh0KHBsYXRmb3JtQ29udGV4
dC5jcigpLCBzdXJmYWNlLCBzaXplLCB0aWxlUmVjdCwgcGF0dGVyblRyYW5zZm9ybSwgcGhhc2Us
IHRvQ2Fpcm9PcGVyYXRvcihvcHRpb25zLmNvbXBvc2l0ZU9wZXJhdG9yKCksIG9wdGlvbnMuYmxl
bmRNb2RlKCkpLCBvcHRpb25zLmludGVycG9sYXRpb25RdWFsaXR5KCksIGRlc3RSZWN0KTsKIH0K
IAotdm9pZCBkcmF3U3VyZmFjZShQbGF0Zm9ybUNvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0
LCBjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIGNv
bnN0IEZsb2F0UmVjdCYgb3JpZ2luYWxTcmNSZWN0LCBJbnRlcnBvbGF0aW9uUXVhbGl0eSBpbWFn
ZUludGVycG9sYXRpb25RdWFsaXR5LCBmbG9hdCBnbG9iYWxBbHBoYSwgY29uc3QgU2hhZG93U3Rh
dGUmIHNoYWRvd1N0YXRlKQordm9pZCBkcmF3U3VyZmFjZShQbGF0Zm9ybUNvbnRleHRDYWlybyYg
cGxhdGZvcm1Db250ZXh0LCBjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UsIGNvbnN0IEZsb2F0UmVj
dCYgZGVzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgb3JpZ2luYWxTcmNSZWN0LCBJbnRlcnBvbGF0
aW9uUXVhbGl0eSBpbWFnZUludGVycG9sYXRpb25RdWFsaXR5LCBmbG9hdCBnbG9iYWxBbHBoYSwg
Y29uc3QgU2hhZG93U3RhdGUmIHNoYWRvd1N0YXRlLCBib29sIGRpZFVzZVdpZHRoQXNIZWlnaHQp
CiB7CiAgICAgLy8gQXZvaWQgaW52YWxpZCBjYWlybyBtYXRyaXggd2l0aCBzbWFsbCB2YWx1ZXMu
CiAgICAgaWYgKHN0ZDo6ZmFicyhkZXN0UmVjdC53aWR0aCgpKSA8IDAuNWYgfHwgc3RkOjpmYWJz
KGRlc3RSZWN0LmhlaWdodCgpKSA8IDAuNWYpCkBAIC05MDgsNyArOTA4LDkgQEAgdm9pZCBkcmF3
U3VyZmFjZShQbGF0Zm9ybUNvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBjYWlyb19zdXJm
YWNlX3QqIHN1cmZhY2UKICAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBwYXR0ZXJuU3VyZmFj
ZSA9IHN1cmZhY2U7CiAgICAgZmxvYXQgbGVmdFBhZGRpbmcgPSAwOwogICAgIGZsb2F0IHRvcFBh
ZGRpbmcgPSAwOwotICAgIGlmIChzcmNSZWN0LngoKSB8fCBzcmNSZWN0LnkoKSB8fCBzcmNSZWN0
LnNpemUoKSAhPSBjYWlyb1N1cmZhY2VTaXplKHN1cmZhY2UpKSB7CisgICAgYXV0byBzdXJmYWNl
U2l6ZSA9IGNhaXJvU3VyZmFjZVNpemUoc3VyZmFjZSk7CisgICAgYm9vbCBkaWZmZXJlbnRTaXpl
ID0gc3JjUmVjdC5zaXplKCkgIT0gKGRpZFVzZVdpZHRoQXNIZWlnaHQgPyBzdXJmYWNlU2l6ZS50
cmFuc3Bvc2VkU2l6ZSgpIDogc3VyZmFjZVNpemUpOworICAgIGlmIChzcmNSZWN0LngoKSB8fCBz
cmNSZWN0LnkoKSB8fCBkaWZmZXJlbnRTaXplKSB7CiAgICAgICAgIC8vIENhaXJvIHN1YnN1cmZh
Y2VzIGRvbid0IHN1cHBvcnQgZmxvYXRpbmcgcG9pbnQgYm91bmRhcmllcyB3ZWxsLCBzbyB3ZSBl
eHBhbmQgdGhlIHJlY3RhbmdsZS4KICAgICAgICAgSW50UmVjdCBleHBhbmRlZFNyY1JlY3QoZW5j
bG9zaW5nSW50UmVjdChzcmNSZWN0KSk7CiAgICAgICAgIGV4cGFuZGVkU3JjUmVjdC5pbnRlcnNl
Y3QoeyB7IH0sIGNhaXJvU3VyZmFjZVNpemUoc3VyZmFjZSkgfSk7CkBAIC05NDMsOCArOTQ1LDE1
IEBAIHZvaWQgZHJhd1N1cmZhY2UoUGxhdGZvcm1Db250ZXh0Q2Fpcm8mIHBsYXRmb3JtQ29udGV4
dCwgY2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNlCiAgICAgLy8gZGlmZmVyZW50IHNpemUgdGhhbiB0
aGUgZGVzdGluYXRpb24gcmVjdGFuZ2xlLiBXZSBhbHNvIGFjY291bnQgZm9yIGFueSBvZmZzZXQg
d2UgaW50cm9kdWNlZAogICAgIC8vIGJ5IGV4cGFuZGluZyBmbG9hdGluZyBwb2ludCBzb3VyY2Ug
cmVjdGFuZ2xlIHNpemVzLiBJdCdzIGltcG9ydGFudCB0byB0YWtlIHRoZSBhYnNvbHV0ZSB2YWx1
ZQogICAgIC8vIG9mIHRoZSBzY2FsZSBzaW5jZSB0aGUgb3JpZ2luYWwgd2lkdGggYW5kIGhlaWdo
dCBtaWdodCBiZSBuZWdhdGl2ZS4KLSAgICBmbG9hdCBzY2FsZVggPSBzdGQ6OmZhYnMoc3JjUmVj
dC53aWR0aCgpIC8gZGVzdFJlY3Qud2lkdGgoKSk7Ci0gICAgZmxvYXQgc2NhbGVZID0gc3RkOjpm
YWJzKHNyY1JlY3QuaGVpZ2h0KCkgLyBkZXN0UmVjdC5oZWlnaHQoKSk7CisgICAgZmxvYXQgc2Nh
bGVYID0gMTsKKyAgICBmbG9hdCBzY2FsZVkgPSAxOworICAgIGlmIChkaWRVc2VXaWR0aEFzSGVp
Z2h0KSB7CisgICAgICAgIHN0ZDo6ZmFicyhzcmNSZWN0LndpZHRoKCkgLyBkZXN0UmVjdC5oZWln
aHQoKSk7CisgICAgICAgIHN0ZDo6ZmFicyhzcmNSZWN0LmhlaWdodCgpIC8gZGVzdFJlY3Qud2lk
dGgoKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc3RkOjpmYWJzKHNyY1JlY3Qud2lkdGgoKSAv
IGRlc3RSZWN0LndpZHRoKCkpOworICAgICAgICBzdGQ6OmZhYnMoc3JjUmVjdC5oZWlnaHQoKSAv
IGRlc3RSZWN0LmhlaWdodCgpKTsKKyAgICB9CiAgICAgY2Fpcm9fbWF0cml4X3QgbWF0cml4ID0g
eyBzY2FsZVgsIDAsIDAsIHNjYWxlWSwgbGVmdFBhZGRpbmcsIHRvcFBhZGRpbmcgfTsKICAgICBj
YWlyb19wYXR0ZXJuX3NldF9tYXRyaXgocGF0dGVybi5nZXQoKSwgJm1hdHJpeCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0
aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVy
YXRpb25zLmgKaW5kZXggMTVhMWNkNzE0ZGE4YmVjNGZhYjNhODZkNTk0ZDI3OTQ1ODExYmU5YS4u
ZWZhNjdhZDUwZDQ2NWZjNmRlNDYxNDAyYTNhNGJlOWMwZjk5ZWMwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25z
LmgKQEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lkIGRyYXdHbHlwaHMoUGxhdGZvcm1Db250ZXh0Q2Fp
cm8mLCBjb25zdCBGaWxsU291cmNlJiwgY29uc3QgU3Ryb2tlU291cmNlJiwgYwogCiB2b2lkIGRy
YXdOYXRpdmVJbWFnZShQbGF0Zm9ybUNvbnRleHRDYWlybyYsIGNhaXJvX3N1cmZhY2VfdCosIGNv
bnN0IEZsb2F0UmVjdCYsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRp
b25zJiwgZmxvYXQsIGNvbnN0IFNoYWRvd1N0YXRlJik7CiB2b2lkIGRyYXdQYXR0ZXJuKFBsYXRm
b3JtQ29udGV4dENhaXJvJiwgY2Fpcm9fc3VyZmFjZV90KiwgY29uc3QgSW50U2l6ZSYsIGNvbnN0
IEZsb2F0UmVjdCYsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYsIGNv
bnN0IEZsb2F0UG9pbnQmLCBjb25zdCBJbWFnZVBhaW50aW5nT3B0aW9ucyYpOwotV0VCQ09SRV9F
WFBPUlQgdm9pZCBkcmF3U3VyZmFjZShQbGF0Zm9ybUNvbnRleHRDYWlybyYsIGNhaXJvX3N1cmZh
Y2VfdCosIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IEZsb2F0UmVjdCYsIEludGVycG9sYXRpb25R
dWFsaXR5LCBmbG9hdCwgY29uc3QgU2hhZG93U3RhdGUmKTsKK1dFQkNPUkVfRVhQT1JUIHZvaWQg
ZHJhd1N1cmZhY2UoUGxhdGZvcm1Db250ZXh0Q2Fpcm8mLCBjYWlyb19zdXJmYWNlX3QqLCBjb25z
dCBGbG9hdFJlY3QmLCBjb25zdCBGbG9hdFJlY3QmLCBJbnRlcnBvbGF0aW9uUXVhbGl0eSwgZmxv
YXQsIGNvbnN0IFNoYWRvd1N0YXRlJiwgYm9vbCBkaWRVc2VXaWR0aEFzSGVpZ2h0KTsKIAogdm9p
ZCBkcmF3UmVjdChQbGF0Zm9ybUNvbnRleHRDYWlybyYsIGNvbnN0IEZsb2F0UmVjdCYsIGZsb2F0
LCBjb25zdCBDb2xvciYsIFN0cm9rZVN0eWxlLCBjb25zdCBDb2xvciYpOwogdm9pZCBkcmF3TGlu
ZShQbGF0Zm9ybUNvbnRleHRDYWlybyYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBGbG9hdFBv
aW50JiwgU3Ryb2tlU3R5bGUsIGNvbnN0IENvbG9yJiwgZmxvYXQsIGJvb2wpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3BwIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3BwCmluZGV4
IDg0MmNiZmFlOGM1NWY5YWIyZDlkZDE5ODEzZDExNzBhM2ExYTE2NTIuLjdjNjZmMjEzMTFjMTY5
ZTA0OWY3MTdmMWY2ZTIxYzZkNjA3MGE5NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgdm9p
ZCBTaGFyZWFibGVCaXRtYXA6OnBhaW50KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgZmxvYXQg
c2NhbGVGYWN0b3IsIGNvbnN0IEkKIAogICAgIEFTU0VSVChjb250ZXh0Lmhhc1BsYXRmb3JtQ29u
dGV4dCgpKTsKICAgICBhdXRvJiBzdGF0ZSA9IGNvbnRleHQuc3RhdGUoKTsKLSAgICBDYWlybzo6
ZHJhd1N1cmZhY2UoKmNvbnRleHQucGxhdGZvcm1Db250ZXh0KCksIHN1cmZhY2UuZ2V0KCksIGRl
c3RSZWN0LCBzcmNSZWN0LCBzdGF0ZS5pbWFnZUludGVycG9sYXRpb25RdWFsaXR5LCBzdGF0ZS5h
bHBoYSwgQ2Fpcm86OlNoYWRvd1N0YXRlKHN0YXRlKSk7CisgICAgQ2Fpcm86OmRyYXdTdXJmYWNl
KCpjb250ZXh0LnBsYXRmb3JtQ29udGV4dCgpLCBzdXJmYWNlLmdldCgpLCBkZXN0UmVjdCwgc3Jj
UmVjdCwgc3RhdGUuaW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eSwgc3RhdGUuYWxwaGEsIENhaXJv
OjpTaGFkb3dTdGF0ZShzdGF0ZSksIGZhbHNlKTsKIH0KIAogUmVmUHRyPGNhaXJvX3N1cmZhY2Vf
dD4gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGVDYWlyb1N1cmZhY2UoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJEcmFnQ2xpZW50R3Rr
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRHJh
Z0NsaWVudEd0ay5jcHAKaW5kZXggMTg2N2M5ODQ5MDVjOTIwMGUwMjJkZTM2YjhkMDY1ZWZmZjI0
NGYyMC4uYmQwODEyMzZhZjlmOWI2MTJiYTgxNDI0ZDE4MDdiNDIxZmU5MDU1NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJEcmFnQ2xp
ZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
Z3RrL1dlYkRyYWdDbGllbnRHdGsuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHN0YXRpYyBSZWZQdHI8
U2hhcmVhYmxlQml0bWFwPiBjb252ZXJ0Q2Fpcm9TdXJmYWNlVG9TaGFyZWFibGVCaXRtYXAoY2Fp
cm9fc3VyZmFjCiAKICAgICBBU1NFUlQoZ3JhcGhpY3NDb250ZXh0LT5oYXNQbGF0Zm9ybUNvbnRl
eHQoKSk7CiAgICAgYXV0byYgc3RhdGUgPSBncmFwaGljc0NvbnRleHQtPnN0YXRlKCk7Ci0gICAg
Q2Fpcm86OmRyYXdTdXJmYWNlKCpncmFwaGljc0NvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLCBz
dXJmYWNlLCBJbnRSZWN0KEludFBvaW50KCksIGltYWdlU2l6ZSksIEludFJlY3QoSW50UG9pbnQo
KSwgaW1hZ2VTaXplKSwgc3RhdGUuaW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eSwgc3RhdGUuYWxw
aGEsIENhaXJvOjpTaGFkb3dTdGF0ZShzdGF0ZSkpOworICAgIENhaXJvOjpkcmF3U3VyZmFjZSgq
Z3JhcGhpY3NDb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSwgc3VyZmFjZSwgSW50UmVjdChJbnRQ
b2ludCgpLCBpbWFnZVNpemUpLCBJbnRSZWN0KEludFBvaW50KCksIGltYWdlU2l6ZSksIHN0YXRl
LmltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHksIHN0YXRlLmFscGhhLCBDYWlybzo6U2hhZG93U3Rh
dGUoc3RhdGUpLCBmYWxzZSk7CiAgICAgcmV0dXJuIGJpdG1hcDsKIH0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRkYjYy
NWQ5NTExODU0OGI3ODViYTNiOGNjZWU4ZmZmNmY0YjBhNzAuLjA4YjBmMGFiZjUwMjE3MDUyYWI0
MTZkMmUxNzI1MjEzMTQ4ZmE3MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNC0wNyAg
TGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIE1p
c3NpbmcgRXhpZiBPcmllbnRhdGlvbiBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTI5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBleHBlY3RhdGlvbnMgYWZ0ZXIgcGFydGlhbCBF
WElGIHN1cHBvcnQKKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgor
CiAyMDIwLTA0LTA2ICBKYWNrIExlZSAgPHNoaWhjaGllaF9sZWVAYXBwbGUuY29tPgogCiAgICAg
ICAgIE51bGxwdHIgY3Jhc2ggaW4gQ29tcG9zaXRlRWRpdENvbW1hbmQ6OnNwbGl0VHJlZVRvTm9k
ZSB3aGVuIGluc2VydGluZyBpbWFnZSBpbiBhbmNob3IgZWxlbWVudCB0aGF0IGhhcyB1bmVkaXRh
YmxlIHBhcmVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRl
eCBmZTc2NDQwZjE5N2E4Nzg0YTU5NjQ5Yzc1ZjdlOGJiM2MwZDRjMGU4Li40ZmZjNDE2ZTBhOGEy
MDJmOTdlYjkzYmFkYTBlMDY0OTNhYWY3OWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtNDQxNywyMiArNDQxNywxMiBAQCB3ZWJraXQub3JnL2IvMjAx
OTgxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29yawogd2Via2l0Lm9yZy9iLzIwMTk4MSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC13YWl0cy1mb3ItYWN0aXZh
dGUuaHR0cHMuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiB3ZWJraXQub3JnL2IvMjAxOTgxIGh0dHAv
d3B0L3Jlc291cmNlLXRpbWluZy9ydC1yZXNvdXJjZXMtcGVyLXdvcmtlci5odG1sIFsgRmFpbHVy
ZSBQYXNzIF0KIAotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0
aW9uLWJhY2tncm91bmQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIw
MTk4MiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLWNhbnZhcy5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjAxOTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRp
b24tY29tcG9zaXRlZC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAx
OTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24tY29udGVudC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAxOTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRp
b24tZWxlbWVudC1vYmplY3QtZml0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi8yMDE5ODIgZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi1lbGVtZW50Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMDE5ODIgZmFzdC9pbWFnZXMvZXhpZi1v
cmllbnRhdGlvbi1pbWFnZS1kb2N1bWVudC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvMjAxOTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24taW1hZ2Utb2JqZWN0
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMDE5ODIgZmFzdC9pbWFn
ZXMvZXhpZi1vcmllbnRhdGlvbi1zdmctZmVpbWFnZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci13ZWJraXQub3JnL2IvMjAxOTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24tc3ZnLWlt
YWdlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDE5ODIgZmFzdC9p
bWFnZXMvZXhpZi1vcmllbnRhdGlvbi13ZWJnbC10ZXh0dXJlLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi8yMDE5ODIgZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi1i
YWNrZ3JvdW5kLWltYWdlLW5vLXJlcGVhdC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKIHdl
YmtpdC5vcmcvYi8yMDE5ODIgZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi1iYWNrZ3JvdW5k
LWltYWdlLXJlcGVhdC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjAx
OTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24tYm9yZGVyLWltYWdlLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9pbWFnZS1v
cmllbnRhdGlvbi1keW5hbWljLWZyb20taW1hZ2UuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
d2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9pbWFnZS1vcmllbnRhdGlvbi1keW5hbWlj
LW5vbmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0
L2ltYWdlcy9pbWFnZS1vcmllbnRhdGlvbi1ub25lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IHdlYmtpdC5vcmcvYi8yMDE5ODIgZmFzdC9pbWFnZXMvaW1hZ2Utb3JpZW50YXRpb24tbm9uZS1j
YW52YXMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406152</attachid>
            <date>2020-08-06 21:34:22 -0700</date>
            <delta_ts>2020-10-08 05:40:37 -0700</delta_ts>
            <desc>Patch addressing comments.</desc>
            <filename>bug-95299-20200807013421.patch</filename>
            <type>text/plain</type>
            <size>11647</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZhNGJmYjdlYjY3OTE4
ZmMwMmY0MzU3Yjg0YjRiYjkxNjhlODUzMS4uMjY2Mjg1MzM1M2Y4MjU2ZTRkOGZhMjVhNDhlZDIy
ZDlmN2NjZjg4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA4LTA2ICBMYXVy
byBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gTWlzc2lu
ZyBFeGlmIE9yaWVudGF0aW9uIHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk1Mjk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ2Fpcm9PcGVyYXRpb25zOjpkcmF3U3VyZmFjZSBpcyBub3QgdGFr
aW5nIDkwLzI3MCBkZWdyZWVzIG9yaWVudGF0aW9uCisgICAgICAgIGNoYW5nZXMgaW4gYWNjb3Vu
dCBjb3JyZWN0bHkuCisKKyAgICAgICAgQXMgaW4gdGhlc2Ugb3BlcmF0aW9ucyB0aGUgc2l6ZSBv
ZiB0aGUgc3VyZmFjZXMgd2lsbCBiZSB0aGUgc2FtZSBidXQKKyAgICAgICAgbm90IGV4YWN0bHkg
ZXF1YWwgKGJ5IHRyYW5zcG9zaW5nIHdpZHRoIGFuZCBoZWlnaHQpLCBkcmF3U3VyZmFjZQorICAg
ICAgICBjdXJyZW50bHkgd3JvbmdseSBwcmVzdW1lcyB0aGUgbmVlZCBmb3Igc29tZSBzb21lIHBh
ZGRpbmcuIFRoZSBzYW1lCisgICAgICAgIGhhcHBlbnMgdG8gdGhlIHNjYWxlIGZhY3RvcnMuCisK
KyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
YWlybzo6ZHJhd05hdGl2ZUltYWdlKTogRm9yd2FyZCB1c2VzV2lkdGhBc0hlaWdodCB0bworICAg
ICAgICBkcmF3U3VyZmFjZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhaXJvOjpkcmF3U3VyZmFjZSk6
IHVzZSBjb3JyZWN0IHNjYWxpbmcvcGFkZGluZyB3aGVuCisgICAgICAgIGdldHRpbmcgc3VyZmFj
ZXMgZnJvbSBpbWFnZXMgcm90YXRlZCA5MC8yNzAgZGVncmVlcy4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9DYWlyb09wZXJhdGlvbnMuaDogQWRkIG5ldyBlbnVtIHRvIGZvcndh
cmQKKyAgICAgICAgT3JpZW50YXRpb24udXNlc1dpZHRoQXNIZWlnaHQuCisKIDIwMjAtMDgtMDYg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0
IGZvciBNZWRpYVJlY29yZGVyIGJpdHJhdGUgb3B0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0aW9ucy5jcHAKaW5k
ZXggOWYxZDEwOWZmMDk3ZDUzYjcyYTU0MmIyNGU4YzYzMWY0MDc3ODhjZi4uMjEyNzJkMDY5Yjg4
MzE2YTI0ZmMyMzI2ODg3MmNjMGI2MTM0ODk5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb09wZXJhdGlvbnMuY3BwCkBAIC04
ODEsNyArODgxLDggQEAgdm9pZCBkcmF3TmF0aXZlSW1hZ2UoUGxhdGZvcm1Db250ZXh0Q2Fpcm8m
IHBsYXRmb3JtQ29udGV4dCwgY2Fpcm9fc3VyZmFjZV90KiBzdXIKICAgICAgICAgfQogICAgIH0K
IAotICAgIGRyYXdTdXJmYWNlKHBsYXRmb3JtQ29udGV4dCwgc3VyZmFjZSwgZHN0LCBzcmNSZWN0
LCBvcHRpb25zLmludGVycG9sYXRpb25RdWFsaXR5KCksIGdsb2JhbEFscGhhLCBzaGFkb3dTdGF0
ZSk7CisgICAgYXV0byBvcmllbnRhdGlvblNpemluZyA9IG9wdGlvbnMub3JpZW50YXRpb24oKS51
c2VzV2lkdGhBc0hlaWdodCgpID8gT3JpZW50YXRpb25TaXppbmc6OldpZHRoQXNIZWlnaHQgOiBP
cmllbnRhdGlvblNpemluZzo6Tm9ybWFsOworICAgIGRyYXdTdXJmYWNlKHBsYXRmb3JtQ29udGV4
dCwgc3VyZmFjZSwgZHN0LCBzcmNSZWN0LCBvcHRpb25zLmludGVycG9sYXRpb25RdWFsaXR5KCks
IGdsb2JhbEFscGhhLCBzaGFkb3dTdGF0ZSwgb3JpZW50YXRpb25TaXppbmcpOwogICAgIHBsYXRm
b3JtQ29udGV4dC5yZXN0b3JlKCk7CiB9CiAKQEAgLTg5MSw3ICs4OTIsNyBAQCB2b2lkIGRyYXdQ
YXR0ZXJuKFBsYXRmb3JtQ29udGV4dENhaXJvJiBwbGF0Zm9ybUNvbnRleHQsIGNhaXJvX3N1cmZh
Y2VfdCogc3VyZmFjZQogICAgIGRyYXdQYXR0ZXJuVG9DYWlyb0NvbnRleHQocGxhdGZvcm1Db250
ZXh0LmNyKCksIHN1cmZhY2UsIHNpemUsIHRpbGVSZWN0LCBwYXR0ZXJuVHJhbnNmb3JtLCBwaGFz
ZSwgdG9DYWlyb09wZXJhdG9yKG9wdGlvbnMuY29tcG9zaXRlT3BlcmF0b3IoKSwgb3B0aW9ucy5i
bGVuZE1vZGUoKSksIG9wdGlvbnMuaW50ZXJwb2xhdGlvblF1YWxpdHkoKSwgZGVzdFJlY3QpOwog
fQogCi12b2lkIGRyYXdTdXJmYWNlKFBsYXRmb3JtQ29udGV4dENhaXJvJiBwbGF0Zm9ybUNvbnRl
eHQsIGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCwg
Y29uc3QgRmxvYXRSZWN0JiBvcmlnaW5hbFNyY1JlY3QsIEludGVycG9sYXRpb25RdWFsaXR5IGlt
YWdlSW50ZXJwb2xhdGlvblF1YWxpdHksIGZsb2F0IGdsb2JhbEFscGhhLCBjb25zdCBTaGFkb3dT
dGF0ZSYgc2hhZG93U3RhdGUpCit2b2lkIGRyYXdTdXJmYWNlKFBsYXRmb3JtQ29udGV4dENhaXJv
JiBwbGF0Zm9ybUNvbnRleHQsIGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSwgY29uc3QgRmxvYXRS
ZWN0JiBkZXN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBvcmlnaW5hbFNyY1JlY3QsIEludGVycG9s
YXRpb25RdWFsaXR5IGltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHksIGZsb2F0IGdsb2JhbEFscGhh
LCBjb25zdCBTaGFkb3dTdGF0ZSYgc2hhZG93U3RhdGUsIE9yaWVudGF0aW9uU2l6aW5nIG9yaWVu
dGF0aW9uU2l6aW5nKQogewogICAgIC8vIEF2b2lkIGludmFsaWQgY2Fpcm8gbWF0cml4IHdpdGgg
c21hbGwgdmFsdWVzLgogICAgIGlmIChzdGQ6OmZhYnMoZGVzdFJlY3Qud2lkdGgoKSkgPCAwLjVm
IHx8IHN0ZDo6ZmFicyhkZXN0UmVjdC5oZWlnaHQoKSkgPCAwLjVmKQpAQCAtOTEyLDcgKzkxMywx
MCBAQCB2b2lkIGRyYXdTdXJmYWNlKFBsYXRmb3JtQ29udGV4dENhaXJvJiBwbGF0Zm9ybUNvbnRl
eHQsIGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZQogICAgIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+
IHBhdHRlcm5TdXJmYWNlID0gc3VyZmFjZTsKICAgICBmbG9hdCBsZWZ0UGFkZGluZyA9IDA7CiAg
ICAgZmxvYXQgdG9wUGFkZGluZyA9IDA7Ci0gICAgaWYgKHNyY1JlY3QueCgpIHx8IHNyY1JlY3Qu
eSgpIHx8IHNyY1JlY3Quc2l6ZSgpICE9IGNhaXJvU3VyZmFjZVNpemUoc3VyZmFjZSkpIHsKKyAg
ICBhdXRvIHN1cmZhY2VTaXplID0gY2Fpcm9TdXJmYWNlU2l6ZShzdXJmYWNlKTsKKyAgICBib29s
IGRpZFVzZVdpZHRoQXNIZWlnaHQgPSBvcmllbnRhdGlvblNpemluZyA9PSBPcmllbnRhdGlvblNp
emluZzo6V2lkdGhBc0hlaWdodDsKKyAgICBib29sIGRpZmZlcmVudFNpemUgPSBzcmNSZWN0LnNp
emUoKSAhPSAoZGlkVXNlV2lkdGhBc0hlaWdodCA/IHN1cmZhY2VTaXplLnRyYW5zcG9zZWRTaXpl
KCkgOiBzdXJmYWNlU2l6ZSk7CisgICAgaWYgKHNyY1JlY3QueCgpIHx8IHNyY1JlY3QueSgpIHx8
IGRpZmZlcmVudFNpemUpIHsKICAgICAgICAgLy8gQ2Fpcm8gc3Vic3VyZmFjZXMgZG9uJ3Qgc3Vw
cG9ydCBmbG9hdGluZyBwb2ludCBib3VuZGFyaWVzIHdlbGwsIHNvIHdlIGV4cGFuZCB0aGUgcmVj
dGFuZ2xlLgogICAgICAgICBJbnRSZWN0IGV4cGFuZGVkU3JjUmVjdChlbmNsb3NpbmdJbnRSZWN0
KHNyY1JlY3QpKTsKICAgICAgICAgZXhwYW5kZWRTcmNSZWN0LmludGVyc2VjdCh7IHsgfSwgY2Fp
cm9TdXJmYWNlU2l6ZShzdXJmYWNlKSB9KTsKQEAgLTk0Nyw4ICs5NTEsMTUgQEAgdm9pZCBkcmF3
U3VyZmFjZShQbGF0Zm9ybUNvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBjYWlyb19zdXJm
YWNlX3QqIHN1cmZhY2UKICAgICAvLyBkaWZmZXJlbnQgc2l6ZSB0aGFuIHRoZSBkZXN0aW5hdGlv
biByZWN0YW5nbGUuIFdlIGFsc28gYWNjb3VudCBmb3IgYW55IG9mZnNldCB3ZSBpbnRyb2R1Y2Vk
CiAgICAgLy8gYnkgZXhwYW5kaW5nIGZsb2F0aW5nIHBvaW50IHNvdXJjZSByZWN0YW5nbGUgc2l6
ZXMuIEl0J3MgaW1wb3J0YW50IHRvIHRha2UgdGhlIGFic29sdXRlIHZhbHVlCiAgICAgLy8gb2Yg
dGhlIHNjYWxlIHNpbmNlIHRoZSBvcmlnaW5hbCB3aWR0aCBhbmQgaGVpZ2h0IG1pZ2h0IGJlIG5l
Z2F0aXZlLgotICAgIGZsb2F0IHNjYWxlWCA9IHN0ZDo6ZmFicyhzcmNSZWN0LndpZHRoKCkgLyBk
ZXN0UmVjdC53aWR0aCgpKTsKLSAgICBmbG9hdCBzY2FsZVkgPSBzdGQ6OmZhYnMoc3JjUmVjdC5o
ZWlnaHQoKSAvIGRlc3RSZWN0LmhlaWdodCgpKTsKKyAgICBmbG9hdCBzY2FsZVggPSAxOworICAg
IGZsb2F0IHNjYWxlWSA9IDE7CisgICAgaWYgKGRpZFVzZVdpZHRoQXNIZWlnaHQpIHsKKyAgICAg
ICAgc2NhbGVYID0gc3RkOjpmYWJzKHNyY1JlY3Qud2lkdGgoKSAvIGRlc3RSZWN0LmhlaWdodCgp
KTsKKyAgICAgICAgc2NhbGVZID0gc3RkOjpmYWJzKHNyY1JlY3QuaGVpZ2h0KCkgLyBkZXN0UmVj
dC53aWR0aCgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICBzY2FsZVggPSBzdGQ6OmZhYnMoc3Jj
UmVjdC53aWR0aCgpIC8gZGVzdFJlY3Qud2lkdGgoKSk7CisgICAgICAgIHNjYWxlWSA9IHN0ZDo6
ZmFicyhzcmNSZWN0LmhlaWdodCgpIC8gZGVzdFJlY3QuaGVpZ2h0KCkpOworICAgIH0KICAgICBj
YWlyb19tYXRyaXhfdCBtYXRyaXggPSB7IHNjYWxlWCwgMCwgMCwgc2NhbGVZLCBsZWZ0UGFkZGlu
ZywgdG9wUGFkZGluZyB9OwogICAgIGNhaXJvX3BhdHRlcm5fc2V0X21hdHJpeChwYXR0ZXJuLmdl
dCgpLCAmbWF0cml4KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vQ2Fpcm9PcGVyYXRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9DYWlyb09wZXJhdGlvbnMuaAppbmRleCAxNWExY2Q3MTRkYThiZWM0ZmFi
M2E4NmQ1OTRkMjc5NDU4MTFiZTlhLi41MDVjMGFmNDdkN2EwYTUwZTljMTkwNjZkZDkzZGU1OTYx
ZDY2OTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9DYWlyb09wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9DYWlyb09wZXJhdGlvbnMuaApAQCAtNzEsNiArNzEsMTEgQEAgYm9vbCBpc0FjY2Vs
ZXJhdGVkQ29udGV4dChQbGF0Zm9ybUNvbnRleHRDYWlybyYpOwogCiB9IC8vIG5hbWVzcGFjZSBT
dGF0ZQogCitlbnVtIGNsYXNzIE9yaWVudGF0aW9uU2l6aW5nIHsKKyAgICBOb3JtYWwsCisgICAg
V2lkdGhBc0hlaWdodAorfTsKKwogc3RydWN0IEZpbGxTb3VyY2UgewogICAgIEZpbGxTb3VyY2Uo
KSA9IGRlZmF1bHQ7CiAgICAgZXhwbGljaXQgRmlsbFNvdXJjZShjb25zdCBHcmFwaGljc0NvbnRl
eHRTdGF0ZSYpOwpAQCAtMTQwLDcgKzE0NSw3IEBAIHZvaWQgZHJhd0dseXBocyhQbGF0Zm9ybUNv
bnRleHRDYWlybyYsIGNvbnN0IEZpbGxTb3VyY2UmLCBjb25zdCBTdHJva2VTb3VyY2UmLCBjCiAK
IHZvaWQgZHJhd05hdGl2ZUltYWdlKFBsYXRmb3JtQ29udGV4dENhaXJvJiwgY2Fpcm9fc3VyZmFj
ZV90KiwgY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgSW1hZ2VQYWlu
dGluZ09wdGlvbnMmLCBmbG9hdCwgY29uc3QgU2hhZG93U3RhdGUmKTsKIHZvaWQgZHJhd1BhdHRl
cm4oUGxhdGZvcm1Db250ZXh0Q2Fpcm8mLCBjYWlyb19zdXJmYWNlX3QqLCBjb25zdCBJbnRTaXpl
JiwgY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgQWZmaW5lVHJhbnNm
b3JtJiwgY29uc3QgRmxvYXRQb2ludCYsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJik7Ci1X
RUJDT1JFX0VYUE9SVCB2b2lkIGRyYXdTdXJmYWNlKFBsYXRmb3JtQ29udGV4dENhaXJvJiwgY2Fp
cm9fc3VyZmFjZV90KiwgY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiwgSW50ZXJw
b2xhdGlvblF1YWxpdHksIGZsb2F0LCBjb25zdCBTaGFkb3dTdGF0ZSYpOworV0VCQ09SRV9FWFBP
UlQgdm9pZCBkcmF3U3VyZmFjZShQbGF0Zm9ybUNvbnRleHRDYWlybyYsIGNhaXJvX3N1cmZhY2Vf
dCosIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IEZsb2F0UmVjdCYsIEludGVycG9sYXRpb25RdWFs
aXR5LCBmbG9hdCwgY29uc3QgU2hhZG93U3RhdGUmLCBPcmllbnRhdGlvblNpemluZyBvcGVyYXRp
b25TaXppbmcgPSBPcmllbnRhdGlvblNpemluZzo6Tm9ybWFsKTsKIAogdm9pZCBkcmF3UmVjdChQ
bGF0Zm9ybUNvbnRleHRDYWlybyYsIGNvbnN0IEZsb2F0UmVjdCYsIGZsb2F0LCBjb25zdCBDb2xv
ciYsIFN0cm9rZVN0eWxlLCBjb25zdCBDb2xvciYpOwogdm9pZCBkcmF3TGluZShQbGF0Zm9ybUNv
bnRleHRDYWlybyYsIGNvbnN0IEZsb2F0UG9pbnQmLCBjb25zdCBGbG9hdFBvaW50JiwgU3Ryb2tl
U3R5bGUsIGNvbnN0IENvbG9yJiwgZmxvYXQsIGJvb2wpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhmZWJjZWY4ZjVhYWNi
NDAwYTNiZjM5YWJmODJlNjU2MzMxMDIyNWYuLjgzNjhmNmRjNzliZmMyMTA2OWU1MzhkYWY2MzM4
YjM4OTVmYzkyZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wOC0wNiAgTGF1cm8gTW91
cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIE1pc3NpbmcgRXhp
ZiBPcmllbnRhdGlvbiBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NTI5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0ZSBleHBlY3RhdGlvbnMgYWZ0ZXIgcGFydGlhbCBFWElGIHN1cHBv
cnQKKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDIwLTA4LTA2ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgTWVkaWFS
ZWNvcmRlciBiaXRyYXRlIG9wdGlvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggZWFjMTBmZWY3OWY4MDUxNjYwMjcyY2ZlNmQ3YmM5Zjk4YTc4NjYyOC4u
Y2JiMzcyM2ZkYThmZjRmNWMzZTQ5NzM1NWJmMmMxZTMwYTZmOTllNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM0OTUsMjEgKzM0OTUsOCBAQCB3ZWJr
aXQub3JnL2IvMjAxOTgxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29yawogd2Via2l0Lm9yZy9iLzIwMTk4MSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZS10
aW1pbmcuc3ViLmh0dHBzLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogd2Via2l0Lm9yZy9iLzIwMTk4
MSBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQtcmVzb3VyY2VzLXBlci13b3JrZXIuaHRtbCBb
IEZhaWx1cmUgUGFzcyBdCiAKLXdlYmtpdC5vcmcvYi8yMDE5ODIgZmFzdC9pbWFnZXMvZXhpZi1v
cmllbnRhdGlvbi1iYWNrZ3JvdW5kLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi8yMDE5ODIgZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi1jYW52YXMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9leGlmLW9y
aWVudGF0aW9uLWNvbXBvc2l0ZWQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLWNvbnRlbnQuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9leGlmLW9y
aWVudGF0aW9uLWVsZW1lbnQtb2JqZWN0LWZpdC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13
ZWJraXQub3JnL2IvMjAxOTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24tZWxlbWVudC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAxOTgyIGZhc3QvaW1hZ2Vz
L2V4aWYtb3JpZW50YXRpb24taW1hZ2UtZG9jdW1lbnQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLWltYWdl
LW9iamVjdC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAxOTgyIGZh
c3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24tc3ZnLWZlaW1hZ2UuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9u
LXN2Zy1pbWFnZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAxOTgy
IGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24td2ViZ2wtdGV4dHVyZS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAxOTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50
YXRpb24tYmFja2dyb3VuZC1pbWFnZS1uby1yZXBlYXQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLWJhY2tn
cm91bmQtaW1hZ2UtcmVwZWF0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcv
Yi8yMDE5ODIgZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi1ib3JkZXItaW1hZ2UuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9pbWFn
ZS1vcmllbnRhdGlvbi1keW5hbWljLWZyb20taW1hZ2UuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogCiB3ZWJraXQub3JnL2IvMjAyMjI1IGFjY2Vzc2liaWxpdHkvbWlzc3BlbGxpbmctcmFuZ2Uu
aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIwMjIyNyBjb21wb3NpdGluZy9iYWNraW5n
L2xheWVyLW91dHNpZGUtdGlsZWQtcGFyZW50Lmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMzk5M2NhOTI2MzgwZjBkNzYyMWZh
OWQ1YWIzZTc2NjFmOTFkODA1ZC4uOWI4OWUzOTE1NzJjOWFlNWY0MjNlMzAzNTZkYTQxYzE1YmZj
M2Q1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE4
NTYsMTkgKzE4NTYsNiBAQCB3ZWJraXQub3JnL2IvMjAxOTgxIGh0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9zZXJ2ZXItdHJ1c3QtZXZhbHVhdGlvbi5odHRwcy5odG1sCiB3ZWJraXQub3JnL2IvMjAx
OTgxIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLXJlcXVlc3Qtbm8tZnJlc2huZXNzLWhlYWRlcnMuaHR0cHMuaHRtbCBb
IEZhaWx1cmUgUGFzcyBdCiB3ZWJraXQub3JnL2IvMjAxOTgxIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dpbmRvd2NsaWVudC1u
YXZpZ2F0ZS5odHRwcy5odG1sIFsgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMDE5ODIgZmFz
dC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi1iYWNrZ3JvdW5kLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi8yMDE5ODIgZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi1j
YW52YXMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0
L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLWNvbXBvc2l0ZWQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLWNv
bnRlbnQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0
L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLWVsZW1lbnQtb2JqZWN0LWZpdC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAxOTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50
YXRpb24tZWxlbWVudC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAx
OTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24taW1hZ2UtZG9jdW1lbnQuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9leGlmLW9y
aWVudGF0aW9uLWltYWdlLW9iamVjdC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQu
b3JnL2IvMjAxOTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24tc3ZnLWZlaW1hZ2UuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9l
eGlmLW9yaWVudGF0aW9uLXN2Zy1pbWFnZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJr
aXQub3JnL2IvMjAxOTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRpb24td2ViZ2wtdGV4dHVy
ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAxOTgyIGZhc3QvaW1h
Z2VzL2ltYWdlLW9yaWVudGF0aW9uLWR5bmFtaWMtZnJvbS1pbWFnZS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAxOTgyIGZhc3QvaW1hZ2VzL2V4aWYtb3JpZW50YXRp
b24tYmFja2dyb3VuZC1pbWFnZS1uby1yZXBlYXQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
d2Via2l0Lm9yZy9iLzIwMTk4MiBmYXN0L2ltYWdlcy9leGlmLW9yaWVudGF0aW9uLWJhY2tncm91
bmQtaW1hZ2UtcmVwZWF0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8y
MDE5ODIgZmFzdC9pbWFnZXMvZXhpZi1vcmllbnRhdGlvbi1ib3JkZXItaW1hZ2UuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>